软件项目管理小条
CMM—软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。CMM包括对软件开发和维护进行策划、工程化和管理的实践。遵循
CMM—软件能力成熟度模型 是一种描述有效软件过程的关 相关培训;熟悉客户使用的工具和方法;确定信息采集方法; 作量和缺陷估计;针对不同类型的项目,采集生产率和主要 键元素的框架,CMM描述一条从无序的不成熟的过程到成 准备好提炼信息的问题;确定用户评审专家;设计原型;确 数据;协助创建过程能力基线;卫组织过程的改进提供数据 熟的、有纪律的过程的进化的改进途径。 定需求规格标准;制定会谈计划 支持 CMM包括 对软件开发和维护进行策划、工程化和管理的实 采集和澄清阶段:采集功能需求: 建立系统目标和范围;(确 过程数据库 是存放从项目可获得的过程性能数据的数据库, 践。遵循这些关键实践,就能改进组织在实现有关成本、进 定商务时间事件;确定商务事件的输入和输出;确定输入输 这些数据可以用于项目计划、估计、生产率和质量分析等。 度、功能和产品质量等目标上的能力。 出间的关系;确定事件间的顺序关系;)采集外部接口信息; PDB由已经完成的项目的数据构成 软件过程: 人们用于开发和维护软件及其相关过程的一系列 采集操作环境需求;采集性能需求;采集标准需求;采集用 PDB内容: 项目特征;项目进度;项目工作量;项目规模; 活动,包括软件工程活动和软件管理活动。 户特殊需求;准备原型 故障;风险 软件过程能力: (开发组织或项目组)遵循其软件过程能够实 分析阶段: 开发过程模型;开发逻辑数据模型;建立数据字 过程能力基线(PCB) 的主要内容:已交付软件的质量;生 现预期结果的程度,它既可对整个软件开发组织而言,也可 典 产率;进度计划;工作量分布;故障引入率;过程中故障排 对一个软件项目而言。 SRS(软件需求规格说明书)的要求:正确性: 与分配的需求相 除率;质量成本;故障分布 软件过程性能: (开发组织或项目组)遵循其软件过程所得到 无二义性: 吻合,满足客户的需求和期望;任何内容的陈述 过程财富 的组成:组织标准软件过程;组织的软件过程数据 的实际结果,软件过程性能描述的是已得到的实际结果,而 完整性: 只能有一种确定的解释;描述所有有意义的需求; 库/过程能力基线;软件生命周期描述;标准软件过程的剪裁 软件过程能力则描述的是最可能的预期结果,它既可对整个 一致性:可测试性: 不存在有矛盾的需求;任何需求应是可 指南和准则;软件有关文档 软件开发组织而言,也可对一个特定项目而言。 可跟踪性: 测试的;SRS中的需求应是可以跟踪的 自底向上的工作量估计方法: 任务分解--每个程序单元的 CMM成熟度等级1-5: 初始级;可重复级;已定义级;已管理 变更管理过程: 记录变更;分析变更对工作产品的影响;估计 复杂度定义--估计每个单元的编码工作量--计算整个程 级;优化级 变更申请所需的工作量;重新估计交付时间表;执行累计的 序的编码工作量--导出整体项目的工作量--各阶段的工 初始级特征: 软件过程的特点是无秩序的,偶尔甚至是混乱 成本影响风险;如果影响超出一定的限度,则与高级主管一 作量 的,几乎没有什么过程是经过定义的,成功依赖于个人努力。 起评审影响;客户不再提出变更申请;修改工作产品; 自顶向下的估计方法: 规模估计--整体工作量--各阶段 可重复级特征: 已建立基本的项目管理过程去跟踪成本进度 需求的跟踪管理: 跟踪矩阵;跟踪矩阵的维护和使用 工作量 和功能,必要的过程纪律已经就位,使具有类似应用的项目 开发过程 是提炼用户需求,设计、构建和测试满足这些需求 软件规模估计方法 ;代码行(LOC/KLOC)和功能点法; 能重复以前的成功。 的软件并最终将其交付 COCOMO模型;基本COCOMO模型;中级COCOMO模型 已定义级特征: 管理活动和工程活动两方面的软件过程均已 给客户所需的过程: 概要设计;详细设计;编码和单元测试; ; 文档化、标准化,并集成到组织的标准软件过程中,全部项 集成测试;系统测试;验收测试和安装;文档整理;系统维 软件质量: 是指软件产品满足规定的和隐含的需求的能力和 目均采用供开发和维护软件用的组织标准软件过程的一个经 护 有关特征的集合,软件过程质量决定了软件质量。 批准的普及剪裁版本。 概要设计: 主要给出从计算机的逻辑角度开发针对用户需求 软件质量的定义: 我们用已交付软件的故障密度作为软件质 已管理级特征: 已采集详细的有关软件过程和产品质量的度 的解决方案。输入准则:需求规格文档经过评审并授权 量的定义――即,已交付软件中每个单位规模的故障数。 量,无论软件过程还是产品均得到定量了解和控制。 输入:需求规格文档输出准则:概要设计文档经过评审和授 质量管理的任务 是规划合理的质量控制任务,然后正确地执 优化级特征: 利用来自过程和来自新思想、新技术的先导性 权输出:概要设计文档、项目标准、概要设计评审记录度量: 行和控制它们,以实现项目的质量目标。 实验的定量反馈信息,使持续过程的改进成为可能。 工作量、缺陷 故障排除任务 包括需求评审、设计评审、代码评审、单元测 软件过程的可视性: 一个黑盒;项目里程碑处具有管理可视 详细设计: 进一步对概要设计中的整体应用分解,分解成模 试、集成测试、系统测试和验收测试。 性;盒子的内部结构可视;软件过程被配备上度量,并得到 块和程序,对程序进行逻辑设计。输入准则:概要设计文档 风险管理(Riskmanagement) 试图使由于意外事件而导 定量地控制;对过程不断改进 经过评审和授权输入:概要设计文档输出准则:详细设计文 致项目失败的概率降到最小。主要包括:风险评估;风险控 过程能力和性能预测: 随着成熟度增加,预定目标结结果与实 档和单元测试计划已经经过评审和授权输出:详细设计文档 制 际结果间的差距减少;随着成熟度增长,实际结果相对预定 和单元测试计划度量:工作量、缺陷 风险: 风险是那些可能发生的事件或者条件,如果它确实发 目标结果的偏差范围减小;随着成熟度增加,预定目标结果 编码和单元测试: 根据详细设计用编程语言编写所需要的程 生了,则它的发生会对项目产生有害的或者负面的影响。另 得到改善 序;输入准则:详细设计文档经过评审并授权输入:详细设计 一方面,风险是一种概率事件,可能发生也可能不发生。 关键过程区域 每个关键过程区域识别出一串相关活动,当这 文档、项目标准、单元测试计划、程序框架输出准则:成功 识别风险方法: 可能的风险检查表;会谈会议和头脑风暴; 些活动全部完成时,能达到一组对增强过程能力至关重要的 执行所有单元测试计划中的测试用例输出:源代码、可执行 计划、过程和产品的评审;广泛的调查 目标 代码、测试数据度量:工作量、缺陷 常见的风险: 过多的需求变更;不清晰的需求;人员流动风 KPA的特性: 每个KPA识别出一串相关活动;每KPA定义 集成测试: 已通过单元测试的模块构建成一个完整软件结构 险;强加于项目的外部驱动决策如行政干涉;不实际的进度; 在单个成熟度等级上;KPA鉴别出为达到某一成熟度等级所 的系统方法。主要步骤:确定测试环境;确定集成规程:(确 不充分的业务知识;使用新技术 必须解决的问题 定集成的关键模版;确定集成顺序;确定需要测试的借口) 风险管理的目标: 旨在识别出风险,然后采取措施使它们对 等级2的KPA: 需求管理RM软件项目策划SPP软件项目跟踪 开发集成测试计划(确定测试用例和执行用例规程;确定测 特点: 项目的影响最小。风险管理是要付出额外的成本;风 和监督SPTO子合同管理SSM质量保证SQA软件配置管理 试数据;确定期望输出;重排测试用例)输入准则:概要设 险管理的价值不容易度量 SCM 计文档经过评审和授权.输入:概要设计文档和程序.输出准则: 风险管理过程: 风险评估(风险识别;风险分析;风险等级 等级3的KPA: 组织过程焦点OPF组织过程定义OPD培训大 成功执行所有集成测试计划中的测试用例.输出:源代码、可 规划)风险控制(风险管理规划;风险解决方案;风险监督) 纲TP集成软件管理ISM软件产品工程SPE组间协调IC同行评 : 执行代码、测试数据度量工作量、缺陷 风险管理规划 :任务是确定使风险后果最小所需的措施,也称 审PR 系统测试: 是依据需求规格验证软件产品有效性的活动;目 风险缓和措施。 等级4的KPA: 定量过程管理QPM软件质量管理SQM 的是为了发现那些只有通过测试整个系统才能暴露的缺陷。 项目管理计划(ProjectManagementPlan----PMP) 文档 等级5的KPA: 缺陷预防DP技术改革管理TCM过程更改管理 主要步骤: 确定所需测试环境;确定测试特性(确定用户接 是项目经理承担的所有规划任务的核心。各种规划任务的结 PCM 口;确定硬件接口;确定软件接口;通信接口;系统执行的 果都出现在该文档中,它是指导所有项目执行的基准文档。 关键过程域(KPA)的结构:目标 概括一个PKA中的所有关键实 主要业务过程;关键测试)开发测试用例(确定每个测试用 主要 分四大部分:项目概述,项目计划,项目跟踪,团队。 践,并能用于确定一个组织或项目是否已有效地实施此KPA。 例以及执行它们的规程;确定输入输出数据的需求;确定预 使用者: 业务主管;项目经理项;目的开发人员 共同特点: 执行约定,执行能力,执行活动,测量和分析, 输入准则: 期结果)需求规格和概要设计文档经过评审和授 项目概述 :项目的起止日期、项目经理、项目目标、与客户的 验证实施 输入:输出准则: 权需求规格和概要设计文档成功执行所有 联系、对客户的主要承诺以及所做的假设前提。 软件过程评估: 用于确定一个组织的当前软件过程的状态, 输出: 集成测试计划中的测试用例源代码、可执行代码、测 项目计划: 项目过程;标准过程的描述、剪裁指南、需求变 确定组织所面临的具有高优先级的与软件过程有关的问题, 度量: 试数据工作量、缺陷 更管理;工作量估计;开发环境;工具;培训计划;质量计 和获得组织对软件过程改进的支持 验收测试和安装: 把软件产品集成到它的操作环境中,并在 划;里程碑;风险管理计划 软件过程评价: 由于识别合格的能完成软件工作的承包商或 主要步骤: 这个环境中经受测试,确保它按需求执行。为验 项目跟踪: 任务跟踪;事宜跟踪;客户反馈;状态报告;升 者监控现有软件工作中所应用的软件过程的状态 收制定计划(从客户那里获得验收环境的细节;准备安装计 级规程 过程评估的方法: 成熟度问卷;文档;面谈 划;准备软件发布文档)参加验收(在验收环境下安装软件; 软件配置管理SCM 是项目管理中专门用于关注系统地控制 SEPG:软件工程过程组: 企业中专门关注软件过程的机构,3 进行实况运行;协助客户进行验收测试;改正验收缺陷;更 项目进行中发生的变更的那些部分,由用来识别组织软件产 职责: 级是组织级,SEPG来负责,由资深工程师组成。软件 新文档;获得客户的验收签署) 品并控制其修改的一系列活动构成。 过程的定义;软件过程的推广和改进;软件过程的布置和实 输入准则:输入: 成功的完成系统测试测试后的软件和验收 软件配置管理(SCM)概念 是项目管理的一项内容,主要涉 施指导;过程财富的建立和维护 输出准则:输出:度 测试文档客户签署验收单安装后的软件 及对变更进行系统地控制,建立和维护在项目的整个软件生 项目管理 :一种为高效恰当地完成某个既定的目标而对资源 量: 工作量和缺陷 主要包括: 存周期中软件项目产品的完整性。标识在给定时 项目管理 进行管理、分配和调度的过程。我们也可以把定义 文档: 主要是操作手册,用户手册及客户需要的其他文档。 间点上软件的配置,系统地控制对配置项的更改、并维护 为:一种为实现既定目标而对技术、人力及金融资源所进行 过程裁剪 是调整组织标准过程的过程,以此来获得用于项目 在整个软件生存周期中配置的完整性和可跟踪性。 的系统集成。 的特定业务或技术需要的过程。主要有:概要裁剪指南详细 配置管理的功能: 1、给出程序的状态;2、给出一个程序的 项目的特征: 一个明确的范围和目标;一个预期的完成时间; 裁剪指南 最新版本;3、处理并发更新申请;4、取消一个程序变更; 有可以利用的资源;一种已定义的性能评估方法;评审工作 概要裁剪指南: 提出基于某些项目特效,在项目中应该如何 5、防止未授权的变更或者删除;6、提供需求变更申请和程 时使用的评估等级。 执行一些通常的活动。 序变更之间的可跟踪性;7、取消一个需求变更;8、显示相 项目管理的9方面内容: 范围管理、质量管理、时间管理、 概要级剪裁: 根据项目特征,应用总体指南标准对标准过程 关的变更;9、收信当前系统的所有源代码、文档和其他信息 成本管理、风险管理、人力资源管理、合同/采购管理、 特征 进行剪裁,用到如下:团队和项目经理的经验和熟练程 配置管理的机制 包括:1、文件命名和组织的约定;2、版本 通讯管理,项目综合管理 度;团队人数最多时的人数;需求透明度;目持续时间;应 控制;3、变更申请的可跟踪性;4、访问控制;5、协调过 项目管理主要有三个大的阶段: 项目规划;项目执行;项目 用的关键程度 程;6、修改登记程序。 收尾 详细裁剪指南: 列出过程中各种生命周期阶段的所有活动, 配置管理过程 :配置规划;配置执行;状态监控 项目规划: 主要是项目经理审阅合同条款,并制定一个满足 还包括对每个活动相应的裁剪活动,指定每个步骤是必要的 配置管理规划和制定 ;标识出典型的配置项;SCM人员或者 他们的计划,实际上包括:定义生命周期、估计工作量和进 还是可裁剪,并给出选择的指南。 项目经理进行SCM规划。 度、制定任务进度计划等。 软件度量 可以来量化地描述软件过程和软件产品的不同方面 配置控制任务: 一个涉及程序的状态转移管理;另个一涉及 项目执行: 包括执行项目计划、跟踪项目的状态,并在项目 过程度量属性: 的特点。生产率;质量;资源度量;缺陷度 必须被实现的变更申请的管理 的绩效偏离项目计划设定的绩效时采取措施进行纠正。 产品度量的要素: 量;缺陷注入率;缺陷的排除率。产品规 变更申请的步骤: 1、接受变更申请(影响分析之后);2、 项目收尾: 主要是在客户接收工作产品之后对项目进行系统 模;产品可靠性;产品质量;代码复杂度;产品的功能 建立一种跟踪机制;3、检出需要进行变更的配置项;4、执 的总结。数据分析是这一阶段的主要任务。 软件度量的作用: 项目计划:有利于新项目计划的制定的准 行变更;5、注册配置项;6、在项目的整个生命期内维护该 需求分析的过程: 准备阶段;采集和澄清需求阶段;分析阶 确性;控制项目过程:由于数据量化,使过程的控制更加简 项目。 段;准备SRS及验收准则;评审;用户签署SRS 洁;对过程实践感知更好,改进更有针对性 评审 是最有效的也是最常用的标识故障的方法,可以对文档 准备阶段: 阅读关于技术及商务概念上的背景资料,并进行 PDB用途: 有助于新的项目计划的制定,特别是新项目的工 及代码进行评审。评审还可以使管理人员掌握项目的进展。

