第一章软件工程概述一. 填空题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. 软件工程原则如下:用分阶段的生存周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;应能清楚地审查结果;合理安排软件开发小组的人员6.软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。
6.软件生存周期一般分为如下几个阶段:S1:问题定义 S2:可行性研究 S3:需求分析 S4:概要设计 S5:详细设计 S6:编码 S7:测试 S8:运行与维护软件生存期也可以分为三个大的阶段:计划阶段。