西南交通大学 2005 -2006 学年第( 2 )学期考试试卷
课程代码 2051032
课程名称 软件工程
考试时间 120 分钟
题号 一
二
三
四
五
六
七
八
九
十 总成绩
得分
阅卷教师签字:
一 简答题(共 31 分)
1, 什么是软件?软件具有哪些特点?软件工程的含义是什么?(9 分)
参考答案:
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
软件的特点有:它是一个逻辑实体,不是物理实体;它没有明显的制造过程;没有机械劳损和老化问
题;成本较高等。
IEEE 对软件工程的定义:软件工程是开发、运行、维护和修复软件的系统方法。实质是用工程学的方
法和思想来指导软件的开发。
2, 数据词典的作用是什么?它有哪些基本词条?(6 分)
数据词典的作用在于能确切清楚地表达数据和数据系统,用来严格定义数据。
基本词条有:数据流、数据流分量、数据存储和处理。
3, 试举出 5 种以上软件开发过程模型,并简要说明其特点?(10 分)
瀑布模型:开发过程具有明显的时间上的顺序性。
快速原型模型:通过快速建立简单原型的办法获取用户的确切需求,并可以验证开发技术路线的可行性
增量模型:逐步完善,每个阶段都有用户的参与,便于最后的无误定型。
螺旋模型:引进风险分析,适于大成本软件的开发。螺旋式完善,每个圈都是一次较完整软件开发周期
喷泉模型:开发过程中的每个阶段都参考到前面的阶段来验证该阶段的开发是否有效。
4, 组态软件 MCGS 有什么显著特点和基本功能?各列出至少 3 项。(6 分)
特点和功能有:
简单灵活的可视化操作界面。
实时性强和良好的并行处理性能。
丰富生动的多媒体画面。开放式结构和广泛的数据获取与强大的数据处理功能。
完善的安全机制和强大网络功能。
多样化报警功能。
实时数据库方便用户的分布组态。
利用运行策略可以方便控制复杂的运行流程。良好的可维护性和可扩充性。
支持的设备广泛,实现设备无关。
方便实现工控系统的分布式管理和控制。
以上可以任意选择其中六个。
二 填空题(每空 1 分,共 25 分)
5 , 软 件 的 维 护 在 软 件 的 整 个 生 命 周 期 中 占 据 了 较 长 的 时 间 , 花 费 也 较 多 , 软 件 的 维 护 可 以 分 为
四种,分别是 改正性 维护, 完善性 维护, 适应性 维 护 和 预 防 性
维 护 。 其 中 改 正 性
维护是为了修改软件中的 BUG 而做的维护。
6,在 MCGS 组态软件中定义数据对象,主要包括指定数据变量的 名称 , 类型
范围。
7,软件的测试步骤可以从单元测试开始,再经 模块
收
测试,直到和现有系统平行运行一段时间后,确定最终软件的全部内容。
和初始值与数值
测试、 子系统 测试、 系统
测试、验
线
订
装
封
密
线
订
装
封
密
线
订
装
封
密
名
姓
号
学
级
班
覆
覆盖、 路径
覆盖、 判定
覆盖、 条件
答案也可以:组装测试、集成测试和系统测试、确认测试
8,白盒测试中的逻辑覆盖主要包括 语句
盖、 判定-条件 覆盖和 条件组合 覆盖等。
答案也可以包括“分支覆盖”等。
9,黑盒测试主要包括 等价类划分 、 边界值分析 、 错误推测
10,模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。
(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模是 偶然
聚。
(2) 将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模
块是 逻辑
(3) 模块中所有成分引用共同的数据,该模块是 信息或通信
(4) 模块内的某成份的输出是另一些成份的输入,该模块是
(5) 模块中所有成份结合起来完全一项任务,该模块属于 功能
构成的软件易于理解、测试和维护。
内聚。它具有简明的外部界面,由它
等测试方法。
内聚。
内聚。
内聚。
顺序
内
三 选择题(每空 2 分,共 14 分)
11,在面向对象软件开发过程中特别重视复用。软件构件应独立于当初开发它们的应用而存在。在以后的
应用开发中,可以调整这些独立构件以适应新问题的需要。因此,应使得类成为一个(
)的单元。
① 可复用
② 可测试
③ 可适用
④ 可靠
正确答案:①
12,考务处理系统的分层数据流图如下图所示。
该考务处理系统有如下功能:
① 对考生送来的报名表进行检查;
② 对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;
③ 对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;
④ 填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;
⑤ 按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。
(1) 图(c)中,加工 1.1 的输入数据流是(
)组成。
),图(b)中,加工 2 的输出数据流
),输出数据流是(
),它是由(
)和(
A
B
D
E
C
是(
供选择的答案:
A E. ① 统计分析表 ② 报名表
③ 准考证
④ 考生通知单
⑤ 合格报名表 ⑥ 难度分析表 ⑦ 错误成绩表 ⑧ 分类统计表
考试中心
合格标准
不合格报名表
统计分析表
考生
考生通知单
报名表
准考证
(a) 顶层数据流图
考务处
理系统
考
生
名
单
错
误
成
绩
表
成
绩
表
阅卷站
报名表
考生通知单
2
统计
成绩
绩
表
统计分析表
错误成绩表
不合格报名表
准考证
1
登记
报名表
考
生
名
单
考生名册
合
格
标
准
(b) 第 1 层数据流图
报名表
报
名
表
不
合
格
合格
报名表
1.1
检查
报名表
1.3
登记
考生
考
生
名
单
考生名册
(c) 加工 1 的子图
1.2
编准考
证号码
准
考
证
成绩表
2.1
检查
成绩表
正确
成绩表
错误
成绩表
试题得分表
2.5
分析试
题难度
难
度
分
析
表
2.4
分类统
计成绩
合格标准
2.2
审定
合格者
成
绩
表
经
审
定
的
2.3
填写
通知单
分
类
统
计
表
考生名册
考
生
通
知
单
(d) 加工 2 的子图
正确答案:② ⑤ ① ⑧ ⑦ 或 ② ⑤ ① ⑦ ⑧
(2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了? 回答是(
供选择的答案:
F.
① “试题得分表”没有在图(b)中画出,是错误的。
② “试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。
③ “试题得分表”是多余的。
F
)。
正确答案:②
四 分析设计题(共 15 分)
13,用面向数据流的方法设计某航空公司拟开发的机票预定系统的软件结构。该系统的描述如下:(10 分)
旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该心态,
系统为旅客安排航班,打印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校
对
。
客
后
无
误
即
印
给
出
机
票
旅
旅客信息
航班信息
1
安排航班
取 票 通
知单
账单
顾客
2
校对与打印机票
机票
五 计算题(共 15 分)
14,在测试一个长度为 24000 条指令的程序时,第一个月由甲乙两名测试元各自独立测试,经一个月后,甲发
现并更正了 20 各错误,使 MTTF 达到 10 小时。与此同时,乙发现了 24 个错误,其中 6 个甲也发现了。以后由
甲一个人继续测试。问:
(1) 刚开始测试程序时有多少个潜藏错误?
(2) 为使 MTTF 达到 60 个小时,必须再更正多少个错误?还需要用多长测试时间?
(3) 画出 MTTF 与集成测试时间 T 之间的函数关系曲线。
解答:1,有 20*40/6=80 个潜藏错误
2,20=80-24000/10/k 得 k=40,EC=80-24000/40/60=70;
还需要发现 70-(20+24-6)=32 个错误,还需要时间为 32/20=1.6 个月。
3,20T=80-24000/40/MTTF,T=4-30/MTTF,所以曲线形状为:
T
MTTF