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