软件项目管理2016软件本科.ppt
《软件项目管理2016软件本科.ppt》由会员分享,可在线阅读,更多相关《软件项目管理2016软件本科.ppt(366页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件项目管理徐长青Software Project management使用的开发工具pp配置管理:配置管理:MicrosoftVisualSourceSafe(VSS)。微软Windows平台下的一个小型软件配置管理工具。pp项目管理:项目管理:Microsoft Project。微软Windows平台下国际通用的项目管理软件。教材及参考资料pp 选用教材选用教材1.PANKAJ JALOTE,CMM in Practice:Processes forExecuting Software Projects at Infosys,高等教育出版社,2000.pp 主要参考书主要参考书1.M.C.
2、Paulk,CapabilityMaturityModelforSoftware,SEI-91-TR-24,1991.2.PankajJalote,SoftwareProjectManagementinPractice,2002.3.3.IT项目管理美凯西.施瓦尔贝(KathySchwalbe)2015思考p你是否参加过软件项目的开发?p你是否组织过软件项目的开发?p有哪些印象深刻的成功和失败案例?p你认为软件开发中最具挑战性的问题是什么?p你认为自己能否胜任以下职位程序员、设计师、项目经理、开发顾问p你希望将来在IT企业中充当什么角色?如何达成?1.1.软件开发与软件项目管理1.2.CMM简
3、介1.3.INFOSYS公司的项目管理实践第一章绪论1.软件项目管理的重要性2.软件危机的提出3.世界软件产业发展现状及中国软件业的差距1.1软件开发与软件项目管理p 为何需要软件项目管理?软件的定义:是使计算机能够工作的指令集合和相应的数据结构和文档,是一种产品,将计算机的硬件能力发挥出来的一种工具,是传递信息的一种工具,对信息的处理手段。1.1-1软件项目管理的重要性p软件的特征:1.软件是一种逻辑元素,而不是物理元素;2.软件是开发出来的,而不是用传统的方法制造出来的;3.软件不会被用坏,一般产品的失败概率都遵循浴盆曲线;4.工业界已经是标准化装配时代,但软件还是定制时代;5.创新性和人
4、为因素更高。1.1-1软件项目管理的重要性项目的定义所谓项目,就是为创建某一独特产品或服务或者成果,在一定的环境和约束条件下进行的临时性的努力即它是利用有限的资源,在有限的时间内为特定客户完成特定目标的一次性工作。1.1-1软件项目管理的重要性管理管理是通过利用已有的和可以争取到的各种资源(如人、财、物、技术等),以最少的投入获得最大的产出完成某种任务或达到某个目标的软活动。任务有:发现问题拟定方案作出决策管理有三个层次:高层(战略级)、中层(策略级)、基层(执行级)组织组织是由人和其它资源组成,为达到一个目的的集合或系统。管理是组织的任务,管理为组织服务,确保组织达到预期目标1.1-1软件项
5、目管理的重要性项目管理 一定的主体,为了实现其目标,综合运用专门的知识、技能、工具和方法,对执行中的项目周期的各阶段工作进行计划、组织、协调、控制,以满足甚至超越项目干系人的需求和期望。项目干系人 参与项目和受项目影响的人,包括项目发起人、项目组、支持人员、客户、最终用户、供应商,项目对手。项目的核心知识是范围、时间、成本和质量。辅助知识是人力资源管理、风险管理和采购管理。1.1-1软件项目管理的重要性软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。软件项目
6、管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程.为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数.1.1-1软件项目管理的重要性p软件开发是一个高风险的过程p软件过程的管理是软件成功的关键p职业的发展方向、软件企业的生存的重要性1.1-1软件项目管理的重要性软件危机:软件在开发和维护过程中遇到的矛盾与问题。1.1-2软件危机的提出p“软件危机”的主要原因用户不易准确描述对软件的需求,经常存在二义性,遗漏甚至错误1.1-2软件危机的提出p“软件危机”的主要原因大
7、型软件往往需要成百上千人的合作,由于软件系统结构复杂,如何有效组织管理、充分发挥团队作用就成为软件开发成功的关键。1.1-2软件危机的提出个人VS团队计算机软件和硬件费用比 60 70 80 90p“软件危机”的主要原因缺乏有效的软件开发方法和工具的支持,过分依靠程序设计在开发中的技巧和创造性,加剧了软件产品的个性化。开发过程没有统一、规范的方法论指导,文档资料不齐全。1.1-2软件危机的提出p“软件危机”的主要原因缺乏软件开发经验及相关数据积累,无法准确估计经费和进度,导致经费严重超支,完成期限一拖再拖。忽视测试阶段的工作,提交的产品质量差。1.1-2软件危机的提出软件项目失败的案例软件项目
8、失败的案例1999,10月,美国NASA火箭气象卫星失踪,耗资1.25亿美元。软件的错误,英制和公制的转换问题导致。1963-1966美国IBM360机器的操作系统,5000人年的工作量,1000多人进行开发,100万行代码,新版本是在老版本中找出1000个以上的错误之后修正开发。当时的情况很不好,主要负责人Brooks把他们当时比作陷在泥潭的困兽,越挣扎越深。-人月神话软件项目失败案例1999年8月,在美国的一个大型的商业高速数据网络里,软件的缺陷影响了7000多个商业用户,时间长达8天。1998年4月,美国的一个重要数据通讯网络出现24小时的故障,使大部分美国的信用卡业务受到影响。受影响的
9、还有美国的一些大银行、零售商和政府的数据系统。也是软件故障。1997年8月,美国一家最主要的信用卡报告公司的新网站开启2天就关闭了,主要是查询自己的信用卡使用情况,但看到的是别人的账单,而不是自己的。软件项目失败案例逻辑产品,不同于物理产品复杂性高逻辑产品,逻辑复杂性,远高于硬件复杂性软件的复杂性随规模呈指数级上升规模大应用扩大,代码量仍在不断膨胀影响软件生产率和质量的因素比较复杂人员的能力和水平团队合作缺乏有效、系统原理、原则、方法和工具的指导和辅助产生软件危机的根源总结美国印度爱尔兰1.1-31.1-3 世界软件产业发展现状及中国软件业差距世界软件产业发展现状及中国软件业差距 与印度的比较
10、与反思:与印度的比较与反思:1.1-31.1-3 世界软件产业发展现状及中国软件业差距世界软件产业发展现状及中国软件业差距 软件产值的比较(软件产值:亿)印度中国199953.267.5200071.788.5200196.3102.32002110124“2009年,我国软件收入去年已经达到人民币7573亿元,印度700到800亿美元,算下来相当于人民币6000亿左右,从这个角度说中国已经超越印度。”陈冲,中国软件行业协会理事长软件出口的比较(软件产值:亿)印度中国1999392.52000624200177.87.2 与印度的比较与反思:与印度的比较与反思:1.1-31.1-3 世界软件产
11、业发展现状及中国软件业差距世界软件产业发展现状及中国软件业差距 1.1-31.1-3 世界软件产业发展现状及中国软件业差距世界软件产业发展现状及中国软件业差距 中国占世界软件外包行业的比重(软件产值:亿美元)世界软件外包规模中国20043348.3200541410.9200651914.5200764219.9200878127.8200994339 与印度的比较与反思:与印度的比较与反思:1.1-31.1-3 世界软件产业发展现状及中国软件业差距世界软件产业发展现状及中国软件业差距 2006年软件外包份额印度34.2爱尔兰29.2菲律宾2.9中国2.4世界软件外包介绍1.1.软件开发与软件
12、项目管理1.2.CMM软件能力成熟度模型1.3.INFOSYS公司的项目管理实践第一章绪论1.CMM简介2.CMM的成熟度级别3.不同级别的KPA4.CMM的评估方法1.2软件能力成熟度模型1.2软件能力成熟度模型CMMCapabilityMaturityModelforSoftware.软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。CMM体系描述了在不同成熟度级别下的软件过程的关键因素。CMM包括对软件开发和维护进行策划、工程化和管理的实践。遵循这些关键实践,就能改进组织在实现有关成本、进度、功能和产品质量
13、等目标上的能力。1.2-1软件能力成熟度模型简介SEI给CMM下的定义是:对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。CMM模型便于确定软件组织的现有过程能力和查找出软件质量及过程改进方面的最关键的问题,从而为选择过程改进战略提供指南。CMM包括5个等级,共计18个过程域,52个目标,300多个关键实践。CMM的起源与发展CMM的起源:软件危机1986,SEI(CMU的的软软件件工程研究所)正式着手工程研究所)正式着手这这项项工作工作1987年年9月,月,发发布布“能力成能力成熟度框架熟度框架”和和“成熟度成熟度问问卷卷”1991.8 CMM1.01993,
14、CMM1.12002,CMM-I1.2-1软件能力成熟度模型简介Capability Maturity Model Integrationp1999年7月6日,由IBM和清华同方合资成立的北京鼎新信息系统开发有限公司,在国内首次通过CMM2级。p2000年左右,全球60多家CMM5级的企业,印度占了40个。国内当时通过CMM5级的企业,有摩托罗拉中国研究院,华为印度研究院,2007年东大阿尔派(东软前身)。p一般,外包企业比较适用于通过CMM评估,而以创造性为主的软件公司,例如微软、IBM、Google等,均没有进行CMM评估。p大连海辉、华信都通过CMM5,主要做软件外包。1.2-1软件能力
15、成熟度模型简介我国的CMM发展情况:软件过程软件过程能力软件过程性能软件过程成熟度1.2-1软件能力成熟度模型简介软件过程人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。1.2-1软件能力成熟度模型简介软件过程能力描述(开发组织或项目组)遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件项目而言。1.2-1软件能力成熟度模型简介软件过程性能表示(开发组织或项目组)遵循其软件过程所得到的实际结果,软件过程性能描述的是已得到的实际结果,而软件过程能力则描述的是最可能的预期结果,它既可对整个软件开发组织而言,也可对一个特定项目而言。1.
16、2-1软件能力成熟度模型简介1.成熟度的五个级别2.成熟度等级的五个级别的主要特征3.软件过程的可视性4.过程能力和性能预测5.成熟度等级的内部结构1.2-2CMM的成熟度级别1级初始级(Initial)2级可重复级(Repeatable)3级已定义级(Defined)4级已管理级(Managed)5级优化级(Optimizing)成熟度等级1-5:1.2-2CMM的成熟度级别初始级特征:软件过程的特点是无秩序的,偶尔甚至是混乱的,几乎没有什么过程是经过定义的,成功依赖于个人努力。可重复级特征:已建立基本的项目管理过程去跟踪成本进度和功能,必要的过程纪律已经就位,使具有类似应用的项目能重复以前
17、的成功。成熟度等级的五个级别的主要特征1.2-2CMM的成熟度级别已定义级特征:管理活动和工程活动两方面的软件过程均已文档化、标准化,并集成到组织的标准软件过程中,全部项目均采用供开发和维护软件用的组织标准软件过程的一个经批准的普及剪裁版本。已管理级特征:已采集详细的有关软件过程和产品质量的度量,无论软件过程还是产品均得到定量了解和控制。优化级特征:利用来自过程和来自新思想、新技术的先导性实验的定量反馈信息,使持续过程的改进成为可能。成熟度等级的五个级别的主要特征1.2-2CMM的成熟度级别软件过程的可视性:等级1一个黑盒等级2项目里程碑处具有管理可视性等级3盒子的内部结构可视等级4软件过程被
18、配备上度量,并得到定量地控制等级5对过程不断改进1.2-2CMM的成熟度级别过程能力和性能预测随着成熟度增长,实际结果相对预定目标结果的偏差范围减小随着成熟度增加,预定目标结果得到改善1.2-2CMM的成熟度级别成熟度等级共同特点关键过程域执行约定执行活动度量和分析验证实施执行能力过程能力目标关键实践划分表明包含实现包含1.2-2CMM的成熟度级别什么是关键过程区域(KeyProcessArea,KPA)?每个关键过程区域识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标。KPA的特性:p每个KPA识别出一串相关活动p每个KPA定义在单个成熟度等级上pKPA鉴别出
19、为达到某一成熟度等级所必须解决的问题1.2-3不同级别的KPAKPA的结构:p目标p共同特点执行约定执行能力执行活动度量和分析验证实施1.2-3不同级别的KPAKPA的目标(Goal):p目标概括一个KPA中的所有关键实践,并能用于确定一个组织或项目是否已有效地实施此KPA。p目标表示每个关键过程域的范围、边界和意图。1.2-3不同级别的KPAKPA的共同特点:p执行约定(CommitmenttoPerform):企业为了建立和实施相应KPA所必须采取的行动;p执行能力(AbilitytoPerform):描述了为了某软件过程得以始终如一地执行必须在项目或企业中存在的先决条件,是企业实施KPA
20、的前提条件;p执行活动(ActivitiesPerformed):描述了执行KPA所需求的必要行动、任务和步骤;其是唯一一项与项目执行相关的属性。p度量和分析(MeasurementandAnalysis):关注于这个关键过程域的活动需要做的度量和度量分析要求。p验证实施(VerifyingImplementation):是验证执行活动是否与建立的过程一致,核实以确保所实施的过程是按照原定的计划以及达到其目标,着眼于保证过程的实现要通过独立的个人和高级管理人员验证。1.2-3不同级别的KPA执行约定(CommitmenttoPerform):执行约定是企业为了建立和实施相应KPA所必须采取的行
21、动,这些行动主要牵涉到企业范围的政策和高层管理的责任。1.2-3不同级别的KPA执行能力(AbilitytoPerform)执行能力描述为了使某软件过程得以始终如一地执行的必须在项目或企业中存在的先决条件,是企业实施KPA的前提条件。企业必须采取措施,在满足了这些条件后,才有可能执行KPA的实践活动。执行能力关注于项目计划的实践;资源的配置;责任的布置与授权;以及各种有关的培训等,这些都是为了执行这个关键过程域的活动而对特定人以及作为整体的机构的能力开发起非常重要作用的事务。1.2-3不同级别的KPA执行活动(ActivitiesPerformed)执行活动描述了执行KPA所需求的必要行动、任
22、务和步骤。在五个公共属性中,执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业CMM能力基础设施的建立。执行活动一般包括计划、执行的任务、任务执行的跟踪等。1.2-3不同级别的KPA验证实施(VerifyingImplementation)验证实施是验证执行活动是否与建立的过程一致,核实以确保所实施的过程是按照原定的计划以及达到其目标,着眼于保证过程的实现要通过独立的个人和高级管理人员验证。涉及到管理的评审和审计以及质量保证活动,包括:过程执行的确保,产品要求的确保,高层管理人员进行的审核和项目经理进行的审核。1.2-3不同级别的KPA测量和分析(MeasurementandAnaly
23、sis):测量和分析关注于这个关键过程域的活动需要作的度量和度量分析要求。典型的测量和分析的要求是确定执行活动的状态和执行活动的有效性。1.2-3不同级别的KPA1.2-3不同级别的KPApCMM共有18个KPA,其中:2级6个3级7个4级2个5级3个关键过程区域(KeyProcessAreas)是一组相关的活动初始级初始级需求管理软件项目计划(策划)软件项目跟踪与监督软件子合同管理软件质量保证软件配置管理可重复级可重复级组织过程焦点组织过程定义培训大纲集成软件管理软件产品工程组间协调同行评审已定义级已定义级定量过程管理软件质量管理已管理级已管理级缺陷预防技术改革管理过程更改管理优化级优化级关
24、键过程域等级2的KPA:p需求管理RM(RequirementsManagement)p软件项目计划SPP(SoftwareProjectPlanning)p软件项目跟踪和监督SPTO(SoftwareProjectTrackingandOversight)p软件子合同管理SSM(SoftwareSubcontractManagement)p软件质量保证SQA(SoftwareQualityAssurance)p软件配置管理SCM(SoftwareConfigurationManagement)1.2-3不同级别的KPARM软件需求受控制,为软件工程和管理活动建立基线;软件计划、产品和活动与需
25、求保持一致。SPP项目活动和约定是有计划的,并成文归档;受影响的小组和个人认同项目相关的约定;对项目的估计要文档化,便于在项目计划和跟踪时使用。SPTO实际的结果和性能要按照软件计划进行跟踪;实际的结果和性能严重偏离软件计划时,要采取正确的措施,并设法关闭;受影响的组和个人认问对约定的更改SSM主合同方和子合同方认同他们的约定;主合同方根据他们的约定跟踪子合同方的实际结果;主合同方和子合同方在项目进行期间保持联系;主合同方根据他们的约定跟踪子合同方的实际性能。1.2-3不同级别的KPASCM软件配置管理活动纳入计划;选定的软件工作产品被标识、受控制和便于利用;被标识的软件工作产品的更改是可控的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 管理 2016 本科
限制150内