软件工程项目实践教程第四版课后参考答案_第1页
软件工程项目实践教程第四版课后参考答案_第2页
软件工程项目实践教程第四版课后参考答案_第3页
软件工程项目实践教程第四版课后参考答案_第4页
软件工程项目实践教程第四版课后参考答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

《软件工程项目实践教程》(第四版)课后习题答案项目一一、选择题:BBCC二、简答题:1答:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。我们把各种不同功能的程序,包括用户为自己的特定的目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序的系统程序、管理和控制机器系统资源的程序及相关文档的完整集合,通常称为软件。软件是用户与硬件之间的接口界面,用户主要是通过软件与计算机进行交流。2答:软件产品特性:(1)一种逻辑产品,与物质产品有很大的区别。⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。⑶软件产品不会用坏,不存在磨损,消耗。⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵。3答:软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。产生原因:⑴软件规模越来越大,结构越来越复杂。⑵软件开发管理困难而复杂。⑶软件包开发费用不断增加。⑷软件开发技术落后。⑸生产方式落后,仍采用手工方式。⑹开发工具落后,生产率提高缓慢。4.答:使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。主要有:结构化方法,JACKSON方法,维也纳开发方法﹙VDM﹚,面向对象开发方法。三、上机建模作业1、主要步骤提示:打开MicrosoftOfficeVisio2016选择“地图和平面布局图”类别|“办公室布局”图模板根据办公室实际情况大小绘制并添加相应的办公家具(如无所需的图件可再次打开形状添加相应的图件。)添加相应图件的备注信息。根据实际需要可对图件进行填充,从而使办公室布局图变得美观。对办公室布局图添加标题等信息。保存文件并进行打印预览操作。2、步骤(略):购书系统的功能层次图参考如下图1-1所示:图1-1网上购书系统用例图3、参考步骤提示:首先根据需要分析读者、工作人员、管理员之间的关系。对读者、工作人员、管理员各自职责进行进一步明确,分别为读者(信息查询、预约图书、续借图书、登录)、工作人员(图书信息管理、借书、还书、信息查询、读者信息管理、登录)、管理员(系统维护、登录)。打开MicrosoftOfficeVisio2016选择“软件和数据库”类别|“UML用例”图模板。分别添加“用例”、“参与者”图件。通过连接线工具,将图件连接起来,并加以说明之间的关系。保存文件并进行打印预览操作。购书系统的用例图参考如下图1-2所示:图1-2购书系统的用例图4.步骤(略):网络结构图参考如下图1-3所示:图1-3项目二习题答案一、填空题:(1)~(8)BDACBDBA9ABCD10ABCD二、简答题2-1.答:Rose主要支持9种不同类型的UML图,它们名称及作用如下: 用例图(确定系统中所包含的参与者、用例及参与者与用例之间的关系,用例图是基于系统要实现的功能的一个可视化描述。)类图(类图是描述类、接口、协作以及它们之间关系的图,用于描述系统的结构化设计,它是面向对象系统的核心,也是使用最多的一种图。)包图(是用\o"类"类似于命名空间(或文件夹)的符号表示的模型元素的组合。)时序图(也称为顺序图,是显示对象之间消息按时间顺序排列的交互作用的图。)活动图(用来显示活动动作及其结果,主要描述操作实现中所完成的工作及用例实例或对象中的活动。)协作图(描述对象交互作用相关信息的图)状态图(也称为状态机,描述了特定类或组件在其整个生命周期中不断变化时的行为。状态机是展示状态与状态转换的图,利用状态机可以精确地描述对象的行为。)组件图(用来可视化系统的物理组件及它们之间的关系。)配置图(用于对系统的实现视图建模,即描述运行软件系统中硬件和软件的物理架构。)2-2.用例图建模的一般步骤:A.对系统语境建模应当遵循以下的方法:(1)用以下几组事物来识别系统外部的参与者:需要从系统中得到帮助的组;执行系统功能时所必须的组;与外部硬件或其它软件系统进行交互的组;为了管理和维护而执行某些辅助功能的组。(2)将类似的参与者组织成泛化或特殊化的结构层次。(3)在需要加深理解的地方,为每个参与者提供一个构造型。(4)将参与者放入到用例图中,并说明参与者与用例之间的通信路径。B.对系统需求建模可以参考以下的方法。(1)识别系统外部的参与者来建立系统的语境。(2)考虑每一个参与者期望的行为或需要系统提供的行为。(3)把公共的行为命名为用例(4)确定供其他用例使用的用例和扩展其他用例的用例。(5)在用例视图中对用例、参与者和它们之间的关系进行建模。2-3.UML中类图、对象图和包图建模的一般步骤:A.类图建模方法和步骤如下:(1)为系统词汇建模为系统的词汇建模实际上是从系统词汇表中发现类,发现它的责任。(2)为简单的协作建模协作是指一些协同工作的类、接口和其他元素提供的一些合作的行为,其中元素协作时的功能强于它们单独工作时的功能之和。(3)为一个逻辑数据库模式建模在Rose中,通常类可以划分为3种类型:实体类、边界类和控制类。通过分析系统的用例图,我们可以得到系统的边界类和控制类。逻辑数据库模式是概念上设计数据库的蓝图。B.对象图建模方法和步骤如下:(1)确定参与交互的各个对象的类,可以参照相应的类图或交互图。(2)确定类之间的关系(依赖、关联、泛化和实现等)。(3)针对交互在某特定时刻各个对象的状态,建立相应的对象模型。(4)绘制对象的关键状态及关键对象之间的连接关系,并精化对象模型图。C.包图建模方法和步骤如下:(1)进行系统分析,把概念上和语义上相近的模型元素融入一个包中。(2)对于每一个包,标出其模型元素的可见性(和类一样主要包括:Public、Private和Protected三种访问方式,它们分别用“+”、“-”和“#”来表示)。(3)确定包与包之间的依赖和泛化关系等。(4)绘制并精化包图。2-4.在UML的表现上,动态模型主要是建立系统的交互图和行为图。交互图包括时序图和协作图;行为图包括状态图和活动图。UML动态建模的一般步骤如下:A.时序图建模技术要点:(1)设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本。(2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。(3)设置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销。(4)从引发某个交互的消息开始,在生命线之间按自上而下的顺序画出随后的消息。(5)设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。(6)如果需要设置时间或者空间的约束,可以为每个消息附上合适的时间和空间的约束。B.协作图建模要点:(1)设置交互的语境,语境可以是系统、子系统、操作、类、用例或用例的脚本。(2)通过识别对象在交互中所扮演的角色,开始绘制协作图,把这些对象作为图的顶点放在协作图中。(3)在识别了协作图对象之后,为每个对象设置初始值,如果某对象的属性值、标记值、状态或角色在交互期发生变化,则在图中链的末路上附上一个路径构造型,以便了说明一个对象如何与另一个对象连接,例如构造型<<local>>,表示指定对象对发送方而言是局部的。(4)根据对象间的关系开始确定对象间的链接。一般先确定关联的链接,因为这是最主要的,它代表了对象之间结构的链接。(5)从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。,这描述了对象之间消息传递,可以用带小数点的编号来表达嵌套。(6)如果需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。(7)在建模中,如果想更详细地描述这个控制流,可以为交互过程的每个消息附上前置条件和后置条件。C.状态图建模要点:(1)识别一个要对其生命周期进行描述的参与行为的类;(2)对状态建模,即确定对象可能存在的状态;(3)对事件建模,即确定对象可能存在的事件;(4)对动作建模,即确定当转变被激活时,相应被执行的动作;(5)对建模结果进行精化和细化。D.活动图建模要点:在建模的过程中,我们通常通过以下步骤实现:①识别要对其工作流描述的类或对象。②确定工作流的初始状态和终止状态,明确工作流的边界。③对动作状态或活动状态建模。④对动作流建模。⑤对对象流建模。⑥对建立的模型进行精化和细化。三、课外拓展3-1.IBMRationalRose2007软件的试用版及钥匙文件见本书配套资源。3-2.Rose的双向工程包括Rose的正向工程和Rose的逆向工程。它的实现简介如下:(1)正向工程是以组件为中心的,具体指Rose里的代码如何生成的。即是说Java源代码的生成是基于组件的,所以创建一个或多个类之后,需要将它们分配给一个有效的Java组件才能正确生成代码。(2)逆向工程是分析Java代码,然后将其转换成Rose模型的类和组件的过程。Rose允许从Java源文件(.java文件)、Java字节码(.class文件)以及一些打包文件(.zip、.cab、.jar文件)中进行相应的逆向工程。项目三习题答案一、判断题1.错。在需求分析中,系统分析员要从用户那里解决的最重要的问题是明确软件做什么。2.错。软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。3.错。数据流图由数据流、数据源、加工和数据存储组成。4.错。可行性分析给出“做还是不做”的回答。5.错。成本效益分析的目的是从经济角度评价开发一个项目是否可行。二、简答题1.答:(1)获取需求:采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。(2)分析需求,建立模型:分析和综合所采集的信息,建立系统的详细逻辑模型。(3)编写需求规格说明书:编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。(4)需求评审、验证:评审并验证软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。2.不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。3.结构化分析的主要描述工具有:数据流图和数据字典。步骤:(1)建立当前系统的具体模型即“物理模型”。(2)抽象出当前系统的逻辑模型。(3)建立目标系统的逻辑模型。(4)对目标系统补充和优化。项目四习题答案一、选择题:1-5AABDA6-10ACCAD二、简答题1、概要设计阶段的主要任务是:首先,依据分析阶段产生的文档资料,采用正确的方法确定新系统在计算机内应该由哪些程序模块组成,确定模块间的联系才能构成一个最好系统机内结构,其次,使用一定工具,如模块结构图将所设计的结果表达出来;最后,编写概要设计说明数,为后期阶段的开发工作提供依据。2、模块是指具有相对独立性的,由数据说明、执行语句等程序对象构成的集合。模块用方框表示,并用名字标识该模块,名字应体现该模块的功能。模块间的信息传递:模块问还经常用带注释的短箭头表示模块调用过程中来回传递的信息。有时箭头尾部带空心圆的表示传递的是数据,带实心圆的表示传递的是控制信息。模块的特征:输入输出接口、功能、内部数据和程序代码。划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,并以此原则优化初始的软件结构;软件结构的深度、宽度、扇入、扇出应适当;模块的大小应适中;模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。3、内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。内聚有:功能内聚、信息内聚、通信内聚、过程内聚、逻辑内聚、时间内聚、偶然内聚和非直接内聚。功能内聚最好,非直接耦合最不好。4、耦合表示软件结构内不同模块彼此直接相互依赖的紧密程度,是衡量软件模块结构质量好坏、对模块独立性的直接衡量指标。耦合的类型有:数据耦合、控制耦合、公共环境耦合、内容耦合和标记耦合。数据耦合好,内容耦合不好。5、模块的独立性是耦合和内聚的集成,原则是模块之间低耦合,模块内部各元素高内聚。6、概要设计基本原理(也就是概要设计原则)基本思想是:模块化设计、自顶向下逐步求精设计、模块独立性、信息隐蔽性及抽象。项目五习题答案一、填空题:(1)~(5)CACCA(6)~(10)ABAAA二、简答题:5-1、面向对象分析是在系统所要求解的问题域中找出对象(具有属性和行为)以及它所属的类,并定义好对象与类;面向对象设计是把系统所要求解的问题分解为一些对象及对象间传递消息的过程;面向对象实现是把数据和处理数据的过程结合为一个对象。面向对象技术具有许多特色,一是面向对象方法的唯一性,即面向对象方法是对软件开发过程所有阶段进行综合考虑而得到的唯一有效方法;二是面向对象技术中生存期的一个阶段到下一个阶段的高度连续性,即在一个阶段所用的组成部分与下一个阶段所使用的组成部分是衔接的或无缝连接的;三是把面向对象分析(OOA)、面向对象的设计(OOD)和面向对象程序设计(OOP)集成到软件生存期对应的不同阶段。5-2、对象由一组属性和对这组属性进行操作的一组方法(即服务)组成。类是具有相同特征(即属性)和行为(或操作)的一组对象的集合。即类是关于对象的抽象描述,反映了该对象类型的所有对象的性质,例如:班级类,汽车类等。属性就是对象所包含的数据,它代表对象的状态,它在设计对象时确定,一般只能通过执行对象的操作来改变,例如,一名客户的属性有姓名、住址、电话号码等。操作(即方法或服务)描述了对象执行的操作功能,也就是类中所定义的服务。它描述了对象执行操作的算法,响应消息的方法。可以通过向对象发送消息来调用其方法。消息就是两个对象之间传递的信息或发出的服务请求。消息是对象之间通信的手段,一个对象向另一对象发送消息来请求其服务。消息的使用类似于函数调用,消息中指定了接收消息的某一个对象(或实例)名称,一个消息标识符(也称消息名或操作名)和一个参数表(零个或多个参数,可能是空的)。接收消息的实例执行消息中指定的操作,并将形式参数与参数表中相应的值结合起来。5-3、OOA阶段需要建立的模型主要包括对象模型、动态模型和功能模型三种,其中的对象模型是最基本、最重要、最核心的模型,对象模型描述了系统的静态数据结构;动态模型描述了系统控制结构及交互次序;功能模型描述了系统的功能及数据变换。这三种模型分别用来创建软件系统的静态建模图、动态建模图及数据流图。5-4、面向对象设计准则主要包括模块化、抽象、信息隐藏、低耦合、高内聚和复用性六点。五个层次:面向对象设计(OOD)模型同OOA一样也由主题、类-&-对象、结构、属性和服务等5个层次组成。四个子系统(或组成部分)指:问题域子系统(PDC)、人机交互子系统(HIC)、任务管理子系统(TMC)和数据管理子系统(DMC)项目六习题答案一、填空题1BAD2C3(A)4(B)5A(1)通用性B(1)易用性C(3)表格驱动方式D(1)完备的文件资料E(3)C二、简答题6-1.如何评价一个“好的程序员”,“好的程序员”应该有那些素质?团队精神和协作能力文档习惯规范化、标准化的代码编写习惯需求理解能力复用性和模块化思维能力测试习惯学习和总结的能力6-2.程序员升为项目经理后是否还要编程?答:让我们先看看Microsoft公司的系统软件部门与应用软件部门的领导是怎样看待这个问题的[Cusumano1996]。WindowsNT3.0项目的软件经理娄·帕雷罗里让他手下的经理们像他一样每天花一半的时间编写代码:我在组内制定了许多规则,其中最重要的一条是每个人都得编程,谁也别想坐在那儿发号施令……我发现管理者很容易失去目标,他们总是无法认识到问题的本质并且反应迟缓。如果你始终不放弃编写代码,你就能对项目的进展情况了如指掌,及时发现并解决问题……我大概每天花一半的时间编写代码并寻找项目的缺陷。作为应用软件领域的经理,克里斯·彼得斯也持同样的看法。在他任Word项目总经理时就认为:在一些大公司内部,各部门经理把具体操作的层次向下移。你一旦当上开发部门经理,很快就会以自己身居高位、日理万机为由放弃编程;同样地,开发小组的组长会以自己重任在肩而不愿编程;至于程序员也会觉得自己十分繁忙、分身无术而不再多编写程序。虽然我是270名员工的领导,似乎不再需要做什么具体的工作了,但我还是为Word新版本编写了一个特性。程序员升为经理后一定要编程,这个道理已经说得很清楚了。6-3.简述软件测试的主要过程。答:具体过程包括:单元测试、集成测试、系统测试、用户的验收测试。单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。6-4.简述软件测试的目的和对象。答:软件测试的目标是尽可能早地找出软件中潜在的各种错误和缺陷,并确保其得以修复,最终将高质量的软件系统交给用户。软件测试就是在软件投入使用前,对软件的需求分析、设计规格说明和系统编码的最终复审。6-5.什么是黑盒测试?什么是白盒测试?答:白盒测试,也称结构测试或逻辑驱动测试,也就是已知产品的内部工作过程,清楚最终生成软件产品的计算机程序结构及其语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,检验程序中的每条通路是否都能按预定要求正确工作,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如,数据库或文件)的完整性。6-6.什么叫单元测试?单元测试的任务有哪些?答:单元测试是最微小规模的测试,测试某个功能或代码块。典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。单元测试任务包括:模块接口测试;模块局部数据结构测试;模块边界条件测试;模块中所有独立执行通路测试;模块的各条错误处理通路测试。6-7.系统集成测试常见有哪两种模式?各有什么优缺点?答:集成测试基本可以概括为以下两种:(1)非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序。(2)渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合起来测试。两种模式中,增量式集成模式有一定的优势,它们的优缺点:(1)渐增式测试模式需要编写的软件较多,工作量较大,而非渐增式测试开销小。(2)渐增式测试模式发现模块间接口错误早,而非渐增式测试模式晚。(3)非渐增式测试模式发现错误,较难诊断,而使用渐增式测试模式,如果发现错误则往往和最近加进来的那个模块有关。(4)渐增式测试更彻底。(5)使用非渐增式测试模式可以并行测试6-8.系统测试和验收测试的区别?答:系统测试,英文是SystemTesting。是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。对象不仅仅包括需测试的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。验收测试,系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性控制。项目七习题答案判断题:(F为错T为对)1T2F3F4F5T6F7T8T9F10F选择题1C2B3(4)(5)(6)(3)(7)三、简答题7-1.答:软件的维护是指由于用户的需求发生变化、硬件环境的变化,或是使用过程中发现问题等因素,需要对软件进行的修改或者更新。软件维护的内容主要有:改正性维护;适应性维护;完善性维护;预防性维护。7-2.答:软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求而进行修改、扩充或压缩的容易程度。可维护性度量的特性有:软件的可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。7-3.答:为了提高软件的可维护性,可以从以下几个方面着手:

(1)建立明确的软件质量目标和优先级;

(2)使用提高软件质量的技术和工具;

(3)进行明确的质量保证审查;

(4)选择可维护的程序设计语言;

(5)改进程序的文档;7-4.答:再生工程主要有以下三种类型:逆向工程、重构和前向工程。项目八习题答案一、选择题答案:(1)A(2)C(3)B(4)D(5)D二、简答题8-1.答:有明确的目标;项目之间的活动具有相关性;限定的周期;有独特性;资源成本的约束性项目的不确定性简述基线变更管理的基本过程。基线变更需要经过SCCB授权,按程序进行控制并记录基线修改过程。变更过程包括如下4步:首先提出变更申请并填写相应的变更申请表对变更申请进行评估,对变更的类型及可能产生的影响进行评审根据评估结果决定批准或拒绝变更,并确定版本更新(若批准)从基线库提取基线产品修改,完成变更和版本升级。8-2.答:需求获取指通过与用户的交流、对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求。需求获取的主要活动包括:-了解客户方的所有用户类型及潜在的类型-对用户进行访谈和调研,包括会议讨论、邮件提问、自行搜集等各种形式-对收集到的用户需求作进一步分析整理-将调研得到的用户需求以适当的形式呈交给用户和开发方相关人员8-3.答:软件配置管理是一套规范、高效的管理软件开发及各种中间软件产品的方法和规则。配置管理的主要功能是记录软件产品的演化过程,实施有效的版本管理和变更管理,最终保证软件产品的完整性、一致性、追朔性、可控性。配置管理的基本目标是:有计划地对各种项目产品进行标识管理;让各种项目产品能够被识别、控制和获取;让各种项目产品的更改得到有效控制;让相关组织或个人及时了解软件基线的状态和内容。8-4.答:风险的客观性:是不以人的意志为转移的;风险的不确定性:风险难以度量和掌控风险的不利性:风险发生时将导致损失或破坏;风险的可变性:在一定的条件下风险可以转化风险的相对性:不同的主体对风险的承受办不同;风险同利益的对称性:风险与利益共存何谓自下而上估算法?它适用什么情况?具有什么特点?自下而上估算法是利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。该方法主要适用于项目开始以后和WBS的开发阶段,或需要进行准确估算的时候。它的特点是估算结果比较准确,准确度决定于每个任务的估算情况。但非常费时,估算本身的费用较大,且可能发生虚报夸大成本现象。8-5答:建立了机构级的软件开发和维护过程。软件人员对其有较好的理解。一切活动均遵循过程的要求进行,做到工作步骤有次序,且有章可循;软件过程必要时可做改进,但需在经小型实验和成本效益分析基础上进行;软件产品的质量和客户对软件产品的满意程度不是由开发人员,而是由负责质量保证的经理负责监控;项目进度和预算是根据以往项目取得的实践经验确定,因而比较符合实际情况。8-6答:(1)参考以前完成的类似项目,估计待开发项目的工作量和成本(2)将大的项目分解成若干个小项目,分别对每个子项目的工作量和成本进行估算,再估算整个项目的工作量和成本。(3)根据软件生存周期,分别估算出软件开发各阶段的工作量和成本,然后再把这些工作量和成本汇总,估算出整个项目的工作量和成本。(4)根据实验或历史数据给出软件项目工作量或成本的经验估算公式。8-7ISO9000与CMMI有什么区别和联系?答:IS09000与CMMI均可作为软件企业的过程改善框架。CMMI仅仅适用于软件行业,而IS09000的适应更广泛,但绝不是说IS09000不适合软件企业。二者的联系:就内容来讲,IS09000不覆盖CMMI,也不完全覆盖IS09000。一般而言,通过ISO9000认证的企业可达到CMMI2级或略高的程度,通过CMMI3级的企业只要稍做补充,就可较容易地通过ISO9000认证。粗略地说,ISO9000近似于CMMI2.5级。二者的联系区别:IS09000与CMMI均可作为软件企业的过程改进框架,其不同之处是,一个是”泛用”,一个是”专用”。ISO9000标准面向合同环境,站在用户立场,要求对质量要素进行控制,规定了质量体系的最低标准。而CMMI标准则强调软件开发过程的成熟度,即内部过程的不断改进和提高。在形式上,ISO9000审核只有”通过”和”不通过”两个结论,而CMMI评定则是一个动态过程,软件组织在通过低级别评估后,可根据高级别的要求确定改进方略。对于软件企业应该通过哪个级别认证?答:对于软件企业,既要通过IS09000认证,也要达到CMMI高的级别(动态的)。8-8CMMI的五个级别是什么?各级别之间有什么区别和联系?答:CMMI与CMM最大的不同点在于:CMMISM-SE/S

温馨提示

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

评论

0/150

提交评论