1、软件工程试题题 号 一 二 三 四 五 总分题 分第一部分 选择题一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。、( )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( )是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求
2、。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求3、软件测试计划开始于需求分析阶段,完成于( )阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试4下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息D发送与接收消息的通信机制与传统的子程序调用机制不同 5美国卡内基梅隆大学 SEI 提出的 CMM 模型将软件过程的成熟度分为 5 个等级,以下选项中,属于可管理级的特征是( )。 A工作无序,项目进行过程中经
3、常放弃当初的计划 B建立了项目级的管理制度 C建立了企业级的管理制度 D软件过程中活动的生产率和质量是可度量的 6在 McCall 软件质量度量模型中, ( )属于面向软件产品修改。A可靠性 B可重用性 C适应性 D可移植性7软件生命周期中所花费用最多的阶段是( )A详细设计 B软件编码 C软件测试 D软件维护8需求分析阶段的任务是确定( )A 软件开发方法B 软件开发工具C 软件开发费D 软件系统的功能9如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。A时间内聚 B逻辑内聚C通信内聚 D信息内聚5 影响软件可维护性的决定因素是 ( )A 文档 B 可理解性 C
4、 可测试性 D 可修改性 10实现单入口单出口程序的三种基本控制结构是 ( )A 顺序、选择、循环 B 过程、子程序、分程序 C 调用、返回、转移 D 递归、堆栈、队列 11为高质量地开发软件项目,在软件结构设计时,必须遵循 ( )原则。A信息隐蔽 B质量控制C程序优化 D数据共享12. DFD 中的每个加工至少需要( ) A. 一个输入流B. 一个输出流C. 一个输入或输出流D. 一个输入流和一个输出流13. 软件维护困难的主要原因是( ) A. 费用低 B. 人员少 C. 开发方法的缺陷 D.得不到用户支持14. 表示对象相互行为的模型是( )模型。A. 动态模型 B. 功能模型 C. 对
5、象模型 D. 静态模型15.快速原型模型的主要特点之一是( )A.开发完毕才见到产品 B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件 D.及早提供工作软件16汽车有一个发动机。汽车和发动机之间的关系是( )关系。 A一般具体 B整体部分 C分类关系 D主从关系17、 在各种不同的软件需求中,( )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 18、CMM 提供了一个框架,将软件过程改进的进化步骤组织成 5 个成熟度等级。除第 1 级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域
6、又包含若干( )。 A 关键实践 B 软件过程性能 C 软件过程能力 D 软件过程19. 软件测试是为了( )而执行程序的过程。 A 纠正错误 B 发现错误 C 避免错误 D 证明正确20可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( )的回答。 A确定 B行或不行 C正确 D无二义第二部分 非选择题 二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)1.软件工程方法是完成软件工程项目的 。它支持项目计划和估算、系统和软件需求分析、 、编程、测试和维护。2.两个常用的估算模型: 、Putnam 模型3 软件修复步骤:发现故障
7、、 、测试 、系统重新启动4 系统需求详细说明系统将要提供的 以及系统受到的约束。精确的描述软件的 。5 使用 原型可以让用户更多、更早地参与需求分析过程。6 面向对象的需求分析方法的核心是利用面向对象的概念和方法为软件需求建造模型。它包含面向对象风格的 以及用于指导需求分析的面向对象方法学。7 活动图中包含控制流和 。控制流表示一个操作完成后对其后续操作的触发。8.从工程管理的角度看,软件设计可分为 和 两大步骤。9.逆向工程与 是目前预防性维护采用的主要技术。10. 我们将现今广为使用的支持快速原型的 CASE 工具分为四类: 工具,面向数据库应用的开发工具, 以及可重用工具。三、名词解释
8、题(本大题共 5 小题,每小题 3 分,共 15 分)1、项目风险 2、 测试 3、完善性维护成任务4、技术风险 5、活动图 四、简答题(本大题共 5 小题,每小题 5 分,共 25 分)1、软件危机表现那些些方面?软件开发成本过高软件质量得不到保证软件开发效率低难以控制开发进度,工作量估计困难 软件不能满足社会发展的需求,成为社会、经济发展的制约因素程序规模、工作量与成本的关系2、简述软件项目管理任务。3、简述采用信息隐藏原理指导模块设计优点。4、黑盒测试完全不考虑程序的内部结构和处理过程,测试仅在程序界面上进行。因此黑盒测试设计测试用例旨在说明什么?5、简述设计模型精化需要需要考虑的任务。
9、五、综合应用题(第一小题 8 分,第二小题 5 分,第三小题 7 分,共 20 分)1、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入 3 个整数,它们分别代表一个三角形的 3 个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。“ 要求:设三角形的 3 条边分别为 A、B、C,并且 (1) 列出等价类表,格式如下:输入条件 有效等价类 无效等价类(注意:将等价类编号) (注意:将等价类编号)(2) 设计测试用例,格式如下:用例 n:输入【A,B,C】覆盖等价类(列出等价类序号),输出结果为。2、下图显示了
10、某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。现在提出一个新的需求:“一个教师也可以是某些课程的学生“,那么下面设计 AC 中哪一个是最好的?为什么?设计 A:设计 B:设计 C:3图书馆的预定图书子系统有如下功能: (1) 由供书部门提供书目给订购组;(2) 订书组从各单位取得要订的书目;(3) 根据供书目录和订书书目产生订书文档留底;(4) 将订书信息(包括数目,数量等)反馈给供书单位;(5) 将未订书目通知订书者;(6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据
11、要求画出该问题的数据流程图,并把其转换为软件结构图。软件工程试题参考答案第一部分 选择题一、单项选择题(本大题共 20 小题,每小题 1 分,共 2 0 分)1、A 2、C 3、B 4、B 5、D6、C 7、D 8、 D 9、A 10、 A 11、A 12、D 13、 C 14、C 15、D16、B 17、D 18、A 19、B 20、B 第二部分 非选择题二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)1、技术手段、设计2、 CoCoMo3、纠正错误4、服务、功能5、快速6、软件需求、图形语言机制7、信息流8.概要设计、详细设计9 重构工程10. 用户界面自动生成工具、四代语
12、言三、名词解释题(本大题共 5 小题,每小题 3 分,共 15 分)1、项目风险 指项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响。2、 测试 是指软件开发公司组织内部人员模拟各类用户行为对即将面市的软件产品(称为 版本)进行测试,试图发现错误并修正。3、完善性维护成任务 是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。4、技术风险 指软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,对软件项目带来的危害。5、活动图 描述系统为完成某项功能而执行的操作序列,这些操作序列可以并发和同步。四、简答题(本大题共 5 小题,每小题 5 分,共 25
13、分)1、软件危机表现方面:软件开发成本过高;软件质量得不到保证;软件开发效率低;难以控制开发进度,工作量估计困难;软件不能满足社会发展的需求,成为社会、经济发展的制约因素;程序规模、工作量与成本的关系。2、软件项目管理任务:制定软件项目的实施计划和方案;对人员进行组织和分工;按照计划进度,以及成本管理、风险管理、质量管理的要求进行软件开发,完成软件项目的各项要求和任务。3、采用信息隐藏原理指导模块设计优点:支持模块的并行开发;减少软件测试和软件维护的工作量。4、黑盒测试完全不考虑程序的内部结构和处理过程,测试仅在程序界面上进行。因此黑盒测试设计测试用例旨在说明:软件的功能是否可操作;程序能否适
14、当地接收输入数据并产生正确的输出结果或在可能的场景中事件驱动的效果是否尽如人意;能否保持外部信息( 如数据文件) 的完整性。5、简述设计模型精化需要需要考虑的任务:以顶层架构图为基础,精化目标软件系统的体系结构。精化类之间的关系。精化类的属性和操作。针对具有明显状态转换特征的类,设计状态图。针对比较复杂的类方法,设计活动图。五、综合应用题(第一小题 8 分,第二小题 5 分,第三小题 7 分,共 20 分)1、答:(1) 列出等价类表输入条件 有效等价类 无效等价类 是否构成一个三角形(1)A0 且 B0 且 C0且ABC 且 BCA 且ACB。(2)A0 或 B0 或 C0(3)ABC 或
15、ACB或 BCA是否等腰三角形 (4)AB 或 AC 或 BC (5)AB 且 AC 且 BC是否等边三角形 (6)AB 且 AC 且 BC (7)AB 或 AC 或 BC(2) 设计测试用例用例 1:输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。用例 2:三者取一输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。输入【1,0,2】覆盖等价类(2),输出结果为不构成三角形。输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。用例 3:三者取一输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。输入【1,3,2】覆盖等价类(3),输出
16、结果为不构成三角形。输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。用例 4:三者取一输入【3,3,4】覆盖等价类(1)(4),输出结果为等腰三角形。输入【3,4,4】覆盖等价类(1)(4),输出结果为等腰三角形。输入【3,4,3】覆盖等价类(1)(4),输出结果为等腰三角形。用例 5:输入【3,4,5】覆盖等价类(1)(5),输出结果为不是等腰三角形。用例 6:输入【3,3,3】覆盖等价类(1)(6),输出结果为等边三角形。用例 7:三者取一输入【3,4,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。输入【3,4,3】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。输入【3,3,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。2、答案:设计_最好。 理由:设计 C 最好。 学生和教员均可以从 Candidate 类继承而来; 抽象出 Role 类,使Candidate 类与 Role 类之间形成多对多的关联关系,实现了“一个人既是教师又是某门课的学生“这个需求。3答: