当前位置:文档之家› 第一章软件工程概述习题及答案

第一章软件工程概述习题及答案

第一章软件工程概述习题及答案
第一章软件工程概述习题及答案

第一章软件工程概述习题

及答案

-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一章软件工程概述

一. 填空题

1. 软件的发展过程 , , , .

2. 基于软件的工作方式,软件可以划分为 , , , .

3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 .

4. 在计算机系统中,软件是 , 而硬件是 .

5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。

6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。

7. 软件生存期若分为三个大的阶段,, .

8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。

9. 在软件的生存周期开发阶段要经三个步骤 , , 。

10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。

11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,

和四个步骤。

12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。

13. 软件开发模型 , , , , , .

14. 软件工程面临的问题有 , , , .

15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 .

16.基于软件的功能划分可以把软件划分为 , ,和。

17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。

18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原

则: , ,和 , 。

20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

二. 选择题

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. 利用瀑布模型,如果发现问题修改的代价很低。

13.软件计划阶段要求()的交互和配合。

A.分析人员和设计人员B.分析人员和用户 C.设计人员和用户 D.代码开发人员和用户

14.软件危机是指在软件开发和维护中所产生的一系列严重的问题,在这些问题中相对次要的因素是() A.文档质量B.程序中的解释C.软件性能 D.开发进度

15.软件计划的任务是为项目负责人提供对软件资源、成本和进度的估价。其中对系统各种功能的界限划分应属于下列哪种任务

A.分析B.估价C.制定进度D.进度分配

16.软件文档时影响软件可维护性的重要因素,软件系统的文档可分为用户文档和系统文档。导致软件开发进度与软件文档完全脱节的根本原因是()

A.文档规范程度低B.生成文档的工具不够先进C.开发者不公重视D.工程化程度尚低

17.瀑布模型把软件生存周期划分为软件定义、()与运行及维护三个阶段,每一个阶段又可细分为若干更小的阶段。

A.可行性分析B.详细设计C.编码阶段D.软件开发

18.软件开发的原型化方法最有效的应用领域是()

A.科学计算 B.工程设计C.管理信息 D.实时控制

19.软件生命周期过程中,用户的参与主要在()

A.软件定义阶段B.软件开发阶段C.软件维护阶段D.整个软件生命周期过程中

20.结构化生命周期方法是将软件生命周期的各项活动规定为按固定次序连接的若干阶段的工作,因其特征而一般称为( )

A.层次模型 B.瀑布模型 C.螺旋模型 D.对象模型

三. 名词解释

1软件2系统软件3实时处理软件4.软件工程5.软件危机6.软件生存周期7.瀑布模型

8.螺旋模型

四. 简答题

1.说出软件的特点.

2.简述软件的种类 .

3.简述关键软件的特点.

4.软件危机主要有哪些表现其产生的原因是什么

5.软件工程有哪些原则

6.简述软件工程目标和面临的主要问题。

7. 软件生成周期一般可分为哪几个阶段

8. 软件的质量保证工作不能等到编码阶段结束之后再进行,简述其理由

9. 简述软件工程研究的基本内容与目标

10. 在用瀑布模型开发软件时,每项开发活动均应具有哪些特征

11. 简述第四代技术模型的优点和缺点。简述在软件开发模型中原型模型的优点和缺点,适用范围和不适用范围

第一章习题答案

一. 填空题答案

1.程序设计阶段程序系统阶段软件工程阶段第四阶段

2. 实时处理软件分时软件交互式软件批处理软件

3. 集中的主机分布的客户/服务器

4. 逻辑部件物理部件

5. 二三

6. 管理人员开发人员用户使用维护人员

7. 计划阶段开发阶段维护阶段

8. 基准配置

9. 设计编码测试 10. 软件需求明确 11. 制定计划风险分析开发实施用户评估12. 风险分析风险概念项目13.瀑布模型螺旋模型第四代技术模型原型模型构件组装模型混合模型 14. 软件费用可靠性可维护性可重用性及生产率等 15. 基本继承16.系统软件支撑软件应用软件17.大型软件软件危机计算机软件工程学18.计算机软件开发和维护 19.分解抽象和信息隐蔽一致性确定性

20.软件的总目标待开发软件的需求

二. 选择题答案

11 A 12 C 13 B 14 D 15 B 16 D 17 D 18 C 19 A 20C

三. 名词解释答案

1. 软件的定义如下:

在运行中能提供所希望的功能和性能的指令集;使程序能正确运行的数据结构;描述程序研制过程和方法所用的文档。

2.系统软件:是与计算机硬件紧密配合以使计算机的各个部件与相关软件及数据协调、高效工作的软件。

3. 实时处理软件:指在事件或数据产生时,立即处理,并及时反馈信号,控制需要监测和控制的过程的软件。

4. 软件工程是指导计算机软件开发和维护的一门学科

5. 软件危机指的是软件开发和维护过程中遇到的一系列严重问题

6.软件生存周期: 就是从提出软件产品开始,直到该软件产品被淘汰的全过程

7. 瀑布模型又称生存周期模型,由提出,是软件工程的基础模型。其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作

8. 螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析,弥补了两者的不足

四. 简答题答案

1.软件既是知识产品,又是与汽车,建筑物一样的工业产品,此外,软件还具有类似艺术,学术那样的知识性创造和特点,因此,可以说软件就是独特的特点

软件的特点如下:软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性;软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的;在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题;软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖关系;软件的开发尚未完全摆脱手工的开发方式;软件的开发费用越来越高,成本相当昂贵;软件的开发是一个复杂的过程,因而管理是软件开发过程中必不可少內容。

2. 软件的种类:

基于软件的功能划分:系统软件支撑软件应用软件

基于软件工作方式划分:实时处理软件分时软件交互式软件批处理软件

基于软件规模的划分:微型软件小型软件中型软件大型软件甚大型软件极大型软件

基于软件失效的影响进行划分:

基于软件服务对象的范围划分:定制软件产品软件

)可靠性质量要求高;(2)常与完成重要功能的大系统的处理部件相联; 3)含有的程序可能对人员、公众、设备或设施的安全造成影响。还可能影响到环境的质量和关系到国家的安全和机密。

4.软件危机主要表现如下:

产品不符合用户的实际需要:软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长速度,使人们不能充分利用现代计算机硬件提供的巨大潜力。软件产品的质量差;对软件开发成本和进度的估计常常不准确;软件的可维护性差;软件文档资料通常既不完整也不合格;软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。

造成软件危机的原因是:软件的规模越来越大,结构越来越复杂。软件开发管理困难而复杂。软件开发费用不断增加。软件开发技术落后。生产方式落后。开发工具落后,生产率提高缓慢。5. 软件工程原则如下:

用分阶段的生存周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;应能清楚地审查结果;合理安排软件开发小组的人员

第1章_软件工程学概述练习题

第一章练习题 一、判断题 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√) 2..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开 发实际上就是编写程序代码。(X) 3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是 生成类的模板。(X) 4.快速原型模型可以有效地适应用户需求的动态变化。(√) 5.类是关于对象性质的描述,由方法和数据组成。(√) 6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 二、名字解释: 1.软件:完成特定功能的程序+数据结构+文档。 2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 3.软件工程:指导计算机软件开发和维护的一门工程学。 4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时 期。 5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可 行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往 是最终产品能完成的功能的一个子集。 8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开 发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件; 增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。 9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模 型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。 对象。

软件工程概述习题及答案

第一章软件工程概述 一. 填空题 1. 软件的发展过程, , , . 2. 基于软件的工作方式,软件可以划分为, , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境. 4. 在计算机系统中,软件是, 而硬件是. 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,,. 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤, , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型, , , , , . 14. 软件工程面临的问题有, , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和. 16.基于软件的功能划分可以把软件划分为, ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则:, ,和, 。 20.原型模型是从需求分析开始。软件开发者和用户在一起定义,说明需求,并规划出定义的区域。然后快速设计软件中对用户/客户可见部分的表示。快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

软件工程概述课程作业

软件工程作业与解答 第一章软件工程概述 1.简述软件的发展过程。 答:计算机软件的发展经历了三个阶段:(1)程序设计阶段,约50至 60 年代;(2)程序系统阶段,约60至70年代;(3)软件工程阶段, 约70年代以后。各个时期软件开发的特点见课本第7页表1.3。 2.简述软件的定义及特点。 答:软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、数据及其相关文档的完整集合。 特点见课本第1页至第3页。 3.简述软件的种类。 答:见课本第3页至第6页。 4.什么叫软件危机? 答:在软件发展的第二阶段,随着计算机硬件技术的进步,计算机的容量、速度和可靠性有了明显的提高,生产硬件的成本降低了。计算机价格的下跌为它的广泛应用创造了极好的条件。在这一形式下,要求软件能与之相适应。然而软件技术的进步一直未能满足形式发展提出的要求。 在软件开发中遇到的问题找不到解决的办法,致使问题积累起来,形成日益尖锐的矛盾。软件开发时期所面临的这种状态就是所谓的软件危机。 5.软件危机主要有哪几种表现? 答:见课本第8页(1)、(2)、(3)、(4)。

6.什么叫软件工程? 答:开发、运行、维护和修复软件的系统方法。 7.什么叫软件生存周期? 答:软件从孕育、诞生、成长、成熟到衰亡的过程叫软件生存周期。它 包括制定计划、需求分析、设计、程序编码、测试及运行维护。 8.简单介绍软件开发的瀑布型模型和螺线型模型。 答:见课本第11页至第14页。 第二章系统分析 1.简述系统分析的目标 (1) (2) (3) (4) (5) (6)识别用户要求; 评价系统的可行性; 进行经济分析和技术分析; 把功能分配给硬件、软件、人、数据库和其它系统元素; 建立成本和进度限制; 生成系统规格说明,形成所有后续工程的基础。 2.系统分析过程的第一步就是识别用户要求。要求的识别是系统开发的起点。为此,分析员必须回答哪些问题,才能完成这一步骤? (1) (2) (3) (4) (5) (6) (7) (8)所期望的功能和性能是什么可靠性和质量问题是哪些总的系统目标是什么成本与进度限制如何制造的需求是什么 市场与竞争情况怎样 有效的技术有哪些 将来可能有哪些扩充 3.软件项目的可行性研究主要集中在哪个方面? (1)经济可行性。(2)技术可行性。(3)法律可行性。(4)抉择。

软件工程习题解答第一章概述

软件工程习题解答 第一章概述 1.软件产品的特性是什么? a.软件产品是一种逻辑产品。 b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成 后,复制就产生了大量软件产品。 c.软件产品不会用坏,不存在磨损、消耗问题。 d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。 e.软件费用不断增加,成本相当昂贵。 2.软件产品有几个阶段?各有何特征? 阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今) 生产方式个体手工劳动小集团合作生产工程化的生产 工具机器语言、汇编高级语言数据库、开发工具、开发环境、 网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运 行效率 个人技巧,开始提出结构化方法 硬件特征价格贵、存储容量小、运行 可靠性差速度、容量、工作可靠性有明显提 高,价格降低,销售有爆炸性增长 向超高速、大容量、微型化以 及网络化方 软件特征只有程序、程序设计概念, 不重视程序设计方法程序员数量猛增,已意识到软件开 发的重要性,开发技术没有新的突 破,大量软件开发的需求已提出, 开发人员的素质和工程兵的开发技 术不适应规模大、结构复杂的软件 开发,产生了尖锐矛盾,导致软件 危机的产生 开发技术有很大进步,但未能 获得突破性进展,软件价格不 断上升,没有完全摆脱软件危 机 3.什么是软件危机?其产生的原因是什么? 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。 在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的: a.软件的规模越来越大,结构越来越复杂。 b.软件开发管理困难而复杂。 c.软件开发费用不断增加。 d.软件开发技术落后。 e.生产方式落后。 f.开发工具落后,生产率提高缓慢。

华南理工软件工程随堂练习

1.(单选题) 软件工程的出现主要是由于()。A.程序设计方法学的影响B.其他工程科学的影响C.软件危机的出现D.计算机的发展 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.(单选题) 软件工程方法的提出起源于软件危机,其目的应该是最终解决软件的()问题。A.软件危机B.质量保证C.开发效率D.生产工程化 答题: A. B. C. D. (已提交) 参考答案:D 问题解析: 3.(单选题) 软件工程学涉及软件开发技术和项目管理等方面的内容,下述内容中()不属于开发技术的范畴。 A.软件工程经济B.软件开发工具 C.软件工程环境D.软件开发方法 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 4.(单选题) ()是将软件生命周期的各个阶段,依线性顺序连接,用文档驱动的模型。A.智能模型B.瀑布模型C.螺旋模型D.喷泉模型 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 5.(单选题) 原型模型是用户和设计者之间的一种交互过程,适用于()系统。 A.需求不确定性较高的B.需求确定的 C.管理信息D.决策支持 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 6.(单选题) 快速原型从设计用户界面开始,首先形成(),然后用户运行界面原行,并就同意什么和不同意什么提出意见。 A.用户使用手册B.系统界面原行 C.界面需求分析说明书D.完善用户界面

答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 7.(单选题) 喷泉模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,喷泉模型的开发过程具有()和无间隙。 A.确定性B.迭代性C.可靠性D.风险性 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 8.(单选题) 要开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果精确到小数点后4位,一旦实现并测试完后,该产品将被抛弃。该项目选择()生命周期模型。A.快速原型B.瀑布模型C.喷泉模型D.螺旋模型 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: A. B. C. A. B. C. A. B. C.

《软件工程》第一章软件工程学概述

第一章软件工程学概述 1.1 软件危机 1.1.1 软件的定义 ——定义:软件=“完成特定功能的程序+数据结构+文档” ——特征:(3个)软件是开发的,而不是制造的;软件不磨损,但退化;自定义。 ——发展问题 1.1.2 软件危机的表现 ——定义:在计算机软件的开发和维护过程中所遇到的一系列严重的问题。 ——表现:(6个) (1)对软件开发成本和进度的估计常常很不准确。 (2)软件产品质量较差,可靠性低。 (3)用户对开发出来的软件产品不满意。 (4)软件常常是不可维护的。 (5)软件产品缺少应有的文档资料。 (6)软件产品的供不应求。 1.1.3 软件危机的原因 ——客观原因 ——主观原因 1.2 软件工程 1.2.1 软件工程的概念 ——定义:指导软件开发与维护的工程科学。采用工程的概念、原理、技术和方法来开发和维护软件,综合运用正确的管理技术和最好的技术方法,以经济 地开发出高质量的软件并有效维护它。 IEEE的定义:①软件工程是把系统的、规范的、可度量的途径应用于软件 开发、运行和维护过程,也就是把工程应用于软件;②对这些途径加以研究。 1.2.2 软件工程的基本原理(7个) ——(1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果可以清楚地审查 (6)开发小组成员少而精 (7)承认不断改进软件工程实践的必要性 1.2.3 软件工程方法学:3个要素(方法、工具和过程) ——传统方法学:结构化技术,软件生命周期 ——面向对象方法学:类+对象+继承+消息,软件开发过程更接近人类认知模式 1.3 软件生命周期 1.3.1 软件生命周期的概念 ——定义:一个软件从定义、开发、使用和维护,直至最终被废弃,要经历的漫长的时期称为软件生命周期。

第一章软件工程概述习题及答案

第一章软件工程概述习题 及答案 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一章软件工程概述 一. 填空题 1. 软件的发展过程 , , , . 2. 基于软件的工作方式,软件可以划分为 , , , . 3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 . 4. 在计算机系统中,软件是 , 而硬件是 . 5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。 6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。 7. 软件生存期若分为三个大的阶段,, . 8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。 9. 在软件的生存周期开发阶段要经三个步骤 , , 。 10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。 11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,, 和四个步骤。 12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个____ 。从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。 13. 软件开发模型 , , , , , . 14. 软件工程面临的问题有 , , , . 15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 . 16.基于软件的功能划分可以把软件划分为 , ,和。 17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。 18.软件工程是指导的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。 19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原 则: , ,和 , 。

软件工程第一二三章习题参考答案

第一章软件工程概述 软件是计算机程序及其有关的数据和文档的结合。 软件危机是指在计算机软件开发和维护时所遇到的一系列问题。 软件危机主要包含两方面的问题:一是如何开发软件以满足对软件日益增长的需求;二是如何维护数量不断增长的已有软件。 软件工程是软件开发、运行、维护和引退的系统方法。 软件工程是指导计算机软件开发和维护的工程学科。软件工程采用工程的概念、原理、技术和方法来开发与维护软件。软件工程的目标是实现软件的优质高产。 软件工程学的主要内容是软件开发技术和软件工程管理。 软件开发方法学是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。常用的软件开发方法有结构化方法、面向数据结构方法和面向对象方法等。 习题参考答案: 1.什么是软件危机?为什么会出现软件危机? 答:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。 出现软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系统中逻辑件而不是物理部件。管理和控制软件开发过程相当困难。软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。总结如下: 1)取得正确的用户需求和正确地描述需求很困难 2)开发人员对需求的正确理解也有困难 3)常常在没有正确理解之前就仓促开始编程 4)软件项目缺乏有效的组织、管理和内部交流 5)缺乏软件开发方法、模型和工具的支持 6)软件维护的困难性 2.假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件已经完成时再引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。 3.什么是软件工程?它有哪些本质特性?怎样用软件工程消除(至少是缓解)软件危机? 答:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

软件工程笔记(完整版)

第一章软件工程概述 1.软件危机 (software crisis):是指在计算机软件的开发和维护过程中所遇到的一系列 严重问题。即“两低一高”问题:质量低、效率低、成本高。 软件危机也成为“软件萧条(depression)”或“软件困扰(afflication)” 2.软件危机主要表现 1)开发成本和进度估计不准 2)用户对“已完成的”软件系统不满意 3)软件质量往往靠不住 4)软件常常是不可维护的 5)软件通常没有适当的文档资料 6)软件成本逐年上升 7)软件开发生产率滞后于硬件和计算机应用普及的趋势 3.产生软件危机的原因 1)与软件本身的特点有关 a. 软件不同于硬件,是逻辑部件而不是物理部件 缺乏可见性 难于测试 管理和控制开发过程困难 不会因使用时间过长而被“用坏” 难以维护 b.软件不同于一般程序,规模庞大,而且程序复杂性随着程序规模的增加而呈指数上 升 2)和软件开发与维护的方法不正确有关 a.对软件开发和维护有关的错误认识和作法 忽视软件需求分析的重要性 认为软件开发就是写程序 轻视软件维护 b. 对软件开发过程与方法的认识与应用 软件开发要经历一个漫长的时期(编程占10-20%) 程序仅是完成软件配置的一个组成部分 软件开发方法要有利于软件维护 4.软件的特点 (1)软件是无形的(intangible) (2)软件副本的大批量生产轻而易举 (3)软件业是劳动密集型的 (4)一个没有经过充分训练的软件开发人员很容易编写出难以理解和修改的软件 (5)软件本身很容易修改。但由于它的复杂性,又很难正确地修改。 (6)软件不像其他的工业产品那样会因使用而磨损,随着反复修改,它的设计会逐渐退 化 5.消除软件危机的途径 1)对计算机软件的正确认识 2)认识到软件开发不是个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 3)推广使用成功的软件开发技术和方法

软件工程第一章概述

第一章:概述 目标: 什么是软件工程,为什么它很重要; 开发不同类型的软件系统可能需要不同的软件工程方法; 道德和职业问题对于软件工程的重要性; 介绍3个不同类型的软件系统,这3个系统将作为贯穿全书的例子; 1.1专业化软件开发 一.对于软件工程的一些常见问题 1.什么是软件? 计算机程序和相关文档。软件产品可针对特定客户开发或为通用市场开发。 2.什么是优良软件的特点? 好的软件应具有用户所需的功能与性能,而且应该可维护,可靠,可用。 3.什么是软件工程? 软件工程师关于软件生产的各个方面的工程学科。 4.什么是基本的软件工程活动? 软件描述,软件开发,软件验证以及软件进化。 5.软件工程和计算机科学有何区别? 计算机科学侧重理论和基础,而软件工程则侧重于软件开发和交付的实际活动。 6.软件工程和系统工程有何区别? 系统工程侧重基于计算机系统的开发的所有方面,包括硬件,软件和过程工程。 7.软件工程面临的主要挑战是什么? 不断增长的多样性,减少交付时间以及开发可靠的软件的要求。 8.什么是软件工程的成本? 软件开发成本约占总成本的60%,测试成本占40%。对于定制软件而言,进化成本常常高于开发成本。 9.什么才是最好的软件工程技术和方法? 由于所有的软件项目都必须进行专业化的管理和开发,所以不同的技术应适用于不同类型的系统。例如,游戏开发需要一系列原型,而安全要求极高的控制系统开发需要一个完整的和可分析的描述。因此,你不能单纯的评判一种方法比另一种方法更好。 10.Web给软件工程带来了哪些不同? Web带来了软件服务的可用性,以及开发高品质的基于服务的分布式系统的可能性。基于Web的系统开发极大地促进了编程语言和软件复用的发展。 二.软件产品有以下两类 1.通用软件产品 2.定制软件产品 这两类产品的一个重要区别在于:在通用软件产品中,软件描述由开发者自己完成,而定制软件产品,其软件描述通常是由客户给出,开发者必须按客户要求进行开发。 三.软件除了提供相应的功能外,作为一个产品它还有一系列相关的反映质量的属性。这些属性不直接涉及软件的功能,而是反映软件在执行时的行为以及源程序的结构,组织及相关的文档。软件对用户查询的响应时间和程序代码的可理解性就属于这类属性(有时也称为非

软件工程笔记(完整版)

第一章软件工程概述 1. 软件危机(software crisis):是指在计算机软件的开发和维护过程中所遇到的一系列 严重问题。即“两低一高”问题:质量低、效率低、成本高。 软件危机也成为“软件萧条(depression) ”或“软件困扰(afflication) ” 2. 软件危机主要表现 1 )开发成本和进度估计不准 2 )用户对已完成的”软件系统不满意 3 )软件质量往往靠不住 4 )软件常常是不可维护的 5 )软件通常没有适当的文档资料 6 )软件成本逐年上升 7 )软件开发生产率滞后于硬件和计算机应用普及的趋势 3. 产生软件危机的原因 1 )与软件本身的特点有关 a. 软件不同于硬件,是逻辑部件而不是物理部件 缺乏可见性 难于测试 管理和控制开发过程困难 不会因使用时间过长而被“用坏” 难以维护 b. 软件不同于一般程序,规模庞大,而且程序复杂性随着程序规模的增加而呈指数上升 2 )和软件开发与维护的方法不正确有关 a. 对软件开发和维护有关的错误认识和作法 忽视软件需求分析的重要性 认为软件开发就是写程序 轻视软件维护 b. 对软件开发过程与方法的认识与应用 软件开发要经历一个漫长的时期(编程占10-20%) 程序仅是完成软件配置的一个组成部分 软件开发方法要有利于软件维护 4. 软件的特点 (1) 软件是无形的(intangible ) (2) 软件副本的大批量生产轻而易举 (3) 软件业是劳动密集型的 (4) 一个没有经过充分训练的软件开发人员很容易编写出难以理解和修改的软件 (5) 软件本身很容易修改。但由于它的复杂性,又很难正确地修改。 (6) 软件不像其他的工业产品那样会因使用而磨损,随着反复修改,它的设计会逐渐退 化 5. 消除软件危机的途径 1) 对计算机软件的正确认识 2 )认识到软件开发不是个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员 协同配合、共同完成的工程项目 3 )推广使用成功的软件开发技术和方法

相关主题
文本预览
相关文档 最新文档