软件工程导论复习总结
一. 综合题
三个时期八个阶段:软件生命周期由软件定义、软件开发和 运行维护(也称为软件维护) 三个时期组成,每个时期又进 一步划分成若干个阶段。
软件定义:
问题定义:任务:问题是什么 结果:关于系统规模和目标的报告书 可行性研究:任务:有可行的解吗 结果:
– 系统的高层逻辑模型 – 可行性论证报告
需求分析:任务:必须做什么 结果:
– 系统的逻辑模型
– 用规格说明书准确地记录对目标系统的需求 概要设计:
任务:如何解决已提出的问题 结果:
– 可能的解法
– 推荐的系统体系结构
软件开发
详细设计:
任务:怎样具体实现该系统
结果:每个模块的算法和数据结构 编码和单元测试:
任务:得到正确的程序模块 结果:代码和测试报告 综合测试:
任务:得到符合要求的软件 结果:
– 测试计划、详细测试方案以及实际测试结果 – 完整一致的软件配置
运行维护
运行维护:
任务:使系统持久地满足用户的需要 结果:完整准确的维护记录
二. 改错(图)
1. Petri 网 p83
2. 结构图P103-104
3. .改进的Jackson 图P131
4. 关联类
P220
5.ER 图 P64
6. 维护阶段的事件流P193
三. 简答题
1. 货币的时间价值
2. 纯收入概念
3. 数据字典
4.
5
6. 软件危机(简答)
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机的产生一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。 典型表现:
1. 对软件开发成本和进度的估计不准确; 2. 用户对软件系统不满意; 3. 软件产品的质量不可靠; 4. 软件常常不可维护; 5. 软件没有文档资料; 6. 软件成本上升;
7. 软件开发的速度跟不上计算机的普及速度
7. 设计的任务(简答):
首先进行结构设计,然后进行过程设计。结构设计确定程序有哪些模块组成,以及这些模块之间的关系;过程设计确定每个模块的处理过程。结构设计是总体设计阶段的任务,过程设计是详细设计阶段的任务。
8.
四.
1.Rational 统一过程是由Rational 软件公司推出的一种完整而且完美的软件过程。
2. RUP软件开发生命周期是一个二维的生命周期模型,纵轴代表核心工作流,横轴代表时间。
3. 可行性研究的任务:技术可行性,经济可行性,操作可行性。 4. 数据流图(DFD) 星号(*):表示“与”关系、加号(+):表示“或”关系、异或(⊕):表示互斥关系。 5. 数据流图应该分层,并且在把功能级数据流图细化后得到的处理超过9个时,应该采用画分图的办法,也就是把每个主要功能都细化为一张数据流分图。 6. 需求分析过程应该建立三种模型:数据模型、功能模型、行为模型。
7. Petri 网三种表现形式1. 四元组C=(P,T,I,O) 2.图 3.五元组(P,T,I,O,M ) 8. 从技术角度进行审查,从管理角度进行复审。
9. 尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
10. 内聚分为低内聚,中内聚,高内聚。高内聚又分为顺序内聚和功能内聚。功能内聚是最高程度的内聚。 11. 深度: 宽度:
扇出是一个模块直接控制的模块数,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块;扇出过小也不好。平均扇出通常是3或4(上限是5~9). 扇入:
12. 信息流分为:交换流和事物流。
13. 测试时使用的输入数据称为测试用例。
14. . 软件工程的主要目的就是要:1. 提高软件的可维护性2. 减少软件维护所需要的工作量3. 降低软件系统的成本。 15. 结构化维护的条件是:代码和文档。(完整的软件配置) 16. 文档比程序代码更重要。
17. 用户文档包含5方面:1. 功能描述2. 安装文档3. 使用手册4. 参考手册5. 操作员指南
18. 每当对数据、软件结构、模块过程或其他有关的软件特点做了改动时,必须立即修改相应的技术文档。
19. 类图描述类与类之间的静态关系。通常,使用类图来建立对象模型。 20. 类与类之间通常有关联、泛化、依赖和细化四种关系。
21. 进行总体设计的的时候,增加模块与模块之间的关系。(×) 22. 形式化说明技术,技术的作用是描述需求。 23. 用形式化是因为用了数学。
24. 程序设计分为两个阶段:结构设计和过程设计。结构设计:确定程序由哪些模块组成;模块之间的关系。过程设计:确定每个模块的处理过程。结构设计是总体设计阶段的任务,过程设计是详细设计阶段的任务。 25.
五
1. 数据流图
2. 层次图 P102 层次方框图P68 3方面对比
3. P66 3.6.3符号 4. P83 禁止线 5.
PS :5.5与6.4对比复习,2个设计的名字;8.4.2与8.4.3出判断。