【计算机】软件工程实践项目管理与策划_第1页
【计算机】软件工程实践项目管理与策划_第2页
【计算机】软件工程实践项目管理与策划_第3页
【计算机】软件工程实践项目管理与策划_第4页
【计算机】软件工程实践项目管理与策划_第5页
已阅读5页,还剩174页未读 继续免费阅读

下载本文档

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

文档简介

1、【计算机】软件工程实践(7)项目管理与策划【计算机】软件工程实践(7)项目管理与策划第七讲软件项目管理软件项目策划第七讲软件项目管理内容和目的了解软件项目和软件项目管理的概念了解对软件策划的要求掌握软件策划的工作内容和过程掌握软件项目计划文档的内容了解软件项目计划文档的格式条目内容和目的了解软件项目和软件项目管理的概念项目与项目管理项目与项目管理项目项目是以一套独特的、相互联系的任务为前提,有效地利用资源,为实现一个特定的目标所做的努力。项目在工作范围、计划进度和成本方面都有明确界定的标准。当客户愿意提供资金以实现需求的组织或个人明确提出需求时,项目就产生了。项目项目是以一套独特的、相互联系的

2、任务为前提,有效地利用资源项目概念要素项目的总体属性:项目是一系列工作,产品是项目的目的或结果。项目的过程:项目是必须完成的、临时性的、一次性的、有限的任务项目的结果:项目都有一个特定的目标。项目的共性:项目只能在资金、时间、质量(三大目标)的约束下进行。项目概念要素项目的总体属性:项目是一系列工作,产品是项目的目项目特征项目有一个明确界定的目标一个期望的结果或产品。项目的执行要通过完成一系列相互关联的任务来达到项目目标。项目需要运用各种资源来执行任务。项目有具体的时间计划或有限的寿命。项目可能是独一无二的、一次性的努力。每个项目都有客户。项目包含一定的不确定性。项目特征项目有一个明确界定的目

3、标一个期望的结果或产品。制约项目成功的因素项目目标的成功实现通常受四个因素制约:工作范围、成本、进度计划和客户满意度。工作范围成本进度计划客户满意程度实现项目目标就是在一定时间内、在预算内完成工作范围,以使客户满意。制约项目成功的因素项目目标的成功实现通常受四个因素制约:工作项目生命周期识别需求提出解决方案执行项目结束项目时间投入力量项目生命周期识别需求提出解决方案执行项目结束项目时间投入力量项目管理项目管理是通过项目经理和项目组织的努力,运用系统理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法。项目管理是一种管理方法体系。项目管理的对象是项目。项目管理的主

4、要目的是实现项目的预定目标。项目管理的职能是对组织的资源进行计划、组织、指挥、控制。项目管理的任务是对项目及其资源的计划、组织、协调、控制。项目管理运用系统理论和思想。项目管理职能主要由项目经理执行。项目管理项目管理是通过项目经理和项目组织的努力,运用系统理论项目管理的要素人员(People)软件工程是人的智力密集的劳动问题(Problem)必须明确项目的目的和范围,考虑可选的解决方案过程(Process)提供框架项目管理的要素人员(People)项目经理项目经理的职责就是确保客户满意。对项目经理的挑战是防止、预测和克服计划的意外情况,以便能够在预算内按时地、使客户满意地实现项目工作范围。良好

5、的计划和沟通对于防止问题发生,以及当问题发生时,使问题对实现项目目标的影响降到最小,都是很必要的。项目经理必须在计划和沟通上提前做好准备,并领导项目团队实现项目目标。客户满意意味着把客户作为一个合作伙伴加入到项目中来,在整个项目过程中积极参与,以获得项目的成功。项目经理项目经理的职责就是确保客户满意。项目管理的基本内容项目定义项目计划项目执行项目控制项目结束项目管理被认为是一种建立在公认的管理原理基础上的方法和技术,用于计划、估算和控制项目活动,以工具规范在预算之内,按时实现项目的最终目标。项目管理的基本内容项目定义PDCA环戴明环PDCAP:Plan-计划D:Do-实施C:Check-检查A

6、:Action-处理PDCAPDCA环戴明环PDCAPDCA项目管理过程项目管理过程 就是 制定计划 然后 按计划工作项目管理过程软件项目与软件项目管理软件项目与软件项目管理项目与软件项目项目是一个被承担来产生唯一的产品或服务的临时工作。项目包括一组人员、资源和活动,满足下列共同特征:主要目标是产生产品、服务和结果。项目具有共知的起始、结束点,即项目是临时的。项目不是多数机构常规、正在进行的工作的一部分,即它通常具有唯一的需求。有些机构存在仅为了执行项目。软件项目是强调将软件作为其产品、服务或结果的项目。项目与软件项目项目是一个被承担来产生唯一的产品或服务的临时工软件项目与一般项目的区别Wat

7、ts Humphrey:软件通常更复杂。软件更改相对更容易出现。许多晚期发现的硬件问题被要求通过软件更改来处理。由于其低廉的重复生产成本,软件没有发布生产的自然约束。软件学科不是建立在自然科学的基础上,它缺乏关于可行的测试与设计模型的成熟技术。软件通常是一个完整系统的集成元素,这增加了其复杂性和产生后期更改的出现。软件通常更可见,因此更多出现需求更改和更多遭受用户抱怨。软件项目与一般项目的区别Watts Humphrey:软件项目管理由于软件与非软件产品、服务、结果不同,软件项目管理也有其特别之处。关键是管理必须意识到软件项目管理的独特领域以预防问题。软件项目管理是保证项目成功的方法和技术,它

8、被要求:预见并因此预防和最小化问题的不利影响作出及时和坚定的决定当问题发生时解决问题对项目的行为、过程、活动、资源、产品和结果明确职责软件项目管理方法的执行被许多因素所确定,例如人员、机构、合同要求和项目复杂性。软件项目管理由于软件与非软件产品、服务、结果不同,软件项目管软件项目组织软件项目组织项目组织职能式项目式矩阵式弱矩阵平衡矩阵强矩阵项目组织职能式软件的项目式组织结构 软件的项目式组织结构 程序设计小组的组织程序设计小组的人数不能太多,否则组员间彼此通信时间将多于程序设计时间,而且出现接口错误的可能性增加。 一般来说,程序设计小组的规模应该较小,视工程规模以2-8人为宜。若项目规模大,可

9、同时设几个小组,每个小组承担一部分任务。小组规模小,不仅可以减少通信问题,而且还有其它好处。如,容易确定小组的质量标准,而且用民主方式确定的标准更容易被大家遵守;组员间关系密切,能够互相学习等。 小型的程序设计小组通常采用非正式的组织方式。 程序设计小组的组织程序设计小组的人数不能太多,否则组员间彼此软件项目组织民主制程序员组主程序员组现代程序员组软件项目组软件项目组织民主制程序员组民主制程序员组有两种极端方法可用来组织程序员组,这两种组织方法分别称为民主制程序员组主程序员组构成民主制程序员组的基本概念是“无私编程”民主制程序员组有两种极端方法可用来组织程序员组,这两种组织方无私编程必须改变评

10、价程序员价值的标准,每名程序员都应该鼓励该组其他成员找出自己编写的代码中的错误。不要认为存在错误是坏事,而应该认为是正常的事情,应该把找出模块中的一个错误看作是取得了一个胜利。任何人都不能嘲笑程序员所犯的编码错误。程序员组作为一个整体,将培养一种平等的团队精神,坚信“每个模块都是属于整个程序员组的,而不是属于某个人的”。一组无私的程序员将构成一个民主制程序员组。无私编程必须改变评价程序员价值的标准,每名程序员都应该鼓励该民主制程序员组的特点民主制程序员组的一个重要特点是,小组成员完全平等,享有充分民主,通过协商做出技术决策。小组成员间的通信是平行的,如果一个小组有n个成员,则可能的通信信道有n

11、(n-1)/2条。一般说来,程序设计小组的规模应该比较小,以28名成员为宜。如果项目规模很大,用一个小组不能在预定时间内完成开发任务,则应该使用多个程序设计小组,每个小组承担工程项目的一部分任务,在一定程度上独立自主地完成各自的任务。系统总体设计应该能够保证由各个小组负责开发的各部分之间的接口是良好定义的,并且是尽可能简单的。民主制程序员组的特点民主制程序员组的一个重要特点是,小组成员民主制程序员组的特点小组规模小,不仅可以减少通信问题,而且还有其他好处。例如,容易确定小组的质量标准,而且用民主方式确定的标准更容易被大家遵守;组员间关系密切,能够互相学习等。民主制程序员组通常采用非正式的组织方

12、式,也就是说,虽然名义上有一个组长,但是他和组内其他成员完成同样的任务。在这样的小组中,由全体讨论决定应该完成的工作,并且根据每个人的能力和经验分配适当的任务。为了使少数经验丰富、技术高超的程序员在软件开发过程中能够发挥更大作用,程序设计小组可以采用主程序员式的组织形式。民主制程序员组的特点小组规模小,不仅可以减少通信问题,而且还主程序员组美国IBM公司在20世纪70年代初期开始采用主程序员组的组织方式。采用这种组织方式主要出于下述几点考虑:软件开发人员多数比较缺乏经验;程序设计过程中有许多事务性的工作,例如,大量信息的存储和更新;多渠道通信很费时间,将降低程序员的生产率。主程序员组美国IBM

13、公司在20世纪70年代初期开始采用主程序典型的主程序员组Baker描述的一个典型的主程序员组由主程序员、后备程序员、编程秘书以及13名程序员组成在必要的时候,该组还有其他领域的专家(例如,法律专家,财务专家等)协助典型的主程序员组Baker描述的一个典型的主程序员组主程序员组的三人核心1)主程序员是经验丰富、能力强的高级程序员,全面负责系统的设计、编码、测试和安装;2)辅助程序员也应该技术熟练且富于经验,他协助主程序员并且在必要时能代替主程序员。他的主要任务是设计测试方案和分析测试结果,以验证主程序员的工作。3)程序管理员完成和项目有关的全部事务性工作,如:提交上机程序,保存运行记录,进行软件

14、配置管理等。主程序员组的三人核心1)主程序员是经验丰富、能力强的高级程序人员-时间折中根据应用规模和类型,可能需要临时或长期向组内增加一些其它方面的专门人员,如:项目管理员,工具员,文档编辑,测试员,一个或多个后援程序员。这种人员组织形式的成败主要取决于主程序员的技术和管理水平。人员-时间折中定律:在时间允许的情况下,适当减少人员会提高工作效率,降低软件开发成本。即软件开发宁可时间长一点,人员少一点。这样可以大大减少人员之间的通信开销,工作效率会更高。 人员-时间折中根据应用规模和类型,可能需要临时或长期向组内增现代程序员组实际的“主程序员”应该由两个人来担任:一个技术负责人,负责小组的技术活

15、动一个行政负责人,负责所有管理决策现代程序员组实际的“主程序员”应该由两个人来担任:大项目的组织由于程序员组的成员人数不宜过多,当软件项目规模较大时,应该把程序员分成若干个小组。产品的实现作为一个整体是在项目经理的指导下进行的,程序员向他们的组长汇报工作,而组长向项目经理汇报工作。当产品规模更大时,可以增加中间管理层次。大项目的组织由于程序员组的成员人数不宜过多,当软件项目规模较民主制程序员组和主程序员组的结合把民主制程序员组和主程序员组的优点结合起来的另一种方法,是在合适的地方采用分散做决定的方法。这样做有利于形成畅通的通信渠道,以便充分发挥每个程序员的积极性和主动性,集思广益攻克技术难关。

16、这种组织方式对于适合采用民主方法的那类问题(例如,研究性项目或遇到技术难题需要用集体智慧攻关)非常有效。民主制程序员组和主程序员组的结合把民主制程序员组和主程序员组软件项目组如前所述,程序员组的组织方式主要用于实现阶段,当然,也适用于软件生命周期的其他阶段(当考虑在更广阔范围的应用时,把程序员组更名为软件项目组更恰当一些)。本节从更广阔的角度进一步讨论软件项目组的组织方式。软件项目组如前所述,程序员组的组织方式主要用于实现阶段,当然通用的项目组组织方式Mantei提出了下述的三种通用的项目组组织方式民主分权式控制分权式控制集权式通用的项目组组织方式Mantei提出了下述的三种通用的项目组民主分

17、权式Democratic Decentralized,缩写为DD这种软件工程小组没有固定的负责人“任务协调人”是临时指定的,随后将由协调别的任务的人取代用全体组员协商一致的方法对问题及解决问题的方法做出决策小组成员间的通信是平行的民主分权式Democratic Decentralized,控制分权式Controlled Decentralized,缩写为CD有一个固定的负责人,他协调特定任务的完成并指导负责子任务的下级领导人的工作解决问题仍然是一项群体活动,但是通过小组负责人在子组之间划分任务来实现解决方案子组和个人之间的通信是平行的,但是也有沿着控制层的上下级之间的通信控制分权式Contro

18、lled Decentralized,控制集权式Controlled Centralized,缩写为CC小组负责人管理顶层问题的解决过程并负责组内协调负责人和小组成员之间的通信是上下级式的。控制集权式Controlled Centralized,缩写选择软件组织结构的7个因素待解决的问题的困难程度;要开发的程序的规模(用代码行或功能点度量);小组成员在一起工作的时间(小组生命期);问题能够被模块化的程度;对待开发的系统的质量和可靠性的要求;交付日期的严格程度;项目要求的社交(通信)程度。选择软件组织结构的7个因素待解决的问题的困难程度;项目特性对组织方式的影响项目特性对组织方式的影响项目特性对

19、组织方式的影响项目特性对组织方式的影响Mantei组织方式的比较集权式结构能够更快地完成任务,它最适于处理简单问题。分权式的小组比起个人来,能够产生更多,更好的解决方案,这种小组在解决复杂问题时成功的可能性更大。因此,CD或CC小组结构能够成功地用来解决简单的问题,而DD结构则适于解决难度较大的问题。小组的性能与必须进行的通信量成反比,所以开发规模很大的项目时最好采用CC或CD结构的小组。小组生命期长短影响小组的士气。经验表明,DD小组结构能导致较高的士气和较高的工作满意度,因此适合于生命期长的小组。Mantei组织方式的比较集权式结构能够更快地完成任务,它最Mantei组织方式的比较DD小组

20、结构最适于解决模块化程度较低的问题,因为解决这类问题需要更大的通信量。如果能够达到较高的模块化程度(人们自己独自做自己的事情),则CC或CD结构更适宜。人们曾经发现,CC和CD小组产生的缺陷比DD小组少,但是这些数据在很大程度上取决于小组采用的质量保证活动。完成同一个项目,分权式结构通常需要比集权式结构更多的时间,不过当需要高社交性时分权式结构是最适宜的。历史上最早的软件项目组是控制集权式(CC)结构,当时人们把这样的软件项目组称为主程序员组。Mantei组织方式的比较DD小组结构最适于解决模块化程度较Constantine四种组织范型Constantine提出了软件工程小组的下述4种“组织范

21、型”封闭式范型随机式范型开放式范型同步式范型Constantine四种组织范型Constantine提出封闭式范型按照传统的权力层次来组织项目组(类似于CD小组)当开发与过去已经做过的产品相似的软件时可以工作得很好在这种封闭式范型下难以进行创新性的工作。封闭式范型按照传统的权力层次来组织项目组(类似于CD小组)随机式范型松散地组织项目组小组工作依靠小组成员发挥个人的主动性当需要创新或技术上的突破时,用随机式范型组织起来的项目组能工作得很好当需要“有次序地执行”才能完成任务时,这样的项目组就可能陷入困境随机式范型松散地组织项目组开放式范型试图以一种既具有封闭式范型的控制性,又包含随机式范型的创新

22、性的方式来组织项目组通过大量协商和基于一致意见做出的决策,项目组成员相互协作完成工作任务用开放式范型组织起来的项目组很适于解决复杂问题但是可能没有其他类型小组的效率高开放式范型试图以一种既具有封闭式范型的控制性,又包含随机式范同步式范型按照对问题的自然划分,组织项目组成员各自解决一些子问题他们之间很少有主动的通信需求同步式范型按照对问题的自然划分,组织项目组成员各自解决一些子有关组织结构的注记对任何软件项目而言,最关键的因素都是承担项目的人员必须合理地组织项目组,使项目组有较高生产率“最佳的”小组结构取决于管理风格、组里的人员数目和他们的技术水平,以及所承担的项目的难易程度有关组织结构的注记对

23、任何软件项目而言,最关键的因素都是承担项软件项目组的组织方式Mantei提出的三种小组组织方式民主分权式(DD)没有固定负责人临时指定对任务的协调人员小组讨论确定问题和解决方案,平行通信控制分权式(CD)固定的负责人,协调任务问题解决是群体的,实现解决方案由负责人分派平行通信,存在沿控制层的上下级通信控制集权式(CC)顶层的问题解决和内部协调由负责人管理负责人和小组成员之间的通信是上下级的软件项目组的组织方式Mantei提出的三种小组组织方式软件项目组的组织范式Constantine(93):封闭式:类似CC。容易重复以前的成功,难以进行创新式工作随机式:松散组织,依赖个人主动。利于创新,不利

24、于“有次序的执行”开放式:兼顾封闭式的控制性和随机式的创新性。决策结合大量的通信和基于小组的一致意见。适于解决复杂问题,效率不太高同步式:依赖于问题的自然划分,各自解决问题的片段,没有主动的通信需要软件项目组的组织范式Constantine(93):主程序员小组控制集权式结构人员和权限主程序员,高级工程师,负责计划、协调、审查小需的所有技术活动技术人员(2-5人),执行分析和开发活动后备工程师(1人),支持高级工程师的活动,必要时替补取代高级工程师主程序员小组控制集权式结构团队沟通与协调的方式正式、非个人方式:使用文档、交付物、备忘录、里程碑、进度与控制工具、修改请求、错误跟踪报告、中心库数据

25、正式、个人间方式:管理评审、技术评审、代码审查非正式、个人间方式:信息传播、问题解决、小组讨论电子通信:电子邮件、电子公告栏、WEB站点、视频会议个人间的网络:与小组外人员讨论团队沟通与协调的方式正式、非个人方式:使用文档、交付物、备忘软件项目定义软件项目定义项目定义定义在项目范围内要做的工作回答好五个主要问题:被提出的问题是什么?项目的目的是什么?为实现该目的,有哪些目标是必要的?如果项目成功,将如何确认?是否存在可能影响项目成功的假设、风险、障碍?项目定义定义在项目范围内要做的工作项目定义项目目标管理项目目标:实施项目所要达到的预期结果。项目范围管理项目范围:为了成功达到目标,项目所规定要

26、做的。即为项目界定一个界限,划定哪些方面是属于项目要做的,哪些不应该包括在项目之内,定义项目管理的工作边界,确定项目的主要交付产品。项目定义项目目标管理项目目标的特点多目标性。基本目标:时间、成本、技术性能目标间会冲突,需要权衡优先性。权重。层次性。项目目标的表达通常有3个层次战略性目标,总体目标,项目使命策略性目标,具体目标具体计划,说明如何实现目标项目目标的特点多目标性。确定项目目标的意义明确项目及项目组成员共同努力的方向。作为各方沟通的方式。产生激励作用。为制定项目计划打下基础,为项目计划指明方向。作为评价项目成功的依据。确定项目目标的意义明确项目及项目组成员共同努力的方向。作为各确定项

27、目目标的方式项目的目标应该被所有项目组成员及组织内各个层次的经理人员所了解。项目目标一般由项目的发起人或提议人来确定。项目经理是确定项目目标的重要主体。项目经理对项目目标的正确理解与定义决定了项目的成败。为了明确定义项目如何才算完成,怎样才算成功,最终结果如何,需要对目标具体描述。项目目标的确定有一个由一般到具体逐渐细化的过程,特别是对于R&D项目。确定项目目标的方式项目的目标应该被所有项目组成员及组织内各个描述项目目标的准则应该定量的、可度量的使每个项目成员都能清楚认识现实的简单的面向结果的能够起激励作用不应该定性、不可度量的与项目成员无关理想化的复杂的面向成本的无激励作用描述项目目标的准则

28、应该不应该项目目标的基本内容成果、交付物、功能、质量工期、对外承诺的里程碑费用项目目标的基本内容成果、交付物、功能、质量项目的目标管理目标管理是一种把总体目标与具体计划向联系的管理方式。目标管理的过程是一个参与式的过程:高层管理人员设定总体目标,该目标作为下属制定各自工作计划的依据;下属员工根据该目标和各自的期望相应地确定每个人的职责范围和工作结果;经理人员定期对工作结果进行评价。项目的目标管理目标管理是一种把总体目标与具体计划向联系的管理目标管理的优点有效激励员工,调动积极性面向结果而不是面向过程为经理人员及下属提供一种有效的沟通渠道使项目组成员更加注重组织目标,了解各自工作结果与组织目标的

29、关系,明确对项目目标实现的贡献大小是一种系统的管理方法,有效连接组织目标、部门目标、项目目标、个人目标目标管理的优点有效激励员工,调动积极性确定项目范围的意义提高费用、时间和进度估算的准确性。确定进度测量和控制的基准。有助于清楚地分派责任。正确确定项目范围对项目成功非常重要,如果确定的不好,会导致意外的变更,从而打断实施步骤,造成返工,延长完成时间,降低劳动生产率,影响成员的干劲,造成最终项目费用的提高。确定项目范围的意义提高费用、时间和进度估算的准确性。项目范围的管理对项目应该包括什么和不应该包括什么进行定义和控制。启动:开始进入项目。范围计划:起草书面的范围说明书。范围定义:把项目的主要可

30、交付成果划分为较小的、更容易管理的部件。范围核实:确认项目范围定义的可接受性。范围变化控制:对变化进行控制。项目范围的管理对项目应该包括什么和不应该包括什么进行定义和控软件项目策划软件项目策划项目计划(策划-Planning)计划:计划是为实现一定目标而科学地预测并确定未来的行动方案。计划解决三个问题:确定目标,确定为达到目标的行动时序,确定行动所需的资源比例项目计划:根据项目目标对项目实施工作进行的各项活动作出周密安排。项目计划围绕项目目标的完成系统地确定项目的任务、安排任务进度、编制完成任务需要的资源预算等,从而保证项目能够在合理的工期内,用尽可能低的成本和尽可能高的质量完成。项目计划(策

31、划-Planning)计划:计划是为实现一定目标项目计划的目的确定并描述为完成项目目标所需的各项任务(活动)范围。确定负责执行项目各项任务(活动)的全部人员。制定各项任务(活动)的时间进度表。阐明各项任务(活动)所必需的人力、物力、财力。确定各项任务(活动)的预算。项目计划的目的确定并描述为完成项目目标所需的各项任务(活动)项目计划的作用确定人员、工作的责任范围、地位、职权,以便安要求去指导和控制项目工作,减少风险促进项目组、委托人、管理部门的交流与沟通,增强客户满意度,使项目工作协调一致,并了解关键因素明确奋斗目标、实现目标的方法、途径、期限,确保以最小的时间、成本、资源实现目标作为分析、协

32、商、记录项目范围变化的基础,约定时间、人员、经费的基础了解结合部在何处,并使结合部最少把叙述性报告的需要减少到最低量。项目计划的作用确定人员、工作的责任范围、地位、职权,以便安要项目计划的原则目的性:计划制定的目的是实现目标。系统性:计划与子计划成为相关又独立的系统。动态性:动态以适应不断变化的环境。相关性:计划与子计划相关。职能性:项目计划以项目何项目管理的总体及职能为出发点,涉及个管理部门。项目计划的原则目的性:计划制定的目的是实现目标。项目基准计划项目基准计划是项目在最初启动时订出的计划,即初始拟定的计划。在项目管理过程中,对项目基准计划与实际进展计划进行比较、对照、参考,便于对变化进行

33、管理与控制,从而监督保证使项目计划得到顺利实施。项目基准计划项目基准计划是项目在最初启动时订出的计划,即初始项目计划的制作过程和形式概念性计划。自上而下的计划。确定项目的工作分解结构,并根据任务进行估计,从而汇总出最高层的项目计划。详细计划。由下而上的计划。制定详细、包括所有具体任务的工作分解结构,自下而上汇总,成为详细项目计划。滚动计划。用滚动的方法对可预见的将来逐步制定详细计划,随着项目的推进,分阶段地重估自上而下计划制定过程中所定的进度和预算。项目计划的制作过程和形式概念性计划。自上而下的计划。项目计划管理的基本问题做什么:明确的目标如何做:制定工作分解结构实现目标谁去做:将工作具体分配

34、到人和机构何时做:确定工作的延续、开始时间花费多少:实施项目所需费用项目计划管理的基本问题做什么:明确的目标项目计划过程的步骤定义产品。含中间产品确定任务。建立WBS。建立逻辑关系图。紧前任务。为任务分配时间。确定项目组成员的可支配时间。为任务分配资源并进行平衡。确定管理支持性任务。15%20%规则。重复上述过程直到完成。准备计划汇总。项目计划过程的步骤定义产品。含中间产品项目进度计划(Schedule)项目进度计划是在WBS的基础上对项目、活动做出的一系列时间计划。进度计划将表示预计、实际在何时开始。保证按时获利以补偿已经发生的费用支出;协调资源;使资源在需要时可以利用;预测在不同时间上所需

35、的资金和资源的级别以便赋予项目以不同的优先级;满足严格的完工时间约束。项目进度计划(Schedule)项目进度计划是在WBS的基础项目计划的工具工作分解结构(WBS)线性责任图(LRC)项目行动计划表图示评审技术(GERT)关键路径法(CPM)计划评审技术(PERT)项目计划的工具工作分解结构(WBS)项目策划SW-CMM的要求活动1 软件工程组参加项目建议群组。活动2 在整个项目策划的早期阶段起动软件项目策划,此两项策划平行进行。活动3 在项目的整个生存期内,软件工程组和其它受影响的组一起参加整个项目的策划。活动4 高级管理者参加按照已文档化的规程评审对组织外部的个人和组所作的软件项目约定。

36、活动5 识别或确定具有可管理规模的预先规定阶段的软件生存周期。活动6按照已文档化的规程制定项目的软件开发计划。活动7对有关软件项目的计划建立文档。活动8 识别为建立和保持对软件项目的控制所必须的工作产品。项目策划SW-CMM的要求活动1 软件工程组参加项目建议项目策划SW-CMM的要求活动9 按照已文档化的规程导出对软件工作产品规模(或对软件工作产品规模的更改)的估计。活动10 按照已文档化的规稆出对软件项目的工作量及成本的估计。活动11 按照已文档化的规程导出对项目的关键计算机资源的估计。活动12 按照已文档化的规程导出项目的软件进度表。活动13 对与项目成本资源、进度和技术方面相联系的软件

37、风险进行鉴别、评估和建立文档。活动14 制定关于项目软件工程设施和支持工具的计划。活动15 记录软件策划数据。项目策划SW-CMM的要求活动9 按照已文档化的规程导出软件项目策划过程界定目标确定开发模型确定里程碑阶段设置和工作分解编排进度计划成本计划和资源计划关于配置管理计划关于质量编制软件项目计划文档评审软件项目策划过程界定目标界定目标明确项目的目标成果、工期、成本界定项目的范围用工作陈诉(Statement of Work,SOW )描述项目目标和范围根据项目的目标和范围进行项目策划界定目标明确项目的目标工作陈述项目的工作陈述,包括目标和范围目标用一两句话,概括说明开展项目的目的要求,以及

38、顾客和最终用户项目范围是为完成项目而对各参数、执行的标准和约束条件进行的明确的简短说明,项目约束通常与进度(时间)、质量、成本相对应,并与项目的可交付性直接相关 工作陈述项目的工作陈述,包括目标和范围项目描述表格示例项目名称项目目标交付物交付物完成准则工作描述工作规范所需资源估计重大里程碑项目负责人审核意见签名:日期:项目描述表格示例项目名称项目目标交付物交付物完成准则工作描述确定开发模型瀑布模型增量模型渐进模型原型模型螺旋模型RAD模型基于构件的开发模型喷泉模型RUP模型确定开发模型瀑布模型软件开发模型的选择1)模型应符合软件本身的性质(规模、复杂性)2)模型应满足软件应用系统整体开发进度要

39、求3)模型应有可能控制并消除软件开发风险4)模型应有可用的计算机辅助工具(如快速原型工具)的支持5)模型应与用户和软件开发人员的知识和技能相匹配6)模型应有利于软件开发的管理与控制软件开发模型的选择1)模型应符合软件本身的性质(规模、复杂性确定里程碑确定对软件项目的进行和成败具有关键和标志性意义的事件,作为软件项目的里程碑事件根据工期和甲方的要求,确定合理的里程碑事件达到控制时刻参照里程碑计划进行详细的软件项目策划确定里程碑确定对软件项目的进行和成败具有关键和标志性意义的事里程碑计划表示例1月2月3月4月5月6月里程碑事件上中下上中下上中下上中下上中下上中下需求分析完成设计完成编码完成集成完成

40、合格性测试完成里程碑计划表示例1月2月3月4月5月6月里程碑事件上中下上中阶段设置和工作分解目的:明确项目所包含的各项工作内容:项目分解就是先把复杂的项目逐步分解成一层一层的要素(工作),直到具体明确为止工具:项目分解的工具是工作分解结构原理,它是一个分级的树型结构,是一个对项目工作由粗到细的分解过程。阶段设置和工作分解目的:明确项目所包含的各项工作工作分解结构WBS(Work Breakdown Structure)主要是将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工作要素。它是一种在项目全范围内分解和定义各层次工作包的方法,WBS按照项目发展的规律,

41、依据一定的原则和规定,进行系统化的、相互关联和协调的层次分解。结构层次越往下层则项目组成部分的定义越详细,WBS最后构成一份层次清晰,可以具体作为组织项目实施的工作依据。WBS通常是一种面向“成果”的“树”,其最底层是细化后的“可交付成果”,该树组织确定了项目的整个范围。但WBS的形式并不限于“树”状,还有多种形式。工作分解结构WBS(Work Breakdown Struc某机构软件开发项目WBS某机构软件开发项目WBS1 立项1.1 市场部经理确定课题1.2 (任务提出方准备任务书或合同)1.3必要时由市场部经理与工程部经理协商确定立项技术人员1.4必要时由立项技术人员编制项目任务书(合同

42、)1.5评审任务书(合同)1.6 批准任务书(合同)1.7 工程部经理确定课题组成员和课题组长1 立项1.1 市场部经理确定课题2计划2.1 课题组讨论任务书(合同)2.2 建立任务书(合同)配置管理基线2.3 确定项目开发模型和开发阶段2.4 建立项目工作分解结构(WBS)2.5 估计项目规模、工作量、成本、关键资源2.6 计划进度2.7 计划配置管理工作2.8 计划质量保证工作2.9 编制项目计划文档2.10 评审项目计划2计划2.1 课题组讨论任务书(合同)3需求分析3.1 分析分配需求和参考系统3.2 建立系统逻辑模型3.3 分析功能性能等需求3.4 编制软件需求规格说明文档3.5 评

43、审软件需求规格说明3.6 建立配置管理基线3.7 管理评审3需求分析3.1 分析分配需求和参考系统4设计4.1 进行系统高层结构设计4.2 进行系统部件和单元流程设计4.3 编制软件设计说明文档4.4 评审软件设计说明4.5 建立配置管理基线4.6 管理评审4设计4.1 进行系统高层结构设计5 实现5.1 编程5.2 调试5.3 单元测试5.4 建立配置管理基线5.5 管理评审5 实现5.1 编程6集成及测试6.1设计和确定集成方案6.2设计集成测试6.3 编制集成测试说明文档6.4 实施集成及测试6.5 实施配置控制6.6 记录测试结果6.7 完成集成测试说明文档6.8 建立配置管理基线6.

44、9 管理评审6集成及测试6.1设计和确定集成方案7 合格性测试7.1 完成软件使用说明文档7.2 设计合格性测试方案7.3 计划合格性测试工作7.4 编制合格性测试计划文档7.5 评审合格性测试计划7.6 设计合格性测试7.7 编制合格性测试说明文档7.8 实施合格性测试7.9 实施配置控制7.10 记录测试结果7.11 分析测试结果7.12 编制合格性测试报告文档7.13 建立配置管理基线7.14 管理评审7 合格性测试7.1 完成软件使用说明文档8 归档8.1 准备归档材料8.2 填写归档表格8.3 提交归档8 归档8.1 准备归档材料9 鉴定9.1 查新9.2 获得用户使用报告9.3 提

45、交鉴定申请9.4 组建鉴定委员会9.5 组建鉴定测试组9.6 组建鉴定资料审查组9.7 准备测试大纲9.8 进行鉴定测试9.9 进行鉴定资料审查9.10 准备鉴定汇报9.11 召开鉴定会议9.12 填写相关表格9 鉴定9.1 查新10验收10.1 提交验收申请10.2 组建验收委员会10.3 配置审计10.4 准备验收汇报10.5 召开验收会议10.6 移交验收产品10.7填写相关表格10验收10.1 提交验收申请11 结束11.1 召开项目结束会议11.2 课题组长处理收尾事项 11 结束11.1 召开项目结束会议WBS图示意XXX软件开发项目需求分析设计实现测试项目管理获取需求分析需求需求

46、规格说明结构设计详细设计设计说明编码调试单元测试集成测试合格性测试WBS图示意XXX软件开发项目需求分析设计实现测试项目管理获WBS表示例序号活动和任务紧前事件负责人估计工期开始时间结束时间备注1需求分析A202设计1B203实现2C304测试1A705验收4B10WBS表示例序号活动和任务紧前事件负责人估计工期开始时间结束任务(工作)描述表任务名任务交付物验收标准技术条件任务描述假设条件信息源约束其它签名任务(工作)描述表任务名任务交付物验收标准技术条件任务描述假工作列表工作代码工作名称输入输出内容负责单位协作单位子工作工作列表工作代码工作名称输入输出内容负责单位协作单位子工作指派责任人目的

47、:对项目的每一项任务分配责任者和落实责任。用途:明确各单位或个人的责任,便于项目管理部门在项目实施过程中的管理协调。 依据:以工作分解结构图表和项目组织结构图表为依据制作此表。结果:工作责任分配表指派责任人目的:对项目的每一项任务分配责任者和落实责任。责任分配表示例角色1角色2角色3角色4角色5角色6任务1P=批准FJ任务2F=负责JP任务3C=参加FJP任务4J=监督FJP任务5T=通报FJP任务6CFJP责任分配表示例角色1角色2角色3角色4角色5角色6任务1P=确定搭接关系任何工作的执行必须依赖于一定工作的完成,也就是说它的执行必须在某些工作完成之后才能执行,这就是工作的先后依赖关系。工

48、作的先后依赖关系有两种:一种是工作之间本身存在的、无法改变的逻辑关系;另一种是人为组织确定的,两项工作可先可后的组织关系。先保证逻辑关系,后保证组织关系确定搭接关系任何工作的执行必须依赖于一定工作的完成,也就是说工作之间的先后关系类型结束到开始的关系结束到结束的关系开始到开始的关系开始到结束的关系结束到开始的关系最为常用,它是一种最为典型的逻辑关系ABFSTABSSTABFFTABSFT工作之间的先后关系类型结束到开始的关系ABFSTABSSTA【计算机】软件工程实践(7)项目管理与策划案例讨论仪表检测工作案例讨论仪表检测工作仪表检测项目工作关系仪表检测项目工作关系估计规模、工作量、成本、工期

49、软件项目的工作量、成本和工期主要受软件产品规模的制约应当参照规模估计工作量、成本、工期软件项目的成本主要受工作量制约根据软件产品的规模和项目的工作量、成本、工期,对各个子活动、任务进行工作量、成本、工期的分解估计的方法和程序在下一节介绍估计规模、工作量、成本、工期软件项目的工作量、成本和工期主要编排进度计划目标:制定项目的详细安排计划,明确每项工作的起始终止时间,作为项目控制的有效手段依据:项目内容的分解、各组成要素工作的先后顺序、工作延续时间的估计结果人员:安排时间进度时,项目主管要组织有关职能部门参加,明确对各部门的要求,据此各职能部门可拟定本部门的项目进度计划形式:项目的进度计划目前多采

50、用网络计划技术的形式,其有助于明确反映项目各工作单元之间的相互关系,有利于项目执行过程中各工作之间的协调与控制 编排进度计划目标:制定项目的详细安排计划,明确每项工作的起始计划进度的常用方法和技术横道图(GANT,甘特图,条形图)网络图单代号网络图双代号网络图CPM关键路径法PERT计划评审技术表格Microsoft Project,P3计划进度的常用方法和技术横道图(GANT,甘特图,条形图)单代号网络图节点及其编号(圆圈或矩形)表示一项工作箭线(直线和折线)表示相邻工作之间的逻辑关系线路为从起始接点开始,沿着箭线的方向连续通过一系列箭线与接点,最后到达终止接点的通路单代号网络图节点及其编号

51、(圆圈或矩形)表示一项工作单代号节点节点必须唯一编号可连续编号,也可间断编号,但禁止重复编号箭线箭尾节点的编号最好小于箭头节点的编号一项工作必须有唯一的一个节点和编号工作编号工作名称持续时间工作编号工作名称持续时间单代号节点节点必须唯一编号工作编号工作编号单代号箭线实线(不用虚线)箭线的水平投影应自左向右,表示工作的进展方向单代号箭线实线(不用虚线)单代号线路单代号线路单代号网络图绘图规则必须正确表达工作的逻辑关系严禁出现循环回路不能出现双向箭头或无箭头的连线比能出现无箭尾节点的箭线和无箭头节点的箭线箭线不宜交叉(若交叉不可避免,可采用过桥法或指向法连接)只能有一个起始节点和一个终止节点(必要

52、时可设虚工作)单代号网络图绘图规则必须正确表达工作的逻辑关系案例讨论绘制网络图案例讨论绘制网络图开始ABEDCFGH结束开始ABEDCFGH结束网络计划时间参数计算最早开始时间ES最早结束时间EF最迟开始时间LS最迟结束时间LF总时差TF自由时差FF网络计划时间参数计算最早开始时间ES最早时间参数计算最早开始时间ESESMAX紧前工作的EF最早结束时间EFEFES工作延续时间t最早时间参数计算最早开始时间ES最早时间参数计算示例:顺排最早时间参数计算示例:顺排最早参数时间计算示例最早参数时间计算示例【计算机】软件工程实践(7)项目管理与策划最早参数计算(练习)A 3E 8C 7F 6D 4B

53、2G 5 代号 时间示例:最早参数计算(练习)A 3E 最迟时间参数计算最迟结束时间LFLFMIN紧后工作的LS最迟开始时间LSLSLF工作延续时间t最迟时间参数计算最迟结束时间LF最迟时间参数计算最迟时间参数计算最迟参数时间计算示例最迟参数时间计算示例【计算机】软件工程实践(7)项目管理与策划最迟参数计算(练习)A 3E 8C 7F 6D 4B 2G 5 代号 时间示例:最迟参数计算(练习)A 3E 时差(机动时间)计算总时差的计算 总时差LFEF或 总时差LSES自由时差 自由时差minES(紧后工作) maxLF(紧前工作) 工作时间 或 自由时差minES(紧后工作) ES 工作时间时

54、差(机动时间)计算总时差的计算总工期=MAX(活动最大的最早结束时间)总时差:活动不改变计划总工期的机动时间活动在总时差的范围内调整不影响项目的总工期总时差最小的活动是关键活动关键活动组成的路径是关键路径关键路径是工期最长(等于总工期)的路径自由时差:活动不改变紧前紧后活动的计划安排的机动时间活动在自由时差的范围内调整对项目计划没有影响总工期=MAX(活动最大的最早结束时间)总时差:活动不改变计网络计划时间参数计算(复习)最早开始时间ESMAX紧前工作的EF最早结束时间EFES工作延续时间t最迟结束时间LFMIN紧后工作的LS最迟开始时间LSLF工作延续时间t总时差TFLFEFLSES自由时差

55、FFminES(紧后工作)-maxLF(紧前工作)-工作时间minES(紧后工作)-ES-工作时间= minES(紧后工作)-EF网络计划时间参数计算(复习)最早开始时间ESMAX紧前工总机动时间计算(练习)A 3E 8C 7F 6D 4B 2G 5 代号 时间示例:总机动时间计算(练习)A 3E 时间计算(练习)A 3E 8C 7F 6D 4B 2G 5 代号 时间示例:0 33 53 103 710 1610 1818 2318 2312 1810 188 103 108 120 305050200300052时间计算(练习)A 3E 8横道图示意横道图示意网络图示意112/10121/2

56、0142/10141/20134/20133/15132/25131/15143/20122/20123/10144/15151/10152/10SS10FS5网络图示意112/10121/20142/10141/201111/10112/10121/20142/10141/20134/20133/15132/25131/15143/20122/20123/10144/15151/10152/10SS10FS50 1010 2020 3530 5555 7070 9095 10520 4040 6060 7020 4040 5050 7070 85105 115105 11595 10585

57、9565 8545 6520 3510 200 1030 5555 7070 9030 5050 6060 8080 9525250102525010101010000最早开始时间总时差最早结束时间工作代码工作名称工期最迟开始时间自由时差最迟结束时间111/10112/10121/20142/10141/20工作时间的压缩工作时间的压缩是数学分析方法为了缩短项目工期的一种特殊情况,通常是由于遇到一些特别的限制或者是其他进度目标的要求。延续时间压缩的技术主要包括:费用交换:在进度和费用之间往往存在一定的转换关系,这里的目的是寻求压缩进度所需追加的最小费用,或者在最佳费用限额确定下如何保证压缩的工

58、期最大,寻求工期和费用的最佳结合点。并行处理:对于一个正常进行的工作可考虑按照并行方式进行,当然这种转换容易带来一定的风险。工作时间的压缩工作时间的压缩是数学分析方法为了缩短项目工期的费用计划和资源计划根据WBS和进度安排制定费用计划计划在项目过程中所需的资源费用、资源、工期、进度间具有相关性确定在不同阶段所需的人员资质、数量、工作周期确定需要的制约项目进展的关键资源计划表费用计划和资源计划根据WBS和进度安排制定费用计划关键资源计划表示例序号名称版本/型号数量技术指标使用起始时间使用持续时间备注关键资源计划表示例序号名称版本/型号数量技术指标使用起始时间关于配置管理计划配置管理是指:标识和确

59、定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性配置管理计划包括:人员组织结构与职责、基线与配置项、配置项标识、配置控制过程与权限、配置状态记录和统计报告、配置审计等有关配置管理以及配置管理计划的详细内容在以后描述关于配置管理计划配置管理是指:标识和确定系统中配置项的过程,关于质量确定质量目标确定过程和产品规程和标准确定对各项工作的质量要求计划和安排质量活动评审、测试、配置管理计划质量保证工作项目组的质量工作与其它开发活动一起计划有关项目组质量保证工作在项目计划中专门进行,详细内容在以后描述关于质量确定质量目标编制软件

60、项目计划文档按照规定的格式编制软件项目计划文档,记录项目策划的结果所有在项目策划过程中的假设条件、估计原始数据应当在软件项目计划文档中记录可以用电子文件作为软件项目计划的文档,或将电子文件作为文档的附录项目的配置管理计划和质量保证计划可以纳入软件项目计划中,也可以单独形成文档编制软件项目计划文档按照规定的格式编制软件项目计划文档,记录软件项目计划文档条目1 范围2 引用文档3 软件开发管理3.1 项目组织与资源3.2 进度与里程碑3.3 风险管理3.4 安全保密3.5 与其他承制方的接口3.6 与其它软件独立验证与确认机构的接口3.7 转承制方的管理3.8 正式审查3.9 软件开发库3.10

温馨提示

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

评论

0/150

提交评论