软件工程 | 面向对象范型
2023-06-02 20:46:46 21 举报
AI智能生成
内容参考自:软件工程导论-第6版 by 张海藩 牟永敏
作者其他创作
大纲/内容
1.抽象
2.继承
3.封装
4.多态
5.类
6.对象
面向对象方法学的要点
1.与人类的思维方法一致
2.稳定性好
3.可重用好
4.比较容易开发大型软件产品
1.稳定性好
2.封装性好
3.理解性好
4.测试性好
5.可维护性好
面向对象方法学的优点
面向对象方法学概述
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.信息隐藏
1.交互耦合
2.继承耦合
4.弱耦合
1.服务内聚
2.类内聚
3.一般-特殊内聚
5.强内聚
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.将来能否占主导地位
3.类库和开发环境
4.其他因素
选择面向对象语言
程序设计语言
1.提高方法的内聚
2.减小方法的规模
3.保持方法的一致性
4.把策略与实现分开
5.全面覆盖
6.尽量不使用全局信息
1.调用子过程
2.分解因子
3.使用委托
4.把代码封装在类中
7.利用继承机制
提高可重用性
1.封装实现策略
2.不要用一个方法遍历多条关联链
3.避免使用多分支语句
4.精心确定公有方法
提高可扩充性
1.预防用户的操作错误
2.检查参数的合法性
3.不要预先确定限定条件
4.先测试后优化
提高健壮性
程序设计风格
1.面向对象的单元测试
2.面向对象的集成测试
3.面向对象的确认测试
测试策略
1.随机测试
2.划分测试
3.基于故障的测试
测试类的方法
1.多类测试
2.从动态模型导出测试用例
集成测试的方法
设计测试用例
面向对象实现
1.代码行技术
2.功能点技术
估算软件规模
1.静态单变量
2.动态多变量
1.项目的先例性
2.开发灵活性
3.风险排除度
4.项目组凝聚力
5.过程成熟度
3.COCOMO2模型
工作量估算
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 条评论
回复 删除
下一页