安徽大学20 12—20 13学年第 1 学期
《 软件工程 》考试试卷(A卷)(闭卷 时间120分钟)
一、单项选择题(每小题2分,共20分) 01.结构化分析法的基本思想是( C )。
A 自底向上的逐步抽象 B 自底向上的逐步分解 C 自顶向下的逐步分解 D 自顶向下的逐步抽象
02.从结构化瀑布模型看,在软件生命周期的各个阶段中,( A )阶段出错,对软件的影响最大。
A 需求分析 B 总体设计 C 详细设计 D 系统运行 03.详细设计的任务是确定( B ) 。
A 模块的外部特性 B 模块的内部特性 C 软件的层次结构 D 软件的功能和I/O 04.软件结构图的形态特征能反映程序重用率的是( C )。
A 深度 B 宽度 C 扇入 D 扇出 05.将几个逻辑上相似的成分放在一个模块中,该模块的内聚是( A )。
A 逻辑内聚 B 瞬时内聚 C 功能内聚 D 通信内聚 06.通过对( B ),可以完成数据流图的细化。
A 结构分解 B 功能分解 C 数据分解 D 系统分解 07.面向对象方法学中一般用到的模型是( A )。
A 喷泉模型 B 瀑布模型 C 螺旋模型 D 原型模型 08.使用黑盒测试方法时,应根据( D ) 确定测试数据。
A 程序的内部逻辑 B 程序的复杂程度 C 源程序 D 程序的功能 09.单元测试在( C ) 阶段完成。
A 测试 B 验收 C 编码 D 运行 10.在面向对象的分析建模中,系统用例图属于( A )。
A 功能模型 B 对象模型 C 状态模型 D 动态模型
二、简答题(每小题5分,共30分)
1. 面向对象分析过程中,建立对象模型的5个主要活动。
答案:找出类与对象、识别结构、识别主题、定义属性、定义服务
2. 一般来说,软件的生命周期可以分为哪几个阶段? 答:软件定义、软件开发、软件维护
软件定义:问题定义、可行性研究、需求分析
软件开发:总体设计、详细设计、编码和单元测试、综合测试 软件维护。
3.软件工程的三要素是指哪三要素?它们的含义是什么? 答:软件工程包括三个要素:方法、工具和过程。
方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题; 工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;
过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
4.典型的面向对象设计模型一般由哪些子系统组成?
问题域子系统(2分) 人机交互子系统(1分) 任务管理子系统(1分) 数据管理子系统(1分)
5. 在软件工程中常见的有几种维护?分别是那些?其中所占比例最大的是什么? 删除
6. 在结构化分析中涉及到的三个模型是哪三个?建立每个模型的主要工具各自是什么? 功能模型(1分):数据流图(1分);
数据模型(1分):E-R图(1分); 行为模型(1分):状态转换图(1分)。 三、应用题(每小题10分,共20分)
1. 请给出下面由PDL(过程设计语言)写出的程序的PAD图: A
WHILE a DO B
IF b>0 THEN C1 ELSE C2 ENDIF CASE OF
CASE d1 THEN D1 CASE d2 THEN D2
ELSE D3 END CASE E
END WHILE F
2.有一过程,其流程如下图所示。其中,b1、b2、b3为判定的逻辑条件,s1、s2为加工处理。试用判定表给予描述(注:b2,b3和b1一样都是左“T”右“F”)
四、 测试题(每小题10分,共20分)
1. 对于函数digital(n,k),它的功能是回送正整数n的从右边开始第 k个数字的值,如: digital(13546,2)=4。试用黑盒法为该函数设计测试用例。
2. 根据下面伪代码程序,设计它的判定覆盖和条件组合覆盖测试用例 START
五、设计题(每小题10分,共10分) 某学校计算机教材购销系统有以下功能: 学生买书,首先填写购书单,计算机根据各班学生用书表及售书登记表审查有效性。若有效,计算机根据教材库存表进一步判断书库是否有书,若有书,把领书单返回给学生,学生凭借书单到书库领书。对于脱销的教材,系统用缺书单的形式通知书库,新书进库后,也由书库将进书通知返还给系统。 请给出上述系统的数据流图。
安徽大学 20 12 —20 13 学年第 1 学期
《 软件工程 》(A卷)考试试题参及评分标准
一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题干后的括号内。每题2分,共20分)
01.C 02. A 03. B. 04. C 05 A 06. B 07. A 08. D 09. C 10. A 评分标准:每小题正确得3分,错误得0分
二、简答题(30分,每小题5分) 1. 要点:
找出类与对象;识别结构;识别主题;定义属性;定义服务。 本小题5分,其中每个活动1分。 2. 要点:
软件定义阶段,可行性分析阶段,需求分析阶段,总体设计,详细设计,实现,维护阶段。 本小题5分,前两个阶段共计1分,总体设计,详细设计共计1分,其余每个阶段1分。 3. 本小题5分,要点:
方法(1分):完成软件开发的各项任务的技术方法,回答“怎样做”的问题. (1分) 过程(1分):为了运用方法而提供的自动或半自动的软件支撑环境,(1分) 工具:为了获得高质量的软件而需要完成的一系列任务的框架,他规定了完成各项任务的步骤。(1分) 4. 答:要点:
问题域子系统(2分) 人机交互子系统(1分) 任务管理子系统(1分) 数据管理子系统(1分)
5.答:共有4项维护
每项活动名称1分, (1)改正性维护 21% (2)适应性维护 25% (3)完善性维护 50% (4)预防性维护 4% 比例最大的是:完善性维护(1分)
6. 功能模型(1分):数据流图(1分);
数据模型(1分):E-R图(1分); 行为模型(1分):状态转换图(1分)。 以上六点 只要答对5点 就可给全分。对4点给4分,对3点给3分,依次类推。 三、应用题
1. 评分标准:本小题10分,A,B,E,F每个1分;WHILE a,b>0, case of每个2分,共计10分
2. 解
或者:
评分标准:本小题10分,表格中每一列1分
四 测试题 1. 对于n:
有效等价类:n为1位整数 无效等价类:n为实数
n为2位整数 n为5位整数,且>32767 n为3位整数 n为字符
n为4位整数
n为5位整数,且 <32767 边界值: n为0 对于k:
有效等价类:k为1位数字 无效等价类:k为2位以上的数 k为字符
k为实数 边界值: k为0 k为负数
评分标准:本小题10分。对n进行测试,占5分,对k进行测试,占5分.
其中:对n进行测试,正确划分有效等价类占3分,正确划分无效等价类占1分,边界值测试占1分;
其中:对k进行测试,正确划分有效等价类占3分,正确划分无效等价类占1分,边界值测试占1分; 2
<1>判定覆盖标准为,不仅使每个语句至少执行一次,而且使每个判定表达式的每个分支都至少执行一次。
为做到判定覆盖,至少需要两组测试数据,以使每个判定表达式之值为真或为假各一次。下面是典型的测试用例:
① 使两个判定表达式之值全为假 (1分)
输入:A=-1,B=-2,C=-3,D=1 预期的输出:X=1,Y=-2 (1分)
② 使两个判定表达式之值全为真 (1分) 输入:A=1,B=2,C=3,D=1
预期的输出:X=3,Y=2 (1分)
注意:本题答案不唯一,只要满足判定覆盖的标准就给分
<2>条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。 本题程序有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共 有8种可能的条件组合,它们是: ① A>0 , B>0 ② A>0 , B≤0 ③ A≤0 , B>0 ④ A≤0 , B≤0 ⑤ C>A , DA , D≥B ⑦ C≤A , D⑧ C≤A , D≥B (共计4分,每个条件0.5分)
下面的4个测试用例,可以使上面列出的8种条件组合每种至少出现一次: ① 实现1,5两种条件组合 输入:A=1,B=1,C=2,D=0 预期的输出:X=2,Y=2 ② 实现2,6两种条件组合 输入:A=1,B=0,C=2,D=1 预期的输出:X=1,Y=1 ③ 实现3,7两种条件组合 输入:A=0,B=1,C=-1,D=0 预期的输出:X=-1,Y=-1 ④ 实现4,8两种条件组合 输入:A=0,B=0,C=-1,D=1 预期的输出:X=0,Y=0 (共计2分,每对测试用例0.5分)
注意:本题答案不唯一,只要满足条件组合覆盖的标准就给分
五、设计题 答案见下页。
其中 答案答图1 给4分,答图2 给7分,答图3 给10分. 或者 每个数据源点,终点给1分(共计3个),数据存储每个1分(共计3个),处理总共3分,数据流1分。