计算机科学导论(第4版)习题答案第7章 软件工程(答案)_第1页
计算机科学导论(第4版)习题答案第7章 软件工程(答案)_第2页
计算机科学导论(第4版)习题答案第7章 软件工程(答案)_第3页
计算机科学导论(第4版)习题答案第7章 软件工程(答案)_第4页
计算机科学导论(第4版)习题答案第7章 软件工程(答案)_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章软件工程习题(答案)1.D 2.B 3.C 4.B 5.A6.C 7.A 8.D 9.C 10.B11.C 12.C 13.D答:随着计算机应用的普及和深化,计算机软件的数量、规模、复杂程度和开发所需的人力、物力等都在急剧增加,计算机发展初期个人编写小程序的传统方法,已不再适合现代大型软件的开发,用传统方法开发出来的许多大型软件甚至无法投入运行。同时,由于计算机应用领域和硬件技术得到丁飞速发展,软件的生产速度、质量和规模远远适应不了对软件的需求,造成大量人力、物力、财力的浪费,在软件开发和维护过程中出现了巨大的困难。计算机领域把大型软件开发和维护过程中遇到的一系列严重问题称为“软件危机”(SoftwareCrisis)。答:软件危机的表现形式:(1)软件的质量难以保证开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。这种不可靠的软件,轻者会影响系统正常工作,重者会发生事故,造成生命财产的重大损失。(2)软件开发成本和开发进度难以控制经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计算很难制定。主观盲目制定的计算,执行起来和实际情况有很大差距,使得开发经费一再突破。由于对工作量和开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。(3)软件的维护非常困难开发的软件可维护性差。开发过程没有统一的、公认的规范,软件开发人员按各自的风格工作,各行其事。开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行进发现错误也很难修改,导致维护性差。(4)用户对“已完成”的软件系统不满意开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确表达。开发工作开始后,软件人员和用户又未能及进交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,使开发失败。答:软件工程是研究大规模程序设计的方法、工具和管理的一门工程科学,也就是运用系统的、规范的和可定量的方法来开发、运行和维护软件的系统工程。软件工程是—门交叉学科,涉及到计算机科学、管理科学、工程学和数学。软件工程的理论、方法、技术都是建立在计算机科学的基础上,它是用管理学的原理、方法来进行软件生产管理;用工程学的观点来进行费用估算、制定进度和实施方案;用数学方法来建立软件可靠性模型以及分析各种算法和性质。软件工程是指导计算机软件开发和维护的工程学科。答:软件工程的目标可概括为:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需要的软件产品。答:软件工程过程包含如下7个过程。(1)获取过程:获取过程为需方按合同获取一个系统、软件产品或服务的活动。(2)供应过程:供应过程为供方向需方提供合同中的系统、软件产品或服务所需的活动。(3)开发过程:开发过程为开发者和机构为了定义和开发软件或服务所需的活动。引过程包括需求分析、设计、编码、集成、测试、软件安装和验收等活动。(4)操作过程:操作过程为操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。(5)维护过程:维护过程为维护者和机构为了管理软件的修改,使它处于良好运行状态所需要的活动。(6)管理过程:管理过程为软件工程过程中各项管理活动,包括项目开始和范围定义;项目管理计划;实施和控制,评审和评价;项目完成。(7)支持过程:支持过程对项目的生存周期过程给予支持。它有助于项目的成功并能提高项目的质量。答:软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。答:常见的软件工程模型有:瀑布模型、螺旋模型、快速原型模型、智能模型等等。答:喷泉模型是一种以用户需求为动力,以对象作为驱动的模型。它适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计和实现等开发活动之间不存在明显的边界。智能模型又称智能生存周期模型,是基于知识的软件开发模型,它把瀑布模型与专家系统结合在—起。该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与含应用领域知识规则的其他专家系统相结合,构成这一应用领域软件的开发系统。答:模块的划分不能够随意进行,而是应该遵循一定的原则:(1)划分的模块要有尽量高的功能独立性,而模块之间应该是低耦合(关联少)的。(2)模块的大小要适宜,过大,增加模块本身的复杂性;过小,模块数增多,会增加模块间关联度。(3)模块间接口是必须是明确的。(4)模块间可以有调用关系,这个调用的层次不能太多。(5)尽量注意提高模块的复用率,提高开发效率。答:结构化方法通常遵循以下原则:(1)用户参与的原则。由于整个软件开发工作的复杂性,用户的需求分析至关重要,但是,用户的需求不是一次就能够明确的,而是随着系统开发工作的深入,用户的需求表达和开发人员对用户需求的理解才能逐步明确、深化和细化。这就要求软件的开发要有用户的积极参与。否则,往往导致开发缓慢、不断反复、甚至失败。(2)先分析、再设计、后实现的原则。结构化方法强调在进行系统设计和系统实施之前,要先进行充分的需求调查与分析,进行可行性的论证,即首先解决系统“做什么”的问题,然后再进入系统设计、系统实施阶段,来解决“如何做”的问题。(3)自顶向下的原则。在系统分析、设计、实施等各阶段,结构化方法都强调“自项向下”的原则,即从总体目标和功能出发,逐级分解、逐步细化,将整个开发系统分解,先实现某些子系统,然后再实现总的目标和功能。遵循这个原则,可以将一个复杂的问题分解成若干个比较简单的问题分别加以解决,从而降低了解决问题的难度。(4)阶段成果文档化。结构化方法强调要将每一工作阶段的成果,用明确的文字和标准化的图形、表格等文档化工具进行完整而又准确的描述。这些文档即可标志阶段开发工作的结束,又是下阶段工作开展的主要依据。答:软件质量是贯穿软件生存期的一个极为重要的问题,关于软件质量的定义有多种说法,从实际应用来说,软件质量定义如下:(1)与所确定的功能和性能需求的一致性。(2)与所成文的开发标准的一致性。(3)与所有专业开发的软件所期望的隐含特性的一致性。答:软件的质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。答:软件可靠性定义表明了一个程序按照用户的要求和设计的目标,执行其功能的正确程度。一个可靠的程序应要求是正确的、完整的、一致的和健壮的。答:设计质量的评审内容:(1)评价软件的规格说明是否合乎用户的要求,即总体设计思想和设计方针是否明确;需求规格说明是否得到了用户或单位上级机关的批准;需求规格说明与软件的概要设计规格说明是否一致等。(2)评审可靠性,即是否能避免输入异常(错误或超载等)、硬件失效及软件失效所产生的失效,一旦发生应能及时采取代替或恢复手段。(3)评审保密措施实现情况,即是否提供对使用系统资格进行检查;对特定数据的使用资格、特殊功能的使用资格进行检查,在查出有违反使用资格情况后,能否向系统管理人员报告有关信息;是否提供对系统内重要数据加密的功能等。(4)评审操作特性实施情况,即操作命令和操作信息的恰当性,输入数据与输入控制语句的恰当性;输出数据的恰当性;应答时间的恰当性等。(5)评审性能实现情况,即是否达到所规定性能的的目标值。(6)评审软件是否具有可修改性、可扩充性、可互换性和可移植性。(7)评审软件是否具有可测试性。(8)评审软件是否具有复用性。答:容错软件的定义,有以下4种:(1)规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件,即容错软件。(2)规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称之为容错软件。(3)规定功能的软件,在因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。(4)规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。答:软件开发环境是指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。软件工程环境是一组方法、过程及计算机程序(计算机化的工具)的整体化构件,它支持从需求定义、程序生成直到维护的整个软件生存期。(1)代码的复用。这是软件复用最直观的一个级别。(2)设计结果的复用。设计结果比源程序的抽象级别更高,受实际环境的影响较小,从而使得可复用构件被复用的机会更多,并且所需的修改更少。一般存在3种途径:第一种途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应用于新系统的设计中;第二种途径是把一个现有系统的全部设计文档在新的软、硬件平台上重新实现,也就是把一个设计运用于多个具体的实现;第三种途径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。(3)分析结果的复用。这是比设计结果的复用更抽象的一种复用,可被复用的分析结果是针对问题域的某些问题的抽象程度更高的解决办法,受设计技术及实现条件的影响非常小,所以可复用的机会更大。复用的途径也有3种:可以从现有系统的分析结果中提取可复用构件用于新系统的分析;用一份完整的分析文档作为输入,产生针对不同软、硬件平台和其他实现条件的多项设计;独立于具体应用,专门开发一些可复用的分析构件。(4)测试结果的复用。这主要包括测试用例的复用和测试过程信息的复用。(1)以检测为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论