您的当前位置:首页06软件工程B卷答案

06软件工程B卷答案

2020-09-09 来源:乌哈旅游
2008-2009学年第二学期计科06级软件工程试题B卷参考答案

一、简答题 (每小题5分,共50分)

1、从工程管理角度讲,软件设计分成哪两个阶段?分别完成什么任务?

从工程管理角度来看,软件设计分两步完成:概要设计和详细设计(1分)。概要设计完成:将软件需求转化为软件体系结构;确定系统级接口;全局数据结构或数据库模式(2分)。详细设计确立每个模块的实现算法和局部数据结构,并用适当方法表示算法和数据结构的细节(2分)。

2、什么是模块的作用范围和控制范围?对作用范围和控制范围的优化准则是什么?

作用范围:一个模块的作用范围是指条件依赖于这个模块的全部模块。(2分) 控制范围:一个模块的控制范围是指模块本身和它的全部子模块。(2分)

优化设计原则:对于任何判定,作用范围应该是这个判定所在模块的控制范围的一个子集。(1分)

3、结构化分析模型的核心是什么?结构化分析模型用到的三种图形工具分别是什么?功能分别是什么?

结构化分析模型的核心是数据字典。(2分)

结构化分析模型用到的三种图形工具是数据流图、E-R图、状态迁移图。ERD用于数据建模,DFD用于功能建模,STD用于行为建模。(3分)

4、列举五条对数据流图进行检查和修改的原则。

① 数据流图上所有图形符号只限于前述四种基本图形元素。 ② 顶层数据流图必须包括前述四种基本元素,缺一不可。 ③ 顶层数据流图上的数据流必须封闭在外部实体之间。 ④ 每个加工至少有一个输入数据流和一个输出数据流。

⑤ 在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。

⑥ 规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。

⑦ 可以在数据流图中加入物质流,帮助用户理解数据流图。

⑧ 图上每个元素都必须有名字。数据流和数据文件的名字应当是“名词”或“名词性短语”,表明流动的数据是什么。加工的名字应当是“名词+宾语”,表明做什么事情。 ⑨ 数据流图中不可夹带控制流。

⑩ 初画时可以忽略琐碎的细节,以集中精力于主要数据流。 答出其中的五条即可,每条一分。

5、衡量模块独立性的两条准则是什么,含义分别是什么?模块独立性强时满足什么条件?

一般采用两个准则度量模块独立性。即模块间的耦合和模块的内聚。(1分) 内聚性:是一个模块内部各个元素彼此结合的紧密程度的度量。(2分) 耦合性:是模块之间的相对独立性(互相连接的紧密程度)的度量。(1分) 模块独立性强要满足高内聚低耦合。(1分)

1

6、SD指什么?任务是什么?做SD时,一般将DFD分为两种类型,分别是什么?

SD是指Structured Design。软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即软件设计是确定系统的物理模型。或是实现软件的需求,即要着手解决“怎么做”的问题。(3分)

在做SD时,一般将DFD数据处理的类型分为变换流型与事务流型。(2分)

7、什么是程序编码风格,列举几种常用的良好编码风格。

程序实际上也是一种供人阅读的文章,编码风格又称程序设计风格。(1分)

程序设计风格包括4个方面:源程序文档化,数据说明,语句结构和输入/输出方法,力图从编码原则的角度提高程序的可读性,改善程序质量。

符号名即标识符应能反映它所代表的实际东西,应有一定实际意义。 应当选择精炼的意义明确的名字,改善对程序功能的理解。 注释决不是可有可无的,大多数程序设计语言允许使用自然语言来写注释,这就给阅读程序带来很大的方便。

序言性注释通常置于每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序本身具有引导作用。

功能性注释 :嵌在源程序体中,用以描述其后的语句或程序段是在做什么工作。 利用空格、空行和移行,提高程序的可视化程度。 数据说明的次序应当规范化,使数据属性容易查找。

当多个变量名用一个语句说明时,应当对这些变量按字母的顺序排列。 如果设计了一个复杂的数据结构,应当使用注释来说明在程序实现时这个数据结构的固有特点。

在一行内只写一条语句,并且采取适当的移行格式,使程序的逻辑和功能变得更加明确。

程序编写首先应当考虑清晰性,不要刻意追求技巧性,使程序编写得过于紧凑。 程序编写得要简单,写清楚,直截了当地说明程序员的用意。 写出其中任意四条即可,每条一分。

8、大型软件测试的五个步骤是什么,并做简要的说明。

测试过程按5个步骤进行,即单元测试、集成测试、确认测试和系统测试、验收测试。

单元测试针对程序模块,进行正确性检验的测试。(1分)

集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成为系统。(1分) 确认测试又称有效性测试。它的任务是验证软件的有效性,即验证软件的功能和性能及其它特性是否与用户的要求一致。(1分)

所谓系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。(1分)

在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。验收测试是以用户为主的测试。(1分)

9、用黑盒法的等价类划分方法做测试时的步骤是什么?

使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。(3分)选择测试用例时要对每一个等价类规定唯一编号,设计尽可能少的测试用例,覆盖所有的有效等价类;针对每一个无效等价类,设计一个测试用例来覆盖它。(2分)

2

10、单元测试、确认测试依据的文档分别是什么?分别采用什么方法设计测试用例?

在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I / O 条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例。(3分) 确认测试主要依据软件需求规格说明书进行测试,主要采用黑盒测试方法设计测试用例。(2分)

二、综合题(第1题8分,第2题7分,第3题10分,第4题15分,第5题10分,共50分)。

1、某售票处的机票由姓名、出发日期、航班号、出发地点、到达地点、航空公司和费用组成。其中,姓名是由1到50位字母组成,出发日期由年月日组成,航班号从Y7100到Y8100,出发地点为沈阳或大连,到达地点为上海或北京或西安,航空公司为和国航或上航,费用从100到5000不等。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。(8分)

机票=姓名+出发日期+航班号+出发地点+到达地点+航空公司+费用(1分) 姓名=1{字母}50(1分)

出发日期=年+月+日(1分)

航班号=“Y7100”...“Y8100”(1分) 出发地点=[沈阳|大连] (1分)

到达地点=[上海|北京|西安] (1分) 航空公司=[国航|上航] (1分) 费用=100..5000(1分)

2.根据下列对某种人寿保险问题的描述画出判定树。(7分)

某保险公司的一种人寿保险的参保类型划分原则如下:

(1)如果年龄不满25岁,男性适用保险类型A,女性适用保险类型B。

(2)如果年龄满25岁但不满50岁,已婚男性适用保险类型A,未婚男性适用保险类型

B,已婚女性适用保险类型B,未婚女性适用保险类型C。

(3)年龄在50岁以上者,已婚女性适用保险类型B,其余适用保险类型C。

男 保险类型A age<25 女 保险类型B 已婚 男 保险类型A 保险类型 25<=age<50 女 保险类型B 男 保险类型B 未婚 女 保险类型C 已婚女 保险类型B

age>=50 其余 保险类型C

3. 画出下面用PDL写出的程序的流程图,PAD图或N-S图。(10分)

3

WHILE A DO

IF X>0 THEN X1 ELSE X2 ENDIF S1

IF Z>0 THEN Z1

IF W>0 THEN W1 ELSE W2 ENDIF ELSE Z2 ENDIF S2

ENDWHILE

流程图(5分):

PAD图(5分):

开始FATX>0FTX1X2S1FZ>0Z2TZ1W>0FTW1W2S2结束4

TX>0X1X2while AS1TZ>0Z1W>0Z2TW1W2S2

或N-S图(5分):

while ATX1S1TTX>0X2Z>0Z1W>0W1W2S2FFFZ2

4、一实时监护系统的中央处理机的功能如下:

(1)由定时检测系统取得各个监护病员的生理数据(脉搏,体温,血压)经合法性检查

后,与预先保存的每一病号生理临界数据进行比较;

(2)如发现超越临界则启动自动报警装置向护士发出警报信号; (3)定时检测的数据将被格式化并被记入日志文件;

试根据要求画出该问题的两层数据流图,并将第一层数据流图转换为软件结构图。 顶层数据流图(4分)

病员 生理数据 实时监护系统 警告信息 护士

第一层数据流图(6分):

5

生理临界数据

1 病生理数据 合法性检查 合法数据 生理数据 3 产生更新数据 病员日志文件 2 临界值比较 护 超临界信息 4 产生报警信息 警告信息 注:加工名称可以不同,但是数据流向必须正确。 软件结构图(5分):

5.根据下面给出的程序流程图,设计不超过3组的测试用例,使之满足判定/条件覆盖,对每组测试数据给出执行路径、输入值、输出值、两个判定(3)和(5)的结果以及两个判定中每个条件的结果。(10分)

6

123入口输入x1,x2,x3值x1==3||x2>1 Fx1>2&&x2==0FTx3=x1*x2T45x3=x1-3678输出x3的值结束

采分点:分析过程及结果测试用例表格的条件定义、输入4分,路径3分,计算结果3分。

判定/条件覆盖:x1==3 T1,-T1

x2>1 T2, -T2 x1>2 T3,-T3 x2==0 T4,-T4

判定/条件覆盖是指每个判定的真假分支都走一遍,每个条件的取真取假分支都走一遍。 为此,设计如下三个测试用例 输入 四个条件取值 路径 计算结果 备注 x1=3,x2=0 T1-T2T3T4 1,2,3,4,5,6,7,8 x3=0 -T2条件未用到 x1=4,x2=2 -T1T2T3-T4 1,2,3,4,5,7,8 x3=8 x1=2,x2=1,x3=2 -T1-T2-T3-T4 1,2,3,5,7,8 x3=2 答案不唯一,但是设计出的测试用例必须四个条件真假值都取过一遍,两个组合条件的真假分支都走过一遍。

7

因篇幅问题不能全部显示,请点此查看更多更全内容