软件工程 | 面向对象范型
2023-06-02 20:46:46 25 举报
AI智能生成
内容参考自:软件工程导论-第6版 by 张海藩 牟永敏
作者其他创作
大纲/内容
面向对象方法学引论
面向对象方法学概述
面向对象方法学的要点
1.抽象
2.继承
3.封装
4.多态
5.类
6.对象
面向对象方法学的优点
1.与人类的思维方法一致
2.稳定性好
3.可重用好
4.比较容易开发大型软件产品
5.可维护性好
1.稳定性好
2.封装性好
3.理解性好
4.测试性好
面向对象的概念
1.对象
2.类
3.实例
4.消息
5.方法
6.属性
7.封装
8.继承
9.多态性
10.重载
面向对象建模
对象模型
类图
1.关联
2.聚集
3.泛化
4.依赖和细化
动态模型
状态图
功能模型
用例图
1.系统
2.用例
3.行为者
4.关系
三种模型之间的关系
面向对象分析
面向对象分析的基本过程
三个模型
对象模型
动态模型
功能模型
五个层次
1.主题层
2.类与对象层
3.结构层
4.属性层
5.服务层
需求陈述
书写要点
1.语法正确
2.需求与实现策略区分开
3.需求陈述可简可繁
4.避免二义性
建立对象模型
建立动态模型
脚本
建立功能模型
定义服务
1.常规行为
2.从事件导出的操作
3.与数据流图中处理框对应的操作
4.利用继承减少冗余
面向对象设计
面向对象设计的准则
1.模块化
2.抽象
3.信息隐藏
4.弱耦合
1.交互耦合
2.继承耦合
5.强内聚
1.服务内聚
2.类内聚
3.一般-特殊内聚
6.可重用
面向对象设计的原则
1.单一职责
高内聚低耦合
2.开闭原则(最高原则)
对扩展开放,对修改关闭
3.里式替换
子类与父类可替换
4.依赖倒置
要依赖于抽象,不要依赖于实现
5.接口分离
不该强迫客户程序依赖他们不需要的方法
6.合成复用
尽量用对象组合而不是继承来达到复用目的
7.迪米特原则
不与无关联的对象相联系
启发规则
1.设计结果应能清楚易懂
2.一般-特殊的结构深度应该适当
3.设计简单的类
4.使用简单的协议
5.使用简单的服务
6.把设计变动减少到最小
软件重用
重用的级别
1.代码重用
2.设计结果重用
3.分析结果重用
可重用的软件成分
1.项目计划
2.成本估计
3.体系结构
4.需求模型和规格说明
5.设计
6.源代码
7.用户和技术文档
8.用户界面
9.数据
类构件
可重用软件构件的特点
1.模块独立性强
2.具有高度可塑性
3.接口清晰简明可靠
类构件重用方式
1.实例重用
2.继承重用
3.多态重用
软件重用的效益
1.质量
2.生产率
3.成本
系统分解
设计问题域子系统
设计人机交互子系统
设计任务管理子系统
设计数据管理子系统
一共五个范式最好用第三范式
面向对象实现
程序设计语言
面向对象语言的优点
1.一致的表示方法
2.可重用性
3.可维护性
面向对象语言的技术特点
1.支持类与对象概念的机制
2.实现整体部分结构的机制
3.实现一般特殊结构的机制
4.实现属性和服务的机制
5.类型检查
6.类库
7.效率
8.持久保持对象
9.参数化类
10.开发环境
选择面向对象语言
1.将来能否占主导地位
2.可重用性
3.类库和开发环境
4.其他因素
程序设计风格
提高可重用性
1.提高方法的内聚
2.减小方法的规模
3.保持方法的一致性
4.把策略与实现分开
5.全面覆盖
6.尽量不使用全局信息
7.利用继承机制
1.调用子过程
2.分解因子
3.使用委托
4.把代码封装在类中
提高可扩充性
1.封装实现策略
2.不要用一个方法遍历多条关联链
3.避免使用多分支语句
4.精心确定公有方法
提高健壮性
1.预防用户的操作错误
2.检查参数的合法性
3.不要预先确定限定条件
4.先测试后优化
测试策略
1.面向对象的单元测试
2.面向对象的集成测试
3.面向对象的确认测试
设计测试用例
测试类的方法
1.随机测试
2.划分测试
3.基于故障的测试
集成测试的方法
1.多类测试
2.从动态模型导出测试用例
软件项目管理
估算软件规模
1.代码行技术
2.功能点技术
工作量估算
1.静态单变量
2.动态多变量
3.COCOMO2模型
1.项目的先例性
2.开发灵活性
3.风险排除度
4.项目组凝聚力
5.过程成熟度
进度计划
1.估算开发时间
2.Gantt图
3.工程网络
4.估算工作进度
5.关键路径
6.机动时间
人员组织
1.民主制程序员组
2.主程序员组
3.现代程序员组
质量保证
软件质量
1.正确性
2.健壮性
3.可用性
4.可靠性
5.可移植性
6.可再用性
软件质量的保证措施
1.技术复审的必要性
2.走查
3.审查
4.程序正确性证明
软件配置管理
软件配置项
1.文档
2.程序
3.数据
基线
软件配置管理过程
1.表示软件配置中的对象
2.版本控制
3.变化控制
4.配置审计
5.状态报告
能力成熟度模型
1.初始级
2.可重复级
3.已定义级
4.已管理级
5.优化级
0 条评论
下一页