1、软件工程试题一 窗体顶端一, 选择1,文档是软件产品的一部分,没有文档的软件就不称其为软件. A 对 B 错2,在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息. A 对 B 错3,需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据. A 对 B 错4,建立用例模型的步骤包括确定角色,确定用例和绘制用例图. A 对 B 错5,数据流图建立系统的功能模型,它由数据流,加工和数据存贮组成. A 对 B 错6,软件配置管理是一组标识,组织和控制修改源程序的活动. A 对 B 错7,UML 是一种直观化,明确化 ,构建和文档化软件产物的通用语言. A
2、 对 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 提供了一
3、个框架,将软件过程改进的进化步骤组织成 5 个成熟度等级.除第 1 级外,每个等级都包含了实现该成熟度等级目标的若干( ). A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14, 在软件开发的各种资源中,( ) 是最重要的资源. A 开发工具 B 方法 C 硬件环境 D 人员 15, 软件的复杂性是( ),它引起人员通信困难,开发费用超支 ,开发时间超时等问题. A 固有的 B 人为的 C 可消除的 D 不可降低的 16, 在各种不同的软件需求中,( )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明. A 业务需求 B 功能需求 C 非功能需求 D 用户
4、需求 17, 原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( ) 系统. A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18, ( )意味着一个操作在不同的类中可以有不同的实现方式. A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19, 时序图反映对象之间发送消息的时间顺序,它与( ) 是同构的 . A 用例图 B 类图 C 活动图 D 协作图 20, 单元测试的测试用例主要根据( ) 的结果来设计. A 需求分析 B 源程序 C 概要设计 D 详细设计 窗体底端窗体顶端二, 填空题1, 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那
5、么学生和课程之间是_关系.2, 类 A 的一个操作调用类 B 的一个操作,且这两个类之间不存在其他关系,那么类 A 和类 B之间是_关系.3, 用例及其协作之间是_关系.4, 接口及其实现类或构件之间是_关系.5, 动物与老虎之间是_关系.窗体底端窗体顶端三, 问答题1, 软件复用的范围不仅仅涉及源程序代码,请至少列出 5 种可能复用的软件元素.2, 传统“瀑布模型 “的主要缺陷是什么 试说明造成缺陷的原因 .3,某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息,课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:请问图中是否应该增加“教务人员
6、“ 试说明理由.4,下面是一段求最大值的程序,其中 datalist 是数据表,n 是 datalist 的长度.int GetMax(int n, int datalist ) int k=0; for ( int j=1; j datalistk ) k=j;return k; (1) 画出该程序的控制流图,并计算其 McCabe 环路复杂性. (2) 用基本路径覆盖法给出测试路径. (3) 为各测试路径设计测试用例. 5,下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生. 现在
7、提出一个新的需求:“一个教师也可以是某些课程的学生“,那么下面设计 A-C 中哪一个是最好的 为什么 设计 A:设计 B:设计 C:6, 所谓分层体系结构是按层组织软件的一种软件体系结构,其中每层软件建立在低一层的软件层上,下图显示了一种分层体系结构.请选择正确的答案,将其对应的序号填入图中的( ).供选择的答案: 高效性 通用性 保密性 专用性 系统软件 中间件 应用软件 支撑软件 特定业务 子系统窗体底端参考答案一, 选择题答案1, A2, B3, B4, B5, B6, B7, B8, A9, A10,B11,D12,B13,B14,D15,A16,D17,A18,A19,D20,D二,
8、 填空题答案1,关联2,依赖3,实现4,实现5,泛化三, 问答题答案1, 可复用的软件元素包括(选 5 种): 项目计划,成本估计,体系结构,需求模型和规格说明,设计,用户文档和技术文档,用户界面,数据结构,测试用例. 2, 传统“瀑布模型 “的主要缺陷及其原因 : 在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此.由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大. 3, 不应该增加“教务人员“, 因为教务人员只是该系统的一个使用者,系统不处理其属性信息.4, 1.控制流图如下,McCabe 环路复杂性为 3.2. 测试路径:Path1: Path2: Path3: 3. 测试用例: Path1: 取 n=1,datalist0 = 1, 预期结果:k=0 Path2: 取 n=2,datalist0 = 1,datalist1 = 0, 预期结果:k=0 Path3: 取 n=2,datalist0 = 0,datalist1 = 1, 预期结果:k=1 5,答题要点 设计 B 是最好的.学生和教员均可以从 Candidate 类继承而来;抽象出 Role 类,使 Candidate 类与 Role 类之间形成多对多的关联关系 ,实现了“一个人既是教师又是某门课的学生“这个需求 . 6,