项目管理PPT文件.docx

上传人:b****5 文档编号:6369761 上传时间:2023-01-05 格式:DOCX 页数:128 大小:817.13KB
下载 相关 举报
项目管理PPT文件.docx_第1页
第1页 / 共128页
项目管理PPT文件.docx_第2页
第2页 / 共128页
项目管理PPT文件.docx_第3页
第3页 / 共128页
项目管理PPT文件.docx_第4页
第4页 / 共128页
项目管理PPT文件.docx_第5页
第5页 / 共128页
点击查看更多>>
下载资源
资源描述

项目管理PPT文件.docx

《项目管理PPT文件.docx》由会员分享,可在线阅读,更多相关《项目管理PPT文件.docx(128页珍藏版)》请在冰豆网上搜索。

项目管理PPT文件.docx

项目管理PPT文件

第1讲软件项目管理概述

讲授内容

⏹软件项目案例

⏹管理是重要的

⏹什么是软件项目管理

⏹与软件项目管理有关的规范和标准

⏹小结

项目案例(1/3)

⏹任务

–负责组织**大学图书馆管理系统的开发

⏹时间限制

–6个月

⏹人员

–4个技术人员

⏹成本

–控制在40万元之内

项目案例(2/3)

⏹小王的长处

–精湛的技术,尤其是软件设计和程序设计技术

–丰富的软件开发经验,参加过许多项目的开发

–有成功的项目开发案例,对个人技术信心十足

⏹小王的欠缺

–从来没有完整组织过一个软件项目的开发,不知道如何开展软件项目的开发工作以及需要注意哪些问题

项目案例(3/3)

⏹小王很茫然,面临许多问题

–如何着手开展工作?

–能否以及如何保证在规定的时间约束范围内完成工程?

–如何保证所开发的软件系统的质量?

–怎么去组织手下的技术人员,让他们充满激情地工作?

–如何确保项目不会失控?

–如何在实施过程中处理各种应急事件?

……

⏹这些问题都是软件项目开发必须解决的,而且不是纯粹的技术性问题

讲授内容

⏹软件项目案例

⏹管理是重要的

⏹什么是软件项目管理

⏹与软件项目管理有关的规范和标准

⏹小结

管理是重要的(1/4)

⏹软件项目开发的任务

–按照预定的进度、成本和质量,开发出满足用户要求的软件产品

⏹用户需求

⏹确保软件质量

⏹成本限制

⏹进度限制

管理是重要的(2/4)

⏹软件工程的解决方法-运用工程化的手段进行软件开发

–强调过程

–抽象

–文档化

–规范化

–工具支持

–……

管理是重要的(3/4)

⏹项目组由许多承担不同角色、承担不同任务的人员组成,这些人员构成了一个团体

–项目经理、需求分析人员、设计人员、程序员、测试人员……

⏹软件开发涉及到许多相互关联的活动,这些活动的实施直接关系到软件项目的成本和进度

–需求分析、软件设计、编码、测试……

⏹在软件项目实施过程中会产生大量软件产品,这些软件产品相互关联、具有不同的抽象层次

–软件需求规格说明书、软件设计规格说明书、源程序代码、可执行代码、测试用例……

管理是重要的(4/4)

⏹管理软件开发过程

–明确过程活动

–估算各个的工作量、成本

–制定计划,跟踪过程,风险控制

⏹管理软件产品

–有哪些产品,呈什么形式(规范文档),如何保证它们的质量,如何控制它们的变化

⏹管理软件开发人员

–如何组建一个好的团队、调动团队成员的积极性和激情、严明团队的纪律、促进人员之间的协调与合作

讲授内容

⏹软件项目案例

⏹管理是重要的

⏹什么是软件项目管理

⏹与软件项目管理有关的规范和标准

⏹小结

什么是软件项目管理

⏹对软件项目开发过程中所涉及的过程、人员、产品、成本和进度等要素进行度量、分析、规划、组织和控制的过程,以确保软件项目按照预定的成本、进度、质量要求顺利完成

软件项目管理的主要内容

⏹相互关联的管理要素

–过程管理

⏹过程:

怎么做(How)

–人员管理

⏹人员:

谁来做(Who)

–产品管理

⏹产品:

结果(What)

3.1过程管理

⏹过程定义和剪裁

⏹软件项目计划

⏹软件度量

⏹软件项目的跟踪和监督

⏹风险管理

3.1.1过程定义和剪裁

⏹在组织范围内定义、文档化软件开发过程、明确软件开发活动,得到一个良定义、全面、灵活、简洁和可供剪裁的软件开发过程

–如何进行根据企业特点定义软件开发过程?

–如何对它进行文档化?

–如何确保软件开发过程的有效性(包含了所有各种必须的活动)、简洁性(舍弃无关紧要的过程和活动)和灵活性(根据具体项目情况进行剪裁)?

–如何根据项目的特点剪裁过程?

……

3.1.2软件项目计划

⏹制定和文档化软件项目计划,确保软件开发计划是可行、科学、符合实际的

–要对软件开发过程中的那些方面制定计划?

–制定软件项目的计划的基础和依据是什么?

–要考虑哪些方面的问题?

–如何确保计划是科学的和可行的?

(软件度量)

–如何描述计划?

–利用哪些工具可辅助计划的制定?

……

3.1.3软件度量

⏹对软件项目的过程、产品、资源的属性的定量描述,如软件项目的规模、成本、工作量、质量等。

目的是为了对软件项目进行更好的管理,如制定计划、质量保证等

–需要对哪些方面进行度量?

–如何进行度量?

–如何将度量的结果指导软件项目的管理?

–有哪些工具和模型可辅助进行软件度量……

3.1.4软件项目的跟踪和监督

⏹跟踪和及时调整软件项目开发计划,提供项目情况的可视性,保证计划的适时调整

–要对哪些方面进行跟踪?

–如何对软件项目进行跟踪?

–当项目不能按照预定计划实施时,如何调整计划?

–当跟踪发现问题时如何进行处理

–如何提供工具辅助对软件项目进行跟踪……

3.1.5风险管理

⏹对软件开发过程中各种风险进行分析、预测、评估、监控的过程

–什么是软件开发风险?

–软件开发可能会有哪些风险?

–如何客观地预测风险?

–如何评估风险带来的影响?

–如何避免和消除风险?

–如何提供工具支持风险分析?

……

3.2人员管理

⏹软件项目团队

⏹纪律和激励机制

3.2.1软件开发团队

⏹确定团体的结构、明确人员的角色和任务、加强人员之间的交流与合作,结构合理、任务明确、团结协作、交流顺畅

–如何确定项目团队?

–如何加强人员之间的交流和合作?

–如何提高团队的协作精神?

–……

3.2.2纪律和激励机制

⏹制定和实施纪律约束团体,通过激励机制激发人员的激情,严格的纪律,饱满的激情

–如何制定有效的纪律确保项目得以顺利的实施

–如何制定措施激励员工的积极性和热情

–……

3.3产品管理

⏹软件需求管理

⏹软件质量保证

⏹软件配置管理

3.3.1软件需求管理

⏹获取、文档化和评审用户需求,并对用户需求的变更进行控制和管理

–如何获取需求?

–如何撰写软件需求规格说明书?

–如何对需求进行评审以发现需求文档中的问题?

–如何控制需求的变更?

–如何提供工具支持需求管理……

3.3.2软件质量保证

⏹在软件项目实施过程中为软件产品的质量提供某种可视性,知道哪些地方有质量问题,便于改进方法和措施,提高软件产品的质量

–高质量的软件体现在哪些方面?

–如何保证软件产品的质量?

–如何发现软件的质量问题?

–如何制定软件产品质量保证计划?

–如何有效落实和实施计划?

–如何提供工具支持软件质量保证?

……

3.3.3软件配置管理

⏹对软件产品进行标识、存储、更动和发放,记录、报告其状态,验证软件产品的正确性和一致性,并对上述工作的审计的过程

–如何标识软件产品

–如何描述软件产品?

–如何对其软件产品的版本进行控制?

–如何控制软件产品的变更?

–如何制定软件配置计划?

–如何利用工具支持软件配置活动……

讲授内容

⏹软件项目案例

⏹为什么需要对软件项目进行管理

⏹什么是软件项目管理

⏹与软件项目管理有关的规范和标准

⏹小结

软件项目管理的规范和标准

⏹CMM(CapabilityMaturityModel)

–持续过程能力的不断改进和提高

⏹ISO9001

–软件开发可接受的质量体系的标准

CMM简介

⏹基本概念

⏹CMM的产生和发展

⏹CMM框架

⏹CMM的应用

基本概念(1/6)

⏹软件过程

–开发和维护软件及其相关产品(项目计划、设计文档、代码测试用例和用户手册等)的一系列有序的活动,包括“工程活动”和“管理活动”两方面

⏹技术活动:

需求分析、软件设计、编码等

⏹管理活动:

制定计划、项目跟踪和监督、质量保证等

–软件过程将人员、工具、方法和规程有机结合在一起

⏹规程:

有哪些活动,这些活动间的关系

⏹方法:

如何来实施这些活动

⏹人员:

谁来实施这些活动

⏹工具:

人员利用什么工具来实施活动

基本概念(2/6)

⏹软件过程能力(Capability)

–通过遵循软件过程,软件开发活动能够达到预期结果的程度

–事前,预期结果(项目还没实施,用户和组织关注)

⏹软件过程性能(Performance)

–通过遵循其软件过程,软件开发活动实际得到的结果

–事后,实际结果

基本概念(3/6)

⏹软件过程成熟度

–软件过程被明确有效地定义、执行、管理、测量和控制的程度

–软件过程成熟度用来表示软件过程能力的高低,成熟度高,通过软件开发达到预期结果的程度就高,否则就低

–组织必须始终不断地提高软件过程的成熟度

基本概念(4/6)

⏹软件(过程)能力成熟度等级

–表示软件开发组织或项目所具有的软件过程成熟度的等级,即其软件工程和管理能力的等级

–不同的等级表示软件过程能力成熟度的高低

–CMM将软件能力成熟度划分为5个等级

⏹初始级

⏹可重复级

⏹已定义级

⏹已管理级

⏹优化级

基本概念(5/6)

⏹软件(过程)能力成熟度模型

–把软件过程成熟度由低到高、由无序到有序的进化顺序分为几个阶段或台级,明确定义了各个等级的基本特征,以及达到该等级所必须具备的条件,它们共同构成了表示软件开发组织或项目的软件过程能力的一个框架

–有序等级、等级特征、等级活动

–评估和提高组织软件能力成熟度的规范和标准

基本概念(6/6)

⏹软件过程评估

–是由一组受过培训的专业人员作出的估价,目的在于确定机构现行软件过程的状况,确定面向机构的高优先级的软件过程问题,以得到机构对软件过程改进的支持

–评估一般是组织内部的人员实施

⏹软件能力评价

–是由一组受过培训的专业人员作出的估价,目的在于确定软件开发方的资格,或者对现有软件工作中使用的软件过程状态进行监督

–评估一般是外部独立的机构进行

CMM的产生和发展

⏹产生

⏹发展

⏹国际现状

⏹国内现状

CMM的产生

⏹CMM由卡内几-梅农大学(CMU)软件工程研究所(SEI)提出

⏹最初开始于1986年11月,SEI在MITRE公司的协助下,着首开展CMM的工作,为客户提供评价软件开发方能力、帮助组织改进和提高其软件过程

⏹1987年SEI软件过程成熟度的简短描述[Humphrey87a]

⏹随后,开发了二种方法(软件过程评估和软件成熟度评价))和一个成熟度问卷,以估计软件过程成熟度

⏹1991年SEI将成熟度框架发展为成熟度模型

⏹在应用中几经修改,最后在1993年2月正式发布了CMM1.1版,在DoD和NASA等政府部门得到广泛应用

CMM的发展

⏹PSP(PersonalSoftwareProcess)

–面向个体

⏹TSP(TeamSoftwareProcess)

–面向软件开发团队(组)的软件过程要求

⏹FAA-iCMM

–美国联邦航空管理局提出的集成的CMM

⏹CMMI

–CMMI工作计划提出的集成CMM,是一个系列标准,目前包括:

CMMI-SW,CMMI-SE,CMMI-SW/SE,CMMI-SW/SE/IPPD,CMMI-SA,

⏹CSCMM

–一个中国的CMM

CMM的国际现状

⏹CMM在国际上比较流行

–美国,印度,日本

–由SEI授权认证,主任评估师责任制

–美国和印度有许多企业通过了4,5级的认证

⏹在美国

–DoD

–NASA

CMM的国内现状

⏹CMM近几年在国内引起了高度关注和重视

–为了加强企业的国际竞争力,国家支持企业获得CMM的认证

–一些企业过2级以上认证,如东大阿派通过3级

–有一些主任评估师,如北航的周伯乐教授

CMM的框架

⏹CMM的组成

⏹CMM的等级

⏹关键过程域

⏹关键实践

⏹关键实践类

CMM的组成

CMM的等级

初始级(1/2)

⏹开发过程是无序的,有时甚至是混乱的,常常以消防模式解决问题。

–出现危机时,软件项目一般会脱离计划好的软件开发过程,回到仅仅进行编码和代码调试的工作状态

⏹几乎没有妥善定义和认真执行过的软件过程,软件开发缺乏必要的纪律

⏹成功往往应归功于个人或少数人的努力,软件工程化水平很差

–软件项目的成功完全依赖于杰出的项目管理人员和或有经验、有战斗力的开发队伍

初始级(2/2)

⏹开发很类似的项目仍有可能失败

–处于级别1的组织仍能开发出成功的产品,但常常超出预算和进度

–其成功依赖于有较高能力的个人和少数精英,

–他们离开组织后,这种能力和影响力随之消失

–如果不派他们去开发下一个项目,级别1的机构不能重复已取得的成功

⏹能力是个人特征而不是项目组或者组织特征

可重复级

⏹软件开发组织已建立了管理软件项目的策略和实施这些策略的规程(尽管还没有一个统一的标准,不同的项目有差异),对于新项目的计划和管理基于类似的工程经验

⏹较完善的软件工程过程已经建立并被严格强制执行

⏹项目执行经过定义的、文档化的、曾经实施过的、人员经培训的、可测量的、强制的以及可改进的有效软件过程

⏹开发类似项目保证可重复以往的成功

可定义级

⏹软件项目已完善地定义其管理过程和工程过程,已将其形成标准化的文档,并且组织已将各个项目定义的软件过程集成为软件开发组织统一的标准软件过程

⏹组织内各个项目采用的软件过程都是上述统一的标准软件过程的一个经批准的剪裁版本-项目定义的软件过程

⏹组织内建立了一个负责组织过程活动的小组,实施培训,保证人员具备所需的知识和技能

⏹执行完善定义而且文档化的过程已成为组织直至个人的自觉行为

可管理级

⏹在工作过程中详细采集有关软件过程和产品质量方面的度量数据,使软件过程和产品质量都能得到定量地度量和控制

⏹软件的开发成本、进度和质量均是定量地可预测的

⏹各级管理者都对其管理的工作心中有数(即能做到定量地了解),从而采取的管理措施的效果都是定量地可预测的(管理措施是计算出来的)

优化级

⏹软件开发组织能自觉地利用各种先进经验以及来自新技术、新思想的先导试验的定量反馈信息来持续不断地来改进和优化组织统一的标准软件过程

⏹组织的软件过程能力能自动地得到增强和优化,整个软件开发过程已步入一个不断改进的良性循环中

关键过程域

⏹什么是关键过程域?

⏹有哪些关键过程域?

⏹关键过程域的组成?

什么是关键过程域

⏹是指相互关联的若干软件实践活动的集合,描述了为了达到某个成熟度等级必须解决的主要问题(所谓关键表示必不可少),

⏹要达到该级需解决的主要矛盾

⏹例如,2级中的“需求管理”

有哪些关键过程域(1/4)

⏹可重复级(2级)

–需求管理

–软件项目计划

–软件项目跟踪和监督

–软件子承包商管理

–软件质量保证

–软件配置管理

有哪些关键过程域(2/4)

⏹已定义级(3级)

–机构过程焦点

–机构过程定义

–培训大纲

–综合软件管理

–软件产品工程

–组间协调

–同行评审

有哪些关键过程域(3/4)

⏹可管理级(4级)

–定量过程管理

–软件质量管理

有哪些关键过程域(4/4)

⏹优化级(5级)

–缺陷预防

–技术更新管理

–过程更改管理

关键过程域的组成

⏹目标

–每个关键过程域都有一组欲要达到的目标

–例如,2级中的“需求管理”的目标:

控制指定给软件的系统需求,为软件工程和管理应用建立基线

⏹关键实践

–每个关键过程域包含一组必须完成的关键实践,以便达到该关键过程域相应的目标

–例如,在分配需求被纳入软件项目之前,软件工程组对它们进行评审

⏹仅当关键过程域的所有目标都已达到时,该关键过程域才算实现

关键实践(1/2)

⏹每个关键过程域包含若干个关键实践,以实现该关键过程域的目标

⏹什么是关键实践?

–是指对所在关键过程域目标的实现和规范化实施必不可少的实践活动

–例如(二级需求管理关键过程域),在分配需求被纳入软件项目之前,软件工程组对它们进行评审

关键实践(2/2)

⏹如何描述关键实践?

–说明关键实践的基本方针、规程和活动

–详细阐述

⏹关键实践只描述“做什么”,而不描述“如何做”

关键实践类(1/4)

⏹什么是关键实践类

–尽管不同的关键实践可能具有相同的特性

–指一组具有共同特性的软件实践活动的集合

–可以利用关键实践类对关键实践重新组织

关键实践类(2/4)

⏹有哪些关键实践类?

–执行约定

⏹描述了组织为确保过程的建立和持续而必须采取得一些措施

⏹典型内容包括机构策略和领导关系

⏹例子,项目遵循一个书面的、由组织制定的用以管理分配给软件的系统需求的方针

–执行能力

⏹描述了项目和组织完整的实现软件过程所必须具备的先决条件

⏹典型内容包括资源、机构和培训

⏹例子,提供足够的用以管理分配需求的资源和经费

关键实践类(3/4)

–执行活动

⏹描述了执行了一个关键过程域所必须的活动

⏹典型内容包括制定计划和规程,执行和跟踪,必要时采取纠正措施

⏹例子,在分配需求被纳入软件项目之前,软件工程组对它们进行评审

–度量和分析

⏹描述了为确定与过程有关的状态所需的基本测量实践,用于改进和控制过程

⏹典型内容包括可能采用的测量实例

⏹例子,进行度量,并将度量结果用以确定分配需求管理活动的状态

关键实践类(4/4)

–验证执行

⏹描述了为确保执行的活动与已建立过程一致所采取的步骤

⏹典型内容包括:

管理部门和软件质量保证组实施的评审和审核

⏹例子,软件质量保证组对分配需求管理活动和工作产品进行评审和(或)审计,并报告其结果

CMM的应用

⏹促进软件开发过程的管理和控制

⏹提高软件质量,缩短软件开发周期

⏹对软件承包商软件能力进行评估,指导选择承包商

⏹为软件承包商提供了一种改进其软件过程和提高软件质量的有效途径

⏹为用户方提供了一种跟踪和监督软件合同执行情况的有效方法

⏹CMM只回答“做什么?

”,“如何做?

”由开发组织自己定义

第2讲软件开发过程的定义、剪裁和改进

问题

⏹如果让你来组织一个软件项目的开发,你认为首先你所关注的问题是什么?

1.项目案例

案例角色和人物

软件开发需要过程(1/3)

⏹由于时间紧迫,小王需要马上展开软件项目的开发工作,但是它现在面临一系列头痛的问题

–软件项目的开发要做哪些方面的工作

–这些工作应该按照什么样的次序开展进行?

这些工作完成后将产生什么样的结果?

按照什么样的规范来书写这些内容

–如何让员工知道要做哪些工作

–尽管他学过软件工程,但在小王的头脑中没有一个清晰、系统的认识

–根据以往的经验,他认为需要去制订一个清晰、详细、完整的软件开发过程

软件开发需要过程(2/3)

⏹小王向老王寻求帮助,老王告诉小王公司以前从来没有这些方面的记录,各个项目组都从零开始制定自己的软件开发过程,但都没有形成文档

⏹经过慎重考虑,小王向老王建议:

–项目组需要定义软件开发过程

–公司需要一个良定义、文档化的软件开发过程,以便于支持不同项目组的开发工作

⏹老王同意小王的建议,并要求他制定和文档化一个针对公司特点、并且能满足大部分软件项目需求的软件开发过程

软件开发需要过程(3/3)

⏹于是,小王只好找了一大堆的资料,带着许多疑问和困惑,考虑和制订项目开发的过程和活动。

–什么是软件开发过程?

–如何清晰、准确、规范地对它加以定义?

–如何根据公司的特点,制定软件开发过程?

–如何不断地改进软件开发过程?

–如何根据项目的特点剪裁过程

–等等

过程是重要的

⏹软件开发过程的制定对软件项目的实施是很重要的

⏹软件开发过程需要文档化,便于交流、培训、改进

⏹软件开发过程的制定应针对具体组织和项目的特点

⏹一个组织最好应该有特定于该组织、一般性的软件开发过程,供各个项目剪裁和使用

⏹通过培训让项目组成员了解软件开发过程

问题的提出

⏹什么是软件开发过程?

⏹如何清晰、准确、规范地对它加以定义?

⏹如何根据公司的特点,制定软件开发过程?

⏹如何不断地改进软件开发过程?

⏹如何根据项目的特点剪裁过程

⏹……

2.1什么是过程?

⏹针对一个给定目的地一系列操作步骤--(IEEE-STD-610)

⏹例如

–目的:

去火车站

–操作步骤:

去德雅路公共汽车站,乘113路汽车

⏹每个过程都有明确的目的以及具体的操作步骤,操作步骤说明了有哪些操作以及按照什么样的方式来执行操作

2.2什么是软件开发过程(1/2)

⏹按照项目的进度、成本和质量限制,开发和维护满足用户需求的软件所必需的一组有序的软件开发活动集合

⏹软件开发活动的例子

–需求分析

–设计

⏹开发活动的序例子

–先做需求分析,然后再做软件设计……

2.2什么是软件开发过程(2/2)

⏹软件开发过程的组成

–软件开发活动

–软件开发活动间的关系(执行和实施的序)

2.3软件开发活动(1/4)

⏹什么是软件开发活动?

–为开发软件项目而执行的一项具有明确任务的具体工作

–例如,需求分析,执行单元测试,制定软件项目开发计划等

⏹软件开发过程中存在许多相互关联的软件开发活动

–明确的任务

–非孤立,和其他活动存在关联

2.3软件开发活动(2/4)

⏹按任务性质,软件开发活动可分为二种形式

–技术活动:

对软件项目实施开发,产生软件产品。

例如,需求分析,概要设计,编码,单元测试等等

–管理活动:

对软件项目中的人、产品和过程等实施管理的活动。

例如,制订软件项目计划,软件配置等等

2.3软件开发活动(3/4)

⏹如何定义软件开发活动?

–名称

–任务

–输入:

开始所必需满足的条件

–输出:

完成时所必须满足的条件以及结果

–实施:

做什么,怎么做(详细的步骤),或者如何从输入产生输出

2.3软件开发活动(4/4)

⏹软件活动例子:

单元测试

–任务:

对软件基本单元模块进行测试,判断是否有错

–输入:

有一个已完成、被文档化和批准的软件单元测试计划;供测试的软件单元模块代码

–实施:

遵循单元测试计划,运行了所有的测试用例;撰写了单元测试报告

–输出:

单元测试报告

2.4软件开发活动间的关系

⏹软件开发活动之间的次序反映了活动之间的依赖关系

–逻辑

⏹一个软件开发活动输出是另一个软件开发活动的输入

⏹例如,需求分析和软件设计之间

–时间

⏹一个软件开发活动需等到另一个软件开发活动完成之后才能执行

⏹例如,集成测试和确认测试

为什么需要过程

⏹明确了软件开发的过程和步骤,促进工程化软件开发

⏹便于制定软件项目计划

⏹为软件开发提供了可视性,便于对软件开发过程进行管理和控制

⏹便于细化和安排任务,使得每个人员明确各自的工作

软件开发过程模型

⏹什么是软件开发过程模型?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1