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

2018年山西大学计算机与信息技术学院859软件工程专业基础之软件工程导论考研基础五套测试题

  摘要

一、名词解释

1. 抽象

【答案】把在现实世界中一定事物、状态或过程之间的共性集中和概括起来,暂时忽略它们之间的差异,这就是抽象。即抽象就是抽出事物的本质特性而暂时不考虑它们的细节。

2. 多态性

【答案】多态性是指同一消息为不同的对象接受时,可产生完全不同的动作,利用多态性,用户可发送一个通用的消息,而将所有的实现细节都留给接受消息的对象自行决定。另外,多态性也可以指在父类中定义的属性或者 服务被子类集成后,可以具有不用的数据类型或者表现出不同的行为。

二、简答题

3. 在哪些情况下适宜使用原型?哪些情况下不宜使用原型?

【答案】(1)适宜使用原型的情况

①开发周期很长的项目,通过原型开发来缩短开发周期。

②系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制。

③用户对系统的需求较为模糊,对某种要求缺乏信心。

④开发者对系统的某种设计方案的实现无信心或无十分的把握。

(2)不宜使用原型的情况

①缺乏开发工具,或对原型的可用工具不了解的时候。

②用户不愿意参与开发。

③用户的数据资源没有很好地组织和管理的时候,因为快速原型需要快速寻找和存取数据。 ④用户的软件资源没有被组织和管理起来的时候,因为MIS 中的模型、模块、使用设施和程序的难易程度对原型使用很关键。

4. 瀑布模型有哪些局限性?

【答案】(1)各阶段之间存在着严格的顺序性,特别强调预先定义需求的重要性,在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但是实际项目很少是遵循着这种线性顺序进行的。

(2)虽然瀑布模型也允许迭代,但这种改变往往给项目开发带来混乱。在系统建立之前很难

只依靠分析就确定出一套完整、准确、一致、有效的用户需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。

(3)传统的瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这种思想的、线性的开发过程,缺乏灵活性,不适应实际的开发过程。

5. 试述软件项目计划内容。

【答案】(1)范围

对该软件项目的综合描述,定义其所要做的工作以及性能限制,它包括项目目标、主要功能、性能限制、系统接口、特殊要求、开发概述等。

(2)资源

包括人力资源、硬件资源、软件资源及其他资源。

(3)进度安排

进度安排的好坏往往会影响整个项目的按期完成,因此这一环节是十分重要的。制定软件进度与其他工程没有很大的区别,其主要的方法有:工程网络图、Gantt 图、任务资源表等。

(4)成本估算

为使开发项目能在规定的时间内完成,且不超过预算,成本估算是很重要的。软件成本估算是一门不成熟的技术,国外已有的技术只能作为我们的借鉴。

(5)培训计划

为用户各级人员制定培训计划。

6. 什么是“事务流”?

【答案】若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD 称为事务型的数据流图,这个加工称为事务处理中心,如图所示。

图 事务型的数据流图

三、综合应用题

7. 如对一个长度为100000条指令的程序进行集成测试期间记录下下面的数据:

(a )7月1日:集成测试开始,没有发现错误。

(b )8月2日:总共改正100个错误,此时,

(c )9月1日:总共改正300个错误,此时,

根据上列数据完成下列各题:

(1)估计程序中的错误总数。

(2)为使MTTF 达到10h , 必须测试和调试这个程序多长时间?

(3)画出MTTF 和测试时间之间的函数关系曲线。

【答案】(1)根据估算平均无故障时间的公式可得:

计算可得:

(2) 当即程序中的错误总数为350。 时,有

计算可得,

(3) 按前两个月测试改错的进度估算,还进行2个月的集成测试。 MTTF 和测试时间之间的函数关系曲线,如图所示。

图 MTTF 与测试时间的关系

8. 画出下面伪代码对应的PAD 图和N-S 图。

【答案】(1) PAD 图,如图1所示。