2011年硕士学位研究生入学考试试题
=============================================================================================================
试题编号:  870    试题名称:      软件工程            (共  5  页)
适用专业:          软件工程(专业学位)                             
说明: 所有答案必须写在答题纸上,做在试题或草稿纸上无效。
=============================================================================================================
一、 填空题(共40分,每空1分)
1、到目前为止,软件开发的发展经过了三个阶段,即                 
2、结构化方法由                  构成,它是一种面向数据流的开发方法。
3、瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括                                            ,它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。
4、可行性研究需要从        可行性、      可行性和          可行性三个方面分析研究每种解决方法的可行性。
5、需求分析阶段所要编写的文档有                                 
6、软件设计是一个把        转换为        的过程,包括               
7、面向对象有三个基本要素,它们是                             
8、在面向对象方法中,信息隐蔽通过对象的          来实现。类结构分离了     
          的抽象,它是对象的共性的抽象。
9、软件产品在交付使用之前一般要经过以下4步测试:                   
10、软件维护包括    维护、    维护、      维护和      维护。
11、软件项目计划是由              共同经过可行性研究与计划阶段后制定的。
二、 选择题(共20分,每小题1分)
1、软件是一种(  )产品。
A.有形      B.逻辑      C.物质      D.消耗
2、软件工程学的目的是最终解决软件生产的(  )问题。
A.提高软件的开发效率      B.使软件生产工程化
C.消除软件的生产危机      D.加强软件的质量保证
3、软件生存周期模型有多种,下列选项中,(  )不是软件生存周期模型。
A.螺旋模型    B.增量模型    C.功能模型    D.瀑布模型
4、准确地解决“软件系统必须做什么”是(  )阶段的任务。
A.可行性研究  B.详细设计    C.需求分析    D.编码
5、软件生存周期中时间最长的阶段是(  )。
A.详细设计    B.概要设计    C.软件测试    D.软件维护
6、原型化方法是用户和设计者之间执行的一种交互过程,适用于(  )系统。
A.需求不确定性高的            B.需求确定的
C.管理信息                    D.实时
7、进行需求分析可使用多种工具,但(  )是不适用的。
A.数据流图    B.判定表      C.PAD图    D.数据字典
8、软件需求规格说明书的内容不应包括对(  )的描述
A.主要功能    B.算法的详细过程  C.用户界面及运行环境  D.软件的性能
9、好的软件结构应该是(  )
A.高耦合、高内聚              B.低耦合、高内聚
C.高耦合、低内聚              D.低耦合、低内聚
程序测试员需要学什么10、概要设计结束后得到(  )
A.初始的软件结构图            B.优化的软件结构图
C.模块详细的算法              D.程序编码
11、PDL是软件开发过程中用于(  )阶段的描述工具。
A.需求分析    B.概要设计    C.详细设计    D.编程
12、结构化程序设计主要强调的是(  )。
A.程序的效率  B.程序的执行速度    C.程序的易读性    D.程序规模
13、类库这种机制是(  )级别的共享。
A.同一类      B.不同类            C.同一应用        D.不同应用
14、对象之间的静态联系用(  )表示。
A.一般----特殊结构        B.整体----部分结构
C.实例连接                D.消息连接
15、面向对象分析阶段建立的三个模型中,核心模型是(  )模型。
A.功能      B.动态      C.对象      D.分析
16、面向对象程序设计语言不同于其他语言的最主要特点是(  )。
A.模块性      B.抽象性    C.继承性        D.共享性
17、源程序文档化要求在每个模块之前加序言注释。该注释内容不应有(  )。
A.模块功能    B.语句功能  C.模块的接口    D.模块开发历史
18、软件测试的目的是(  )。
A.证明软件的正确性          B.出软件系统中存在的所有错误
C.证明软件系统中存在错误    D.尽可能多地发现软件系统中的错误
19、生产性维护活动是(  )。
A.修改设计    B.理解设计  C.理解功能      D.解释数据结构
20、软件项目管理是(  )一切活动的管理。
A.需求分析    B.模块设计  C.软件设计过程  D.软件生命周期
三、 计算题(共10分)
有一个长度为48000条机器指令的程序,第一个月由甲、乙二人分别测试它。甲改正了20个错误,使程序的平均无故障时间达到8小时。乙在测试该程序的另一个副本时改正24个错误,其中6个错误与甲改正的相同。然后由甲一个人继续测试这个程序。请问:
(1) 刚开始测试时程序中的错误总数是多少?(3分)
(2) 为使平均无故障时间达到240小时,如果甲不利用乙的工作成果,则他还需要再改正多少个错误?(4分)
(3) 为使平均无故障时间达到480小时,如果甲利用了乙的工作成果,则他还需要再改正多少个错误?(3分)
四、 设计题(共60分)
1、(10分)将下面给出的伪码转换为N-S图和PAD图。
void root ( float root1, float root2 )
{i = 1;  j = 0;
while ( i <= 10 )
{输入一元二次方程的系数a, b, c;
p = b*b – 4*a*c;
if ( p < 0 ) 输出“方程i无实数根”;
else if ( p > 0 ) 求出根并输出;
if ( p == 0 )
{求出重根并输出;
j = j + 1;
}
i = i +1;
  }
  输出重根的方程的个数j;
}
2、(10分)一本书的组成有一个封面、一个目录、一个前言、若干章,每章有若干节,每节有若干段,每段有若干句子。每节有0个或多个插图,还有0个或多个表格,最后有一个附录。试建立该书的对象模型。
3、(10分)请将下面的数据流图转换为系统结构图(图中的表示“或者”)。
主图(5分):
加工A的子图(5分):
4、(10分)某程序的描述如下:
if ( a > b && i > 1 || a > b && i <= 10 ) k = a;
else k = b;
1) 画出单个条件的嵌套的分支结构;(3分)
2) 计算该结构的McCabe环路复杂性度量;(2分)
3) 为完成基本路径测试,求它的一组独立的路径。(5分)
5、(20分)问题陈述:在要建立的某库房简化的信息管理系统中:
库房管理员负责:
(1) 当新的货物需要入库时,根据入库单(品名、编号、生产厂家、数量、单价、日期)录入物品信息;
(2) 当接到出库单(品名、编号、数量、日期)时,进行数量上的修改;
(3) 在日结时,打印库房商品库存清单(品名、编号、库存量、库存金额)。
库房主任负责:
(1) 按物品编号查询该物品的库存金额;
(2) 年终打印库存金额及各种物品库存情况(品名、编号、库存量、库存金额)。
请用结构化分析方法给出:
1 系统的顶层DFD5分);
2 顶层DFD的数据字典(7分);
3 最后“可用的”DFD----对顶层DFD做划分后的DFD8分)。
五、 论述题(共20分)
1、 (6分)简述文档在软件工程中的作用。
2、 (6分)简述三种面向对象模型的主要功能。
3、 (8分)简述软件工程的目标和面临的主要问题。