软件工程-实践者的研究方法讲义_第二十一章项目进度安排ppt课件_第1页
软件工程-实践者的研究方法讲义_第二十一章项目进度安排ppt课件_第2页
软件工程-实践者的研究方法讲义_第二十一章项目进度安排ppt课件_第3页
软件工程-实践者的研究方法讲义_第二十一章项目进度安排ppt课件_第4页
软件工程-实践者的研究方法讲义_第二十一章项目进度安排ppt课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程第21章 工程进度安排主要内容根本概念工程进度安排为软件工程定义义务集定义义务网络进度安排挣值分析小结工程进度安排应该创建一个软件工程义务网络,该网络将使他可以按时完成任务。网络创建完成之后,必需为每一个义务确定责任,还要确保完成这些责任,并在风险到来时调整该网络。简单地说,这就是软件工程进度安排和跟踪。在工程级,是那些运用从软件工程师处获得的信息的软件工程管理者们。在个体级,是软件工程师本人。工程进度安排为了建造复杂的系统,很多软件工程义务会并行地进展,而且在一个义务中得到的任务结果能够对在另一个义务中将要进展的任务具有深远的影响。没有进度安排,义务之间的这种相互依赖性是非常难以了解

2、的。实践上,没有一个详细的进度安排,要评价中等程度或大型的软件工程的进展情况也是不能够的。工程进度安排 软件过程模型规定的软件工程义务要根据详细实现的功能进展细化;任务量和工期应分配到每个义务;义务网络的创建,使得软件团队可以在最后期限之前完成工程。任务产品是工程进度安排和相关的信息。正确的进度安排需求:(1)网络中包含一切的义务;(2)给每个义务合理分配任务量和时间;(3)明确指出义务间的依赖关系;(4)资源应分配给详细要完成的任务;(5)提供短时间间隔的里程碑,以便于过程跟踪。根本概念虽然软件延期交付的缘由很多,但是大多数都可以追溯到下面列出的一个或多个根本缘由上:不真实践的工程终了期限,

3、由软件工程小组以外的某个人所制定,并强加给软件工程小组内的管理者和开发者。客户需求发生变卦,而这种变卦没有在工程变卦进度表上预先安排。对完成该任务所需的任务量和/或资源数量估计缺乏。在工程开场时,没有思索可预测的和/或不可预测的风险。出现了事先无法估计的技术难题。出现了事先无法估计的人力问题。由于工程团队成员之间的交流不畅而导致的延期。工程管理者未能发现工程进度拖后,也未能采取措施来处理这一问题。实例假定一个软件工程团队授命开发一个实时控制器软件,将在9个月内推向市场,在进展了仔细的估算和风险分析之后,软件工程管理者得到的结论是:在现有人员条件下,需求14个月的时间才干完成这一软件。这位工程管

4、理者下一步该怎样办呢?实例1.按照以往工程的历史数据进展详细的估算,确定工程的估算任务量和工期。2.采用增量过程模型制定一个软件工程战略,以保证可以在规定的交付日期提供主要功能,而将其他功能的实现推到以后。然后将这一方案做成文档。3.与客户交流,并阐明为什么规定的交付日期是不现实的。一定要指出一切这些估算都是基于以往的工程实际,而且为了在目前规定的交付期限完成该工程,与以往相比在任务效率上必需提高的百分比。4.将增量开发战略作为可选方案提交给客户。工程进度安排技术性工程的现实情况是,在实现一个大目的之前必需完成数以百计的小义务。这些义务中有些是处于主流之外的,其进度不会影响到整个工程的完成时间

5、。而有些义务那么是位于“关键途径之上的,假设这些“关键义务的进度拖后,那么整个工程的完成日期就会遭到要挟。工程进度安排工程管理者的职责是定义一切的工程义务,建立相应的网络来描画它们之间的依赖关系,明确网络中的关键义务,然后跟踪关键义务的进展,以确保可以在“某天某时发现进度延迟情况。为了做到这一点,管理者必需建立相当详细的进度表,使得工程管理者可以监视进度,并控制整个工程。工程进度安排软件工程进度安排是一种活动,它经过将任务量分配给特定的软件工程义务,从而将所估算的任务量分配到方案的工程工期内。进度是随时间而不断演化的。在工程方案早期,是建立一个宏观进度表,该进度表标识出一切主要的过程框架活动和

6、这些活动所影响的产品功能。随着工程的进展,宏观进度表中的每个条目都会被细化成详细的进度表,这样就标识了特定的软件义务,同时也进展了进度安排。根本原那么划分。必需将工程划分成多个可以管理的活动、动作和义务。为了实现工程的划分,产品和过程都需求进展分解。相互依赖性。划分后的各个活动、动作或义务之间的相互依赖关系必需是明确的。有些义务必需按顺序再现,而有些义务那么可以并发进展。有些活动或动作只需在其他活动产生的任务产品完成后才可以开场,而有些那么可以独立进展。根本原那么时间分配。每个安排了进度方案的义务必需分配一定数量的任务单位。此外,还必需为每个义务指定开场日期和完成日期,义务的开场时期和完成日期

7、取决于义务之间的相互依赖性以及任务方式是全职还是兼职。任务量确认。每个工程都有预定数量的人员参与。在进展时间分配时,工程管理者必需确保在恣意时段中分配的人员数量不会超越工程团队中的总人员数量。根本原那么确定责任。安排了进度方案的每个义务都应该指定特定的团队成员来担任。明确结果。安排了进度方案的每个义务都应该有一个明确的输出结果。对于软件工程而言,输出结果通常是一个任务产品或某个任务产品的一部分。通常可将多个任务产品组合成“可交付产品。确定里程碑。每个义务或义务组都应该与一个工程里程碑相关联。当一个或多个任务产品经过质量评审并且得到认可时,标志着一个里程碑的完成。人员与任务量之间的关系对于小型软

8、件开发工程,只需一个人就可以完成需求分析、设计、编码和测试。随着工程规模的增长,必然会有更多的人员参与。许多担任软件开发任务的管理者依然普遍坚信这样一个神话:“即使进度拖后,我们也总是可以添加更多的程序员,并在后期跟随上进度。不幸的是,在工程后期添加人手通常会对工程产生破坏性的影响,其结果是使进度进一步拖延。后期添加的人员必需学习这一系统,而培训他们的人员正是不断在任务着的那些人,当他们进展教学时,就不能完成任何任务,从而使工程进一步拖延。人员与任务量之间的关系除去学习系统所需的时间之外,新参与人员将会添加人员之间交流的途径数量和整个工程中交流的复杂度。虽然交流对于一个胜利的软件开发工程而言绝

9、对是必不可少的,但是每添加一条新的交流途径就会添加额外的任务量,从而需求更多的时间。多年以来的阅历数据和实际分析都阐明工程进度是具有弹性的。即在一定程度上可以缩短工程交付日期,也可以拖延工程交付日期。人员与任务量之间的关系PNR曲线阐明了一个软件工程中所投入的任务量与交付时间的关系。工程任务量和交付时间的函数关系曲线如图21-1所示。图中的t0表示工程交付所需的最少时间,而t0左边的曲线是非线性上升的。人员与任务量之间的关系图21-1 任务量和交付时间的关系任务量分配在第20章中讨论的各种软件工程估算技术最终都归结为对完成软件开发所需任务单位的估算。软件过程中的任务量分配通常采用40-20-4

10、0法那么。总体任务量的40%分配给前期的分析和设计,40%用于后期测试。这种任务量分配方法只能作为指点原那么。各个工程的特点决议了其任务量如何分配。用于工程方案的任务量很少超越2%-3%,除非提交给组织的工程方案费用极高而且具有高风险。需求分析大约占用10%-25%的任务量,用于分析或原型开发的任务量应该与工程规模和复杂度成正比地增长。通常有20%-25%的任务量用于软件设计,用于设计评审和随之而来的迭代开发也必需思索。任务量分配由于在软件设计时投入了相当的任务量,随后的编码任务就变得相对简单。总体任务量的15%-20%就可以完成这一任务。测试和随之而来的调试任务将占用30%-40%的软件开发

11、任务量。软件的重要性决议了所需测试任务的分量,假设软件系统是人命相关的,就应该思索分配更高的测试任务量比例。为软件工程定义义务集无论一个软件团队选择的是线性顺序模型、增量模型、演化模型,或它们的某种变型,过程模型都是由义务集组成的,这些义务集使得软件团队可以定义、开发和最终维护计算机软件。为软件工程定义义务集没有能普遍适用于一切软件工程的义务集。适用于大型复杂系统的义务集能够对于小型相对简单的软件工程而言就过于复杂。因此一个有效的软件过程应该定义一组义务集来满足不同类型工程的要求。为软件工程定义义务集在进展工程进度安排时,必需将义务集分布在工程时序图上。义务集应该根据软件团队所决议的工程类型和

12、严厉程度而有所不同。虽然很难建立一个全面详尽的软件工程分类方法,但大多数软件组织遇到的工程普通属于下述类型。为软件工程定义义务集1、概念开发工程。2、新运用开发工程。3、运用加强工程。4、运用维护工程。5、再工程工程。为软件工程定义义务集即使在单一的工程类型中,也会有许多要素影响义务集的选择。PRE05中描画了很多要素:工程的规模、潜在的用户数量、义务的关键性、运用程序的寿命、需求的稳定性、客户/开发者进展沟通的容易程度、可运用技术的成熟度、性能约束、嵌入式和非嵌入式特性、工程人员配置、再工程要素等。义务集举例每种工程类型都可以经过线性顺序、迭代或者演化等过程模型来实现。在某些情况下,工程类型

13、可以从一种方式平滑地转换为另一种方式。例如,胜利的概念开发工程通常会演化成为新运用开发工程,而新运用开发工程终了之后,能够又开场了一个运用加强工程。这个进程是自然的和可预测的,不论组织是采用何种过程模型都将会发生。下面将引见概念开发工程的主要软件工程义务。义务集举例概念开发工程是在探求某些新技术能否可行时发起的。这种技术能否可行尚不可知,但是某个客户置信其具有潜在的利益。概念开发工程的完成需求运用以下主要义务:确定概念范围。初步的概念谋划。技术风险评价。概念证明。概念实现。客户对概念的反响。软件工程活动求精上一小节中所描画的主要义务可以用来制定工程的宏观进度表。但是,必需将宏观进度表进展细化,

14、以创建一个详细的工程进度表。细化任务始于将每个主要义务分解为一组子义务。定义义务网络单个义务和子义务之间存在顺序上的相互依赖关系。而且,当有多人参与软件工程工程时,多个开发活动和义务并行进展的能够性很大。在这种情况下,必需协调多个并发义务,以保证它们可以在后继义务需求其任务产品之前完成。定义义务网络义务网络,也称为活动网络,是一个工程义务流程的图形表示。有时将义务网络作为在自开工程进度安排工具中输入义务序列和依赖关系的机制。最简单的义务网络方式只描画了主要的软件工程义务。图21-2显示了概念开发工程的义务网络表示图。定义义务网络图21-2 概念开发工程的义务网络进度安排软件工程的进度安排与任何

15、其他多义务工程任务的进度安排几乎没有差别。因此,通用的工程进度安排工具和技术不用做太多修正就可以运用于软件工程。程序评价及评审技术和关键途径方法就是两种可以用于软件开发的工程进度安排方法。这两种技术都是由早期工程方案活动中曾经产生的信息来驱动的,这些信息包括:任务量的估算。产品功能的分解。适当过程模型和义务集的选择。义务的分解。义务之间的依赖关系可以经过义务网络来确定。时序图在创建软件工程进度表时,方案者将从一组义务入手。假设运用自开工具,就可以采用义务网络或者义务大纲的方式输入任务分解构造,然后再为每一项义务输入任务量、工期和开场日期。此外,还可以将某些义务分配给特定的人员。输入信息之后,就可以产生时序图,也叫甘特图。可以为整个工程建立一个时序图,或者,也可以为各个工程功能或各个工程参与者分别建立各自的时序图。图21-3给出了时序图的格式。时序图图21-3 一个时序图的例子跟踪进度工程进度表为软件工程管理者提供了一张进度道路图。假设制定正确,工程进度表中应该可以确定在工程进展过程中必需进展跟踪和控制的义务及里程碑。跟踪OO工程的进展虽然迭代模型是最好的针对OO工程的框架,但是,义务的并行性使得OO工程很难跟踪。困难在于工程管理者很

温馨提示

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

评论

0/150

提交评论