软件工程复习知识点总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.软件危机的概念,内容,原因及消除的途径;
2.软件工程的定义,基本原理;
3.软件工程方法学的基本概念、内容;
4.软件生命周期的具体内容,每一个阶段的任务是什么?结合具体的工程例子
来理解做软件项目主要分那几个阶段。
5.理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速
原型模型、螺旋模型、喷泉模型等;
6.了解可行性研究中的任务和过程;
7.掌握系统流程图的概念和方法,会从具体的案例中抽象出系统流程图;
8.掌握数据流图的概念和方法,会从具体的案例中画出0层数据流图和功能级
数据流图;
9.掌握数据字典的内容、方法、用户和实现;
10.了解成本/效益分析方法;
11.了解需求分析过程中任务是什么.
12.理解面向数据流自顶向下逐步求精的方法和意义;
13.理解分析及建模的意义,需求分析中应该建立哪三种模型?有哪些工具来帮
助建立这些模型?
14.掌握实体关系(E-R)图的概念,内容和实现方法,能结合具体实例建立实体关
系图;
15.掌握状态图的概念,内容,实现方法和作用;
16.掌握层次方框图、warnier图、IPO图的概念,内容和作用;
17.有穷状态机的概念和内容;
18.总体设计是做什么?总体设计的过程是怎样的?总体结构设计的目的是什
么?
19.掌握几个设计原理,理解他们的内容和意义;
20.掌握耦合和内聚的概念和内容,理解这些原理对设计有哪些指导意义;
21.耦合包含了哪些类型?每个类型的具体内容是什么?要求能通过程序代码识
别出耦合类型。
22.启发性规则的内容及部分概念。
23.层次图、HIPO图和结构图的内容;
24.掌握面向数据流的设计方法,了解其中涉及到的概念(变换流,事务流),结
合例子理解变换分析的具体过程。
25.详细设计是做什么?
26.什么是结构程序设计?
27.人机界面设计问题包含哪些?
28.掌握设计过程中用到的工具:程序流程图的概念,内容和方法;盒图的概念、
内容和方法;会结合实例使用这些工具;掌握PAD 图的概念和内容;掌握判定表的概念和内容。要结合实例来掌握它们。
29.了解结合Jackson图来掌握面向数据结构的设计方法;会用Jackson程序设
计方法对具体的实例进行设计。
30.掌握几种测试:单元测试、集成测试、确认测试、白盒测试技术和黑盒测试
技术;掌握它们的概念,内容和方法;
31.对每一种测试方法,理解其具体细节:比如理解什么是渐增式测试和非渐增
式测试,什么是Alpha测试和Beta测试.....;
32.结合G.J.Myers的观点理解软件测试的目的;(教材p150)
33.掌握白盒测试的技术细节(比如:掌握逻辑覆盖中的8个覆盖点;掌握基本
路径测试,会根据过程设计结果画出相应的流图;会计算流图的环形复杂度;
会计算出线性独立路径的基本集合);掌握黑盒测试的技术细节;
34.理解软件维护的定义、特点和维护过程;
自测练习题:
一、选择题
1.瀑布模型的存在问题是()
A.用户容易参与开发
B.缺乏灵活性
C.用户与开发者易沟通
D.适用可变需求
2.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。
A.确定B.行或不行C.正确D.无二义
3.系统流程图是用来()
A 描绘程序结构的
B 描绘系统的逻辑模型
C 表示信息层次结构的图形工具
D 描绘物理系统的
4.下列属于维护阶段的文档是( )
A.软件规格说明
B.用户操作手册
C.软件问题报告
D.软件测试分析报告
5.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的
质量特性称为( )
A.可用性
B.可靠性
C.正确性
D.完整性
6、快速原型模型的主要特点之一是( )
A.开发完毕才见到产品
B.及早提供全部完整的软件产品
C.开发完毕后才见到工作软件
D.及早提供工作软件
7、软件需求分析的主要任务是准确地定义出要开发的软件系统是( )
A.如何做
B.怎么做
C.做什么
D.对谁做
8.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],
现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )
A.条件覆盖法
B.等价分类法
C.边界值分析法
D.错误推测法
9.研究开发所需要的成本和资源是属于可行性研究中的研究的一方面。( )
A.技术可行性
B.经济可行性
C.社会可行性
D.法律可行性
10.模块的内聚性最高的是( )
A.逻辑内聚
B.时间内聚
C.偶然内
聚
D.功能内聚
12. ()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A 多态性
B 继承
C 封装
D 消息
二、填空题
1. 将数据流图映射为程序结构时, 所用映射方法涉及信息流的类型。其信息流分为和两种类型。
2.为了便于对照检查,测试用例应由输入数据和预期的_ _____两部分组成。
3. 软件由程序、、组成。
4. 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关系。
5. 软件工程釆用层次化的方法,每个层次都包括、方法、三要素。6.一个模块拥有的直属下级模块的个数称为,一个模块的直接上级模块的个数称为。
三、名词解释题
1.内聚性
2.软件危机
3.完善性维护
4. 数据字典
5. 程序流图
6. 驱动程序
7. 数据耦合
8. 类图
9. Alpha测试与Beta测试
10. 软件产品
四、简答题
1. 黑盒测试旨在测试软件是否满足功能要求,它主要诊断哪几类错误?
2. 瀑布模型、增量模型的优缺点
3. 程序流程图或者盒图的5种基本结构的画法
4. 简述过程设计语言(PDL)的特点。
5. 根据特定的项目,你会考虑哪些因素来选择合适的程序设计语言。
6. (教材P141) 画出下列伪码程序的程序流程图和盒图
START
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK