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

链接地址:https://www.31ppt.com/p-6207006.html