1、软件是( C )。
A 计算方法 B 一个计算任务的处理对象的描述 C 程序和文档 D 一个计算任务的处理规则的描述 2、划分模块时,下列说法正确的是( A )。
A 作用范围应在其控制范围之内 B 控制范围应在其作用范围之内 C 作用范围与控制范围不包含 D 作用范围与控制范围不受任何限制 3、两个模块都使用同一张表,模块之间的这种耦合称为( C )。 A 数据耦合 B 内容耦合 C 公共耦合 D 控制耦合
4、与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为( C )。 A 逻辑内聚 B 时间内聚 C 通信内聚 D 顺序内聚
5、下列选项中,不能反映软件结构的基本形态特征是( C )。 A 深度 B 扇入 C 粒度 D 扇出
6、面向对象分析方法与结构化分析方法的区别之一是( B )。 A 一个使用了“抽象”,一个没有使用“抽象”。
B 一个以问题域的成分为基点来构造一个模块,而另一个不是。 C 一个目标明确,而一个目标不明确。
D 一个需要考虑数据结构,而另一个不需要考虑数据结构。 7、软件过程是( C )。
A 特定的开发模型 B 一种软件求解的计算逻辑 C 活动的集合 D 软件生存周期模型 8、软件测试的目的是( B )。 A 评价软件的质量 B 发现软件的错误
C 找出软件中的所有错误 D 证明软件是正确的 9、一般说来与设计测试数据无关的文档是( D )。 A 需求规格说明书 B 设计说明书 C 源程序 D 项目开发计划
10、以下不属于Wasserman 提出的五级软件开发环境集成模型的是( B )。 A 平台集成 B 通信集成 C 数据集成 D 过程集成
9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( C ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( D )设计
A.功能 B.调用关系 C.输入输出数据 D.算法
11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( A )
A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据 12.下面几种白箱测试技术,哪种是最强的覆盖准则 ( D ) A.语句覆盖 B.条件覆盖 C.判定覆盖 D.条件组合覆盖
13.面向数据流的设计方法把( A )映射成软件结构。
A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A )内聚
A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( A )阶段制定的.
A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D )
A.数据流程图案 B.数据字典 C.判定表 D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C )
A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型 19.模块的内聚性最高的是( D )
A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 20.提高测试的有效性非常重要,成功的测试是指( D )
A.证明了被测试程序正确无误 B. 说明了被测试程序符合相应的要求 C.未发现被测程序的错误 D.发现了至今为止尚未发现的错误
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
1.软件工程中的结构化分析SA是一种面向_数据流_的分析方法。 2.软件模块独立性的两个定性度量标准是_内聚性、耦合性_。
3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个_由下而上_的过程。 4._数据流图_和数据字典共同构成了系统的逻辑模型
5._等价划分_是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。 23.数据字典有四类条目,分别是数据流、___数据项_____、数据存储和基本加工。 24.各种软件系统的数据流图一般可分为___变换型_____和事务型两类。
30.面向对象分析中,动态模型使用___状态图______作为描述工具,该图反映了状态与事件的关系。 1、将下面的关系按继承关系、聚集关系或普通关联进行分类。 小汽车------红旗轿车( 继承 ) 班级--------学生( 聚集) 2、将下列各项分为类或类的实例 我的汽车( 实例 )
交通工具( 类 )
三、(每小题4 分,共20 分)解释以下概念 1、模块内聚,并举例说明3 种模块内聚类型。
答:模块内聚是模块内各处理成分之间的相互关联。作为模块化度量指标之一,它是指导人们进行模块结构设计的重要概念。一般地,模块内聚可分为:
1) 偶然内聚:即一个模块内各成分之间毫无关系,则称为偶然内聚。 2) 逻辑内聚:即把几个逻辑上相关的功能放在一个模块中,则称为逻辑内聚。 3) 时间内聚:即如果一个模块完成的功能必须在同一时间内执行,则称为时间内聚。
4) 过程内聚:即如果一个模块内部的处理成分相关,且这些处理成分必须以特定的次序执行,则称为过程内聚。
5) 通信内聚:即如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。
小汽车-------驾驶员( 普通关联 )
6) 顺序内聚:即如果一个模块的各个处理成分和同一功能相关,且一个成分的输出作为另一成分的输入,则称为顺序内聚。
7) 功能内聚:即模块的所有成分对于完成单一功能都是基本的,则称为功能内聚。 2、事务型数据流图,并举例说明。
答:事务型数据流图:数据到达一个加工(例如图1),该加工根据输入数据的值, 在其后的若干动作序列(称为一个事务)中选出一个来执行,这类数据流图称 为事务型数据流图。
3、黑盒测试,并举出三种黑盒测试技术。
答:黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。
4、软件测试中的分支覆盖,并举例说明。
答:至少执行程序中每一分支一次。如果遵循这一规定,则我们说达到了100%分支覆盖率(用C2 表示)。例如图2 中要实现100%分支覆盖,则需要设计测试用例,分别实现两个分支的T、F 分支各执行一次。
5、对象的多态性,并举例说明。
答:对象的多态性是指在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或
3
表现出不同的行为。这使得一个属性或操作名在一般类及其各个特殊类中具有不同的语义。 例如图3 中正多边形和轴向矩形两个类中的属性“顶点数据”和操作“绘图”和多边形类中的属性“顶点数据”和操作“绘图”名字相同,但语义不同。
四、(每小题5 分,共20 分)简答题
1、需求分为哪几种类型?并举例说明各类需求。
答:需求分为功能、性能、外部接口、设计约束和质量属性五类。 (1)功能需求
功能需求规约了系统或系统构件必须执行的功能。例如,“系统应对所有已销售的应纳税商品计算销售税”为一个功能需求。 (2)性能需求
性能需求(Performance requirement)规约了一个系统或系统构件必须具有的性能特性。例如,“系统应该在5 分钟内计算出给定季度的总销售税”为一性能需求。 (3)外部接口需求
外部接口需求(External interface requirement)规约了系统或系统构件必须与之交互的硬件、软件或数据库元素。它也可能规约其格式、时间或其他因素。例如,账户接收系统必须为月财务状况系统提供更新信息,如在“财务系统描述”第4 修订版中所描述的。该需求为外部接口需求。 (4)设计约束
设计约束限制了系统或系统构件的设计方案。例如,“系统必须用C++或其他面向对象语言编写”为一设计约束。 (5)质量属性
质量属性(Quality attribute)规约了软件产品必须具有的一个性质是否达到质量方面一个所期望的水平。例如 “可靠性”为一质量属性。
2、为了表达客体之间的关系,UML 给出了哪几种术语?请举例说明。
答: 在 UML 中,提供了以下4 种关系,作为UML 模型中的基本关系构造块,表 达类目之间的关系,以构造一个结构良好的UML 模型. 关联(association) 泛化(generalization)
实现(realization) 依赖(dependency)
举例如下:(文字也可以):此处答案多种多样,仅供参考。
3、软件生存周期过程按不同人员的工作内容可分为哪几类?请分别给出解释。
答:按照不同人员的工作内容来分,将软件生存周期过程分为三类:基本过程、 支持过程和组织过程:
(1)基本过程是指那些与软件生产直接相关的过程;
(2)支持过程是有关各方按他们的支持目标所从事的一系列相关活动集; (3)组织过程是指那些与软件生产组织有关的过程。 4、CMM 过程成熟度等级包括哪几级?每一等级的特点是什么?
答:CMM 五级模型包括以下五级:
1. 初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
2. 可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功。
3. 已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。
4. 已定量管理级:收集对软件过程和产品质量的详细度量,对软件过程和产品有定量的理解与控制。 5. 持续优化级:过程的量化反馈和先进的新思想、新技术促进过程不断改进。
5
五、应用题
4、某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法.
答案:
六、(共12 分)分析题
1、(4 分)把下面的程序流程图转换为伪码; 2、(4 分)把下面的程序流程图转换N-S 图;
3、(4 分)根据下面的程序流程图,设计最少测试用例,实现分支覆盖。(注:在设计测试用例时,其中的循环结构可以看作是一个语句,并假定s1,s2,s3,s4,s5,s6 均不改变x 和y 的值。)
答: (1)该流程图对应的伪码是:
begin s1;
if x>10 then s3 else s2; for i:=1 to 9 do s4; if y< 10 then s6;
end.
(2)该流程图对应的N-S 图为:
7
( x=11, y=9 ) ( x=9, y=11 )
(3)实现分支覆盖的用例为:
七、(共18 分)建模题
问题陈述:在一简化的图书管理系统中, (1)图书管理员负责:
录入每一入库的图书(书名,图书编号,图书种类,作者,单价,入库数量); 并当图书出现丢失时,修改该图书的库存数量;如果图书库存数量小于库 存下限,则将购书通知(书名,购书量)发给采购员。 (2)采购员负责:
将图书管理员发来的购书通知(书名,购书量)存入购书目录文件({书 名,购书量});
每月末,根据购书目录文件,制定购书计划({书名,购书量}),并将购 书计划提交馆长审批;
馆长审批通过购书计划后,开始购书,并清除购书目录文件中的相应记录。 (3)馆长负责:审批采购员提交的购书计划,并返回审批意见(同意或不同意)。 (4)图书馆主任负责:
随时查询某类图书的库存情况(图书种类,库存量,库存金额); 在每月末,按图书种类统计库存情况(图书种类,库存量,库存金额)。 1、(5 分)用结构化分析方法给出该系统的顶层DFD(系统环境图); 2、(4 分)用结构化分析方法给出该系统的0 层DFD; 3、(4 分)给出上述两层DFD 的数据字典;
4、(5 分)定义一个交互,并以顺序图给出该交互的描述。
答:
(1) 该系统的顶层DFD 如下:
(2)该系统的0 层DFD 形式多种多样:此处略。 (3)两层DFD 的数据字典如下:
数据流条目:
入库单=书名+图书编号+图书种类+作者+单价+入库数量 库存修改单=书名+库存量 购书通知单=书名+购书量 购书清单={书名+购书量} 购书计划={书名+购书量}
被批准的购书计划={书名+购书量} 审批意见=[同意|不同意] 查询要求=图书种类
某类图书库存单=图书种类+库存量+库存金额 月末库存量={图书种类+库存量+库存金额} 当前日期=年+月+日 统计要求={图书种类}
(4)以下针对“管理购书计划”这一交互,给出其顺序图如下:
9
其中,对象“采购员”和“图书馆馆长”是界面对象,它们调用对象“购书计划文件”,实现管理购书计划。注:该题的答案在形式上可能是多种多样的,但在回答时,主要注意四点: (1) 顶层DFD 是否符合系统环境图的构造特点; (2) 0 层数据流图是否符合构造特点; (3) 数据字典的定义是否符合其书写原则; (4) 所画的顺序图是否符合UML 种顺序图的定义。
因篇幅问题不能全部显示,请点此查看更多更全内容