1、哈尔滨工程大学本科生考试试卷( 2010-2011 年 2 学期)课程编号: 0920113 课程名称: 软件工程 (A卷) 一、 选择题(共30分 每题2分)1、下面不属于软件工程的3个要素是(D)A)工具 B)过程 C)方法 D)环境 2、下列工具中为需求分析常用工具是(D)A)PAD B)PFD C)N-S D)DFD 3、 软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B) A)用户 B)需求审评 C)总结 D)都不正确 4、在E-R模型中,包含以下基本成分(D ) A)数据、对象、实体 B)控制、联系、对象C)实体、联接、属性 D)实体、属性、
2、联系5、当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D) A)数据耦合 B)公共耦合 C)标记耦合 D)内容耦合6、( C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A)多态性 B)继承 C)封装 D)消息7、软件危机是指(B )。A)软件遭到严重破坏 B)软件开发和维护过程中遇到的严重问题C)软件维护出现困难 D)软件不能正常运行的系列严重问题8、判定树和判定表示用于描述结构化分析方法中的(B )环节的工具。 A)功能说明 B)数据加工 C)流程描述 D)性能说明 9、 软件评审是保证软件质量的重要
3、措施,它是对软件开发阶段成果的复审。下 列(A )是复审的必须内容。 需求复审 总体设计复审 详细设计复审 程序复审 A)、 B)、 C)、 D)全部 10、软件按照设计的要求,在规定时间和条件下达到不出故障、持续运行的要求的质量特性称为(B )。 A)可靠性 B)可用性 C)正确性 D)完整性 11、模块的独立性是软件模块化设计的关键之一,一般用内聚和(D)两个定性标准来度量模块的独立性。 A) 软件的质量 B) 一致性 C) 可重用 D) 耦合 12、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以(A)维护所占的维护量最小。A)纠错性维护 B)完善性维护 C)预防性维
4、护 D)文档维护13、软件开发的原型化方法是一种动态定义软件需求的方法,下述条件中, (A )是实施原型化方法所必需的。 成熟的原型化人员 快速的成型工具 需求了解的正确性 A)和 B)和 C)、和 D) 14、面向对象的特征不包括( C ) A)继承性 B)多态性 C)互换性 D)封装性15、在面向对象软件开发方法中,类与类之间主要有以下结构关系(A)A)继承和聚集 B)继承和一般 C)聚集和消息传递 D)继承和方法调用二、 判断下列叙述的正确性,将结果(正确,错误)填入( )中,并改正错误的说法。(本大题共5小题,每小题3分,共15分)1、 ( V )继承性是父类和子类之间共享数据结构和消
5、息的机制,这是类之间的一种关系。2、 ( X )在软件的开发过程中,工作量最大的一个阶段就是编写程序。解释:工作量最大为维护阶段 3、 ( X )软件测试是为了验证软件已正确地实现了用户的要求。 解释:测试的目的是尽可能多地发现软件中的错误,其附带的收获才是验证该软件已正确地实现了用户的要求。4、 ( X )数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。解释:加工5、 ( X )软件危机的主要表现是软件的需求量迅速增加,软件价格上升。解释:软件危机主要表现在两方面。一是如何开发软件,以满足不断增长,日趋复杂的需求,二是如何维护数量不断膨胀的软件产品.三、简答题(每
6、题5分,共25分)1、 说明“五个面向”实施理论的具体内容?面向流程分析。在需求分析时,系统分析员要面向业务流、资金流、信息流进行分析。(1分)面向数据设计。系统设计师要采用面向数据的方法进行概要设计。(1分)面向数据设计。概要设计的主要任务是建立系统的概念数据模型CDM和物理数据模型PDM,建立好由元数据所构成的数据模型。(1分)面向对象实现。就是面向对象进行详细设计和编程实现。(1分)面向功能测试。就是面向功能进行单元测试、集成测试、Alpha测试和Beta测试。(1分)2、 说明“三个模型”的定义以及三者之间的关系?功能模型FM(Function Model)是描述系统能做什么,即对系统
7、的功能、性能、接口和界面进行定义。(1分)业务模型OM(Operation Model)是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义(怎么做)。(1分)数据模型DM(Data Model)是描述系统工作前的数据来自何处,工作中的数据暂存什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据结构进行定义(数据怎么组织) 。(1分)业务模型就是系统的操作流程和业务规则;功能模型就是系统的功能菜单和用户界面;数据模型就是系统的数据结构和数据字典。在这三个模型的支持下,运用强大的面向对象编程语言,以及软件组织内部的业务基础平台、类
8、库、构件库等财富,软件开发在技术上就能顺利实现。(2分)3、采用黑盒技术设计测试用例主要有哪几种方法?这些方法各有什么特点?(1)等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。(2分)(2)边界值分析。该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。(1分)(3)错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。(1分)(4)因果图法。借助因果图,列出输入数据的各种组合与
9、程序对应动作效果之间的阶段联系,构造判定表,由此设计测试用例。(1分)4、 软件实现原则主要有那几条?(1) 尽量简单。在软件实现过程中,应创建简单、易读的代码。相同功能的代码只写一次。(1分)(2) 易于验证。无论是在编码、测试还是实际操作中,应该很容易地发现其中的错误。自动化的单元测试可帮助产生易于验证的代码。(1分)(3) 适应变化。外部环境、软件需求和软件设计,在整个开发过程中可能会随时变化,因此要求软件实现时考虑适应这些变化。(1分)(4)遵守某一编程规范。(1分)(5)选择项目组成员最熟悉的工具或语言。(1分)5、根据伪码画出程序流程图。STARTREAD A,BIF A5 THE
10、NA=A+BENDIF WHILE B5 DOA=A+BB=B-1ENDWHILE PRINT ASTOP四、应用题(共30分)1、一个家教网站分为前台客户系统和后台管理系统, 前台客户系统使用者为学生和教师。学生可以进行个人信息注册、修改个人资料、查看家教信息、搜索家教信息,教师可以进行个人信息注册、修改个人资料、查看家教信息、搜索家教信息。后台管理系统使用者为管理员,可以处理登记家教信息,处理维护相关家教信息,可以发布相关公告。画出用例图。(10分)1、前台管理系统用例图如下:(5分)后台管理系统用例图如下:(5分)2、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2
11、008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的分类法写出测试用例。(10分)输入数据有效等价类无效等价类输入日期6位数字字符有非数字字符少于6个数字符多于6个数字符对应数值在200301200812之间200812月份对应数值在112之间等于“0” 123、顾客的订货单按如下原则处理:将顾客的信用度分三个档次: 欠款时间不超过30天; 欠款时间超过30天但不超过100天; 欠款时间超过100天。 对于上述三种情况,分别根据库存情况来决定对顾客订货的态度。情况之一(欠款时间30天),如果需求数库存量,则立即发货,如果需求数库存量,则只发现有库存,不足部分待进货后补发。情况之二(30天库存量,则不发货。情况之三(欠款时间100天),则通知先付欠款,再考虑是否发货。 试用判定树的形式予以描述(设欠款时间D,需求数N,库存量Q)。(10分)