第十四讲:软件开发项目管理的要点课件.ppt
《第十四讲:软件开发项目管理的要点课件.ppt》由会员分享,可在线阅读,更多相关《第十四讲:软件开发项目管理的要点课件.ppt(84页珍藏版)》请在三一办公上搜索。
1、软件开发项目管理的要点 第十四讲,软件过程规范软件成熟度软件开发过程的项目管理信息工程建设项目前期程序及阶段文件编制要点,引入案例:张三跳槽了,怎么办呢?,某单位承担着国家重要的工程项目,张三是这个单位的技术骨干,张三经不住一民营企业的高薪诱惑跳槽了。他变得软件说是留下来了,可是没有注解,文档很不规范,谁也读不懂,张三走时作了很好的表态,只要单位有事他可以马上回来。前几个月还行,有点小问题,张三一来就解决了。可是,这个国家项目要进行重大调整,组织机构发生了重大变化,原来的软件不能适应这一变化也必须作相应的调整张三已经成了那个单位的技术骨干不可能有大块的时间回来做这件事。机构的调整有十万火急!怎
2、么办呢?,软件过程规范,软件过程规范,一旦人们将注意力转向过程,将发现一个全新的思维空间。James Harrington,软件过程规范,1 过程的定义2过程规范3 软件生命周期的过程需求,1 过程的定义,1.1 过程的定义1.2 软件过程的分类和组成,过程的简单描述,实现、管理和支持过程之间的关系,1.2 软件过程的分类和组成,软件基本过程:软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。软件支持过程:对软件主要过程提供支持的过程,包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。软件组织过程:对软件主要过程和支持过程的组织保证
3、过程,包括管理过程、基础设施过程、改进过程和培训过程。,软件生存周期过程(IEC12207),软件过程的组成,软件生存周期过程(ISO/IEC15504),2 过程规范,2.1 什么是过程规范2.2 过程规范的内容和示例2.3 过程规范的影响和作用,2.1 什么是过程规范,“规范”一词被解释为“明文规定或约定俗成的标准”,或理解为“用来控制或治理一个团队的一系列准则与章程,以及团队成员必须遵守的相关的规章制度” 过程规范就是对输入/输出和活动所构成的过程进行明文规定或约定俗成的标准。软件过程规范是软件开发组织行动的准则与指南,可以依据上述各类过程的特点而建立相应的规范,如软件基本过程规范、软件
4、支持过程规范和软件组织过程规范。,2.2 过程规范的内容,任务规范日常规章制度软件工具 包括:“责任人、参与人员、入口准则、出口准则、输入、输出和活动”等基本内容,2.3 过程规范的影响和作用,消极影响的存在和消除 规范存在的必要性过程规范的作用 帮助团队实现共同的目标一个规范的软件过程必将能带来稳定的、高水平的过程质量过程规范使软件组织的生产效率更高,3 软件生命周期的过程需求,3.1 软件工程过程3.2 软件支持过程3.3 软件管理过程3.4 软件组织过程3.5 软件客户供应商的过程,3.1 软件工程过程,工程过程是软件系统、产品的定义、设计、实现以及维护的过程。开发过程:定义并开发软件产
5、品的活动过程,包括需求分析、软件设计和编程等。运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程,包括软件部署维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。,3.2 软件支持过程,文档编制 配置管理 质量保证 验证 确认 联合评审 审核 问题解决,明确并定义文档开发中所采用的标准、软件过程中所需要的各类文档。详细说明所有文档的内容、目的及相关的输出产品。根据定义的标准与已确定的计划来编写、审查、修改和发布所有文档。按已定义的标准和具体的规则维护文档。,软件过程或项目中的配置项(如程序、文件和数
6、据等有关内容)被标识、定义。 根据已定义的配置项建立基线,以便对更改与发布进行有效的控制,并控制配置项的存储、处理与分发,确保配置项的完全性与一致性。 记录并报告配置项的状态以及已发生变更的需求。,针对过程或项目确定质量保证活动、制定出相应的计划与进度表。确定质量保证活动的有关标准、方法、规程与工具。确定进行质量保证活动所需的资源、组织及其组织成员的职责。有足够的能力确保必要的质量保证活动独立于管理者以及过程实际执行者之外进行开展和实施。在与各类相关的计划进度保持一致的前提下,实施所制定的质量保证活动 。,根据需要验证的工作产品所制定的规范(如产品规格说明书)实施必要的检验活动:有效地发现各类
7、阶段性产品所存在的缺陷,并跟踪和消除缺陷。,根据客户实际需求,确认所有工作产品相应的质量准则,并实施必需的确认活动。 提供有关证据,以证明开发出的工作产品满足或适合指定的需求。,与客户、供应商以及其他利益相关方(或独立的第三方)对开发的活动和产品进行评估 。为联合评审的实施制定相应的计划与进度,跟踪评审活动,直至结束 。,判断是否与指定的需求、计划以及合同相一致 。由合适的、独立的一方来安排对产品或过程的审核工作 。以确定其是否符合特定需求,提供及时的、有明确职责的以及文档化的方式,以确保所有发现的问题都经过相应的分析并得到解决 。 提供一种相应的机制,以识别所发现的问题并根据相应的趋势采取行
8、动 。,3.3 软件管理过程,3.3 软件的管理过程,项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。 质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。此过程包括在项目以及组织层次上建立对产品和过程质量管理的关注 风险管理过程,在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制 子合同商管理过程,选择合格的子合同商并对其进行管理的过程,3.4 软件组织过程,业务规划过程是为组织与项目成员提供对愿景的描
9、述以及企业文化的介绍,从而使项目成员能更有效地工作。定义过程是建立一个可重复使用的过程定义库,从而对其它过程等提供指导、约束和支持改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程人力资源和培训过程,为项目或其它组织过程提供培训合格的人员所需的活动 基础设施过程是建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程,3.5 软件客户供应商的过程,客户供应商过程是:内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程。包括以下5个子过程:软件获得、客户需求管理、提供软件、操作软件提供客户服务,软件成
10、熟度,软件过程成熟度,决不要叮嘱别人怎样做事,只需告诉做什么,他们的机智仍会让我们感到惊讶。 乔治帕通(George S. Patton),软件过程成熟度,1 过程成熟度标准2 能力成熟度模型概述3 过程成熟度级别,1 过程成熟度标准,1.1 软件过程不成熟的特点1.2 软件过程成熟的标准,软件过程能力软件过程性能软件过程成熟度,3个基本概念,1.1 软件过程不成熟的特点,软件过程能力低,不能按预定计划开发出客户满意的产品,项目拖延、费用大大超出预算已成惯例。过程性能的不可预见性,对进度和预算估计、产品质量的目标缺乏历史数据和有效方法的客观基础,开发的进度、成本和产品的质量都难以预测。过程的不
11、可视性,软件过程缺乏定义、缺乏文档和缺乏跟踪,在整个软件过程中,不清楚每个阶段进出的标准、执行的方法和规则。过程的不稳定性,实际的、具体的操作过程是在一个项目开始后临时拼凑而成,每个项目都不一样。过程的被动性、缺乏改进的主动性。,1.2 软件过程成熟的标准,软件过程能力高,具有全组织范围的管理软件开发和维护过程的能力。软件过程性能可预见性,对进度、预算和质量做出现实的和准确的估计和预测。软件过程规范化,可遵循的标准、规则和指导性原则。过程的一致性过程的丰富性过程的可视性过程的稳定性过程的不断改进,2 能力成熟度模型概述,2.1 CMM的基本内容2.2 系统工程能力模型2.3 集成化产品开发模型
12、2.4 CMMI介绍,2.1 CMM的基本内容,CMM是软件过程能力成熟度模型(Capacity Maturity Model,CMM)的简称,是卡耐基梅隆大学软件工程研究所为了满足美国联邦政府评估软件供应商能力的要求,于1986年开始研究的模型,并于1991年正式推出了CMM 1.0 版。 CMM:描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织如何增加对软件开发和维护的过程控制的指导,描述如何向软件工程和管理的优秀文化演变等方面的指导,CMM的结构,2.2 系统工程能力模型,国际系统工程委员会(International Council on Systems E
13、ngineering,INCOSE)基于各种工程标准为评估系统工程能力建立了对照表。在此期间,该对照表发展为成熟的能力模型,称为系统工程能力评估模型(Systems Engineering Capability Assessment Model,SECAM)。SECAM扩充了连续式模型软件过程改进和能力确定模型(Software Process Improvement Capability dEtermination,SPICE)的概念,但是比SE-CMM更加明确地注重在系统工程实践上,采用EIA632标准作为过程模型设计参考的基础。,2.3 集成化产品开发模型,从美国国防工业协会(Natio
14、nal Defense Industrial Association, NDIA)的许多大公司来看,IPPD概念是大型软件开发过程模型的基础,并得到国防部(Department of Defense, DOD)的鼎力相助 。IPPD强调在贯穿整个生命周期期间所有技术及业务的相关人员的参与,这些人员包括顾客、供应商以及产品和产品相关过程的开发者,涉及的业务如测试与评价、制造、支持、培训、销售、采购、财务、合同以及处置过程。,2.4 CMMI介绍,CMMI,3 过程成熟度级别,3.1 成熟度等级的行为特征3.2 理解成熟度等级3.3 成熟度等级的过程特征3.4 CMMI过程域3.5 CMM和CMM
15、I过程域的比较分析,CMM/CMMI成熟度的5个等级,3.1 成熟度等级的行为特征,初始级具有明显的不成熟过程的特点 可重复级/受管理级建立了管理软件项目的方针和实施这些方针的规程,使软件项目的有效管理过程制度化,有能力去跟踪成本、进度和质量。一个有效过程可特征化为已文档化的、已实施的、可培训的和可测量的软件过程 已定义级包含一组协调的、集成的、适度定义的软件工程过程和管理过程,具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性和可重复性,软件过程被集成为一个有机的整体,成熟度等级的行为特征(2),已管理级的软件过程是量化的管理过程。在上述已定义级的基础上,可以建立有关软件过程和产
16、品质量的、一致的度量体系,采集详细的数据进行分析,从而对软件产品和过程进行有效的定量控制和管理。 优化级不断改善组织的软件过程能力和项目的过程性能,利用来自过程和来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。为了预防缺陷出现,组织有办法识别出弱点并预先针对性地加强过程,3.2 理解成熟度等级,理解可重复级和已定义级 注意力逐渐从技术问题转向组织体系和管理问题 理解定量管理级和优化级,3.3 成熟度等级的过程特征,第2级(可重复级/受管理级),焦点开始集中在软件过程的管理上,一个受管理的过程则是一个可重复的过程 。从管理角度可以看到一个按计划执行的并且阶段可控的、规范化的
17、软件开发过程 第3级(已定义级),通过裁剪组织的标准软件过程来建立自定义的软件过程 第4级(已管理级),对软件产品的质量、开发进度和其它开发目标进行有效的评估和预测 第5级(优化级),其焦点是软件过程的持续改进,3.4 CMMI过程域,3.5 CMM/CMMI比较分析,4 软件过程的可视性,5 过程能力和效能预测,控制系统软件开发过程的项目管理,系统开发阶段系统需求规范系统安全要求规范系统结构描述,软件维护阶段软件维护记录软件更改记录,软件需求分析阶段软件设计规范软件测试规范(软件校验报告),软件评审阶段软件评审报告,软件结构设计阶段软件结构说明集成测试大纲(软件结构校验报告),软件模块设计阶
18、段软件模块技术要求软件模块测试大纲(软件模块校验报告),编码阶段软件源代码与支持文件软件模块流程框图(软件源代码校验报告),集成测试阶段集成测试报告,软件模块测试阶段软件模块测试报告,软件开发生命周期模型,1、 软件开发阶段组成和文件组成,开发过程中文件要求:所有文件的结构应允许在设计过程中进行不断地扩充。各文件具有唯一的编号和一个确定的、书面表示的与其它文件之间的关系。每个文件中的术语、首字母缩略词或缩写应具有相同的含义 开发过程中测试要求:软件开发过程包括软件模块测试、集成测试和系统测试三个测试阶段。软件测试任一阶段未通过,代码重新设计后,必须回归到软件模块测试阶段进行测试。每个软件测试阶
19、段包括四项活动,按顺序分别是:测试策划、测试设计和实现、测试执行、测试总结。,2 、系统开发阶段,系统开发阶段对应于嵌入式系统的方案设计阶段在该阶段要确定在系统中软件和硬件要实现的功能,硬件和软件的可靠性指标。硬件与软件功能的分配原则:满足有高可靠性和安全性要求的功能应权衡用硬件实现还是用软件实现的利弊,做出妥善决策。硬件与软件可靠性指标的分配原则:软件的可靠性指标应与硬件的可靠性指标大体相当,可根据具体情况作适当的调整,但调整不宜过大所分配的指标应能量化、验证。,3、软件需求分析阶段,软件需求分析阶段的任务:确定软件功能需求、确定软件功能测试方案,编写出软件设计规范和软件测试规划两个文件。软
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十四 软件 开发 项目 管理 要点 课件
链接地址:https://www.31ppt.com/p-1824856.html