第 7 章
面向对象的软件开发技术
邢承杰
北京大学计算中心管理信息中心
E-mail: xingcj@pku.edu.cn
Software Engineering_Chapter7 - 2
北京大学成人教育夜大课程
运行时期
开发
时期
计划
时期
运行/维护
测试
编码
详细设计
问题定义
可行性论证
及软件计划
需求分析
概要设计
前六章内容回顾
Software Engineering_Chapter7 - 3
北京大学成人教育夜大课程
面向对象方法的产生
•
传统的以瀑布模型为基础的软件生命周期方法学给软件产
业带来了巨大的进步,部分地缓解了“软件危机”。
•
但这种方法学仍然存在比较明显地缺点,不能胜任所有的
软件开发任务。
•
因此,人们在软件开发的时间中逐渐创造出新的软件开发
方法——面向对象方法学。
Software Engineering_Chapter7 - 4
北京大学成人教育夜大课程
传统的瀑布型软件存在的问题
( 1 )客观世界的描述——自然语言与计算机对客观世界的描
述——程序设计语言存在语义断层。
机器语言
汇编语言
高级语言
计算机
客观世界
自然语言
编程语言
断层
自然语言
问题域
需求分析
总体设计
详细设计
编 码
Software Engineering_Chapter7 - 5
北京大学成人教育夜大课程
语义断层举例
•
SADT 方法举例——家庭安全系统( SafeHome )
–
用户可通过控制面板对 SafeHome 进行编程和配置:
–
用户可通过控制面板了解 SafeHome 状况。
–
当传感器监测到异常情况, SafeHome 激活一个附于系统上的可发声警
报器。报警延迟一定时间后, SafeHome 拨打监控服务的电话号码,并
报告关于位置和被监测到的事件性质等信息。电话号码将每 20 秒重拨一
次,直至电话接通。
电话线
警铃
控制面板
显示
传感器
3
激活 / 不激活
系统
1
与用户交互
5
显示信息
和状态
4
密码处理
6
监控传感器
2
配置系统
用户数据和命令
配置请求
密码
开始
停止
配置数据
配置数据
信息
检验 id 信息
显示信息
配置数据
传感器状态
警告类型
电话号码拨音
配置信息
控制面板
用户交互
控制
读取用户
命令
密码处理
控制
激活
控制
系统配置
控制
启动用户
命令处理
读取系统
数据
创建配置
文件
读取密码
比较处理
密码
密码输出
控制
产生
非法消息
显示消息
与状态