文档库 最新最全的文档下载
当前位置:文档库 › 软件工程概论的练习题及答案

软件工程概论的练习题及答案

软件工程概论的练习题及答案
软件工程概论的练习题及答案

概述

一、填空题

1、软件由计算机程序、数据和文档组成。

2、软件是一种逻辑产品,它与物质产品有很大的区别。

3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。

4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。

5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产方式是工程化。

6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。

7、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于建造软件系统。

8、软件工程研究的主要内容是方法、过程和工具等三个方面。

9、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同。

10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。

11、演化模型是一种非整体开发模型。先开发一个原型软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品。

12、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、开发实施、用户评估。

13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。它使开发过程具有迭代性和无间隙性,适用于面向对象开发方法。

二、单项选择题

1、软件产品的生产主要是C。

A. 制造

B. 复制

C. 开发

D. 研制

2、个体手工劳动是B时代的软件生产方式。

A. 程序系统

B. 程序设计

C. 软件工程

D. 程序编码

3、软件工程是一门C学科。

A. 理论性

B. 原理性

C. 工程性

D. 心理性

4、软件开发费用只占软件生存期全部费用的B。

A. 1/2

B. 1/3

C. 1/4

D. 2/3

5、在软件开发过程中大约要花费C%的工作量进行测试和调试。

A. 20

B. 30

C. 40

D. 50

6、准确地解决“软件系统必须做什么”是B阶段的任务。

A. 可行性研究

B. 需求分析

C. 软件设计

D. 程序编码

7、软件生存期中时间最长的是D阶段。

A. 需求分析

B. 软件设计

C. 软件测试

D. 软件运行/维护

8、在软件生存期的模型中,D适合于大型软件的开发它吸收了软件工程中“演化”的概念。

A .喷泉模型B. 基于知识的模型C. 瀑布模型D. 螺旋模型

9、在软件生存期中,用户的参与主要在A。

A. 软件定义阶段

B. 软件开发阶段

C. 软件维护阶段

D. 整个软件生存期过程中

10、在软件开发过程中的每个阶段都要进行严格的D,以尽早发现在软件开发过程中产生的错误。

A. 检验

B. 验证

C. 度量

D. 评审

11、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致性,必须实施严格的B

A. 产品检验

B. 产品控制

C. 产品标准化

D. 开发规范

12、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的D。

A. 可靠性

B. 可使用性

C. 安全性

D. 可维护性

13、为了提高软件开发过程的A,有效地进行管理,应当根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准。

A. 可见性

B. 生产率

C. 安全性

D. 有效性

14、随着开发小组人数的A,因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。

A. 增加

B. 降低

C. 稳定

D. 不稳定

15、为保证软件开发的过程能够跟上技术的进步,必须不断地灵活地改进软件工程C。

A. 原则

B. 工具

C. 过程

D. 方法

三、选择填空题

1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。 软件是计算机系统中与硬件相互依存的另一部分,它是包括(②)、(⑦)及(⑤)的完整集合。其中,(②)是按事先设计的功能和性能要求执行的指令序列。(⑦)是使程序能够正确操纵信息的数据结构。(⑤)是与程序开发、维护和使用有关的图文材料。

供选择的答案:A~C. ① 软件② 程序③ 代码④ 硬件⑤ 文档⑥ 外设⑦ 数据⑧ 图表

2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。开发软件时对提高软件开发人员工作效率至关重要的是(①)。软件工程中描述生存周期的瀑布模型一般包括计划、(①)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(③)和(⑥)两步。

供选择的答案:A.① 程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.① 需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧ 软件体系结构设计

3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。有人将软件的发展过程划分为4个阶段:

第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了(①),并逐渐普及。随着(④)的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了(⑤)和(⑧)等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如(⑤)、(④)、编码、单元测试、综合测试、(①)及其整体有关的各种管理技术。

供选择的答案:

A~D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件

⑧模块化程序设计

E~G:① 使用和维护② 兼容性的确认③ 完整性的确认④ 设计⑤ 需求定义⑥ 图象处理

4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。

软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品。软件工程技术应遵循(⑦)、(④)、(⑥)、(③)、一致性、确定性、完备性、可验证性、抽象和信息隐蔽。

原型法适用于开发较复杂的系统,原型可分为三种:(②)、(⑤)和(④)。

供选择的答案:A~D①有效性②合理性③局部化④协同性⑤实用性⑥模块化⑦抽象⑧信息隐蔽E~G:① 复用型② 实验型③ 废弃型④ 演化型⑤ 探索型

四、问答题

1、什么是软件?它的特性是什么?

答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。

软件的特点是:

(1) 软件是一种逻辑实体,而不是具体的物理实体。它具有抽象性。

(2) 软件的生产与硬件不同,它没有明显的制造过程。

(3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。然而它存在退化问题。

(4) 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。

(5) 软件的开发至今尚未完全摆脱手工艺的开发方式。

(6) 软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。

(7) 软件成本相当昂贵。

2、试比较软件发展的三个时期的特点,从软件所指、软件工作范围、软件开发组织、决定质量的因素、开发技术和手段等几个方面说明它们的差别。

答:

3、软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。答:软件工程包括三个要素:方法、工具和过程。

软件工程方法为软件开发提供了“如何做”的技术。它包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等。

软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。

软件工程的过程则将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。

4、软件工程过程有哪几个基本过程活动?试说明之。

答:软件工程过程的基本过程活动有4步:

· P (Plan) : 软件规格说明。规定软件的功能及其运行的限制;

· D (Do) : 软件开发。产生满足规格说明的软件;

· C (Check) : 软件确认。确认软件能够完成客户提出的要求;

· A (Action) : 软件演进。为满足客户的变更要求,软件必须在使用的过程中演进。

5、试说明“软件生存期”的概念。

答:软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。这就是软件的生存期。它分为6个阶段:

(1) 软件项目计划:在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所需要的资源,建立成本与进度的估算。根据有关成本与进度的限制分析项目的可行性。(2) 软件需求分析和定义:在这一步详细定义分配给软件的系统元素。可以用以下两种方式中的一种对需求进行分析和定义。一种是正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。

(3) 软件设计:软件的设计过程分两步走。第一步进行概要设计,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。第二步做详细设计,考虑设计每一个模块部件的过程描述。经过评审后,把每一个加细的过程性描述加到设计规格说明中去。

(4) 程序编码:在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。

(5) 软件测试:单元测试检查每一单独的模块部件的功能和性能。组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。确认测试检查所有的需求是否都得到满足。在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。

(6) 软件维护:为改正错误,适应环境变化及功能增强而进行的一系列修改活动。与软件维护相关联的那些任务依赖于所要实施的维护的类型。

6、试论述瀑布模型软件开发方法的基本过程,比较它的优点和缺点。

答:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型为软件开发和软件维护提供了一种有效的管理图式。根据这一图式制定开发计划、进行成本预算、组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证了软件产品及时交付,并达到预期的质量要求。瀑布模型的缺点是缺乏灵活性,特别无法解决软件需求本身不明确或不准确的问题。这些问题的存在对软件开发会带来严重影响,最终可能导致开发出的软件并不是用户真正需要的软件,并且这一点在开发过程完成后才有所察觉。面对这些情况,无疑需要进行返工或是不得不在维护中纠正需求的偏差。但无论上述哪一种情况都必须付出高额的代价,并将为软件开发带来不必要的损失。

7、试说明演化模型软件开发方法的基本过程,比较它的优点和缺点。

答:由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。因此,可以先做试验开发,其目标只是在于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。通常把第一次得到的试验性产品称为“原型”。

演化模型从需求分析开始。软件开发人员与用户一起定义待开发软件系统的总目标,定义需求,确定软件的工作范围。然后快速设计软件中对使用者可见部分的表示,进而建造原型,再让用户或客户评估原型,根据评估结果,修改和细化待开发软件系统的需求,使之满足用户的需求。这个过程是一个迭代的过程。

演化模型的优点是:

·演化模型能够得到更好的软件需求,它不仅能够处理模糊的需求,而且开发人员与用户可通过原型充分进行交流;

·演化模型给用户提供了机会,以更改用户原来设想的不尽合理的最终系统;

·演化模型使得开发出来的最终系统更容易维护,对用户更友好;

·演化模型可以降低总的开发费用,缩短开发时间。

演化模型的缺点是:

·对于开发人员不熟悉的领域,演化模型可能误导开发者把系统的次要部分当作主要框架,作出不切题的原型;

·原型过快地收敛于需求集合,使得某些基本方面被忽视;

·长期在原型环境下开发,只注意得到令人满意的原型,容易“遗忘”用户环境与实际客户环境之间的差别。

8、试说明螺旋模型软件开发方法的基本过程,比较它的优点和缺点。

答:对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析,弥补了两者的不足。

螺旋模型是一种风险驱动的模型。在软件开发中存在各种风险。项目越复杂,设计方案、资源、成本、进度等因素的不确定性越大,项目开发的风险也就越大。及时对风险进行识别、分析,采取对策,可消除或减少风险的损害。

螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相吻合。在每个螺旋周期内按四个象限,分为四个工作步。第一,制定计划:确定软件目标,选定实施方案,明确项目开发的限制条件;第二,风险分析:分析所选方案,识别风险,通过原型消除风险;第三,开发实施:实施软件开发;第四,客户评估:评价开发工作,提出修正建议,建立下一个周期的计划。

螺旋模型适合于大型软件的开发,应该说它是最为实际的方法,它吸收了软件工程“演化”的概念,使得开发人员和客户对每个演化层出现的风险有所了解,继而做出应有的反映。螺旋模型的优越性比起其它模型来说是明显的,但并不是绝对的。模型的使用需要具有相当丰富的风险评估经验和专门知识。如果项目风险较大,又未能及时发现,势必造成重大损失。此外,螺旋模型是出现较晚的新模型,远不如瀑布模型普及,要让广大软件人员和用户充分肯定它,还有待于更多的实践。

9、软件工程的基本目标有哪些?试说明它们之间的关系。

答:组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望达到以下几个主要的目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用。

在具体项目的实际开发中,企图让以上几个目标都达到理想的程度往往是非常困难的。10、软件工程的基本原则有哪些?试说明之。

答:在软件开发过程中必须遵循下列软件工程原则。

·抽象 : 采用分层次抽象,自顶向下、逐层细化的办法进行功能分解和过程分解,可以由抽象到具体、由复杂到简单,逐步得到问题的解。

·信息隐蔽 : 遵循信息封装,使用与实现分离的原则,将模块设计成“黑箱”,可以将实现的细节隐藏在模块内部,使用者只能通过模块接口访问模块中封装的数据。

·模块化 : 按模块划分系统的体系结构,使得各模块间有良好的接口。这样有助于信息隐蔽和抽象,有助于表示复杂的系统。

·局部化 : 按抽象数据类型思想及问题域中的概念来建立模块,确保模块之间低耦合,模块内部高内聚。这有助于控制解的复杂性。

·确定性 : 软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助于人们之间的沟通,保证整个开发工作协调一致。

·一致性 : 强调软件开发过程的标准化、统一化。包括文档格式的一致,工作流程的一致,

内、外部接口的一致,系统规格说明与系统行为的一致等。

·完备性 : 软件系统不丢失任何重要成分,可以完全实现系统所要求功能。

·可验证性 : 开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性。

11、软件工程的基本原理有哪些?试说明之。

答:软件工程的基本原理是:

·按软件生存期分阶段制定计划并认真实施。在软件生存期中需要完成许多不同性质的工作,所以应把软件生存期划分为若干阶段,并相应制定出可行的计划,且按照计划对软件的开发和维护活动进行管理。不同层次的管理人员都必须严格按照计划各尽其职地管理软件的开发和维护工作。

·坚持进行阶段评审。软件的质量保证工作不能等到编码阶段结束之后再进行。错误发现得越晚,为改正它所需付出的代价就越大。因此,在每个阶段都要进行严格的评审,以尽早发现在软件开发过程中产生的错误。

·坚持严格的产品控制。在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。但由于外界环境的变化或软件工作范围的变化,在软件开发过程中改变需求又是难免的,不能硬性规定禁止客户改变需求,只能依靠科学的产品变更控制技术来顺应需求的变更。其中主要是实施基线配置管理。

·使用现代程序设计技术。实践表明,采用先进的技术可提高软件开发的生产率,还可提高软件的可维护性。其中包括结构化程序设计技术,Jackson程序设计技术,面向对象程序设计技术等。

·明确责任。软件产品是看不见摸不着的逻辑产品。为了提高软件开发过程的可见性,有效地进行管理,应当根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,使得工作结果能够得到清楚的审查。

·用人少而精。合理安排软件开发小组人员的原则是参与人员应当少而精,即小组的成员应当具有较高的素质,且人数不应过多。人员素质高能大大提高软件开发的生产率,明显减少软件中的错误。软件开发小组人员少而精可以减少因交流开发进展情况和讨论遇到的问题而造成的通信开销。

·不断改进开发过程。必须不断地灵活地改进软件工程过程,积极主动地采用新的软件技术,注意不断总结经验。此外,需要注意收集和积累出错类型、问题报告等数据,用以评估软件技术的效果和软件人员的能力,确定必须着重开发的软件工具和应当优先研究的技术。

12、有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

答:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。这个说法是对的。在1970年代,GTE、TRW和IBM等三家公司对此问题做了独立研究,最后它们得到相似的结

论:

从表中可以看出,在需求分析阶段检查和修复一个错误所需的代价只有编码阶段所需代价的1/5到1/10,而在维护阶段做同样的工作所付出的代价却是编码阶段的20倍。

项目管理

一、填空题

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

2、软件过程是软件生存期中的一系列相关工程活动集合。

3、所有的软件开发都可以看成是一个问题循环解决过程,其中包括4个截然不同的阶段:状态捕捉、问题定义、技术开发和方案综合。

4、在制定软件项目计划之前,必须先明确项目的目标和范围。项目的目标标明了软件项目的目的但不涉及如何去达到这些目的。

5、对软件进行度量,是为了表明软件产品的质量,弄清软件开发人员的生产率,建立项目估算的基线,帮助调整对新的工具和附加培训的要求。

6、软件质量的事后度量包括正确性、可维护性、完整性和可使用性。其中完整性包括危险性和安全性。

7、软件范围包括功能、性能、限制、接口和可靠性。

8、软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。资源包括人与工具。

9、对于一个大型的软件项目,要进行一系列的估算处理。主要靠分解和类推的手段进行。

10、基本COCOMO模型是一个静态单变量模型,它用一个已估算出的源代码行数(LOC)为自变量的(经验)函数来计算软件开发工作量。

11、成本-效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行。

12、风险估计从两个方面估价风险。一是估计一个风险发生的可能性。一是估价与风险相关的问题出现后将会产生的结果。

13、一个软件任务由一个人单独开发,生产率最高。

14、在与软件成本相关的影响因素中,人员的能力是最大影响因素。

15、软件开发所需的人力随开发的进展逐渐增加,在编码与单元测试阶段达到高峰,以后又逐渐减少。

16、在建立项目组织时应注意的原则有三:①尽早落实责任,指定专人负责;②减少接口,要有合理的人员分工、好的组织结构、有效的通信,减少不必要的生产率的损失;③责权均衡。

17、风险出现概率可以使用从过去项目、直觉或其它信息收集来的度量数据进行统计分析估算出来。

18、用各种不同的方法对风险进行分类是可能的。从宏观上来看,可将风险分为项目风险、技术风险和商业风险。

二、选择题

1、所有的软件开发都可以看成是一个问题B过程。

A. 顺序解决

B. 循环解决

C. 分类解决

D. 分组解决

2、软件项目管理所涉及的范围覆盖了整个软件D。

A. 开发过程

B. 运行与维护过程

C. 定义过程

D. 生存期

3、为使软件开发获得成功,一个关键问题是必须对软件范围、风险、资源、任务、里程碑、成本,进度等做到心中有数,而C可以提供这些信息。

A. 计算机辅助工程

B. 软件开发工具

C. 软件项目管理

D. 软件估算

4、软件范围标明了软件要实现的基本功能,并尽量以A的方式界定这些功能。

A. 定量

B. 规范

C. 统一

D. 定性

5、只要事先建立特定的度量规程,很容易做到B开发软件所需要的成本和工作量、产生的代码行数等。

A. 间接度量

B. 直接度量

C. 间接估算

D. 直接估算

6、为了计算特征点,可以像计算功能点那样,对信息域值进行计数和加权。此外,需要对一个新的软件特征A进行计数。

A. 算法

B. 计算误差

C. 程序复杂性

D. 效率

7、对于软件的D,有一种简单的面向时间的度量,叫做平均变更等待时间MTTC(Mean Time To Change)。这个时间包括开始分析变更要求、设计合适的修改、实现变更并测试它、以及把这种变更发送给所有的用户。

A. 可靠性

B. 可修改性

C. 可测试性

D. 可维护性

8、软件的完整性是度量一个系统抗拒对它的C攻击(事故的和人为的)的能力。

A. 可靠性

B. 正确性

C. 安全性

D. 容错性

9、对每一种软件资源,应说明4个特性:资源的描述,资源的有效性说明,资源在何时开始需要,使用资源的持续时间。最后两个特性统称为A。

A. 时间窗口

B. 时间安排

C. 日程安排

D. 资源定义

10、业务系统计划工具借助特定的C建立一个组织的战略信息需求的模型,导出特定的信息系统。

A. 过程性语言

B. 形式化语言

C. 元语言

D. 伪码

11、软件开发成本主要是指软件开发过程中所花费的B及相应的代价。

A. 劳动力

B. 工作量

C. 资源

D. 持续时间

12、自顶向下估算软件成本的方法主要是从项目的整体出发进行B,即根据已完成项目的总成本(或总工作量),来推算待开发软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去。

A. 分解

B. 类推

C. 推导

D. 评估

13、自底向上估算软件成本的方法主要是把待开发软件A,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。

A. 分解

B. 类推

C. 推导

D. 评估

16、系统的经济效益B因使用新系统而增加的收入加上使用新系统可以节省的运行费用。

A. 大于

B. 等于

C. 小于

D. 不等于

17、项目复杂性、规模和结构的不确定性构成C(估算)风险因素。

A. 技术

B. 经济

C. 项目

D. 商业

18、识别风险的一种最好的方法就是利用一组A来帮助人们了解在项目和技术方面有哪些风险。因此,Boehm建议使用一个“风险项目检查表”。

A. 提问

B. 项目

C. 脚本

D. 场景

19、在做风险评价时常采用的一个非常有效的方法就是定义D。

A. 风险评价标准

B. 风险影响因子

C. 风险调整因素

D. 风险参照水准

21、当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的A问题,即所谓通信问题。

A. 接口

B. 衔接

C. 调用

D. 控制

22、假设一个人单独开发软件,生产率是5000行/人年。若4个人组成一个小组共同开发这个软件,在每条通信路径上耗费的工作量是250行/人年。则组中每人的生产率降低为C

A. 4200

B. 4350

C. 4675

D. 4375

23、PERT技术叫做 B技术,它是采用网络图来描述一个项目的任务网络,安排开发进度,制定软件开发计划的最常用的方法。

A. 日程安排

B. 计划评审

C. 关键路径

D. 因果图

24、在进度压力下赶任务,其成果往往是以B产品的质量为代价的。

A. 浪费

B. 牺牲

C. 抵押

D. 维持

三、选择填空题

1、从供选择的答案中选出与下列有关软件过程叙述相对应的正确答案,将其编号填入到相应的括弧内。软件过程是软件(4)中的一系列相关软件工程(3)的集合。每一个软件过程又是由一组(6)、项目(8)、软件工程产品和交付物以及质量保证(SQA)点等组成。一个软件过程可以用右图的形式来表示。首先建立一个(2)过程框架,其中定义了少量可适用于所有软件项目的框架(3),再给出各个框架(3)的任务集合,最后是保护伞活动,如软件质量保证、软件配置管理以及测量等。软件过程模型的选择基于项目和应用的特点、采用的(5)和工具、要求的控制和需交付的产品。

A.④

B.③

C.⑥

D. ⑧

E. ②

F. ⑤

供选择的答案:A~F. ①工程②公共③活动④生存期⑤方法⑥工作任务⑦功能⑧里程碑 2、从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧内。

由于软件工程有如下的特点,使软件管理比其它工程的管理更为困难。软件产品(2)。(6)标准的过程。大型软件项目往往是(3)项目。(2)的作用是为有效地定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量。在制定计划时,应当对人力、项目持续时间、成本作出(4);(5)实际上就是贯穿于软件工程过程中一系列风险管理步骤。最后,每一个软件项目都要制定一个(1),一旦(6)制定出来,就可以开始着手(5)。

供选择的答案:A. ② B. ⑥ C. ③ D. ② E. ④ F. ① G. ⑥ H. ⑤

A~C. ①可见的②不可见的③“一次性”④“多次”⑤存在⑥不存在

D~H. ①进度安排②度量③风险分析④估算⑤追踪和控制⑥开发计划

3、从供选择的答案中选出与下列有关软件度量叙述相对应的正确答案,将其编号填入到相应的括弧内。 软件的度量包括( A1 )和( B4 )。软件产品的( A 1 )包括产生的代码行数、执行速度等。软件产品的( B )则包括若干质量特性。我们还可进一步将软件度量如右图所示那样分类。软件( C )度量主要关注软件工程过程的结果;( D )度量则指明了软件适应明确和不明确的用户要求到什么程度;( E )度量主要关注软件的一些特性而不是软件开发的全过程。从图中还可看到另一种分类方法:面向( F )的度量用于收集与直接度量有关软件工程输出的信息和质量信息。面向( G )的度量提供直接度量的尺度。面向( H )的度量则收集有关人们开发软件所用方式的信息和人们理解有关工具和方法的效率的信息。

A. ①

B. ④

C. ④

D. ①

E. ②

F. ⑤

G. ⑦

H. ③

供选择的答案:A~B. ①直接度量②尺度度量③二元度量④间接度量 C~E. ①质量②技术

③成本④生产率 F~H. ①过程②对象③人④存取⑤规模⑥进程⑦功能⑧数据

4、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气。通常估算本身带有( A )。项目的复杂性越高,规模越大,开发工作量( B ),估算的( A )就( C )。项目的结构化程度提高,进行精确估算的能力就能( D ),而风险将( E )。有用的历史信息( F ),总的风

险会减少。

供选择的答案:A. ③ B. ② C. ⑦ D. ① E. ③ F. ②

A. ①风范(范型)②风格③风险④度量 B~F. ①增加②越多③降低④不变⑤越少⑥越高⑦越大

5、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

在软件项目估算时,将代码行LOC和功能点FP数据在两个方面使用:一是作为一个估算变量,度量软件每一个( A )的大小;一是联合使用从过去的项目中收集到的( B )和其它估算变量,进行成本和( C )估算。LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的( D )不同。当用( E )作为估算变量时,功能分解是绝对必要且应达到很详细的程度,而用( F )作为估算变量时,分解程度可以不很详细。( E )是直接估算,( F )是间接估算。若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出LOC或FP估计值,记作a, m, b,则LOC或FP 的期望值E的公式为( G ),m是加权的最可能的估计值,遵循( H )。

供选择的答案:A. ③, B. ⑦, C. ⑤, D. ①, E. ②, F. ①, G. ②, H. ③。

A~C.①模块②软件项目③分量④持续时间⑤工作量⑥进度⑦基线数据⑧改进数据 D.①详细程度②分解要求③改进过程④使用方法 E,F.①FP ②LOC G.①E = (a+m+b)/3 ②E = (a+4m+b)/6

③E = (2a+3m+4b)/3 ④ H.①χ概率②γ概率③β概率④泊松

6、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

在考虑各种软件开发资源时,( A )是最重要的资源。如果把软件开发所需的资源画成一个金字塔形:在塔的上层是最基本的资源( A ),在底部为( B )。( B )包括硬件资源和软件资源。( C )、( D )和其它硬件设备属于硬件资源。IPSE工具属于软件资源中的( E )。为了提高软件的生产率和软件产品的质量,可建立( F )。

供选择的答案:A. ② B. ③ C. ② D. ④ E. ⑥ F. ⑤

A, B.①方法②人力③工具④上下文环境 C, D. ①虚拟机②目标机③自动机④宿主机

E, F.①维护工具②分析设计工具③支持工具④编程工具⑤可复用构件库⑥框架工具⑦原型化模拟工具

7、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 定义一个人参加劳动时间的长短为( A ),其度量单位为PM(人月)或PY(人年)。而定义完成一个软件项目(或软件任务)所需的( A )为( B ),其度量单位是人月/项目(任务),记作PM(人月)。进一步地,定义单位( A )所能完成的软件( C )的数量为软件( D ),其度量单位为LOC/PM。它表明一般指( E )的一个平均值。例如,一个软件的开发工作量如下表所示。该软件共有源代码2900行,其中, 500行用于测试,2400行是执行( F )的源代码。则劳动生产率是( G ) (LOC/PM)。

供选择的答案:A. ④ B. ② C. ④ D. ① E. ① F. ② G. ④

A, B, D.①生产率②工作量③成本④劳动量E.①开发全过程②某开发阶段③软件生存期④某开发任务

F, C.①软件②程序③进程④产品 G.①520 ②120 ③320 ④240

8、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。 对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理。主要按( A )和( B )手段进行。估算的方法分为三类:从项目的整体出发,进行( B )的方法称为( C )估算法。把待开发

的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为( D )估算法。而把待开发的软件项目与过去已完成的软件项目做类比,区分出类似部分和不同部分分别处理的方法称为( E )估算法。( F )是由多位专家进行成本估算的方法。

供选择的答案:A. ③, B. ①, C. ②, D. ③, E. ①, F. ④

A,B. ①类推②类比③分解④综合

C~F.①差别②自顶向下③自底向上④专家判定技术⑤循序渐进⑥比较

10、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行软件成本估算。程序的名义工作量MM = ( A );程序实际工作量MM = ( B );开发所用的时间TDEV = ( C );如果软件开发人员的工资都按每月6000美元计算,则该软件项目的开发人员的工资总额 = ( D )。

表1 中间COCOMO模型的名义工作量与进度公式

表2 影响工作量的因素fi 的取值

A. ③,

B. ②,

C. ①,

D. ④

供选择的答案:A,B. ①45.8 ②51.5 ③44.38 ④54.2 C.①8.9月②9.8月③7.8月④10.9月

D.①26.4万美元②36万美元③20.96万美元④30.9万美元

11、从供选择的答案中选出与下列有关软件成本-效益分析叙述相对应的答案,将其编号填入到相应的括弧内。

假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元。3000元是现在投资的钱,5000元是5年内节省的钱,两者不能简单地比较。

假定年利率为12%,利用计算货币现在价值的公式,可以算出该计算机应用系统投入使用后每年预计节省的金额的现在价值。

A. ④,

B. ②,

C. ③

则该系统的纯收入是( A ),投资回收期是( B ),投资回收率为( C )。

供选择的答案:A.①512.3元②729.28元③602.4元④612.27元 B.①2. 4年②3.93年③4.25年④2.78元 C.①25% ②30% ③20% ④15%

12从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

在特定情况下,是否必须进行风险分析,是对项目开发的形势进行( A )后确定的。( A )可以按如下步骤进行:明确项目的目标、总策略、具体策略和为完成所标识的目标而使用的方法和资源;保证该目标是( B ),项目成功的标准也是( B );考虑采用某些条目作为项目成功的( C );根据估计的结果来确定是否要进行风险分析。

一般来说,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面。具体分3步进行。第一步识别潜在的风险项,首先进行( D )过程;第二步估计每个风险的大小及其出现的可能性,选择一种( E ),它可以估计各种风险项的值;第三步进行风险评估。风险评估也有三个步骤:确定( F ),确定( G ),把风险与“参照风险”做比较。

供选择的答案:A. ② B. ① C. ② D. ② E. ③ F. ④ G. ③

A.①风险管理②风险估计③风险评价④风险测试

B.①可度量的②不可度量的③准确的④不确定的

C.①规范②标准③过程模型④设计要求 D,E.①信息分类②信息收集③度量尺度④标准⑤度量工具⑥信息获取 F,G.①风险的范围②风险的特性③风险的级别④风险的评价标准⑤风险的排除策略

13、从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

风险分析实际上是4个不同的活动,按顺序依次为( A )、( B )、风险评价和( C )。在风险评价时,应当建立一个三元组:[ ri, li, xi ],ri是风险描述,li是( D ),而xi是风险的影响。一个对风险评价很有用的技术是定义( E )。( F )、( G )、( H )是三种典型的( E )。在做风险分析的上下文环境中一个( E )就存在一个单独的点,叫做参照点或( I )。在这个点上要公正底给出判断。实际上,参照点能在图上表示成一条平滑的曲线的情况很少,多数情况它是一个( J )。

供选择的答案:A. ②, B. ③, C. ①, D. ②, E. ①, F. ③, G. ④, H. ⑥, I. ②, J. ④A~C.①风险驾驭和监控②风险识别③风险估计④风险消除

D.①风险的大小②风险的概率③风险的时间④风险的范围

E.①风险参照水准②风险度量③风险监控④风险工具

F~H.①生产率②功能③成本④进度⑤范围⑥性能I, J.①凹点②崩溃点③终点④区域⑤拐点⑥原点

14、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括弧内。

任何软件项目都必须做好项目管理工作,最常使用的进度管理工具是( A ),当某一开发项目的进度有

可能拖延时,应该( B )。对于一个典型的软件开发项目,各开发阶段需投入的工作量的百分比大致是( C )。各阶段所需不同层次的技术人员大致是( D ),而管理人员在各阶段所需数量也不同,相对而言大致是( E )。

供选择的答案:A.①数据流图②程序结构图③因果图④PERT图

B.①增加新的开发人员②分析拖期原因加以补救③从别的小组抽调人员临时帮忙④推迟预定完成时间

A. ④

B. ②

C. ③

D. ③

E. ① 15从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括内。

对于一个小型的软件开发项目,一个人就可以完成需求分析、设计、编码和测试工作。但随着软件项目规模增大,需要有多人共同参与同一软件项目的工作。当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的( A )问题,即通信问题。通信需花费时间和代价,会引起软件错误( B ),( C )软件生产率。如果一个软件开发小组有n个人,每两人之间都需要通信,则共有( D )条通信路径。假设一个人单独开发软件,生产率是5000行/人年,且在每条通信路径上耗费的工作量是250行/人年。若4个人组成一个小组共同开发这个软件,则小组中每个人的软件生产率为( E )。若小组有6名成员,则小组中每个成员的软件生产率为( F )。因此,有人提出,软件开发小组的规模不能太大,人数不能太多,一般在( G )人左右为宜。A. ③ B. ② C. ① D. ② E.

③ F. ② G. ④

供选择的答案:A.①分配②管理③接口④协作 B,C. ①降低②增加③不变

D.①n(n+1)/2 ②n(n-1)/2 ③n(n-1)(n-2)/6 ④n2/2

E,F. ①4875 ②4375 ③4625 ④5735 G.①8~15 ②1~2 ③2~5 ④2~8

16、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括内。软件项目的进度管理有许多方法,但( A )不是常用的进度控制图示方法。在几种进度控制图示方法中,( B )难以表达多个子任务之间的逻辑关系,使用( C )不仅能表达子任务之间的逻辑关系,而且可以找出关键子任务。在( C )中,用带箭头的边表示( D ),用圆圈结点表示( E ),它标明( D )的( F )。

供选择的答案::A. ② B. ① C. ③ D. ⑥ E. ③ F. ⑤

A~C.①甘特图②IPO ③PERT ④时标网状图 D~F.①数据流②控制流③事件④处理⑤起点或终点⑥任务 17从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧内。

软件项目管理的主要职能包括:( A ),建立组织,配备人员,( B )和( C )。由于软件项目的特有性质,使得项目管理存在一定困难。第一、( D ),软件工程过程充满了大量高强度的脑力劳动;第二、

( E ),在特定机型上,利用特定的硬件配置,由特定的系统软件和支撑软件支持,形成了特定的开发环境;第三、( F ),软件项目经历的各个阶段都深透了大量的手工劳动,远未达到自动化的程度;第四、( G ),用户要经过专门的培训,才能掌握操作步骤,且需要配备专职维护人员进行售后服务;第五、( H ),为高质量地完成软件项目,充分发掘人员的智力才能和创造精神。

在总结和分析足够数量失误的软件项目之后可知,造成软件失误的原因大多与( I )工作有关。在软件项目开始执行时,执行的过程中及项目进行的最后阶段都会遇到种种问题。

供选择的答案:A. ② B. ④ C. ⑥ D. ② E. ③ F. ⑤ G. ④ H. ① I. ④

A~C.①编码②制定计划③开发④指导⑤测试⑥检验

D~H.①软件工作渗透了人的因素②智力密集,可见性差③单件生产④使用方法繁琐,维护困难⑤劳动密集,自动化程度低 I.①设计②维护③测试④管理⑤实践⑥指导⑦审核⑧分析

18从供选择的答案中选出与下列有关软件项目组织叙述相对应的正确答案,将其编号填入到相应的括弧内。

软件项目组织的原则是( A )、( B )和( C )。一般有( D )、( E )、( F )三种组织结构的模式。( F )实际上是( D )和( E )两种模式的复合。( E )这种模式在小组之间的联系形成的接口较多,但便于软件人员熟悉小组的工作,进而成为这方面的专家。

供选择的答案:A. ② B. ③ C. ⑥ D. ③ E. ④ F. ①

A~C.①推迟责任的落实②尽早落实责任③减少接口④增加联系⑤责权分离⑥责权均衡

D~F.①矩阵形模式②主程序员小组模式③按课题划分的模式④按职能划分的模式⑤民主制小组模式 19从供选择的答案中选出与下列有关软件开发小组叙述相对应的正确答案,将其编号填入到相应的括弧内。

软件开发小组的目的是发挥集体的力量进行软件研制。因此,小组从培养( A )的观点出发进行程序设计消除软件的( B )的性质。通常,程序设计小组的组织形式有三种,如下图所示的a属于( C ),b 属于( D ),c属于( E )。 A. ② B. ④ C. ③ D. ② E. ①

供选择的答案:A, B.①“局部”②“全局”③“集体”④“个人” C~E.①层次式小组②民主制小组③主程序员制小组

需求分析

一、填空

1、在软件需求分析阶段,分析人员要确定对软件的综合要求,其中最重要的是功能要求。

2、需求分析阶段产生的最主要的文档是需求规格说明书。

3、解决一个复杂的问题,往往采取的策略是分解。

4、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该软件项目是否能够开发。

5、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

6、可以从4个方面研究可行性,即技术可行性、经济可行性、社会可行性、( )可行性。

7、结构化分析方法从三个方面建模:数据建模、功能建模、行为建模。

8、实体―关系图用于数据建模,它最初用于数据库设计。

9、数据流图中的每一个加工至少有一个输入数据流和一个输出数据流。

10、状态―迁移图用于行为建模,状态中包含活动,状态因事件发生转移。

11、数据词典中有四类条目,分别为数据流、加工、数据存储、外部实体。

二、单项选择

1、软件需求分析阶段的工作可以划分以下四个方面:对问题的识别、分析与综合、制定需求规格说明和C。

A.总结

B. 阶段性报告

C. 需求分析评审

D. 以上答案都不正确

2、各种需求分析方法都有它们共同适用的D。

A. 说明方法

B. 描述方法

C. 准则

D. 基本原则

3、软件需求分析应从问题的信息域和功能域出发。信息域应包括信息流、信息内容和C。

A. 信息项

B. 数据结构

C. 信息结构

D. 信息内容

4、需求分析产生的文档是C。

A. 项目开发计划

B. 可行性分析报告

C. 需求规格说明书

D. 软件设计说明书

5、需求分析中,分析人员要从用户那里解决的最重要的问题是A。

A. 要让软件做什么

B. 要给该软件提供什么信息

C. 要求软件工作效率如何

D. 要让该软件具有何种结构

6、可行性研究的目的是B。

A. 开发项目

B. 项目值得开发否

C. 规划项目

D. 维护项目

7、技术可行性要解决D。

A. 存在侵权否

B. 成本效益问题

C. 运行方式可行

D. 技术风险问题

8、研究开发资源的有效性属于A可行性的一部分。

A. 技术

B. 经济

C. 社会

D. 操作

9、在可行性研究过程中,对每一个合理的候选方案,分析人员都应准备如下资料D。

A. 系统流程

B. 组成系统的物理元素清单、成本―效益分析

C. 实现该系统的进度计划

D. 以上全部

10、软件需求分析的任务不应包括C。

A. 问题分析

B. 信息域分析

C. 结构化程序设计

D. 确定逻辑模型

11、结构化语言、判定表和判定树属于A规格说明的描述工具。

A. 加工

B. 控制

C. 数据描述

D. 脚本

12、加工激活表属于B规格说明的描述工具。

A. 加工

B. 控制

C. 数据描述

D. 脚本

13、基数和参与性属于C图的描述工具。

A. 控制流

B. 数据流

C. 实体―关系

D. 状态―迁移

14、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层数据流图描述了系统的B。

A. 细节

B. 输入与输出

C. 软件的作者

D. 绘制的时间

15、对于分层的数据流图,父图与子图的平衡是指子图的输入、输出数据流同父图的输入、输出数据流A。

A. 必须一致

B. 数目必须相等

C. 名字必须相同

D. 数目必须不等

16、在数据流图的基本图形符号中,加工是以信息结构或B作为加工对象的。

A. 数据结构

B. 信息内容

C. 信息流

D. 数据内容

17、一个局部数据存储当它作为D时就把它画出来。

A. 某些加工的数据接口

B. 某个加工的特定输入

C. 某个加工的特定输出

D. 某些加工的数据接口或某个加工的特定输入/输出

18、软件需求规格说明书的内容不应包括对B的描述。

A. 主要功能

B. 算法的详细过程

C. 用户界面及运行环境

D. 软件的性能

19、需求规格说明书的作用不应包括B。

A. 软件设计的依据

B. 软件可行性研究的依据

C. 软件验收的依据

D. 用户和开发人员对软件要做什么的共同理解

20、快速原型化思想是在研究D阶段的方法技术中产生的。

A. 可行性研究

B. 软件设计

C. 程序编码

D. 需求分析

21、用于整个开发阶段,及早提供一个原型系统的是D原型。

A. 实验型

B. 探索型

C. 提交型

D. 演化型

22、用于软件设计阶段,考察实现方案是否可行的是C原型。

A. 探索型

B. 演化型

C. 实验型

D. 增量型

三、选择填空

1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。 软件需求分析的任务不应包括( A )。进行需求分析可使用多种工具,但( B )是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是( C )。需求规格说明书的内容不应当包括( D )。该文档在软件开发中具有重要的作用,但其作用不应当包括( E )。

供选择的答案:A.③, B.③, C.①, D.②, E.④

A.①问题分析②信息域分析③结构化程序设计④确定逻辑模型

B.①数据流图②判定表③PAD图④数据词典

C.①要让软件做什么②要给该软件提供哪些信息③要求软件工作效率如何④要让软件具有什么样的结构

D.①对重要功能的描述②对算法的详细过程性描述③软件确认准则④软件的性能

E.①软件设计的依据②用户和开发人员对软件要“做什么”的共同理解③软件验收的依据④软件可行性分析的依据

2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。当前系统的(A )模型描述现行系统的实际业务处理过程,反映了现行系统具体( B )的现实。当前系统的( C )模型描述现行系统的功能结构、数据组织以及动态行为,反映了现行系统( D )的本质。

目标系统是指待开发的新系统。根据计算机系统的特点,分析、比较目标系统和当前系统逻辑上的差别,确定目标系统的软件工作范围,采用自顶向下逐步分解的分析策略,确定目标系统的功能结构、数据组织以及动态行为,从而建立起目标系统的( E )模型。

供选择的答案:A.②, B.①, C.⑤, D.③, E.⑤

A, C, E:①对象②物理③服务④过程⑤逻辑 B, D:①怎么做②何时做③做什么④为何做⑤谁来做

3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。结构化分析模型从多视角来描述系统。在分析模型的核心是( A ),它描述了所有在目标系统中使用和生成的数据对象。围绕着这个核心有三种图:( B )、( C )和( D )。( B )描述数据对象及其关系,用于建立数据模型;( C )描述数据在系统中如何被传递和变换,用于建立功能模型,同时还需要给出加工规格说明;( D )描述系统对外部事件如何响应,用于建立行为模型,同时还需要给出控制规格说明。 Petri网主要用于描述相互独立,协同操作的处理系统,即( E )的处理系统。

【供选择的答案】A.②, B.⑧, C.④, D.③, E.①

A~D:①对象图②数据词典③状态迁移图④数据流程图⑤时序图⑥事件追踪图⑦控制流程图⑧实体关系图⑨仿真图⑩行为图 E:①并发执行②事件驱动③时钟驱动④随机执行⑤顺序执行

4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。软件需求分析方法必须能够理解和表达问题领域的信息域和功能域。信息域包括(A)、(B)和(C)。

( A )表示数据和控制在系统中传递时的变化方式。输入对象首先被变换成数据和控制的( D )信息,然后再变换成输出结果信息。

( B )表示信息在计算机中的组织形式。各种数据和控制对象按什么逻辑关系组织在一起,又按什么物理关系存储在计算机中,必须靠( B )分析来解决。

( C )可以利用数据词典明确地表示,也可以通过数据或数据对象的层次结构隐含地表示。

对数据进行变换就是程序所表现的功能。两个功能之间的数据传递确定了功能之间的( E )。

【供选择的答案】A.⑦, B.②, C.⑥, D.③, E.②

A~C:①信息属性②信息结构③信息服务④信息通信⑤信息抽象⑥信息内容⑦信息流⑧信息层次

⑨信息项⑩信息行为 D~E:①连接②接口③中间④通讯⑤联系

5、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。它从用户界面的开发入手,首先形成( B ),用户( C ),并就( D )提出意见,它是一种( E )型的设计过程。

供选择的答案:A.① B.③ C.④ D.① E.①

A. ①需求不确定性高的②需求确定的③管理信息④决策支持

B. ①用户界面使用手册②用户界面需求分析说明书③系统界面原型④完善的用户界面

C. ①改进用户界面的设计②阅读文档资料③模拟用户界面的运行④运行用户界面原型

D. ①同意什么和不同意什么②使用和不使用哪一种编程语言③程序的结构④执行速度是否满足要求

E. ① 自外向内② 自顶向下③ 自内向外④ 自底向上

四、问答题

1、在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?

答:所谓当前系统可能是需要改进的某个已在计算机上运行的数据处理系统,也可能是一个人工的数据处理过程。当前系统的物理模型客观地反映当前系统实际的工作情况。但在物理模型中有许多物理的因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的因素,去掉那些非本质的因素即可获得反映系统本质的逻辑模型。所以当前系统的逻辑模型是从当前系统的物理模型抽象出来的。

2、软件需求分析是软件工程过程中交换意见最频繁的步骤。为什么交换意见的途径会经常阻塞?

答:软件需求分析过程中,由于最初分析员对要解决的问题了解很少,用户对问题的描述、对目标软件的要求也很凌乱、模糊,再加上分析员和用户共同的知识领域不多,导致相互间通信的需求。首先,由于分析员和用户之间需要通信的内容相当多,业务知识上的不足,表达方式的不足,可能对某些需求存在错误解释或误解的可能性,造成需求的模糊性。其次,用户和分析员之间经常存在无意识的“我们和他们”的界限,不是按工作需要组成统一的精干的队伍,而是各自定义自己的“版图”,并通过一系列备忘录、正式的意见书、文档,以及提问和回答来相互通信。历史已经证明,这样会产生大量误解。忽略重要信息,无法建立成功的工作关系。

3、你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。

答:系统分析员处在用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。一方面要协助用户对所开发的软件阐明要求,另一方面还要与高级程序员交换意见,探讨用户所提要求的合理性以及实现的可能性。最后还要负责编写软件需求规格说明和初步的用户手册。

为能胜任上述任务,分析员应当具备如下的素质:

(1) 能够熟练地掌握计算机硬、软件的专业知识,具有一定的系统开发经验。

(2) 善于进行抽象的思维和创造性的思维,善于把握抽象的概念,并把它们重新整

理成为各种逻辑成分,并给出简明、清晰的描述。

(3) 善于从相互冲突或混淆的原始资料中抽出恰当的条目来。

(4) 善于进行调查研究,能够很快学习用户的专业领域知识,理解用户的环境条件。

(5) 能够倾听他人的意见,注意发挥其它人员的作用。

(6) 具有良好的书面和口头交流表达能力。

4、可行性研究主要研究哪些问题?试说明之。

答:可行性研究主要做4个方面的研究:经济可行性:进行成本?效益分析。从经济角度判断系统开发是否“合算”。技术可行性:进行技术风险评价。从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。方案的选择:评价系统或产品开发的几个可能的候选方案。最后给出结论意见。

5、信息和信息结构有什么区别?有没有不存在信息流的系统?有没有不存在信息结构的系统?

答:什么是信息?广义地讲,信息就是消息。宇宙三要素(物质、能量、信息)之一。它是现实世界各种事物在人们头脑中的反映。此外,人们通过科学仪器能够认识到的也是信息。信息的特征为:可识别、可存储、可变换、可处理、可传递、可再生、可压缩、可利用、可共享。我们通常讲的信息域就是对信息的多视角考虑。信息域包含3个不同的视图:信息内容和关系、信息流和信息结构。为了完全理解信息域,必须了解每一个视图。

信息结构:它是信息在计算机中的组织形式。一般表示了各种数据和控制对象的内部组织。数据和控制对象是被组织成n维表格,还是组织成有层次的树型结构? 在结构中信息与其它哪些信息相关? 所有信息是在一个信息结构中,还是在几个信息结构中? 一个结构中的信息与其它结构中的信息如何联系? 这些问题都由信息结构的分析来解决。

信息流:表示数据和控制在系统中传递时的变化方式。输入对象首先被变换成中间信息(数据或控制),然后再变换成输出结果信息。沿着变换路径,可能从已有的数据存储(如磁盘文件或内存缓冲区)中引入附加的信息。对数据进行变换是程序中应有的功能或子功能。两个变换功能之间的数据传递就确定了功能间的接口。所以,没有信息流的系统相当于没有功能的系统,这样的系统的存在是毫无意义的。而没有信息结构的系统是没有信息的系统,这样的系统不是计算机能够处理的系统。

6、软件需求分析的操作性原则和需求工程的指导性原则是什么?

答:所有的需求分析方法都与一组操作性原则相关联:

·必须理解和表示问题的信息域。

·必须定义软件将完成的功能。

·必须表示软件的行为(作为外部事件的结果)。

·必须对描述信息、功能和行为的模型进行分解,能够以层次方式揭示其细节。

·分析过程应当从要素信息转向细节的实现。

通过使用这些原则,分析员可以系统地处理问题。首先检查信息域以便更完整地理解目标软件的功能,再使用模型以简洁的方式表达目标软件的功能和行为,并利用自顶向下、逐层分解的手段来降低问题的复杂性。在这些处理过程中,因处理需求带来的逻辑约束和因其它系统元素带来的物理约束需要通过软件要素和视图的实现加以检验和确认。

除此以外,Davis建议了一组针对“需求工程”的指导性原则:

·在开始建立分析模型之前应当先理解问题。如果问题没有很好理解就急于求成,常常会产生一个解决错误问题的完美的软件。

·强力推荐使用原型。这样做可以使用户了解将如何与计算机交互,而人们对软件质量的认识常常是基于对界面“友好性”的切身体会。

·记录每一个需求的起源和原因。这是建立对用户要求的可追溯性的第一步。

·使用多个视图,建立系统的数据、功能和行为模型。这样做可帮助分析员从多方面分析和理解问题,减少遗漏,识别可能的不一致之处。

·给需求赋予优先级。因为过短的时限会减少实现所有软件需求的可能性。因此,对需求排定一个优先次序,标识哪些需求先实现,哪些需求后实现。

·注意消除歧义性。因为大多数需求都是以自然语言描述,存在叙述的歧义性问题,造成遗漏和误解。采用正式的技术评审是发现和消除歧义性的好方法。

遵循以上原则,就可能开发出较好的软件需求规格说明,为软件设计奠定基础。

7、数据流图的作用是什么?它有哪些基本成份?

答:数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。

数据流图的基本成份有4种:

8、考务处理系统的分层数据流图如下图所示。

该考务处理系统有如下功能:

①对考生送来的报名表进行检查;

②对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;

③对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;

④填写考生通知单(内容包含考试成绩及合格?不合格标志),送给考生;

⑤按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。

(1) 图(c)中,加工1.1的输入数据流是( A ),输出数据流是( B ),图(b)中,加工2的输出数据流是( C ),它是由( D )和( E )组成。

供选择的答案:答:A. ② B. ⑤ C. ① D. ⑥ E. ⑧ F. ②其中,D与E的答案可互换。A~E. ①统计分析表②报名表③准考证④考生通知单

⑤合格报名表⑥难度分析表⑦错误成绩表⑧分类统计表

(2) 图(d)中的文件“试题得分表”是否在图(b)中漏掉了?回答是( F )。

供选择的答案:

F. “①试题得分表”没有在图(b)中画出,是错误的。

“②试题得分表”是图(b)中加工的内部文件,不必在图(b)中画出。

“③试题得分表”是多余的。

应注意的问题:

①适当地为数据流、加工、文件、数据的源?汇点命名。名字应反映该元素的实际含义,避免空洞的名字。如数据、信息处理、计算等名字都不好。

②画数据流时不要夹带控制流。数据流图中各种数据的加工没有考虑时序关系,引入控制流后,加工之间就有了时序关系,这与画数据流图不考虑实现细节的初衷相违背。

③一个加工的输出数据流不要与该加工的输入数据流重名,即使它们的组成成分相同。例如图(c)中加工1.1的输入数据流“报名表”与输出数据流“合格报名表”。

④允许一个加工有多个数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。

⑤保持父图与子图的平衡。就是说,父图与它的子图的输入数据流与输出数据流应当在

数量与名字上都相同。特别的是,如果父图的一个输入(或输出)数据流对应于子图中几个

软件工程部分课后练习题答案

第一章 1.计算机系统是由计算机硬件系统和软件系统这两个密不可分的部分组成的。 2.计算机软件系统通过运行程序来实现各种不同应用,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等。 3.在软件工程学中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。 4.在软件工程层次结构中,包括工具层、方法层、过程、技术层和质量保证层。 5.在面向对象概念中,消息传递是其与外部世界相互关联的唯一途径。 第三章 1.软件需求分析,可以把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。 2.软件需求工作基本上包括收集用户、市场等方面对项目的需要,经过分析建立解题模型,细化模型,抽取需求。 3.结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求和规格说明书。 4.面向对象分析方法总是从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后开始建立对象——关系和对象——行为模型。 5.需求分析评审过程由以下5个步骤组成:规划、准备、召开审查大会、修改缺陷、重审。 第四章 1.与软件需求分析一样,软件设计也有两种主要设计方法:以结构化设计为基础的结构化软件设计和面向对象方法指导的面向对象软件设计。 2.传统的软件设计任务通常分两个阶段完成。第一个阶段是概要设计,包括体系结构设计

和接口设计,并编写概要设计文档;第二阶段是详细设计,其任务是确定各个软件的数据结构和操作,产生描述各软件组件的详细设计文档。 3.结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。 4.在数据流图中所代表的结构化设计模型中,所有系统均可纳入两种典型的形式,因此系统结构图也有两种类型:变换型系统结构图,事务型系统结构图。 5.Jackson表示法包括图形描述(Jackson图)和文本描述(Jackson伪代码)两种形式。 第五章 1.与结构化设计一样,面向对象设计也是将分析阶段所建立的分析模型转变为软件设计模型,应用数据设计(对象属性设计)、接口设计(消息模型开发)以及过程设计(子系统级设计)。 2.当两个子系统相互通信时,可以建立客户机/服务器连接或端对端连接。 3.系统设计不仅包括主要的业务需求子系统设计,还包括用户界面子系统设计、任务管理子系统设计、数据管理子系统设计。 4.对象设计强调从问题域的概念转换成计算机领域的概念,通过对象的描述、算法和数据结构设计、程序构件和接口,实现相关的类、关联、属性和操作。 5.在面向对象设计中系统设计的主要目标是表示软件体系结构。对象设计着重于对象及其交互的描述 第八章 1.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露

软件工程期末试题及答案

软件工程期末试题及答案 选择题 1.软件测试的目的是()。 A)试验性运行软件B)发现软件错误C)证明软件正确D)找出软件中全部错误2.软件测试中白盒法是通过分析程序的()来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 3.黑盒法是根据程序的()来设计测试用例的。 A)应用范围B)内部逻辑C)功能D)输入数据 4.为了提高软件测试的效率,应该()。 A)随机地选取测试数据B)取一切可能的输入数据作为测试数据 C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是()。 A)项目开发计划B)需求规格说明书C)设计说明书D)源程序 6.测试的关键问题是()。 A)如何组织软件评审B)如何选择测试用例 C)如何验证程序的正确性D)如何采用综合策略 7.软件测试用例主要由输入数据和()两部分组成。 A)测试计划B)测试规则C)预期输出结果D)以往测试记录分析 8.成功的测试是指运行测试用例后()。 A)未发现程序错误B)发现了程序错误C)证明程序正确性D)改正了程序错误9.下列几种逻辑覆盖标准中,查错能力最强的是()。 A)语句覆盖B)判定覆盖C)条件覆盖D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是()。 A)等价类划分法B)边界值分析法C)错误推测法D)因果图法 11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是()。A)系统功能B)局部数据结构C)重要的执行路径D)错误处理 12.软件测试过程中的集成测试主要是为了发现()阶段的错误。 A)需求分析B)概要设计C)详细设计D)编码

软件工程习题(附(附答案))

第一章概述 1.软件产品具有哪些特性? 答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性 软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的 a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的成本主要体现在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别. ⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品. ⑶软件产品不会用坏,不存在磨损,消耗. ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的 ⑸开发软件的费用不断增加,致使生产成本相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程? 答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件” 的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须 的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不 超过预算,并满足用户要求; 3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段? 答:定义时期:问题的定义(客户需求)、可行性研究(为什么做); 开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。 运行时期:软件维护。 4.依下列叙述确定软件生命周期模型。 M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已 经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认 为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐 明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。 5.依下列叙述确定软件生命周期模型。 假设要求你开发一个软件,该软件的功能是

软件工程概论课后答案解析

第1章软件与软件工程的概念 1、1 举出您所知道的应用软件的例子。 办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。 1、2 认为“软件就就是程序,软件开发就就是编程序。”这种观点就是否正确?为什么? 认为“软件就就是程序,软件开发就就是编程序。”这种观点就是错误的。 首先,软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合,程序只就是软件的组成部分之一;其次,在软件开发中,编程只就是软件开发过程的一个阶段。 1、3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么? 可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。 1、4 什么就是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。 典型表现: (1)对软件开发成本与进度的估计常常很不准确。 (2)用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常就是不可维护的。 (5)软件通常没有适当的文档资料。 (6)软件成本在计算机系统总成本中所占的比例逐年上升。 (7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅 速普及深入的趋势。 产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面: (1) 缺乏软件开发的经验与有关软件开发数据的积累,使得开发工作计划很难制定。 (2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。 (3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 (4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技 术问题,更重要的就是必须有科学严格的管理。 (5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

土木工程概论练习题答案

当前位置:第一章综述 自测练习 一、多项选择题 1、土木工程包括____________。 A 工程建设的对象 B 工程应用的材料设备 C 工程中进行的勘测设计 D 工程施工 答案:ABCD 2、土木工程包括____________。 A 房屋建筑工程 B 机械工程 C 铁路工程 D 通信工程 答案:AC 3、古埃及金字塔属于____________。 A 砖石结构 B 钢结构 C 砌体结构 D 钢筋混凝土结构 答案:A 4、中国的北京故宫属于____________。 A 钢结构 B 砖石结构 C 木结构 D 钢筋混凝土结构 答案:C 5、赵州桥为单孔圆弧弓形石拱桥,其拱肩上有4个小拱,作用是____________。 A 增强建设效果 B 减轻自重 C 承重 D 排泄洪水 答案:ABD 6、以下著作中属于土木工程著作的是____________。 A 《考工记》 B 《史记》 C 《营造法式》 D 《论建筑》 答案:B 7、1825年,法国的纳维建立的土木工程结构设计方法是____________。 A 容许应力法 B 极限应力法 C 最大强度设计法 D 基于概率的极限状态设计法

答案:A 8、法国的艾菲尔铁塔属于____________。 A 钢筋混凝土结构 B 木结构 C 钢结构 D 砖石结构 答案:C 9、美国金门大桥是世界上第一座单跨超过千米的大桥,它属于____________。 A 立交桥 B 石拱桥 C 斜拉桥 D 悬索桥 答案:D 10、现代土木工程较古代和近代而言,具有以下那些新特点____________。 A 功能要求多样化 B 城市建设立体化 C 交通工程快速化 D 工程设施大型化 答案:ABCD 11、目前世界最高的大厦在____________。 A 美国 B 英国 C 中国 D 马来西亚 答案:D 12、世界上跨度最大的悬索桥是____________。 A 日本明石海峡大桥 B 美国金门大桥 C 丹麦达贝尔特东桥 D 英国恒伯尔桥 答案:A 13、上海杨浦大桥属于____________。 A 悬索桥 B 钢拱桥 C 斜拉桥 D 石拱桥 答案:C 14、目前世界上最长的山区隧道是____________。 A 挪威的山岭隧道 B 瑞士的圣哥隧道 C 日本的青函海底隧道 D 中国的大瑶山隧道 答案:A 15、上海东方明珠电视塔属于____________。

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 软件也会磨损和老化。(X) 完善性维护是提高或完善软件的性能。(√) 数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 (X) 软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X) 软件模块之间的耦合性越弱越好。(√) 如果通过软件测试没有发现错误,则说明软件是正确的。(X) 快速原型模型可以有效地适应用户需求的动态变化。(√) 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√) 集成测试主要由用户来完成。(X) 确认测试计划应该在可行性研究阶段制定(X) 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X) 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√) 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√) 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳) 模块越多,开发成本越小。(╳) 软件测试的目的就是证明软件没有错。(╳) PAD图在设置了五种基本的控制结构后,还允许递归使用。(√) 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) HIPO 法既是需求分析方法,又是软件设计方法。(√) 在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) 加工小说明是对系统流程图中的加工进行说明。(×) 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) 需求分析的主要方法有SD 法、OOA 法及HIPO 法等。(×) 分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。(×) 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√) 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X) 设计阶段的输出是编码阶段的输入.(√) 通过软件测试,可以发现软件中所有潜伏的错误.(X) 非结构化维护用于软件的配置中只有源代码维护.(√) 系统规格说明是系统分析和定义阶段生成的一种文档.(√) 数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)

软件工程导论部分课后习题答案

第一章 1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1-3 什么是软件工程? 是指导计算机软件开发和维护的一门工程学科。 1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 目前使用得最广泛的软件工程方法学(2 种): 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 1-6 什么是软件过程?它与软件工程方法学有何关系? z 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤z 软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型 1-7 什么是软件生命周期模型,试比较瀑布模型,快速原型模型,增量模型,和螺旋模型的优缺点,说明每种模型的适用范围。 软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型的优点:1.可强迫开发人员采用规范的方法;2.严格规定了每个阶段必须提交的文档;3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点:1.在软件开发初期,指明用户全部需求是困难的;2.需求确定后,经过一段时间才得到软件最初版本;3.完全依赖规格说明,导致不能满足用户需求。适用中小型项目。 快速原型模型的优点:1满足用户需求程度高;2用户的参与面广;3返工现象少快速原型模型的优点:不适用大型软件的开发适用于小型项目。 增量模型的优点:1短期内可以交付满足部分用户需求的功能产品;2逐步增加功能可以让用户去适应新产品;3开放式的软件可维护性比较好;4开始第一构件前,已经完成需求说明。 增量模型的缺点:1对现有产品功能造成破坏;2意义上的矛盾适用于中型软件的开发 螺旋模型的优点:1集成了瀑布模型、快速原型模型、增量模型的优点;2支持用户需求动态变化;3需求分析与软件实现紧密联系相互依赖;4原型作为刑式的可执行的需求规格说明,即利用用户和开发人员共同理解,又可作为后续开发的基础;5为用户参与决策提供方便;6提高目标软件的适应能力;7降低风险;8在大型软件开发过程中充分发挥优势。螺旋模型的缺点:1迭代次数影响开发成本,延迟提价时间;2找不到关键改进点,人才、物力、财力时间引起无谓消耗;3成于风险分析,败于风险分析。适用于内部开发的大规模软件项目。 1-8:为什么说喷泉模型叫好的体现了面向对象软件开发过程无缝和迭代的特性?

软件工程期末考试复习题

《软件工程》选择题 一、选择题(在每小题得四个备选答案中,选出一个正确答案,并将正确答案得序号填在题干得括号内,每小题1分) 软件工程 1、软件产品得开发主要就是(D )。 A、复制B、再生产C、拷贝 D、研制 2、作坊式小团体合作生产方式得时代就是(C )时代。 A、程序设计B、软件生产自动化 C、程序系统 D、软件工程3、软件工程与计算机科学性质不同,软件工程着重于(C )。 A、理论研究 B、原理探讨 C、建造软件系统 D、原理得理论 4、与计算机科学得理论研究不同,软件工程就是一门(C)学科。 A、理论性B、原理性C、工程性D、心理性 5、软件工程得出现主要就是由于( C )。 A、程序设计方法学得影响 B、其它工程科学得影响 C、软件危机得出现 D、计算机得发展 6、在软件工程项目中,不随参与人数得增加而使软件得生产率增加得主要问题就是( D ) A、工作阶段间得等待时间 B、生产原型得复杂性 C、参与人员所需得工作站数 D、参与人员之间得通信困难 7、软件工程方法学得目得就是:使软件生产规范化与工程化,而软件工程方法得以实施得 主要保证就是(C ) A、硬件环境 B、软件开发得环境 C、软件开发工具与软件开发得环境D、开发人员得素质 8、下列不属于软件工程方法学三要素得就是( D ): A、方法 B、工具 C、过程 D、操作 周期 1、将每个模块得控制结构转换成计算机可接受得程序代码就是(A )阶段得任务。 A、编码 B、需求分析 C、详细设计 D、测试 2、可行性研究得目得就是决定( B )。 A、开发项目 B、项目值得开发否 C、规划项目 D、维护项目 3、据国家标准GB8566-8计算机软件开发得规定,软件得开发与维护划分为八个阶段,其中组装测试得计划就是在( C )阶段完成得? A、可行性研究与计划 B、需求分析 C、概要设计D、详细设计4、初步用户手册在( B )阶段编写。 A、可行性研究B.需求分析C.软件概要设计D.软件详细设计 5、在软件得可行性研究中,可以从不同得角度对软件得可行性进行研究,其中就是从软件得 功能可行性角度考虑得就是(B ) A、经济可行性 B、技术可行性C、操作可行性D、法律可行性 6、瀑布模型把软件生命周期划分为八个阶段:问题得定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试与运行、维护。八个阶段又可归纳为三个大得阶段:计划阶段、开发阶段与( C )。 A、详细计划 B、可行性分析 C、运行阶段D、测试与排错

土木工程概论习题汇总(答案)

土木工程概论复习题汇总 一;填空题。 1. 砖按生产工艺分—烧结砖—和非烧结砖。 2. 砂一般分为天然砂和—人工砂________ 。 3. 配置混凝土时应优先选用—中砂______ 。 4. 所谓灰是指石灰_和石膏。 5. 土木工程中使用的钢材是指_线材_______ 和型材。 6. 水泥按其用途及性能分为通用水泥、_专用水泥_、特性水泥。 7. 普通混凝土是由水泥、 _粗骨料_、细骨料、和 _水—拌合,经硬化而成的一种人 造石材。 8. 绝热材料按其成分分为无机材料和_有机材料_。 9. 将上部结构的荷载传给土地基,连接上部结构与地基土的下部结构称为—基 础__ 。 10. 常用工程地质测绘方法有相片成图法和 _实地测绘法—。 11. 通常把位于天然地基上,埋置深度小于5m的一般基础以及埋深度虽超过5m 但小于基础宽度的大尺寸基础,统称为天然地基上的_____ 浅基础。 12. 刚性基础通常由砖、毛石、_素混凝土 _、和灰土等材料做成。 13. 建筑物的基础分为刚性基础和柔性基础,钢筋混凝土基础属于—柔性________ 基 础。 14. 浅基础一般分为单独基础,_条形基础_、伐板基础和箱形基础、壳体基础。 15. 埋置深度大于_ 5米______ 或大于基础宽度的基础,称为深基础。 16. 桩按荷载传递方式分为端承桩和 _摩擦桩_。 17. 建筑物的基本构建可分为梁、板、—柱_、拱。 18. 梁和板都是工程结构中的 _受弯—构件。 19. 梁按支撑方式可分为—简支梁_、悬臂梁和连续梁。 20. 柱是工程结构中的 _ 受压—构件。 21. 框架结构承受—竖向—荷载能力强,但承受水平荷载能力差。 22. 当前我国的公路等级按照其使用任务、功能和适应的交通量分为_ 5 —个等 级。

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

软件工程导论课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。(4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经 常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具 四、简述结构化范型和面向对象范型的要点,并分析他们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 五、1-5 根据历史数据可以做出如下的假设: 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:P1=×(美分/位) 如果计算机字长为16位,则存储器价格下降的趋势为:P2=×(美元/字) 在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。

软件工程期末复习填空题

软件工程填空题 1、软件危机是指在计算机软件的_开发和维护_过程中所遇到的一系列严重问题。 2、软件危机包含下述两个方面的问题:一是 _如何开发软件,以满足对软件日益增长的需求;二是_如何维护数量不断膨胀的已有软件_。 3、软件不同于硬件,它是计算机系统中的_逻辑部件_而不是物理部件。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为__生命周期__。 5、软件配置主要包括 __程序、文档_和_数据_ 等成分。 6、软件工程学的一个重要目标就是提高软件的 _可维护性、减少 _软件维护_ 的代价。 7、软件工程是指导计算机软件 __软件开发_ 和 __维护_ 的一门工程学科。 8、软件工程包括 _技术_ 和 __管理__ 两方面的内容,是技术与管理紧密结合所形成的工程学科。 9、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 _方法学_ ,也称为范型。 10、软件工程方法学包含_方法、工具和_过程_ 三个要素。 11、目前使用最广泛的软件工程方法学,分别是 _传统方法学和面向对象方法学 __ 。 12、概括地说,软件生命周期由 _软件定义_ 、 __软件开发_ 和 __运行维护(软件维护)__ 3个时期组成,每个时期又进一步划分为若干个阶段。 13、软件定义时期通常进一步划分为3个阶段,即 _问题定义__ 、 __可行性研究__ 和需求分析。、 14、螺旋模型将 _瀑布、_ 模型和 __快速原型_ 模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 15、瀑布模型 _不能_ 适应需求可变的软件开发,只有到 _开发结束_ 才能见到整个软件系统。 16、可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从 __技术可行性、经济可行性_和 _操作可行性__ 这三个方面研究每种解法的可行性。

土木工程概论习题答案

土木工程概论习题 第一章绪论 1.1土木工程概论课程的任务 1、简述土木工程的概念及其包含的内容。 答:概念:土木工程是建造各类工程设施的科学技术的总称,它即指工程建设的对象,即建在地上、地下、水中的各种工程设施,也指所应用的材料、设备和所进行的勘探设计、施工、保养、维修等技术。 包含的内容:基础工程、房屋建筑工程、交通土建工程、桥梁工程、港口工程、地下工程、水利水电工程。 1.2土木工程发展历史概述 1、简述古代土木工程的特点。 答:没有系统的设计理论,主要依靠经验 2、简述近代土木工程的特点。 答:(1)、有了比较系统的设计理论,如1683年意大利学者伽利略发表了“关于两门新科学的对话”,首次用公式表达了梁的设计理论;1687年牛顿总结出力学三大定律,为土木工程奠定了力学分析基础;1825年,法国的纳维于1825年建立了土木工程中结构设计的容许应力法。(2)、从材料方面讲,1824年波特兰水泥发明;1867年钢筋混凝土开始应用于土木工程;1859年转炉法炼钢发明 3、简述现代土木工程的特点。 答:(1)、功能要求多样化:由于电子技术,精密机械,生物基因工程,航空航天等高技术工业的发展,许多工业建筑提出了恒湿、恒温、防微震、防腐蚀、防辐射、防磁、无微尘等要求,并向跨度大、分隔灵活、工厂花园化的方向发展。 (2)、城市建设立体化:经济发展、人口增多,造成城市用地紧张、交通拥挤。 (3)、交通工程快速化:市场经济要求运输系统快速、高效,现代化技术的进步提供了条件。(4)、工程设施大型化 1.2土木工程的未来 1、目前土木工程面临的形势有哪些? 答:(1)、世界正经历工业革命以来的有一次重大变革,这便是信息(包括计算机、通信、网络等)工业的迅猛发展,可以预计人类的生产、生活方式将会发生重大变化。 (2)、航空、航天事业等高科技事业的发展,月球上已经留下了人类的足迹,对火星及太阳系内外星空的探索已取得了巨大进步。 (3)、地球上居住人口激增,目前世界人口已经达60亿,预计21世纪末,人口要接近百亿。地球上的资源有限,日益浩劫 (4)、生态环境受到严重破坏,随着工业的发展、技术的进步,人类的生存环境却日益恶化。 2、未来土木工程的发展趋势? 答:(1)、重大工程项目将陆续兴建 (2)、土木工程将向太空、海洋、荒漠地开拓 (3)、工程材料向轻质、高强、多功能化发展 传统材料的改性、化学合成材料的应用 (4)、设计方法精确化,设计工作自动化 (5)、信息和智能化技术全面引人土木工程

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若 干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早

软件工程课后习题答案第五版

软件工程课后习题答案第五版 《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。 (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 4.构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 5.什么是软件生存周期? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。 6.软件生存周期为什么划分成阶段? (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

软件工程期末考试复习题答案

《软件工程》选择题 一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号,每小题1分) 1.软件产品的开发主要是( D )。 A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 5.可行性研究的目的是决定( B )。 A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目 6.SA方法用DFD描述( D ) 。 A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 7.进行需求分析可使用多种工具,但( C )是不适用的。 A. 数据流图(DFD) B. 判定表 C. PAD图 D. 数据字典 8.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是( A)。a.结构化语言;b.判定树;c.判定表。 A. b和c B. a,b和c C. a和c D. a和b 9.软件概要设计结束后得到( B )。 A.初始化的软件结构图 B.优化后的软件结构图 C.模块详细的算法 D.程序编码 10.软件设计阶段一般又可分为 ( B )。 A.逻辑设计与功能设计 B.概要设计与详细设计 C.概念设计与物理设计 D.模型设计与程序设计 11.软件设计中划分模块的一个准则是( C )。 A.低聚低耦合 B.低聚高耦合 C.高聚低耦合 D.高聚高耦合 12.PDL是软件开发过程中用于( C )阶段的描述工具。 A.需求分析 B.概要设计 C.详细设计 D.编程 13.下列语言中哪个语言是低级语言( D ) A. PASCAL B.VISUAL BASIC C. C++ D.汇编语言 14.软件测试的目的是( B )。 A.试验性运行软件 B.发现软件错误 C.证明软件正确 D.找出软件中全部错误 15.软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。 A.应用围 B.部逻辑 C.功能 D.输入数据 16.黑盒法是根据程序的( C )来设计测试用例的。 A.应用围 B.部逻辑 C.功能 D.输入数据 17.下面的逻辑测试覆盖中,测试覆盖最弱的是( C )

《土木工程概论》复习题及标准答案

《土木工程概论》复习题及答案

————————————————————————————————作者:————————————————————————————————日期:

《土木工程概论》复习题及答案 一、填空题 1、土木工程包括、、 和等工程。 2、土木工程结构中常用的结构及构件形式包括、、 、和等。 3、钢筋混凝土结构主要包括框架结构体系、、、 等。 4、特种结构包括烟囱、、、、 、等。 5、桥梁结构主要包括、、、、 等。 6、我国第一条开工建设的高速公路是。 7、隧道工程的施工方法有和等几种。 8.工程规范分为,、和四级。 9.土木工程抗灾主要是和工程结构在受灾以后的 与等。 10.建设程序是指建设项目从、、、 、、到竣工验收,投入生产的整个建设过程中,各项工作必须遵守先后次序的法则。 11、岩石按成因分为、、。 12、路基可分为、和三种。 13、3级以上的地震称,5级以上的地震称。 14.项目管理基本目标有三个最主要的方面:, 和。 15.建设监理是指受的委托对或 进行监督和管理的活动。 16.建设项目管理的核心内容可概括为“三控制、二管理、一协调”,即、、、、、 和。 17.年月日国家建设部颁发了 《》,这是我国第一个建设监理的法规性文件。 18.工程建设监理的中心任务是、和。 答案: 1、建筑工程、道路工程、桥梁工程、给水排水工程、地下工程、铁路工程、隧道工程、港口工程、机场工程(任意4个即可) 2、墙、板、梁、柱、拱、壳、杆(填出5个即可) 3、剪力墙结构体系、框架剪力墙结构体系、筒体结构体系

4、冷却塔、水池、水塔、料斗、筒仓、桅杆结构(填出其中5个即可) 5、梁式桥、桁架桥、拱桥、刚架桥、悬索桥、斜拉桥(填出其中5个即可) 6、沈阳至大连高速公路 7、明挖、暗挖、盖挖、顶进、盾构(填出其中2个即可) 8.全国性的建设规范,地方性建设规范,地方性建设规章,各主管机构制定的规范。9.工程结构抗灾,检测,加固。 10.立项、报建;可行性研究;选择建设地点;编制设计任务书;编制勘察设计文件;建设施工 11、岩浆岩、沉积岩、变质岩。 12、路堤、路堑、半挖半填。 13、有感地震,破坏性地震。 14.专业目标,工期目标,费用目标。 15.监理单位、建设单位、工程建设全过程、项目实施阶段。 16.进度控制、质量控制、费用控制、合同管理、信息管理、组织协调。 17.1989、7、28、《建设监理试行规定》。 18.工程质量控制、工程投资控制、建设工期控制。 二、不定项选择题 1,土木工程包括() A,工程建设的对象 B,工程应用的材料设备 C,工程中进行的勘测设计D, 工程施工 2,砖、瓦、砂、石、灰属于() A,地方材料 B,结构材料 C,功能材料 D,工程材料 3,工程地质勘查的目的主要有() A,查明工程地质条件 B,分析存在的地质问题 C,寻找适宜的施工地区 D,对建筑地区做出地质评价 4,属于建筑基本构件的有() A, 板 B, 梁 C, 柱 D, 桩 5,中国的北京故宫属于() A, 钢结构 B, 砖石结构 C, 木结构 D, 钢筋混凝土结构 6,土木工程全面引入信息和智能化技术大致表现在() A, 信息化施工 B, 智能化建筑 C, 智能化交通 D, 工程分析仿真系统 7,砖砌体中使用的砂粒直径应小于() A, 1.5 mm B, 2 mm C, 2.5 mm D, 3 mm 8,可用于制造砂浆的胶凝材料是() A, 石灰 B, 水泥 C, 沥青 D, 石膏 9,浅基础按基础刚度的不同可分为() A, 刚性基础 B, 柔性基础 C, 扩展基础 D, 拓展基础 10,现在发现我国古代曾使用过的地基处理方法有() A, 夯实法 B, 预压法 C, 搅拌法 D, 振冲法 答案:1ABCD 2A 3ABD 4ABC 5C 6ABCD 7C 8ABD 9AC 10A 三、单项选择题

相关文档
相关文档 最新文档