安徽大学2012—2013学年第1学期《软件工程》考试试卷(A卷)(闭卷时间120分钟)一、单项选择题(每小题2分,共20分)01.结构化分析法的基本思想是(C)。A自底向上的逐步抽象B自底向上的逐步分解C自顶向下的逐步分解D自顶向下的逐步抽象02.从结构化瀑布模型看,在软件生命周期的各个阶段中,(A)阶段出错,对软件的影响最大。A需求分析B总体设计C详细设计D系统运行03.详细设计的任务是确定(B)。A模块的外部特性B模块的内部特性C软件的层次结构D软件的功能和I/O04.软件结构图的形态特征能反映程序重用率的是(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图:AWHILEaDOBIFb0THENC1ELSEC2ENDIFCASEOFCASEd1THEND1CASEd2THEND2ELSED3ENDCASEEENDWHILEF2.有一过程,其流程如下图所示。其中,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分)某学校计算机教材购销系统有以下功能:学生买书,首先填写购书单,计算机根据各班学生用书表及售书登记表审查有效性。若有效,计算机根据教材库存表进一步判断书库是否有书,若有书,把领书单返回给学生,学生凭借书单到书库领书。对于脱销的教材,系统用缺书单的形式通知书库,新书进库后,也由书库将进书通知返还给系统。请给出上述系统的数据流图。安徽大学2012—2013学年第1学期《软件工程》(A卷)考试试题参考答案及评分标准一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题干后的括号内。每题2分,共20分)01.C02.A03.B.04.C05A06.B07.A08.D09.C10.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分;WHILEa,b0,caseof每个2分,共计10分2.解或者:评分标准:本小题10分,表格中每一列1分四测试题1.对于n:有效等价类:n为1位整数无效等价类:n为实数n为2位整数n为5位整数,且32767n为3位整数n为字符n为4位整数n为5位整数,且32767边界值:n为0对于k:有效等价类:k为1位数字无效等价类:k为2位以上的数k为字符k为实数边界值:k为0k为负数评分标准:本小题10分。对n进行测试,占5分,对k进行测试,占5分.其中:对n进行测试,正确划分有效等价类占3分,正确划分无效等价类占1分,边界值测试占1分;其中:对k进行测试,正确划分有效等价类占3分,正确划分无效等价类占1分,边界值测试占1分;21判定覆盖标准为,不仅使每个语句至少执行一次,而且使每个判定表达式的每个分支都至少执行一次。为做到判定覆盖,至少需要两组测试数据,以使每个判定表达式之值为真或为假各一次。下面是典型的测试用例:①使两个判定表达式之值全为假(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种可能的条件组合,它们是:①A0,B0②A0,B≤0③A≤0,B0④A≤0,B≤0⑤CA,DB⑥CA,D≥B⑦C≤A,DB⑧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分。