实用软件工程第3版习题解答V1.2

上传人:桔**** 文档编号:498031516 上传时间:2022-09-12 格式:DOC 页数:43 大小:484.50KB
返回 下载 相关 举报
实用软件工程第3版习题解答V1.2_第1页
第1页 / 共43页
实用软件工程第3版习题解答V1.2_第2页
第2页 / 共43页
实用软件工程第3版习题解答V1.2_第3页
第3页 / 共43页
实用软件工程第3版习题解答V1.2_第4页
第4页 / 共43页
实用软件工程第3版习题解答V1.2_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《实用软件工程第3版习题解答V1.2》由会员分享,可在线阅读,更多相关《实用软件工程第3版习题解答V1.2(43页珍藏版)》请在金锄头文库上搜索。

1、实用软件工程第3版习题参考答案习题11.1开发文档都有哪些?用图示表示它们之间的关系。开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如下图所示。目标程序洋細设计说明书概耍设计说明书需求观格说明书用户甜求报吿软件合同1.2简述软件工程研究的内容。软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。其中软件开发方法的内容又涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。常用的软件开发模型有瀑布模型、迭代模型

2、、增量模型和原型模型。软件支持过程由所支持的CASE工具组成,常用的CASE工具有PowerDesigner和RationalRose。软件管理过程主要有CMMI、IS09000、微软企业文化和敏捷文化现彖。1.3详细解释软件的定义、程序的定义及软件工程的定义。软件的定义:软件=程序+数据+文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的人量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。现在有一种新提法正在引起关注,这种提法是:软件=知识

3、+程序+数据+文档。程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为:面向过程的程序=算法+数据结构面向对象的程序=对彖+信息面向构件的程序=构件+构架软件工程是研究软件开发和软件管理的一门工程学科。1.4软件工程的7+1条基本原理有什么现实意义?软件工程的7条基本原理是在面向过程的程序设计时代(结构化时代)提出来的,但在面向数据和面向对彖的程序设计的今天,它仍然有效。并且在军事上的实时跟踪监控系统中有很好的应用,而且随着软件的开发和管理的进步,它将不断完善和充实。请读者注意,作者在书中又新加入了第8条基本原理:软件工程中的二八定律,这是对基本原理的补充与发展。1.5读者

4、认同“4种开发方法”的方法论和“五个面向”的实践论吗?为什么?“四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法”。面向过程的方法来源于面向过程的程序设计:面向对象的方法来源于面向对彖的程序设计;面向数据的方法就是面向元数据的方法,它来源于关系数据库程序设计:形式化方法来源于离散数学中的集合运算和逻辑运算。四种方法各适用于不同的场合,各有优缺点,互相促进,构成开发方法论的多极化世界。“五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。总之

5、,上述提法既精彩又实用。1.6怎样理解软件工程的支持过程和管理过程?软件工程的支持过程是由支持软件生存周期各个阶段的生产工具所组成的。就是说将一个软件的生存周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单位测试、集成测试、运行、维护这几个过程。在这些过程中,需要配套相应的工具来支持,比如需求分析工具、设计工具、实现工具、测试工具、维护工具、配置工具,开发坏境等。1.7CASE工具、软件开发环境SDE、软件工程坏境SEE三者之间有何联系与区别?CASE(ComputerAidedSoftwareEngineering)是一组工具和方法的集合,一般提供给个人使用,可以辅助软件

6、开发生命周期各阶段进行软件开发。它在软件开发/维护过程中提供计算机辅助支持和工程化方法,CASE技术分为两类,一类是支持软件开发过程本身的技术,另一类是支持软件开发过程管理的技术。软件开发环境SDE(SoftwareDevelopmentEnvironment)指在基本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。软件配置管理工具、面向行业领域开发的业务基础平台,都是软件开发环境的例子。软件工程环境SEE(SoftwareEng

7、ineeiingEiiviiomnent)一般提供给团队使用,它是以软件工程为依据,支持典型软件生产的系统。SEE具有以下特点:(1)强调支持软件生产的全过程。(2)强调大型软件的工业化生产。(3)以集成和剪裁作为主要技术路径,实现软件工业化生产的目标。(4)标准化。软件生产走向工业化需要建立相应的工业标准。软件工程环境的例子有北大青鸟系统,RationalRose等。三者的相同点是:都是软件过程的支持工具,其目的都是为了加快软件开发效率,提高软件开发质量。三者的不同点是:它们的功能强弱、使用范围、使用背景不尽相同。1.8是否存在这样一种现彖:搞系统软件的公司不需要采用CMND或ISO9001

8、模式?CMMI或ISO9001模式只适用于搞应用软件的企业?如果是,是为什么?如果不是,又是为什么?不是。因为CMMI和ISO9000模式规定了严格的管理制度、文档和评估软件能力与成熟度等级的一套标准,它们几乎包括了所有的IT的企业,只是一些优秀的企业自己内部形成特有的企业管理文化,但是它们并不排斥CMND和ISO9000模式,甚至还充分肯定CMMI和ISO9000体系。1.9敏捷文化现象是什么意思?敏捷文化现彖是指好的开发过程应该可以在保证质量的前提下,做到文档适度、度量适度和管理适度,并且根据敏捷文化能迅速做出自我调整,实现企业效益的最大化。1.10“轻载过程改进模型”(敏捷文化现彖)能代

9、替或战胜“重载过程改进模型”CMMI吗?不能。因为轻载过程改进模型只适用于少于12人的项目,对个人的素质要求很高,成功的人型复杂案例并不多,它特别适合于中小型软件企业,以及中小型软件项目。而重载过程改进模型CMM/CMMI在某种程度上包容了轻载过程改进模型,它对整体的素质要求很高,适合于所有的IT企业。1.11什么叫软件危机?通过本章的学习,你认为应该怎样克服软件危机?所谓软件危机,就是在软件开发和维护过程中所遇到一系列难以控制的问题。“软件危机”这个专业术语的首次出现,是1968年NATO(NorthAtlanticTreatyOrganization,北约)的计算机科学家,在联邦德国召开的

10、国际学术会议上提出的。为了克服软件危机,同样是在1968年,北约科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。就在那次会议上,第一次提出了软件工程(SofhvaieEngineenng)这个专业术语。当时人们的想法是:若借用建筑工程或机器制造工程的思想、标准、规范、规程去开发软件与维护软件,也许能克服软件危机。以后的实践证明:用工程的方法开发软件与维护软件是个好主意,但是要完全克服软件危机,还有许多其他工作要做。例如,将软件公司纳入CMMI的过程改进轨道,就能真正克服软件危机。1.12试述信息系统的定义及信息系统的基本内容。利用计算机网络技

11、术、数字通信技术与数据库技术实现信息采集和处理的系统,称为信息系统。由此不难发现:凡是与数据库技术有关的应用系统,都可以看成信息系统。因为数据库是组织与存储信息的最好方式,除此之外,目前还没有找到其他更好的方式。信息系统由社会坏境、网络坏境、数据坏境和程序环境四部分组成。社会坏境指企事业单位的管理规程、工作规范、信息标准、业务流程、业务规则和人员素质。网络坏境指互联网Internet、企业网Intranet或局域网的软/硬件设施。数据环境指信息系统的数据模型及数据库服务器上的数据操作。程序坏境指客户端用户界面操作与应用服务器上的业务功能操作。不管是网络坏境、数据坏境还是程序坏境,都要进行系统集

12、成。这里特别强调社会坏境,人们常说,信息系统建设不仅是一项计算机工程,而且是一项社会工程,就是这个道理。1.13解释下列名词:开发文档、管理文档、初始化数据、元数据、过程、过程改进。开发文档主要由项目组书写,用于指导软件开发与维护:管理文档主要由软件工程管理部门书写,用于指导软件管理和决策。初始化数据是为软件系统提供运行条件的必备数据。元数据是关于数据的数据,组织数据的数据。过程是指软件生命周期(LifeCycle)中的时间序列。过程作为一个时间序列,自然有起始点和终止点。例如,可将一个软件的生命周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测试、集成测试、运行、维护

13、、退役几个过程,前一过程的终止点就是后一过程的起始点。过程与阶段(Phase)有关,阶段与里程碑(Milestone)有关。某些重要里程碑上的文档(通过评审和审计之后)又称为基线(Easeline)。例如,软件需求分析规格书、软件设计说明书,它们都是基线。过程改进是指利用过程改进模型CMMI,对软件组织内部的过程管理进行优化。习题22.1软件生命周期是什么含义?它与软件生命周期模型有何关系?软件生命周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测试、集成测试、运行、维护、退役几个过程,前一过程的终止点就是后一过程的起始点。软件生命周期与软件生命周期模型有关:不同的生命

14、周期模型,可能对应着不同的生存周期。生存周期不同,该软件的开发阶段划分、评审次数、基线标准都有所不同,甚至维护方法都有所区别。2.2为什么说“软件生命周期模型是指在整个软件生命周期中,软件开发过程应遵循的开发路线图。或者说,软件生命周期模型是软件开发全部过程、活动和任务的结构框架”?事实上,任何生命周期模型都是生命的路线图。特别,软件生命周期模型是软件生命的路线图。这里使用路线图,是为了将深奥的理论通俗化,实用化。2.3为什么要选择软件开发模型?软件开发模型与软件生命周期有什么关系?因为软件开发模型是软件工程研究的5人内容之一,它虽然不是软件工程研究的重点,但是在宏观上特别重要。软件公司的项目

15、组在开发一个大项目或产品时,首先在技术上必须选择一个开发模型,使开发模型非常适合这个项目或产品的生存周期;随后通过对生存周期的裁减,给出适合于本项目或产品的软件生存周期定义。2.4简述瀑布模型、增量模型、迭代模型、原型模型、XP等模型的优缺点。软件开发模型比较表序号模型名称优点缺点适用范禺1瀑布模型简单好学逆转性差面向过程开发2增虽模型可以分阶段提交有时用户不同意系统可拆卸和组装3迭代模型需求可变风险大有鬲素质软件团队4原型模型开发速度快不利干创新己有产品的原型5螺旋模型需求可变建设周期长庞大.复朵.高风险项目6喷泉模型提高开发效率不利干项目的管理面向对象开发7XP模型提高开发效率不适合大团队、大项目小团队小项目2.5软件公司的CMMI过程改进模型与软件开发模型有关吗?为什么?无关。因为CMMI管理体系是一种过程与质量管理模型,它是适应于任何软件开发模型的,或者说它与任何开发模型无关。开发模型本身只是规定了软件生存周期中的若干步骤或阶段,便于开发人员去开发与维护,它并没有规定管理人员的过程管理方法与任务。为此,CMMI管理体系规定采取阶段评审和不符合项的动态跟踪制度,只有前一阶段的不符合项全部改正后,才允许开发人员进入后一阶段的工作。所谓不符合项,就是在评审中发现的问题项,它与Bug既有联系,又有

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号