《软件工程》试题一

一、 选择

1、文档是软件产品的一部分,没有文档的软件就不称其为软件。

A 对

B 错


2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。

A 对

B 错


3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

A 对

B 错


4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。

A 对

B 错


5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。

A 对

B 错


6、软件配置管理是一组标识、组织和控制修改源程序的活动。

A 对

B 错


7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。

A 对

B 错


8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

A 对

B 错


9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。

A 对

B 错


10、面向对象的分析是面向计算机系统建立软件系统的对象模型。

A 对

B 错


11、 ( )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A 软件过程

B 软件测试

C 软件生存周期

D 软件工程


12、 ISO9000是由ISO/TC176制定的关于( )和质量保证的国际标准。

A 质量控制

B 质量管理

C 质量策划

D 质量改进


13、 CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干( )。

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 详细设计

   

 

、 填空题

1、 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是 关系。


2、 类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是 关系。


3、 用例及其协作之间是 关系。


4、 接口及其实现类或构件之间是 关系。


5、 动物与老虎之间是 关系。

   



三、 问答题


1、 软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。





2、 传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。





3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:

       请问图中是否应该增加"教务人员"?试说明理由。





4、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
       int GetMax(int n, int datalist[ ])
       {
               int k=0;
               for ( int j=1; j<n; j++ )
                        if ( datalist[j] > datalist[k] ) k=j;
                return k;
       }
       (1) 画出该程序的控制流图,并计算其McCabe环路复杂性。
       (2) 用基本路径覆盖法给出测试路径。
       (3) 为各测试路径设计测试用例。





5、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。

       

       现在提出一个新的需求:"一个教师也可以是某些课程的学生",那么下面设计A-C中哪一个是最好的?为什么?

       设计A:


       设计B:


       设计C:






6、 所谓分层体系结构是按层组织软件的一种软件体系结构,其中每层软件建立在低一层的软件层上,下图显示了一种分层体系结构。请选择正确的答案,将其对应的序号填入图中的( )。

       供选择的答案:
       ① 高效性 ② 通用性 ③ 保密性 ④ 专用性 ⑤ 系统软件
       ⑥ 中间件 ⑦ 应用软件 ⑧ 支撑软件 ⑨ 特定业务 ⑩ 子系统