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所示。