答:(1)流程图如右所示: (2)测试路径: Path1: ①→③
Path2: ①→②→④→⑥→? Path3: ①→②→⑤→⑥→? (3)测试用例:
Path1: 取n=1,datalist[0] = 1, 预期结果:k=0 Path2: 取n=2,datalist[0] = 0,
datalist[1] = 1, 预期结果:k=1
Path3: 取n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0
2、为什么说面向对象方法对需求变化有较好的适应性?(5分)
答:面向对象的封装机制使开发人员可以把最稳定的部分(即对象)作为构筑系统的基本单位,而把容易发生变化的部分(即属性与操作)封装在对象之内;对象之间通过接口联系,使得需求变化的影响尽可能地限制在对象内部。
3、将下列各对事物之间的关系(继承、聚集或关联)写在括弧内。(5分) (1)读者——借出的书 ( 关联 ) (2)班级——学生 ( 聚集 ) (3)教师——教授 ( 继承 ) (4)丈夫——妻子 ( 关联 ) (5)列车——餐车 ( 聚集 ) 二十七、
案例分析题(每小题8分,共16分)
1、 银行计算机储蓄系统 答:
存款单1记录存款信息存款信息存款信息2打印存款信息存款存单储户储户D1 存款信息取款单存款信息利息清单第 21 页 共 27 页 存款信息3核对密码4计算利息利息值5打印利息清单
2、学生课程注册系统 答:
<
二十八、
填空题(每空1分,共20分)
1、 软件生命周期由_软件定义、软件开发和运行维护_3个时期组成。
2、 数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下3种类型:___
一对一____、__一对多_____和__多对多____。
3、 模块的独立程度可以由__内聚____和___耦合____两个定性标准度量。
4、 软件产品在交付使用之前一般要经过以下四步测试_____单元测试_________、____集成测试
_______、____确认测试________和____系统测试______。
5、 Pareto原理:测试发现的错误中的80%很可能是由程序中__20__%的模块造成的。
6、 软件可靠性指程序在给定的__时间间隔____,按照规格说明书的规定成功地运行的概率;而
第 22 页 共 27 页
软件的可用性指程序在给定的_____时间点____,按照规格说明书的规定,成功地运行的概率。 7、 封装使对象形成两个部分:___接口______和___实现_____。
8、 发现和定义系统中的对象类是在用例模型的基础上,识别___实体类_______、___边界类
_______和____控制类________。 二十九、
选择题(每小题2分,共20分)
1、软件生命周期模型有多种,下列选项中,( C )不是软件生命周期模型。 A、螺旋模型 B、增量模型 C、功能模型 D、瀑布模型
2、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( B )。A、组织与管理 B、分析与估算 C、设计与测试 D、规划与调度 3、将几个逻辑上相似的成分放在一个模块中,该模块的内聚程度是( A )的。 A、逻辑性 B、瞬时性 C、功能性 D、通信性
4、在对数据流的分析中,主要是找到变换中心,这是从( C )导出结构图的关键。 A、数据结构 B、实体关系 C、数据流图 D、E-R图 5、下列内聚中内聚程度最高的是( D )。
A.逻辑内聚 B.过程内聚 C.顺序内聚 D. 功能内聚 6、下面( C )不是对象具有的特性。
A、标识 B、继承 C、顺序 D、多态性 7、与选择编程语言无关的因素是( A )。 A、软件开发的方法 B、软件执行的环境 C、用户需要 D、软件开发人员的知识
8、黑盒测试是从_________观点的测试,白盒测试是从__________观点的测试。( C ) A、开发人员、管理人员 B、用户、管理人员 C、用户、开发人员 D、开发人员、用户
9、使用条件路径选择进行白盒测试时,对于嵌套型分支结构,若有n个判定语句,则需要( C 个测试用例。
A. n-1 B. n C. n+1 D. 2n
10、在软件维护中,维护工作量比例最大的是( C )。
第 23 页 共 27 页
)A. 改正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 三十、 判断题(对的画“√”,错的画“×”,每小题1分,共10分)
1、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。 ( × ) 2、在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 ( × )
3、不完善的系统定义往往是导致软件项目失败的主要原因。 ( √ ) 4、一个成功的项目唯一提交的就是运行程序。 ( × ) 5、只有质量差的软件产品才需要维护。 ( × ) 6、模型是对现实的简化,建模是为了更好地理解所开发的系统。 ( √ ) 7、好的测试用例应能证明软件是正确的。 ( × ) 8、白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 ( √ ) 9、等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。 ( √ )
10、面向对象的分析是面向计算机系统建立软件系统的对象模型。 ( × ) 三十一、
名词解释(每小题3分,共12分)
1、软件工程
答:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。 2、结构化维护
答:采用软件工程的方法进行软件开发,保证每个阶段都有完整且详细的文档。 3、对象
答:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。 4、软件项目管理
答:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。 三十二、
问答题(共22分)
第 24 页 共 27 页
1、下面是一段求最小值的程序,其中datalist是数据表,n是datalist的长度。 int GetMin(int n, int datalist[ ]) {
int k=0;
for ( int j=1; j if ( datalist[j] < datalist[k] ) k=j; return k; } (1) 画出该程序的流程图。(6分) (2) 用基本路径覆盖法给出测试路径。(3分) (3) 为各测试路径设计测试用例。(3分) 答:(1)流程图如右所示: (2)测试路径: Path1: ①→③ Path2: ①→②→④→⑥→? Path3: ①→②→⑤→⑥→? (3)测试用例: Path1: 取n=1,datalist[0] = 1, 预期结果:k=0 Path2: 取n=2,datalist[0] = 0, datalist[1] = 1, 预期结果:k=1 Path3: 取n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0 2、面向对象方法是如何支持软件复用的?(5分) 答:(1)对象具有封装性和信息隐蔽等特性,使其容易实现软件复用。(2)对象类可以派生出新类,类可以产生实例对象,从而实现了对象类数据结构和操作代码的软构件复用。(3)面向对象 第 25 页 共 27 页 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库广东海洋大学软件工程历年考题-答案(5)在线全文阅读。
相关推荐: