软件工程复习提纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》课程要点
●每章教学课件中的“本章小结”列出了需要掌握的内容
●教学过程中的例题和习题也是课程重点
一、软件工程与软件过程概述
1.概念:
(1)软件的概念(组成成分、作用);
(2)软件危机的含义、表现、产生原因(客观、主观)
(3)软件工程学科包括的内容、解决的主要问题
(4)软件生命周期的含义、组成阶段及各阶段主要任务
2.需理解的问题:
(1)软件与程序的区别和联系?
(2)开发一个软件项目包括哪些基本的步骤?每一步骤完成哪些工作?
(3)主要的软件过程模型(生命周期模型)有哪些?各自有什么特点?
二、结构化分析-面向数据流的分析方法
1.什么是软件需求?需求分析过程(步骤)?
2.需求分析模型:
(1)功能模型(数据流图DFD)的含义、描述符号、画法步骤及规则
(2)数据模型(E-R图)的作用
(3)行为模型(状态转换图)的作用
(4)数据字典的作用
三、结构化设计
1.软件设计的任务?结构化设计与结构化分析的区别和联系?
2.软件设计遵循的基本原理及规则:
(1)模块化的含义、如何划分模块(降低成本、提高独立性)?
(2)抽象与逐步求精的含义、二者间关系如何?
(3)信息隐藏的含义
(4)如何完善软件结构(深度、宽度、扇入、扇出、作用域、控制域)?
3.模块独立性:
(1)模块独立性含义?
(2)模块独立性的度量标准:耦合的分类、含义及应用;内聚的分类、含义及应用。
4.概要设计(面向数据流的设计方法)
(1)概要设计的任务?
(2)数据流图的类型及特征(变换型、事务型)
(3)变换分析设计方法的应用(步骤)
(4)事务分析设计方法的应用(步骤)
4.详细设计(过程设计)
(1)详细设计的任务
(2)结构化程序(设计)的特征
(3)详细设计结果的描述工具:程序流程图、N-S图、PAD图、PDL、判定表
四、软件测试
1.软件测试基础
(1)软件测试的含义和目的?
(2)测试用例的内容(输入数据、预期输出结果)?
(3)主要测试方法(黑盒测试、白盒测试)的含义?
2.主要的白盒测试技术及应用-------逻辑覆盖法?基本路径测试方法?
3.主要的黑盒测试技术及应用-------等价类法? 边界值分析法?
4.软件测试的过程?
(1)单元测试(采用的测试方法;测试内容)
(2)集成测试(采用的测试方法;测试内容;模块组装策略)
(3)确认测试(采用的测试方法;测试内容;α测试与β测试?)
(4)辅助模块的含义及作用(驱动模块、存根模块?)
五、面向对象方法学基础
1.基本概念:
(1)对象的含义及特点?
(2)类的含义?类与对象的关系?
(3)消息及消息传递的含义及作用?
(4)继承的含义?多态性机制?
2.面向对象建模技术中的三种模型及各自作用?
3.对象模型及描述(类图):对象(类)的图形表示;关系(关联、聚集、继承)的图形表示;
4.事件追踪图、状态图、用例图的作用
六、面向对象分析与设计过程
1.面向对象分析(OOA)的任务?OOA的基本过程?
2.面向对象设计(OOD)的主要任务?OOD与OOA的区别和联系?
3.OOD模型的组成(四部分)及内容?
七、软件维护
1.软件维护的含义及类型?
2.软件维护过程?
-----------------------------------------------------------------------------
课堂练习题目
一、填空题
1.软件主要包括程序、和三部分内容。
2.软件可行性研究的任务是从技术、和三个方面分析软件项目的可行性。
3.软件测试的目的是;通常把软件测试方法分为和两大类。
4.结构化分析方法中,功能模型用描述;数据模型用描述。
5.在类的继承结构中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的__。
二、选择题
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.自顶向下测试方法易于设计测试用例
11.()表示了类之间的“一般__特殊”关系。
A.聚集
B.关联
C.消息传递
D.继承
12.OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组()连接来实现的。
A.消息
B.记录
C.数据
D.属性
13.面向对象开发方法定义了三种模型来描述系统,()可以用数据流图来表示
A.对象模型 B.功能模型C.动态模型 D.数据模型
14.面向对象分析(OOA)的主要活动不包括()。
A.确定对象 B.确定属性 C.确定关联 D.确定方式
15.软件开发中,阶段评审是非常重要的环节,其主要目的和作用是()。
A.减少测试工作量
B.避免后期付出高代价
C.保证软件质量
D.缩短软件开发周期
三、概念解释
1.软件危机 2.软件生命周期 3 .需求分析 4.概要设计
5.内聚 6、多态性 7、软件测试 8、驱动模块
四、简答题
1.什么是软件危机?如何消除软件危机?
2.作为某软件公司的工程师,你将采用结构化方法开发一套适用于住宅小区的智能家庭保安系统。
简述开发步骤和每个步骤完成的主要任务。
3.什么是需求分析?简述需求分析的基本任务。