1. 分析软件危机产生的主要原因有哪些? 答:导致软件危机的主要原因有:
(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后
(4)生产方式落后 (5)开发工具落后 (6)软件开发费用不断增加
2.软件工程定义:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的
全过程及上述方法的研究。
3. 什么是软件生存周期?把生存周期划分为阶段的目的是什么?
答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理
4. 可行性研究包括哪几方面的内容?
答(1)经济可行性:是否有经济效益,多长时间可以收回成本
(2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能
否满足
(3)运行可行性:系统操作在用户内部行得通吗?
(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律
5.需求分析的工具:1.数据流图和数据词典(结果化分析方法) 2.E-R图(面向对象的分析) 3.EAR(数据库系统的结构)
4.判定表、判定树、结构化语言
需求分析的难点:需求易变性、问题的复杂性、交流障碍、不完备性和不一致性。
6.数据流图(DFD)::描述系统的逻辑模型。箭头、圆、方框、双杠。P71
数据字典(DD): 定义数据流图中的各个成分的具体含义。 符号= 被定义为+与m..n界域(两个点) 学生证=姓名+学号+学院+卡号
学号=“0000000001”..“9999999999” 卡号=“000001”..“999999”
学院=[“计算机学院”|“建筑学院”|“。。”|…] 流程图:DFD
7.请举例说明三条评价人机界面的设计准则
答:设计准则如下:1.一致性;2.使用简便;3.启发性;4.减少重复的输入;5.减少人脑记忆的负担;6.容错性;7.及时反馈。
8.对象:是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象
由一组属性和一组服务构成。
一般-特殊结构:描述对象间继承关系
整体-部分结构:描述对象间组成关系 实例连接:描述对象间静态联系 消息连接:描述对象间动态联系
9.黑盒测试:把被测试对象看出一个黑盒子,测试人员完全不考虑程序的内部结构和处理过
程,只在软件的界面上进行测试,用来证实软件功能的可操作性,检查程序是否满足功能要求,是否很好地接收数据,并产生正确的输出。
黑盒测试主要采用技术有:等价分类法、边界值分析法、错误推测法 和 因果图等技术
白盒测试:把测试对象看作一个透明的盒子,测试人员能了解程序的内容结构和处理过程,
以检查处理过程为目的,对程序中尽可能多的逻辑路径进行测试,在所有的点检验内部控制结构和数据结构是否和预期的相同。
白盒测试主要采用的技术有:路径测试技术 和 事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术
10.软件测试的目的:根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组测
试例它们能够系统地揭示不同类型的错误,并且耗费的时间和工作量最小。
10.软件维护分为哪些类别?各自有什么特点?
答:1.非结构化维护:其过程大致为阅读源代码—定位错误—重编程序—回归测试
结构化维护:其过程为—评价设计—计划途径—修改设计—重编程序—回归测试。 流程:1.指导维护申请报告
2.审查申请报告并批准
3.进行维护并做详细记录 4.复审
42. 把变换型数据流图映射成软件结构图:
f1 A f2 B f3 C f4
f2 主模块 f3 B Get f3 f3 f4 f4 Write f4Get f2 f1 f1 Read f1f2 A C
41. 把事务型数据流图映射成软件结构图: f2 B f1 A + C f3 f5 f4 f1 主模块 f1 Read f1 A f2 B f3 C f5
Write f5
f4 Write f4
1. 软件工程产生危机的原因 2. 软件工程的定义 3. 软件工程生命周期
4. 39页可行性分析的四个方面 5. 需求分析的工具
6. 做好需求分析存在的困难(主要是与客户的沟通) 7. 会画数据流图,数据字典,EAR图
8. 设计包括:模块设计,人机界面设计以及设计原则 9. 会画程序流程图
10. 什么是对象,对象与对象之间的关系
11. 软件测试的目的,设计测试用例,测试的过程 12. 软件维护类型,流程