当前位置:问答库>考研试题

2018年辽宁工程技术大学软件工程931数据结构和软件工程之软件工程导论考研核心题库

  摘要

一、计算题

1. 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。试用状态转换图描绘复印机的行为。

【答案】状态转换图,如图所示。

图 复印机工作状态转换图

2. 假设自己的任务是对一个已有的软件做重大修改,而且只允许从下述文档中选取两份:(a )程序的规格说明;(b )程序的详细设计结果(自然语言描述加上某种设计工具表示);(c )源程序清单(其中有适当数量的注解)。

应选取哪两份文档?为什么这样选取?打算怎样完成交给自己的任务?

【答案】应该选取(a )和(b )两份文档,理由如下:

(1)“对一个已有的软件做重大修改”意味着对软件功能做较大变更或增加较多新功能,这往往需要修改软 件的体系结构。因此,了解原有软件的总体情况是很重要的。程序的规格说明书准确地描述了对软件系统的数据 要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接□需求、约束、逆向需求及将来可能提出的需求,对了解已有软件的总体情况有很大帮助。在对已有软件做重大修改之前仔细阅读、认真研究这份文档, 可以避免许多修改错误。因此,应该

选取(a )程序的规格说明。

(2)有经验的软件工程师通过阅读含有适当数量注解的源程序,不难搞清程序的实现算法,没有描述详细 设计结果的文档并不会给维护工作带来太大困难。此外,为了修改程序代码,原有程序的清单是必不可少的。因此,应该选取(c )源程序清单。

3. 什么是面向对象方法学?它有哪些优点?

【答案】(1)面向对象方法学是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类解决问题的方法与过程,使描述问题的问题空间与实现解法的解空间在结构上尽可能一致的方法学科。

(2)面向对象方法学优点:

①与人类习惯的思维方法一致。

②面向对象软件稳定性好。

③面向对象软件可重用性好。

④较易开发大型软件产品。

⑤可维护性好。

4. 某航空公司规定,乘客可以免费托运重量不超过30kg 的行李。当行李重量超过30kg 时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相 应的计算行李费的算法。

【答案】用判定树表示航空公司的规定如图所示。

图 航空公司规定判定树

一、计算题

1. 测试面向对象软件时,主要有哪些设计确认测试用例的方法?

【答案】设计确认测试用例的方法主要有传统的黑盒方法、基于情景的方法。

(1)黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地就收输入数据而产生正确的输出信息。 黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

(2)基于情景的方法:场景,是一种有假设条件的故事,可以辅助测试人员把一个复杂的问题或系统通过电影那样地过一遍。测试人员通过把整个场景都设想出来,在设想中的场景中进行的测试就是基于场景的测试。

2. CMM 的基本思想是什么?为什么要把能力成熟度划分成5个等级?

【答案】(l )CMM 的基本思想是,由于软件危机是因对软件过程管理不善而引起的,所以新软件技术的运用并不会自动提高软件的生产率和质量,提高软件生产率和软件质量的关键是改进对软件过程的管理。

(2)对能力成熟度划分的原因

①对软件过程的改进,是在完成一个又一个小的改进步骤基础上不断进行的渐进过程。

②这5个成熟度等级定义了一个有序的尺度,用以测量软件机构的软件过程成熟度和评价其软件过程能力,这些等级还帮助软件机构把应做的改进工作排出优先次序。

③成熟度等级是妥善定义的向成熟软件机构前进途中的平台,每个成熟度等级都为软件过程的继续改进提供了一个台阶。第三部分章节题库

3. 什么是“继承”?

【答案】继承是指能够直接获得己有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子 类自动地共享基类中定义的数据和方法的机制。