软件工程期末试题与答案.docx
《软件工程期末试题与答案.docx》由会员分享,可在线阅读,更多相关《软件工程期末试题与答案.docx(9页珍藏版)》请在冰豆网上搜索。
软件工程期末试题与答案
软件工程试题
注意:
所有答案均写在答题纸上
一、名词解释题(每小题4分,共24分)
1、继承2、消息3、对象4、白盒测试5、多态性6、重用
二、填空题(共20分,答错一题,扣一分)
1、软件生存周期划分为7个阶段,即、、、、、和。
2、螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为、、、四个步骤。
3、SA方法中自顶向下的分析策略主要是______和______,其主要描述工具是、、______。
4、衡量软件的独立性有两个定性的度量标准,即和。
5、黑盒法只在软件的处进行测试,依据说明书,检查程序是否满足要求。
6、黑盒测试是测试,用黑盒技术设计测试用例有4种方法:
、、、
7、维护的副作用有、和。
8、衡量软件质量的主要特性有、和。
三、简答题(每小题7分,共35分)
1、什么是需求分析,需求分析阶段的基本任务是什么?
2、简述测试步骤。
说明每一步骤的主要目标以及些测试与软件开发各阶段之间的关系。
3、简要说明对内聚与耦合的理解。
4、什么是软件的可维护性?
软件的可维护性与哪些软件质量的特性有关?
如何提高软件的可维护性?
为什么在软件开发过程中,要特别重视软件的可维护性?
5、面向对象分析的3个子模型、5个层次是什么?
面向对象分析的大体过程(步骤)是什么?
四、应用题(第1小题9分,第2小题6分,第3小题6分,共21分)
1.某电器集团公司下属一个成套厂(产品组装)和若干零件厂等单位,成套厂下属技术科、生产科、
供应科等基层单位。
现要建立一个计算机辅助企业管理系统,其中,生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交货日期)制定车间月生产计划;
(2)根据车间实际生产日报表、周报表调整月生产计划;
(3)以月生产计划为依据,制定产品设计(结构、工艺)及产品组装月计划;
(4)将产品的组装计划传达到技术科,将组装月计划分解为周计划,下达给车间。
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划
给供应科,并产生产品自制件物料清单;
(2)根据组装计划进行产品工艺设计(冲压、喷漆、焊接等),根据产品自制件物料清单产生工艺流程
图给零件厂。
供应科的任务是:
(1)根据技术科的外购需求计划和仓库的缺货通知单及月盘存表制定采购计划给采购员;
(2)对采购来的材料进行库管理(登录、查询、修改、删除)。
请根据以上文字叙述画出企业管理系统的分层DFD图。
2、下图中描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、
路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。
①a=5,b=1;②a=5,b=-1;③a=5,b=1;
④a=5,b=1;a=-5,b=-1;a=0b=-1;
⑤a=5,b=-1;
⑥a=5,b=1;a=-5,b=1;a=0,b=0;a=-5,b=-1;a=-5,b=-1;
⑦a=5,b=1;
⑧a=5,b=1;a=0,b=1;a=0,b=-1;a=0,b=-1;
a=-5,b=1;a=-5,b=1;a=-5,b=-1;
3、下面是某程序的流程图:
(1)计算它的环路复杂性。
(2)为了完成基本路径测试,求它的一组独立的路径。
答案
班级:
姓名:
序号:
一、名词解释题(每小题4分,共24分)
1、继承:
特殊类的对象拥有一般类的全部属性和服务,称作特殊类对一般类的继承
2、消息:
对象之间进行通信的构造叫做消息。
3、对象:
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。
一个对象由一组属性和对这组属性进行操作的一组服务构成。
4、白盒测试:
白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
5、多态性:
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
6、重用:
重用性是指同一事物不经修改或稍加修改就可以多次重复使用的性质。
二、填空题(共20分,答错一题,扣一分)
1、可行性研究、需求分析、概要设计、详细设计、编码和测试、维护。
2、制订计划、风险分析、实施工程、客户评估。
3、分解和抽象数据流图数据字典描述加工逻辑的结构化语言、判定表、判定树
4、耦合性和内聚性。
5、接口,需求规格,功能
6、功能等价类划分边界值分析错误推测因果图
7、编码副作用数据副作用文档副作用。
8、可维护性可使用性可适用性。
三、简答题(每小题7分,共35分)
6、什么是需求分析,需求分析阶段的基本任务是什么?
需求分析主要是对收集到的需求进行提炼、分析和仔细审查,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其他不足的地方,形成完整的分析模型
基本任务:
确定系统的要求;分析系统的数据要求;修正开发计划;编写文档。
2、简述测试步骤。
说明每一步骤的主要目标以及些测试与软件开发各阶段之间的关系。
解:
①软件测试的步骤如下图所示。
②这些测试与软件开发各阶段之间的关系如下图所示。
因为系统测试已经超出了软件工程的范围,所以系统测试不包括在内。
3种测试与软件开发各阶段之间的关系如图7-2所示。
①单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
②集成测试的主要目标是检查与设计相关的软件体系结构的有关问题。
③确认测试的主要目标是检查已实现的软件是否满足需求规格说明书中确定的各种需求。
3、要说明对内聚与耦合的理解。
解:
模块独立性,是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的。
一般采用两个准则度量模块独立性。
即模块间耦合和模块内聚。
耦合是模块之间的互相连接的紧密程度的度量。
内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。
模块独立性比较强的模块应是高内聚低耦合的模块。
4、什么是软件的可维护性?
软件的可维护性与哪些软件质量的特性有关?
如何提高软件的可维护性?
为什么在软件开发过程中,要特别重视软件的可维护性?
解:
①软件的可维护性指软件能够被理解、校正、适应及增加功能的容易程度。
②软件的可维护性与软件质量的下列特性有关:
可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
③提高软件的可维护性方法有:
· 要建立明确的软件质量目标:
要程序满足可维护性的7个指标是不现实的,对于不同性质软件,质量重点不一样。
强调哪个质量特性,视情况而定。
· 要利用先进的软件开发技术和工具:
能大大提高软件质量和减少软件费用。
例如面向对象方法开发的软件系统,稳定性好,比较容易修改,比较容易理解,易于测试和调试,因此可维护性好。
· 建立明确的质量保证:
有4类检查(在检查点进行检查、验收检查、周期性的维护检查、对软件包的检查)。
· 选择可维护性语言:
程序语言的选择对可维护性影响很大。
· 改进程序的文档:
为提高可维护性,需要用户文档、操作文档、数据文档、程序文档和历史文档。
④在软件开发过程中,要特别重视软件的可维护性的原因:
· 软件的可维护性是衡量软件质量的主要特性之一。
· 软件的可维护性是软件开发阶段的关键目标。
5、面向对象分析的3个子模型、5个层次是什么?
面向对象分析的大体过程(步骤)是什么?
解:
3个子模型:
对象模型,动态模型,功能模型。
5个层次:
主题层,类--&--对象层,结构层,属性层,服务层。
面向对象分析大体按照下述顺序进行:
1.寻找类--&--对象2.识别结构3.识别主题4.定义属性5.建立动态模型6.建立功能模型7.定义服务
强调:
没有严格的顺序。
大型复杂的系统需要反复构造多遍才能建成。
通常,先构造出模型的子集,然后,再逐渐扩充,直到完全理解整个问题,才能最终将模型建立起来。
四、应用题(第1小题9分,第2小题6分,第3小题6分,共21分)
1、
2、达到判定覆盖为④
达到条件覆盖为③
达到判定/条件覆盖为⑥
达到条件组合覆盖为⑧
达到路径覆盖为⑦
3、下面是某程序的流程图:
(1)计算它的环路复杂性。
(2)为了完成基本路径测试,求它的一组独立的路径。
(a)环路复杂性=判断数+1=6+1=7(个)
(b)路径1:
0—1—13—19
路径2:
0—2—3—14—19
路径3:
0—2—4—5—15—19
路径4:
0—2—4—6—7—16—19
路径5:
0—2—4—6—8—9—17—19
路径6:
0—2—4—6—8—10—18—19
路径7:
0—2—4—6—8—10—12—19