




已阅读5页,还剩102页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章软件项目管理 软件项目管理的概念 原则和技术项目管理计划 组织 监管和控制软件开发过程的度量和定量分析 软件项目管理 目的为了使软件项目能够在预定成本 进度 质量的前提下顺利完成 必须对软件工程项目进行计划 组织 监控和管理 第二章软件项目管理 软件项目管理 任务制定软件项目的实施计划和方案 对人员进行组织和分工 按照计划进度 以及成本管理 风险管理 质量管理的要求进行软件开发 完成软件项目的各项要求和任务 第二章软件项目管理 软件项目管理 内容软件度量 软件项目估算软件质量度量软件复杂性度量软件可靠性度量 软件开发过程的管理软件项目管理中的CASE工具 第二章软件项目管理 软件项目管理 特点管理在软件工程项目中的地位和作用与其它工程项目一样十分重要 必须对成本 人员 进度 质量 风险等进行分析和管理 软件产品是逻辑的 软件项目的施工是开发小组集体的智力劳动 使用的开发工具是建立在计算机系统上的软件 软件很多属性无法直接度量为软件定量分析和项目管理增加困难 第二章软件项目管理 2 1软件度量 软件度量的意义软件度量的概念软件规模度量软件功能度量 第二章软件项目管理 2 1 1度量 测量和估算 1 3 度量metrics度量具有数字特征 软件工程范围的度量是软件开发过程 软件资源或软件产品简单属性的定量描述 如 程序规模 操作符个数 程序中错误的个数等 2 1软件度量 度量 测量和估算 2 3 测量measure对软件开发过程 产品和资源进行实时和事后的定量描述 涉及测量的要素 方法 过程 工具和数值结果 直接测量和间接测量直接测量用于不依赖于其它属性的简单属性 间接测量用于依赖于若干其它属性的要素 准则和属性 2 1软件度量 度量 测量和估算 3 3 估算estimation对软件产品 过程 资源进行预测估算可以采用经验公式 或参考历史资料估算用于事前签订合同 立项 制定工作计划等 2 1软件度量 度量 测量和估算 软件的外部属性和内部属性外部属性软件产品 过程 资源与环境的关系内部属性软件产品 过程 资源 环境自身的属性 2 1软件度量 度量 测量和估算 用户和管理者关心外部属性 但在开发过程中无法直接管理和控制 由于外部属性是由内部属性决定的 因此必须建立外部属性与内部属性的关系 并通过内部属性的度量去度量外部属性 2 1软件度量 度量 测量和估算 产品的内部属性程序代码长度程序功能模块化重用性控制流数据流模块耦合度与内聚度产品的外部属性程序的可靠性可用性可维护性软件的可理解性有效性可移植性 2 1软件度量 度量 测量和估算 过程的内部属性工作量计划和进度一段时间内某类事件发生的次数过程的外部属性成本可控制性可观察性稳定性 2 1软件度量 度量 测量和估算 资源的内部属性人软硬件环境方法经验资源的外部属性成本时间 2 1软件度量 2 1 2规模度量 代码行数LOC或KLOC生产率Pl L E其中L软件项目代码行数E软件项目工作量 人月PM Pl软件项目生产率 LOC PM 2 1软件度量 规模度量 代码出错率EQRl Ne L其中Ne软件项目的代码错误数EQRl每千行代码的错误数 2 1软件度量 例软件项目记录 2 1软件度量 规模度量 每行代码平均成本Cl S L其中S软件项目总开销 元 美元 Cl软件项目每行代码的平均成本文档与代码比Dl Pd L其中Pd软件项目文档页数Dl每千行代码的平均文档数 2 1软件度量 规模度量 用软件代码行数估算软件规模简单易行 缺点代码行数的估算依赖于程序设计语言的功能和表达能力 采用代码行估算方法会对设计精巧的软件项目产生不利的影响 在软件项目开发前或开发初期估算它的代码行数十分困难 代码行估算只适用于过程式程序设计语言 对非过程式的程序设计语言不太适用等等 2 1软件度量 FP CT 0 65 0 01 Fi 2 5 其中 CT按表2 3计算 Fi是复杂性调节值Fi取值0 1 5当Fi 0时 表示Fi不起作用Fi 5时 表示Fi作用最大 2 1 3面向功能的度量 2 1软件度量 表2 3功能点度量 测量参数值权值用户输入数 4 用户输出数 5 用户查询数 4 文件数 7 外部界面数 7 CT 2 1软件度量 面向功能的度量 表2 3中的五个信息量按下列方式取值 用户输入数用户为软件提供的输入参数个数用户输出数件系统为用户提供的输出参数个数用户查询数一个联机输入确定一次查询 软件以联机输出的形式 实时地产生一个响应 文件数统计逻辑的主文件个数 外部界面数 2 1软件度量 面向功能的度量 用功能点定义的概念 生产率 Pf FP E 2 6 其中Pf表示每人月完成的功能点数 2 1软件度量 面向功能的度量 优点 与程序设计语言无关 它不仅适用于过程式语言 也适用于非过程式的语言 软件项目开发初期就能基本上确定系统的输入 输出等参数 功能点度量能用于软件项目的开发初期 2 1软件度量 面向功能的度量 缺点 它涉及到的主观因素比较多 如各种权函数的取值 信息领域中的某些数据有时不容易采集 FP的值没有直观的物理意义 2 1软件度量 2 2软件项目估算 软件开发成本占总成本的比例很大 客户和项目管理人员都十分重视软件项目的成本估算 软件是逻辑产品 成本估算涉及人 技术 环境 政策等多种因素 在项目完成之前 很难精确地估算出项目的开销 第二章软件项目管理 软件项目估算 常用的估算方法 参照已经完成的类似项目估算待开发项目的成本和工作量 将大的项目分解成若干子项目 在估算出每个子项目成本和工作量之后 再估算整个项目 将软件项目按软件生存周期分解 分别估算出软件项目在软件开发各个阶段的工作量和成本 然后再把这些工作量和成本汇总估算整个项目 根据实验或历史数据给出软件项目工作量或成本的经验估算公式 2 2软件项目估算 软件项目估算 四种方法可以同时 单独或组合使用 以便取长补短 提高项目估算的精度和可靠性 采用分解技术估算软件项目应考虑系统集成时需要的工作量 为了实现软件项目估算 实践中开发了大量的软件项目自动估算工具 用以支持软件工作量或成本估算 2 2软件项目估算 2 2 1代码行 功能点和工作量估算 软件项目的规模是影响软件项目成本和工作量的重要因素 软件项目代码行和功能点估算是成本和工作量估算的基础 采用上述四种估算方法可以估算出LOC或FP的乐观值a 悲观值b和一般值m 然后根据下列加权公式计算出期望值 e a 4m b 6 2 10 希望LOC或FP的值落在区间 a b 之外的概率极小 2 2软件项目估算 代码行 功能点和工作量估算 当LOC或FP的期望值估算出来之后 根据以前软件项目开发的平均生产率LOC PM或FP PM就可以计算出工作量 如 软件项目的规模估算为310FP 以前完成的软件项目的生产率为5 5FP PM 于是工作量估算为E 310 5 5 56PM 2 2软件项目估算 2 3软件质量度量 1 软件质量定义及三层次度量模型2 软件质量要素3 软件质量要素评价准则 第二章软件项目管理 2 3 1软件质量定义及三层次度量模型 质量低下的软件不但影响基于计算机系统的工作效率 而且还可能给用户带来灾难性的后果 提高软件产品质量是软件工程的首要任务 软件开发人员 管理人员 维护人员和用户在软件开发 维护 使用过程中所处地位不同 对软件质量的理解和要求也不同 2 3软件质量度量 软件质量度量 管理人员关心软件开发标准 在经费和时间允许的情况下 如何实现软件需求规格说明中定义的功能维护人员重视软件的正确性 可理解性和可修改性用户更关心软件的性能和可靠性等等 2 3软件质量度量 软件质量度量 软件质量软件产品满足规定的和隐含的与需求能力有关的全部特征和特性 包括1 软件产品品质满足用户要求的程度 2 软件各种属性的组合程度 3 用户对软件产品的综合反映程度 4 软件在使用过程中满足用户要求的程度 2 3软件质量度量 软件质量度量 软件质量依赖于软件的内部特性及其组合为了对软件质量进行度量 必须对影响软件质量的要素进行度量 并建立实用的软件质量度量体系或模型1968年Rubey和Hartwick提出了软件某些属性的度量方法1976年Boehm提出了定量评价软件质量的概念 给出了60个软件质量度量公式和软件质量度量的层次模型 2 3软件质量度量 软件质量度量 1978年Walters和McCall提出了包括质量要素 factor 准则 criteria 和度量 metric 的三层次软件质量度量模型G Murine又提出了软件质量度量技术SQM用于定量地评价软件质量1985年国际标准化组织 ISO 提出了软件质量度量 SQM 工作报告 2 3软件质量度量 三层次软件质量度量模型 质量要素 factor 评价准则 criteria 度量 metric 2 3软件质量度量 2 3 2软件质量要素 软件质量要素直接影响软件开发过程各个阶段的产品质量由于对软件质量理解的不断深化 软件质量要素不是一成不变的McCall等人给出的软件质量要素共11个 分为三类 2 3软件质量度量 要正可有完可可可灵可可互素确靠效整用维测活移重操性性性性性护试性植用作正确性可靠性 有效性完整性 可用性 可维护性 可测试性 灵活性 可移植性 可重用性 互操作性 2 3 3软件质量要素评价准则 直接测量软件质量要素十分困难 甚至是不可能的 McCall等人定义了一组比较容易度量的软件质量要素评价准则 通过评价准则间接测量软件质量要素 定义评价准则的关键是确定影响软件质量要素的属性 这些属性必须满足 比较完整 准确的描述软件质量要素 比较容易量化和测量 能够反映软件质量的优劣 2 4软件复杂性度量 软件复杂性及度量原则控制结构的复杂性度量文本复杂性度量 第二章软件项目管理 2 4 1软件复杂性及度量原则 软件复杂性度量开发规模相同 复杂性不同的软件 花费的时间和成本会有很大差异 K Magel从六个方面描述软件复杂性 理解程序的难度 纠错 维护程序的难度 向他人解释程序的难度 按指定方法修改程序的难度 根据设计文件编写程序的工作量 执行程序时需要资源的程度 2 4软件复杂性度量 软件复杂性度量的原则 1 2 1 软件复杂性与程序大小的关系不是线性的 2 控制结构复杂的程序较复杂 3 数据结构复杂的程序较复杂 4 转向语句使用不当的程序较复杂 5 循环结构比选择结构复杂 选择结构又比顺序结构复杂 6 语句 数据 子程序和模块在程序中的次序对复杂性有影响 2 4软件复杂性度量 软件复杂性度量的原则 2 2 7 全程变量 非局部变量较多时 程序较复杂 8 参数按地址调用比按值调用复杂 9 函数副作用比显式参数传递难于理解 10 具有不同作用的变量共用一个名字时较难理解 11 模块间 过程间联系密切的程序比较复杂 12 嵌套越深程序越复杂 2 4软件复杂性度量 2 4 2控制结构的复杂性度量 1976年T J McCabe基于程序控制结构的软件复杂性度量模型 2 4软件复杂性度量 控制结构的复杂性度量 程序控制结构图程序结构对应于有一个入口结点和一个出口结点的有向图图中每个结点对应一个语句或一个顺序流程的程序代码块弧对应于程序中的转移由入口结点可以到达图中每个结点 并且从图中每个结点都可以到达出口结点 2 4软件复杂性度量 控制结构的复杂性度量 McCabe用程序控制结构图的巡回秩数V G 作为程序结构复杂性的度量V G e n 2 2 20 其中 e为结构图的边数 n为结构图的结点数可以证明V G 等于结构图中有界或无界的封闭区域个数 2 4软件复杂性度量 控制结构的复杂性度量 程序中分枝结构数和循环结构数增加时 控制结构图的区域数增加 V G 的值增大 程序的结构会变得更复杂 结构化程序设计控制流力求从高层指向低层 从低层指向高层的流向 会增加封闭区域的个数 反方向的控制流向越多V G 越大 程序结构越复杂 2 4软件复杂性度量 2 5软件可靠性度量 软件可靠性是影响软件质量的要素 可靠性分析和可靠性测试是衡量软件质量的重要手段 本节研究软件可靠性 软件修复和有效性 度量 软件可靠性估算模型和方法 第二章软件项目管理 2 5 1软件可靠性的概念 硬件可靠性可以用平均故障间隔时间 MTBF 来测量 MTBF MTTF十MTTR其中 MTTF和MTTR分别是平均无故障时间和平均修复时间 2 5软件可靠性度量 2 5 2软件可靠性估算 70年代以来 建立了几十种软件可靠性模型 可分为宏观模型和微观模型两类 宏观模型从程序中残留错误的角度建立模型 并用统计方法确定模型中的参数 微观模型以程序的控制结构和程序语句分析为基础无论是宏观模型还是微观模型都很不成熟 2 5软件可靠性度量 错误植入模型 Mills首先将播种模型用于程序中残留错误的估算 称错误植入模型 他把N类比为程序开始排错时残留错误数 其中包括统计人员设置在程序中的Nt个错误 这些错误对于程序排错人员是未知的 而统计人员留有记录 排错工作进行数天之后 统计人员发现共查出n个错误 其中nt个属于植入错误理想的情况是输入一组测试用例 使程序中残留错误能随机并均匀地出现 做到这一点是十分困难的 2 6软件开发过程管理 风险分析进度安排软件开发标准软件质量保证软件开发人员的组织与分工软件项目的开发过程管理软件过程及软件成熟度模型CMM软件项目管理中的CASE工具 第二章软件项目管理 2 6 1风险分析 风险的概念风险与将要发生的事情有关 研究风险就是研究明天将要发生的事情风险涉及思想 观念 行为 地点 时间等多种因素风险随条件的变化而改变 人们通过改变 选择 控制与风险密切相关的条件减少 回避风险改变 选择 控制条件的策略是不确定的 2 6软件开发过程的管理 对待风险的态度 被动从不担心发生任何问题 问题发生后再做出反应 软件项目组对存在的风险不闻不问 直到出了问题才赶紧采取措施 主动项目开始时就预测 标识项目存在的各种风险 评估风险发生的概率和影响的大小並按重要性进行排序 项目组建立风险管理计划和意外事件处理计划 以便预防风险 及时处理突发事件 2 6软件开发过程的管理 风险分析和管理 软件工程的风险风险标识风险估算风险规划风险监控 2 6软件开发过程的管理 2 6 1软件工程的风险 软件风险和其它风险一样存在不确定性 有些是很难预测的 对风险的不确定性进行量化 估算某一风险可能带来的损失 除关注软件项目的一般性风险外 还要关注软件项目的特殊风险 如项目的背景 特殊要求 关键内容 薄弱环节 技术难点 人员状况 工作环境等 2 6软件开发过程的管理 软件工程的风险 软件工程项目存在各种风险 人们关心的问题是什么风险会导致软件项目的彻底失败 顾客需求 开发环境 目标机 时间 成本的改变对软件项目的风险会产生什么影响 人们必须抓住什么机会 采取什么措施才能有效地减少风险 顺利完成任务 这些问题是软件开发过程中不可避免 需要妥善处理的 2 6软件开发过程的管理 1风险标识 对侍风险不能采取回避态度项目开始时应对一般性风险和特定产品风险进行系统标识 並随着项目的展开不断更新 一般可预测风险产品规模 商业影响 客户 过程 技术 环境 人员及经验等 识别风险的有效方法风险检测表 2 6软件开发过程的管理 2风险估算 如果某一风险检测表由m项组成 每项选取一个整数值0 1 N 在最理想的情况取值为0 反之取值为N对于中间状态依次取值1 2 N 1 当N 1时取值0 1对应布尔量真 假 T F 设第i种风险检测表第j项取值Xij 对应的加权系数是Wij 于是第i种风险的估算值可以定义为m i WijXij mN j 1其中 Wij m Wij 0 2 49 2 6软件开发过程的管理 例2 6人员配备风险检测表 1 开发人员的水平如何 2 开发人员在技术上是否配套 3 开发人员的数量如何 4 开发人员是否能够自始至终地参加软件开发工作 5 开发人员是否能够集中全部精力投入到软件开发工作 6 开发人员对自己的工作是否有正确的期望 7 开发人员是否接受过必要的培训 8 开发人员的流动是否能够保证工作的连续性 上述问题可以选用0 1 2 3 4 5来回答 完全肯定取值为0 反之为5 中间情况分别取值1 2 3 4值越大表示风险越大 人员配备风险检测表反映了人的因素给软件项目带来的风险 风险估算 如果第i种风险对整个软件项目的风险估算 i 加权系数是 i i 1 2 l I为风险要素的个数 i 1则软件项目风险估算定义为R i i 2 50 0 R 1 当R接近于0时表示风险比较小 R接近于1时表示风险比较大 当 i i比较大时 表示第i类风险出现并带来不良影响的可能性比较大 必须引起足够重视 设法改善条件 减小 i的值 2 6软件开发过程的管理 3风险评价和管理 风险评价是风险管理的重要步骤任务进一步审查风险预测的精度 更新风险优先次序 考虑控制和 或避免可能发生风险的办法 2 6软件开发过程的管理 风险评价 2 2 定义风险管理三元组 ri li xi i 1 2 3 其中 ri表示风险li表示风险发生的概率xi表示风险产生的影响 2 6软件开发过程的管理 评价风险的影响 风险影响三要素风险的性质风险发生时可能产生的问题 风险的范围风险引发损失的分布及严重性 风险的时间风险发生的时间 持续的时间 应注意这时项目所处的状态 2 6软件开发过程的管理 确定风险影响的步骤 确定每个风险元素发生的平均概率按照A给出每个元素影响的大小填写风险表並分析其结果风险预测和分析技术可以在软件项目进展过程中反复使用 2 6软件开发过程的管理 风险评价和管理 三元组 ri li xi 是风险管理的基础设高级职员流动给项目带来风险r1 根据历史的经验或直观感觉 高级职员离开课题组的概率l1 70 这一风险导致事件x1发生项目开发时间延长15 成本增加20 项目负责人采取的风险管理措施 1 项目开始前控制产生风险的原因 项目开工后应设法减轻风险的影响 2 了解项目开发人员变动的原因 在项目开发期间应控制上述原因 尽量减少人员的流动 3 在工作方法和技术上采取适当措施 防止因人员流动给工作带来损失 4 项目在开发过程中应及时公布并交流项目开发的信息 5 建立组织机构 确定文档标准 并及时生成文档 6 对工作进行集体复审 使多数人都能了解工作的细节 跟上工作进度 7 为关键技术准备后备人员 4风险预测 1 2 风险预测又称风险评估 1 风险发生的概率 2 风险发生产生的后果 2 6软件开发过程的管理 风险预测 2 2 风险预测活动风险的度量估算风险产生的后果估算风险对项目及产品的影响标注风险预测的整体精度 避免误解预目管理人员和技术人员共同参加 2 6软件开发过程的管理 风险评估的步骤 1定义项目的风险参考水平值 2建立三元组 给出相应的参考水平值 3预测一组临界点 定义项目终止区域 4预测什么样的风险组合会影响参考水平值 2 6软件开发过程的管理 2 6 2进度安排 制定软件项目进度表有两种途径 1 软件开发小组根据提供软件产品的最后期限从后往前安排时间 2 软件项目开发组织根据项目和资源情况制定软件项目开发的初步计划和交付软件产品的日期 2 6软件开发过程的管理 软件项目的进度安排 1 任务分配 人力资源分配 时间分配要与工程进度相协调 2 任务分解与并行化3 工作量分布4 2 4分布原则4 工程进度安排 2 6软件开发过程的管理 软件项目的进度安排 PERT和CPM方法提供了定量描述工具 包括 关键路径 完成关键路径上所有任务时间的总和 就是项目开发所需要的最短时间 用统计模型估算开发每个子任务需要的工作量和时间 计算各子任务的最早启动时间和最迟启动时间 2 6 3软件开发标准 传统工业没有标准化就没有现代化的工业 大型软件工程项目也离不开标准化 软件文档 程序和数据的标准化有助于提高软件的一致性 完整性和可理解性 有助于提高软件开发质量和效率 标准化的软件便于存档 交流和重用 2 6软件开发过程的管理 2 6 4软件质量保证 软件工程的目标是生产高质量的软件 高质量的软件应具备下列三个条件 1 满足软件需求定义的功能和性能 2 文档符合事先确定的软件开发标准 3 软件的特点和属性遵循软件工程的目标和原则 为了开发出高质量的软件 必须进行有计划 有系统的软件质量保证 SQA 活动 2 6软件开发过程的管理 2 6 5软件开发人员的组织与分工 大型软件项目需要很多人通力合作 花费一年或数年的时间才能完成 软件项目开发人员的组织 分工与管理十分重要 复杂 它影响到软件项目的成败 软件开发人员的个人素质与能力差异很大1970年Sackman对12个程序员用两个不同的程序进行试验 2 6软件开发过程的管理 试验结论 程序排错 调试时间差别为18 1 程序编制时间差别为15 1 程序长度差别为6 1 程序运行时间差别为13 1软件产品不易理解 不易维护 给软件人员的组织带来困难 2 6软件开发过程的管理 软件开发人员的组织与分工 原则降低管理系统的复杂性 按树形结构组织软件开发人员 树的根是软件项目经理和技术负责人 人员的选择 分配 组织是涉及软件开发效率 软件开发进度 软件开发过程管理和软件产品质量 必须引起项目负责人的高度重视 2 6软件开发过程的管理 软件开发人员的组织与分工 树的结点是程序员小组 为了减少系统的复杂性 便于项目管理 树的结点每层不要超过7个 在此基础上尽量降低树的层数 程序员小组的人数应视任务的大小和完成任务的时间而定 一般是2 5人 为降低系统开发过程的复杂性 程序员小组之间 小组内程序员之间的任务界面必须清楚并尽量简化 2 6软件开发过程的管理 软件开发人员的组织与分工 按 主程序员 组织软件开发小组是一条比较成功的经验 主程序员 是 超级程序员 小组其他成员 包括程序员 后备工程师等 是主程序员的助手 主程序员负责规划 协调 审查小组全部技术活动 2 6软件开发过程的管理 软件开发人员的组织与分工 软件开发小组还可以根据任务需要配备有关专业人员 如 数据库设计人员 远程通信专家等 组内成员都对主程序员负责 省略了组员之间的通信和协调 提高了工作效率 软件项目或软件开发小组可以配置若干个秘书 软件工具员 测试员 编辑和律师等 2 6软件开发过程的管理 软件开发人员的组织与分工 无我程序设计 原则建立软件民主开发小组 这种组织形式强调组内成员人人平等 组内问题均由集体讨论决定 这种组织形式有利于集思广益 取长补短 但工作效率比较低 2 6软件开发过程的管理 2 6 6软件项目的开发过程管理 软件项目开发过程的跟踪 管理与质量和进度控制是软件工程活动的重要组成部分 软件项目中某些子任务的拖延会对整个项目带来致命的影响 项目管理的重要任务是对已经开工的软件项目进行跟踪和控制 软件项目管理人员管理项目资源 处理软件开发过程中出现的问题 领导项目组成员按计划和要求工作 2 6软件开发过程的管理 软件开发人员的组织与分工 项目管理人员经常采用的跟踪方式 1 定期召开项目工作会议让每个小组成员汇报任务进展情况和出现的问题 2 在软件开发过程中 请专家和用户按照里程碑评审阶段性的成果 判定开发进度是否与软件项目定义的里程碑保持一致 2 6软件开发过程的管理 软件开发人员的组织与分工 3 对照任务网络图检查各子任务的开始时间是否与计划时间一致 如果拖后应查明原因 尽快采取措施利用机动时间赶上进度 不要影响后面的计划 4 向项目开发人员及时了解项目进展情况及存在的主要问题 2 6软件开发过程的管理 2 7软件过程及软件成熟度模型CMM 2 7 1引言软件工程支持大型软件项目的开发 软件工程强调系统的 规范的 可度量的软件开发和维护过程 软件工程追求的目标是 在合同规定的预算和期限内 按照客户的需求 高质量的交付软件及其相关产品 第二章软件项目管理 引言 软件开发组织的能力成熟度度量十分重要 软件开发组织希望通过软件能力成熟度度量找到自己的优势和差距 为提高自身的软件开发能力提供科学的依据 软件客户也希望通过软件组织的能力成熟度度量科学的审视软件开发组织 寻求承制软件项目的适宜伙伴 2 7软件过程及软件成熟度模型CMM 引言 1986年11月 美国卡内基 梅隆大学软件工程研究所 SEI CMU 在Mitre公司的支持下着手开发支持软件开发组织改进软件过程的 软件过程成熟度框架 美国国防部提出 希望 软件过程成熟度框架 能用于评估软件开发组织承制软件的能力 SEI CMU的Humphrey领导的小组 经过大量的调查 研究 于1987年开发了 软件过程评估 和 软件成熟度评价 两个模型 並进行了广泛的问卷调查 1991年8月公开发布软件能力成熟度模型 CapabilityMaturityModelforSoftware CMM CMMv1 0 2 7软件过程及软件成熟度模型CMM 引言 CMM模型是一个概念模型 模型框架和表示是刚性的不能随意改变 但模型的解释和实现有一定弹性 CMM源于大型软件开发实践 反映了软件过程评估和软件过程改进的需要 是一个有效的大型软件开发 维护过程模型 CMM的应用进一步规范 指导软件开发组织的自身建设 使软件开发组织从混乱的 低效的不成熟状态 向有纪律的 高效的成熟状态转变 2 7软件过程及软件成熟度模型CMM 引言 CMM也为社会评价软件开发组织的能力成熟度提供了标准和依据 CMM涵盖了软件开发和维护过程的全部关键步骤和环节 在广泛征求政府部门 企业界 学术界对CMMv1 0的意见后 SEI对CMMv1 0进行了修订 並于1993年2月正式发布CMMv1 1 在1986年 1993年的八年间 先后有数百名软件专业人员参与了CMM的评审 300多名代表参加CMM当前版本发布前的研讨会 CMM代表了软件工程和管理工程界广泛 一致的意见 2 7软件过程及软件成熟度模型CMM 引言 CMM推广应用后 对于提高软件开发组织的软件产品质量 降低产品成本 履行交付承诺 对于加强软件开发组织的自身建设 对于选择软件承包商都取得了明显的经济和社会效果 得到了社会各界的公认和好评 1999年10月美国国防部规定 承担国防部大型软件项目的承包商必须具备CMM成熟度3级的认证 目前 中国也有一些软件企业进行了CMM评估和认证 2 7软件过程及软件成熟度模型CMM 2 7 2CMM的基本概念 在CMM范围内 有几个常用的词汇 有必要给出它们的定义和说明 组织 organization 管理软件项目 能对项目进行评估和过程改进的实体 项目 project 由组织承担的 並需要组织中各部门通力合作完成的指定产品开发和维护任务 任何一个项目都涉及经费 成本和进度计划 这里的产品包括硬件 软件或其他构件 2 7软件过程及软件成熟度模型CMM CMM的基本概念 软件过程 softwareprocess 软件开发人员为开发和维护软件及相关产品所实施的一系列步骤 这些步骤涉及方法 工具及人的组织和行为 软件产品的质量取决于软件开发和维护过程的质量 与其它产品的开发过程一样 软件过程也必须进行严格管理 管理出效益 管理出质量 2 7软件过程及软件成熟度模型CMM CMM的基本概念 4 组织的标准软件过程 organization sstandardsoftwareprocess 组织内部使用的软件过程 它描述软件过程要素和要素之间的关系 用它可以建立某一具体项目的软件过程 软件开发组织的软件过程能力是软件开发组织能够承接软件项目的重要依据 2 7软件过程及软件成熟度模型CMM 组织的标准软件过程 成熟的软件开发组织十分重视提高自身的软件过程能力 组织的领导者注意调动各层次 各类型人员的积极性和创造性 注意提高员工素质和技能 注意培育和发扬企业文化 在软件开发过程中 大家能够团结协作 能够将人 软件开发策略和方法 软件工具和环境有机的结合起来 使得软件开发和维护的整个过程是系统的 完整的 一致的和规范的 软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025及未来5年中国路面渗水量测定仪市场调查、数据监测研究报告
- 2025及未来5年中国触摸式商务名片盒市场调查、数据监测研究报告
- 2025及未来5年中国铣刀夹具市场调查、数据监测研究报告
- 难点解析人教版八年级上册物理声现象《声音的特性声的利用》定向测评练习题(详解)
- 2025及未来5年中国化工用铁粉市场调查、数据监测研究报告
- 2025及未来5年中国阿拉伯袍市场调查、数据监测研究报告
- 2025及未来5年中国塑料打包带挤出机市场调查、数据监测研究报告
- 考点解析-人教版八年级上册物理《声现象》综合练习试题(含答案及解析)
- 2025及未来5年中国分电器外壳市场调查、数据监测研究报告
- 焊工培训基本知识课件
- Unit 1 Lets be your friends Get ready Start up教学设计三年级英语上册外研版
- 新能源汽车高压安全与防护-教案 1-1 新能源汽车高压电路-高压电路与触电急救
- 12J11卫生、洗涤设施
- DB43-T 2995-2024 综合医院分级心理护理规范
- DL-T5588-2021电力系统视频监控系统设计规程
- DL∕T 2541-2022 架空输电线路货运索道
- 压力容器每日检查记录表(日管控)
- MOOC 商务英语-北京交通大学 中国大学慕课答案
- 中医养生按摩手法养生的课件
- 病原微生物实验室生物安全
- 京东的用户分析报告
评论
0/150
提交评论