天津理工大学软件学院UML复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1部分软件工程
一. 软件开发经历的三个时代
1. 程序设计时代
2. 程序系统时代
3. 软件工程时代
二. 软件危机和软件工程学
简单的说软件危机就是:在软件开发和软件维护上出现的严重问题1968年NATO(北大西洋公约组织)会议提出。软件工程含义是:“按照工程化的原理和方法来开发和维护软件。”
三. 软件生存周期模型
软件工程学
软件开发方法学
软件工具
软件工程环境
软件开发技术
软件工程管理
软件管理学
软件经济学
2. 瀑布式生存周期模型评价: 特点:文档驱动。 优点: 简明、规范; 问题:只适合固定需求
四. 软件工程方法学
1. 结构化方法(面向数据流方法)
·结构化分析(SA ):注意结构化方法是面向数据流的方法,主要工具是DFD ……
· 结构化设计(SD ):注意模块化设计和模块独立性概念(高内聚、低耦合),主要工具是SC
·结构化程序设计(SP ):单入口/单出口设计 2. 快速原型方法 1) 原型技术开发步骤:
2) 原型技术评价
满意否?
修改、完善系统原型
评价系统原型 研制系统原型
确定系统最初需求
Y
优点:
(1) 给用户尽快提供一个样品,让用户评价;
(2)适合模糊需求;
……
缺点:
(1)方法不规范, 无统一标准;
(2)无统一开发环境和工具;
……
3. 面向对象方法
五.传统方法个阶段的要点
1.可行性研究阶段
1)可行性研究阶的内容
·技术可行性(比如技术风险)
·经济可行性(比如成本—效益分析)
·社会可行性(又称做运行管理或操作可行性)2)可行性研究阶的结论(三种结论)
2.需求分析阶段
1)需求分析任务
2)绘制DFD技术(建模重点)
3.总体设计阶段
1)模块化设计
2)模块独立性及判别准则
3)模块独立性原则
*4)DFD映射成SC(MSD)技术
4.详细设计阶段
1)结构化程序设计概念
2)详细设计工具
3) PAD
5.编程和单元测试
1)程序设计语言和工具的选择
2)编程风格(比如:适当的注释)
6.软件测试阶段
1)软件测试的目的和原则
2)驱动模块和桩模块
3)黑盒测试和白盒测试
4)软件测试步骤和策略
*5)软件复杂度的度量
7.软件维护阶段
1)软件维护的种类和所占比例
2)软件维护内容和副作用
六.软件管理
1)为什么要进行软件管理?软件管理的内容
*2)软件管理的成本估算模型
3)进度管理工具(GANTT图、PERT图和工程网络图)
4)软件配置项和配置管理(标识对象、版本控制、变化控制、配置审计和状态报告)
5)软件能力成熟度模型CMM和CMMI
七.软件质量保证(略)
八.软件环境
1)软件环境概念和核心
2)CASE概念
第2部分面向对象的基本概念
一. 面向对象的技术特征
1. 标识(identity)
2.分类(Classification)
注意:同类对象具有相同的属性一般是指属性名而不是属性值。只有称作“类属性”的情况才共享属性值。
3.继承(Inheritance)
子类自动拥有父类的数据和操作叫继承。
继承可分成单继承(Single inheritance)和多继承(multiple inheritance)。(请举出实例)
4.多态性(Polymorphism)
同一消息发给不同对象可产生不同结果。(或相同的操作应用到不同类中,可以有不同表现形式)
二. 面向对象的开发
1.面向对象的开发步骤:
1)需求表达和系统构思(conception)
重点是搞清问题域和系统责任。
2)系统分析—创建模型
3)系统设计
a)设计一种高层策略—-系统架构
b)优化设计—-考虑实现策略问题和临时资源分配问题。4)设计类
a)添加细节
b)实现类的数据结构和算法
5)实现
主要工作是类模型转换成某种编程语言和数据库。三. OO技术中几个术语
1.抽象
2.封装
3.共享(重用)
·同一类中的对象共享
·同一应用(不同类)通过继承共享
·不同应用通过类库或可重用构件库来共享。
*4.协同(synergy)
四.三种模型
1.类模型(对象模型)
包括:类、对象及实例的概念;
类之间的关系:
1)关联关系
a)关联和链 b)多重性c)关联的角色d)关联类 e)限定关联 f)自反关联g)派生关联
2)泛化关系
3)聚合关系(整体—部分关系)
4)依赖关系
5)抽象类和接口
(以上概念应能举实例说明)
2.状态模型
用状态图表示状态模型
注意:状态图的几个概念比如:状态图的用途、动作和活动、事件和转移等
3.交互模型
(1)用例图(Use Case Diagram)
(2)交互图(Interaction Diagram)
交互图包括:顺序图和协作图
(3)活动图(Activity Diagram)
活动图显示复杂过程的处理步骤序列、算法和工作流程。