2018年西安理工大学水利水电学院864软件工程考研仿真模拟五套题
● 摘要
一、简答题
1. 功能模型的特征有哪些?
【答案】(1)功能模型描述了系统的所有计算。
(2)功能模型指出发生了什么,对动态模型确定什么时候发生,而对象模型确定发生的客体。
(3)功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。
(4)功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。
(5)功能模型包括对象模型中值的约束条件。
2. 成本一效益分析的目的是什么?可用哪些指标进行度量?
【答案】(1)成本一效益分析的目的
成本一效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本一效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。
(2)成本一效益的度量指标
①有形效益
有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量,具体如下:
a. 货币的时间价值
成本估算的目的是对项目投资。经过成本估算后,得到项目开发时所需要的费用,该费用就是项目的投资。项目开发后,应取得相应的效益,有多少效益才合算,这就要考虑货币的时间价值。
b. 投资回收期
通常用投资回收期衡量一个开发项目的价值。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就越快获得利润,则该项目就越值得开发。
c. 纯收入
衡量项目价值的另一个经济指标是项目的纯收入. 也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。这相当于投资开发一个项目与把钱存入银行中进行比较,看这两种方案的优劣。若纯收入为零,则项目的预期效益和在银行存款一样,但是开发一个项目要冒风险,因此,从经济观点来看,这个项目可能是不值得投资开发的。若纯收入小于零,那么这个项目显然不值得投资开发。
②无形效益
无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。系统的经济效益等于因
使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。运行费用包括操作人员人数、工作时间、消耗的物资等。
3. 测试面向对象软件时,主要有哪些设计确认测试用例的方法?
【答案】设计确认测试用例的方法主要有传统的黑盒方法、基于情景的方法。
(1)黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地就收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
(2)基于情景的方法:场景,是一种有假设条件的故事,可以辅助测试人员把一个复杂的问题或系统通过电影那样地过一遍。测试人员通过把整个场景都设想出来,在设想中的场景中进行的测试就是基于场景的测试。
4. 软件配置管理有哪些内容?
【答案】软件配置管理的内容有:
(1)基线
基线是软件生存期中各开发阶段的一个特点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。因此基线可以作为一个检查点,在开发过程中,当采用的基线发生错误时,我们可以知道处于的位置,返回到最近和最恰当的基线上。
(2)软件配置项
软件配置项(SCI )是软件工程中产生的信息项,它是配置管理的基本单位。
(3)版本控制管理
版本控制管理是对系统不同版本进行标识与跟踪的过程。版本标识的目的是便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系。
(4)变更控制
变更控制包括建立控制点和建立报告与审查制度。对于一个大型软件来说,不加控制地变更很快就会引起混 乱。因此变更控制是一项最重要的软件配置任务。
二、综合设计应用题
5. 假设只允许使用SEQUENCE 和IF-THEN-ELSE 两种控制结构,怎样利用它们完成DO WHILE 操作?
【答案】转化如下:
6. 假设自己被指派为一个软件公司的项目负责人,任务是开发一个技术上具有创新性的产品,该产品把虚拟现实硬件和最先进的软件结合在一起。由于家庭娱乐市场的竞争非常激烈,这项工作的压力很大。应选择哪种项目组结构?为什么?打算采用哪种(些)软件过程模型?为什么?
【答案】(1)由于是技术上具有创新性的产品,所以需要采用民主制程序员组,大家可以集思广益,共同攻关技术难题。
(2)要求把虚拟现实硬件和最先进的软件结合在一起,所以需要采用一种完整而且完美的模型进行开发,所以RUP 最为合适。
7. 图1给出的程序流程图代表一个非结构化的程序,问:
图1 —个非结构化程序
(1)为什么说它是非结构化的?
(2)设计一个等价的结构化程序。
(3)在(2)题的设计中使用附加的标志变量flag 了吗?若没用,再设计一个使用flag 的程序;若用了,再设计一个不用flag 的程序。
【答案】(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。
(2)使用附加的标志变量flag , 至少有两种方法可以把该程序改造为等价的结构化程序,图2描绘了等价的结构化程序的盒图。
相关内容
相关标签