您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页04计算机《软件工程》C答案

04计算机《软件工程》C答案

来源:华佗健康网
泉州师院2006~2007学年度第二学期本科

计算机科学与技术专业2004级《软件工程》期末试卷答案(C)

一、 选择题(20 %,每题1分)

1. 程序流程图(框图)中的箭头代表( B )。

A.数据流 B.控制流 C.调用关系 D.组成关系 2. 软件生命周期中所花费用最多的阶段是( D )。

A.详细设计 B.软件编码 C.软件测试 D.软件维护 3. 软件概要设计结构后得到(B )。

A. 初始化的软件结构图 B. 优化后软件结构图 C. 模块详细的算法 D. 程序编码

4. 只有单重继承的类层次结构是( C )层次结构。 A、网状型 B、星型 C、树型 D、环型 5. 系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括( A )。

A. 经济可行性、技术可行性、操作可行性

B. 软件环境可行性、技术可行性、经济可行性、社会可行性 C. 经济可行性、社会可行性、系统可行性 D. 经济可行性、实用性、社会可行性

6. 软件结构图的形态特征能反映程序重用率的是( C )。 A、深度 B、宽度 C、扇入 D、扇出 7. 描述类中对象的行为,反映了状态与事件关系的是( B )。 A、对象图 B、状态图 C、流程图 D、结构图 8. 模块( C ),则说明模块的性越强。 A、耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低 9. 在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是( A )。

A、PAD B、PDL C、IPO D、判定树 10.软件质量保证应在( A )阶段开始。

A、需求分析 B、设计 C、编码 D投入使用

11.软件结构化设计中,好的软件结构应该力求做到( B )。 A、 顶层扇出较少,中间扇出较高,底层模块低扇入 B、顶层扇出较高,中间扇出较少,底层模块高扇入 C、顶层扇入较少,中间扇出较高,底层模块高扇入 D、顶层扇入较少,中间扇入较高,底层模式块低扇入 12.一个只有顺序结构的程序,其环形复杂度是( B )。

A、0 B、1 C、3 D、不确定的

13.详细设计的结果基本决定了最终程序的( D )。

A、代码的规模 B、运行速度 C、可维护性 D、质量 14.面向数据流的软件设计方法,一般是把数据流图中的数据流划分为( B )样的两种流,再将数据流图映射为软件结构。 A、数据流与事务流 B、变换流与事务流 C、信息流与控制流 D、变换流与数据流 15.使用程序设计的控制结构导出测试用例的测试方法是( B )。 A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试

16.面向数据结构的设计方法(Jackson方法)是进行( A )的形式化的方法。

A、详细设计 B、系统设计 C、软件设计 D、编码 17.以下哪一项不是面向对象的特征( D )。

A、多态性 B、继承性 C、封装性 D、过程调用 18.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( C )。

A、集成测试 B、恢复测试 C、验收测试 D、单元测试 19.面向对象分析阶段建立的三个模型中,核心的模型是( C )模型。

A、功能 B、动态 C、对象 D、分析 20.软件工程管理对软件项目的开发管理,即对整个软件( D )的一切活动的管理。

A、软件项目 B、软件开发 C、软件开发计划 D、生存期 二、 填空题(20 %,每题2分)

1. 可行性研究实质上是要在较高层次上以较抽象的方式进行系统分析和设计的过程。

2. 在需求分析阶段常用的图形工具有层次方框图、Warnier图、__IPO图____。

3. .瀑布模型是以文档为驱动、适合于 软件需求明确 的软件项目的模型。

4. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为任务分解技术。

5. 在结构化程序设计模块调用中, 扇入 是指模块的上级模块数。

6. 在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和 数据存储对象。

7. 纯收入是指在整个生存周期之内的 累计经济效益 与投资之差。

8. 要成功地完成软件开发工作的一个主要决定性因素是____软件项目管理______。

9. 衡量软件质量的主要特性有软件的可维护性、__软件的可使用性___和软件的可靠性。。

10. 在面向对象设计中存在三种内聚,它们是服务内聚、类内聚和一般-特殊内聚。

三、 简答题(20 %,每题4分)

1. 简述软件结构设计的启发式原则。 (1)改进软件结构提高模块性; (2)模块规模要适中;

(3)深度、宽度、扇出和扇入都应适当; (4)模块的作用域应该在控制域内; (5)力争降低模块接口的复杂度; (6)设计单入口单出口的模块; (7)模块功能应该可以预测。

2. 简述软件工程的目标及目前的软件开发面临着的问题。

软件工程的目标就是建造高质量的软件。但是目前的软件开发面临着许多问题:

(1)对软件开发成本和进度的估计常常很不准确。 (2)用户常对“已完成的”软件系统不满意。 (3)软件产品的质量往往靠不住。 (4)软件常常很难维护。

(5)软件常常缺乏适当的文档资料。 (6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

(7)软件成本在计算机系统总成本中所占的比例逐年上升。 3. 简述文档在软件工程中的作用。 (1)提高软件开发过程的能见度 (2)提高开发效率

(3)作为开发人员阶段工作成果和结束标志 (4)记录开发过程的有关信息便于使用与维护; (5)提供软件运行、维护和培训有关资料; (6)便于用户了解软件功能、性能。 4. 简述建立对象模型的步骤。 1) 确定类与对象 2) 确定关联 3) 进一步完善

4) 划分主题 5) 确定属性 6) 识别继承关系 7) 反复修改

5、谈谈你对软件开发中“坚持进行阶段评审”重要性的理解。 软件的质量保证工作不能等到编码阶段结束之后再进行。这样说至少有两个理由:第一,大部分错误是在编码之前造成的,例如,根据Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%;第二,错误发现与改正得越晚,所需付出的代价也越高。因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程中所犯的错误,是一条必须遵循的重要原则。

四、 判断题( 30 %,每题2分,对的打 √,错的打 Χ)

(1) 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。( √ )

(2) 数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(× )

(3) 软件测试中,应该尽量穷尽所有的数据,以便保证测试的质量。( × )

(4) 在软件生存周期中。工作量所占比例最大的阶段是维护阶段。( √ ) (5) 模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。( √ )

(6) 耦合是指一个模块内各个元素彼此结合的紧密程度。( × ) (7) 结构化程序设计主要强调的是程序易读性。( √ ) (8) 测试功能是否符合要求是白盒测试。( × )

(9) 在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。( √ )

(10)判定覆盖,判定 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含

/条件覆盖是同时满足这两种覆盖标准的逻辑覆盖。( √ )

(11) 如果在聚集关系中处于部分方的对象可同时参与多个处于整

体方对象的构成,则该聚集称为组合聚集。( × ) (12)

Gantt图中进度计划的关键部分不明确,难于判定哪些部分应

当是主攻和主控的对象。( √ ) (13)

一幅用例图包含的模型元素有行为者、用例及用例之间的关

系。( × ) (14)

状态图描述并发活动和跨用例的系统任务,主要用于系统分

析,它描述系统的行为,显示系统中动作之间的转移。( × ) (15)

所谓的非正式分析。这种分析方法以用自然语言书写的需求

陈述为依据,把陈述中的名词作为类与对象的候选者,用形容词作为确定属性的线索,把动词作为服务(操作)的候选者。( √ )

五、 设计题(10 %,每题10分) 1.有下列伪码程序: START IF A<1

THEN IF B=0

THEN X:=X*A

ENDIF ENDIF IF A=3

THEN X=X+5 ELSE IF X>1

THEN X=X+5 ENDIF ENDIF STOP

1.画出程序流图

2.设计该程序的语句覆盖和条件覆盖测试用例。

开始

假 A<1 真 假

语句覆盖测试用例:

(1) A=0,B=0,X=4 (2) A=3,B=1,X=4 条件覆盖测试用例:

(1)A=0,B=0,X=4 (2)A=3,B=1,X=1

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

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务