考
生
信
息
栏
学
院
专
业
班
级
姓
名
学
号
装
订
线
P1 P2
得
分
集 美 大 学 试 卷 纸
2007 — 2008 学年 第 二 学期
课程名称 软件工程 试卷 卷别 补考卷
适 用
学院、专业、
年级
软件04级、计算04级
考试 方式 闭卷 √
开卷 □
备注
一、选择题(共30分,每小题2分)。
1.需求分析是由分析员了解用户的要求,认真细致的调研、分析,最后应建立目标系统
的逻辑模型并写出 。
A 模块说明书 B 软件规格说明书 C 项目开发计划 D 合同文档
2.成功的测试是指 。
A 运行测试实例后未发现错误 B 发现程序的错误
C 证明程序正确 D 改正程序的错误
3.评价模块独立性的度量标准是 。
A 低耦合,高内聚 B 低耦合,低内聚
C 高耦合,高内聚 D 高耦合,低内聚
4.结构化分析是软件开发需求分析阶段所使用的方法,常使用数据流图来对系统的
进行建模。
A 加工 B 功能 C 存储 D 状态
5.不适于作为数据流图处理(加工)框名称的是 。
A 人工校对工资数据 B 工资数据
C 打印工资 D 计算工资
6.一个模块直接控制(调用)的下层模块的数目称为模块的 。
A 扇入数 B 扇出数 C 宽度 D 作用域
7.在面向对象软件方法中,“类”是 。
A 具有同类数据的对象的集合
B 具有相同操作的集合
C 具有同类数据的对象的定义
D 具有同类数据和相同操作的对象的定义
8. 月收入<=1500元者免税,现用输入数1500和1501测试程序,则采用的方法是 。
A 条件覆盖法 B 等价划分法
C 边界值分析法 D 错误推测法
9.瀑布模型的关键不足在于 。
A 过于简单 B 不能适应需求的动态变更
C 过于灵活 D 各个阶段需要进行评审
10.系统设计阶段的主要目的是 。
A 设计新系统的目标 B 代码设计
C 程序设计 D 将系统逻辑方法换成物理方案
11.按照Halstead源代码度量公式,下列程序中的操作数的数量是 。
read m;
n=0; p=1; q=1;
while m>0
p+=n;
q--;
end-while;
print(p);
A 5个 B 6个 C 4个 D 7个
考
生
信
息
栏
学
院
专
业
班
级
姓
名
学
号
装
订
线
P3 P4
得
分
12. 是一种由软件工程师(或相关人员)进行的软件质量保证活动。
A SCI B TSS C CRC D FTR
13.软件是不可见的复杂的逻辑实体,不同于任何其他制造业的产品。使得软件质量难于
把握的一个因素是 。
A 软件配置 B 硬件配置 C软件需求 D硬件需求
14.在面向对象软件开发方法中,类与类之间可有以下结构关系 。
A 继承和聚集 B 继承和一般
C 聚集和消息传递 D 继承和方法调用
15.UML中有多种视图表示,下列说法中正确的是 。
A 活动图可以有多个起点
B 活动图有且仅有一个终点
C 可利用UML中的类图来进行动态建模
D 可利用UML中的时序图来进行动态建模
二、计算题(共25分,每小题5分)。
1. 假设已知某个项目的FP值的乐观值为120,悲观值为200,可能值为160,试求三点
估算期望值。
2.在一项目中,计划有60个可复用的软件构件,平均每个构件的程序行数是100LOC。
历史数据表明,每个LOC的成本是50元。现已知存在一种项目风险,即计划复用的软件构
件中可能只有60%将集成到应用系统中,这种风险发生的概率是80%。试计算风险预期值。
3.假设一人单独开发软件,生产率是4000行/人年。若4个人组成一个小组共同开发这个
软件,在每条通信路径上耗费的工作量是250行/人年,试计算小组中每个人的生产率。
4.
.基于经验的估算模型的基本形式为:
KLOCE
某公司以前开发的项目记录如下,请依照历史数据建立估算经验公式。
项目ID 规模(KLOC) 工作量(pm)
1 10 32
2 15 46
3 30 88
4 50 147
5 42 122
考
生
信
息
栏
学
院
专
业
班
级
姓
名
学
号
装
订
线
P5 P6
得
分
5.根据下面的对象点数值:
(用户界面的)界面数 报表数 软件构件数
12 10 80
假设各项加权因子均为5,复用的百分比为30%,试完成以下计算:
1)计算项目新的对象点数NOP。(NOP=对象点×(1-复用%))
2) 设平均生产率为10NOP/人.月,软件人员劳动力平均价格是每月5000人民币,求每个
NOP的成本。
3) 根据NOP值计算总的项目成本,并进行工作量估算(人月)。
三、分析与设计题(共45分)。
1.某报表处理系统要求用户输入处理报表的日期,日期限制在2005年1月至2010年12
月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。
系统日期规定由年、月的6位数字字符组成,前四位表示年,后两位表示月,现要求用黑盒
测试法中的边界值法写出测试用例。(5分)
2.试将下面的变换流转换成相应的软件体系结构,其中虚线圆标出的为主变换。(10分)
3
1265
4
7
10
9
11
1213
8
考
生
信
息
栏
学
院
专
业
班
级
姓
名
学
号
装
订
线
P7 P8
3.获得值分析是一种用于项目进展的定量分析技术,其中:
BCWS:为进度表中的某时间点应该要完成的工作任务的预算;
BAC:为进度表所有工作任务的预算
BCWP:为进度表中的某时间点已实际完成的工作任务的预算
ACWP:为进度表中的某时间点已经完成的工作任务的实际工作量之和。
预定完成百分比:为进度表中的某时间点应该完成工作的百分比
现给出一项目相关进度的安排数据,请做出获得值分析。(10分)
工作任务 估计工作量(人天)
迄今为止实际工作量(人天) 估计完成日期 实际完成日期
1 5 10 07-01-25 07-01-25
2 25 20 07-02-15 07-02-15
3 120 80 07-05-15
4 40 50 07-04-15 07-04-01
5 60 50 07-07-01
6 80 70 07-09-01
当前评估时间为07年4月1日,计算该项目的进度指标BCWS、BAC、BCWP、ACWP
及预定完成百分比。
4.某程序流程图如下所示,试完下列要求:(10分)
1)画出与程序流程图对应的流图。
2)指出所绘流图的区域,并根据区域数量计算环形复杂度。
3)指出所绘流图的判定节点,并根据判定节点数计算环形复杂度。
4)确定基本测试路径的个数及路径描述,并给出路径1-2-3-4的测试用例。
程序流程图
考
生
信
息
栏
学
院
专
业
班
级
姓
名
学
号
装
订
线
P9 P10
5.UML综合应用(10分):
1)请用自然语言描述银行自动取款机功能。
2)根据描述,画出银行自动取款机功能的用例图。
3)按照以下描述,画出UML的活动图:
①读取用户银行卡信息;
②如是不合法取款卡,则退回并显示出错;
③对用户输入的密码进行确认检查,非法密码被拒绝;
④核查用户的取款额,超支被拒绝;
⑤登录一笔合法取款,更新帐卡;
⑥生成付款通知,经确认后支付现金。