2013 年北京科技大学软件工程考研真题
北 京 科 技 大 学
2013 年硕士学位研究生入学考试试题
==============================================================================
试题编号: 870
试题名称:
软件工程
适用专业:计算机科学与技术、软件工程、计算机技术(专业学位)
软件工程(专业学位)
说明: 所有答案必须写在答题纸上,做在试题或草稿纸上无效。
==============================================================================
一、概念解释(共 35 分,每小题 5 分)
1、软件危机
2、软件生命周期
3、软件过程模型
4、结构化程序设计
5、黑盒测试与白盒测试
6、信息隐蔽
7、模块独立性
二、简答题(共 25 分)
1、(7 分)什么是模块的内聚,举出 3 种内聚类型并就其内聚程度进行排序。
2、(6 分)简述软件测试和调试的区别。
3、(6 分)总体设计应考虑哪些问题?
4、(6 分)为什么要进行软件维护?
三、计算题(共 8 分)
某软件公司计划开发一个应用软件项目,根据经验估计该项目的程序长度大约 10
万条指令语句。如果平均每人每天可以完成 100 条,请估计:
(1)开发这个项目将用多少工作日?
(2)如果程序员月平均工资为 6000 元,每月 20 个工作日,软件项目的人工成本是多
少?
(3)项目需要硬件设备的支出约 5 万元,其他开支约 5 万元,那么人工成本所占总成
本的比例是多少?
四、设计题(共 62 分)
1、(12 分)使用逻辑覆盖测试方法测试以下程序段:
Void DoWork ( int x, int y, int z)
{
int k=0, j=0;
if((x>3)&&(z<10))
{
}
k=x*y-1;
j=sqrt(k);
1
2
3
4
5
6
7
8
9
if((x==4)||(y>5))
j=x*y+10;
j=j%3;
10
}
说明:程序段中每行开头的数字(1~10)是对每条语句的编号。
要求:
(1)画出程序的控制流程图(用题中给出的语句编号表示);
(2)分别以语句覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路
径(用题中给出的语句编号表示)
2、(20 分)给出几种良好的编程风格,并按照编程规范实现以下程序:
从键盘输入 100 个整数,采用快速排序算法将这 100 个整数从小到大排序,并输出
排序后的结果。
要求:
(1)写出至少 5 种好的程序编码风格;
(2)画出快速排序算法的流程图;
(3)程序要有适当的注释;
(4)按软件工程的编程规范书写程序。
3、(30 分)一个小型图书资料管理系统的主要功能有:图书资料的借出、归还、查询和管
理。该系统的用户有图书管理员和普通读者,普通读者要使用系统必须先进行注册。
图书管理员负责添加、更新和修改、删除图书资料,登记和查询图书的借阅、归还
情况。
读者可以按照作者或主题检索图书资料,还可以预定图书资料,即当新购买或有读
者归还时,系统立即通知读者来借阅。
采用结构化方法对该系统进行分析和设计,要求给出以下结果:
(1) 画出系统顶层数据流图 DFD;
(2) 对系统进行分解,画出系统第一层的 DFD;
(3) 进一步对一层 DFD 进行分解,画出系统第二层的 DFD;
(4) 写出读者信息和图书资料信息的数据字典;
(5) 采用结构设计方法将 DFD 转换成软件结构图。
五、论述题(共 20 分)
试分析并说明面向对象分析阶段建立的三个模型及其之间的相互关系。