软件过程、管理和质量

上传人:ldj****22 文档编号:50605734 上传时间:2018-08-09 格式:PPT 页数:186 大小:349.50KB
返回 下载 相关 举报
软件过程、管理和质量_第1页
第1页 / 共186页
软件过程、管理和质量_第2页
第2页 / 共186页
软件过程、管理和质量_第3页
第3页 / 共186页
软件过程、管理和质量_第4页
第4页 / 共186页
软件过程、管理和质量_第5页
第5页 / 共186页
点击查看更多>>
资源描述

《软件过程、管理和质量》由会员分享,可在线阅读,更多相关《软件过程、管理和质量(186页珍藏版)》请在金锄头文库上搜索。

1、软件过程、管理和质量李 宣 东南京大学计算机科学与技术系概 要 软件过程 软件质量保证 软件配置管理 软件项目管理概念软件过程 软件过程是近十年来人们关注的焦 点。软件过程是为开发高质量软件所需 要完成的任务的框架。软件工程是有创 造力、有知识的人在定义好的、成熟的 软件过程框架中进行的。软件过程软件工程层次图质量焦点过程方法工具软件过程 软件工程是一种层次化的技术任何工程方法(包括软件工程)必须以有 组织的质量保证为基础。全面的质量管理和类 似的理念刺激了不断的过程改进,正是这种改 进导致了更加成熟的软件工程方法的不断出现 。支持软件工程的根基就在于对质量的关注。软件过程 软件工程的基层是过

2、程层软件工程过程是将技术层结合在一起的凝 聚力,使得软件能够被合理地和及时地开发出 来。过程定义了一组关键过程区域的框架,这 对于软件工程技术的有效应用是必须的。关键 过程区域构成了软件项目管理控制的基础,并 且确定了上下各区域之间的关系,规定了技术 方法的采用、工程产品(模型、文档、数据、 报告、表格等)的产生、里程碑的建立、质量 的保证及变化的适当管理。软件过程 软件工程的方法层提供了为开发软件在技术上需要“如何做” 。方法涵盖了一系列的任务:需求分析、设计 、编程、测试和维护。软件工程方法依赖于一 组原则,这些原则控制了每一个技术区域,且 包含建模活动和其他描述技术。软件过程 软件工程的

3、工具层对过程和方法提供了自动的或半自动的支 持。当这些工具被集成起来使得一个工具产生 的信息可以被另外一个工具使用时,一个支持 软件开发的系统就建立了,称为计算机辅助软 件工程(CASE)。CASE集成了软件、硬件和 一个软件工程数据库(包含了关于分析、设计 、编程和测试的重要信息),从而形成了一个 软件工程环境。软件过程 过程:为实现一个给定目标而进行的一 系列运作步骤。 过程具有一系列的性质:时间性、并发 性、嵌套性和度量性等。 软件过程:开发和维护软件及其相关产 品所设及的一系列活动。过程是活动的 集合;活动是任务的集合;任务是把输 入转换为输出的操作。软件过程软件过程提供了一个框架,在

4、该框架下可以 建立一个软件开发的综合计划: 若干框架活动适用于所有软件项目,而不在乎其规模 和复杂性。 若干不同任务的集合-每一个集合都由任务、里程碑 、交付物以及质量保证点组成-使得框架活动适应于 不同软件项目的特征和项目组的需求。 若干保护性活动-如软件质量保证、软件配置管理、 测试与度量-它们贯穿于整个过程模型之中。保护性 活动独立于任何一个框架活动,且贯穿于整个过程之 中。软件过程里程碑、交付物SQA点公共过程框架框架活动保护性活动任务集合 工作任务软件过程软件过程可分为三大类: 基本过程类:是构成软件生存周期主要部分的那些过 程,包括获取、供应、开发、操作、维护等过程。 支持过程类:

5、可穿插到基本过程中提供支持的一系列 过程,包括文档开发、配置管理、质量保证、验证、 确认、联合评审、审计、问题解决等过程。 组织过程类:一个组织用来建立、实施一种基础结构 、并不断改进该基础结构的过程,包括管理、基础、 改进、培训等过程。软件过程模型软件过程模型是软件开发的指导思 想和全局性框架,软件过程模型的提出 和发展反映了人们对软件过程的某种认 识观,体现了人们对软件过程认识的提 高和飞跃。软件过程模型瀑布模型强调阶段的划分 及其顺序性、各阶段工作 及其文档的完备性,是一种严格线性的、 按阶段顺序的、逐步细化的开发模式。定义 分析 设计 编码 测试 维护软件过程模型瀑布模型的特点: 结构

6、简单明了;历史较长、应用面广泛 、为广大软件工作者所熟悉;已有与之 配套的一组十分成熟的开发方法和丰富 的支撑工具。 确定了需求分析的绝对重要性,但是在 实践中要想获得完善的需求说明是非常 困难的;反馈信息慢。软件过程模型原型模型听取用户意见建造/修改 原型用户测试 运行原型软件过程模型原型模型的特点: 原型作为标识软件需求的一种机制,原 型被建造仅是为了定义需求,之后就该 被抛弃(或至少部分抛弃); 实际的软件在充分考虑了质量和可维护 性之后才被开发。软件过程模型演化软件过程模型人们已经越来越认识到软件就象所 有复杂系统一样要经过一段时间的演化 。业务和产品需求随着开发的发展常常 发生改变,

7、想找到最终产品的一条直线 路径是不可能的。软件过程模型演化软件过程模型紧迫的市场期限使得难以完成一个 完善的软件产品,但可以先提交一个有 限的版本以对付竞争或商业的压力;只 要核心产品或系统需求能够很好地理解 ,而产品或系统的细节部分可以进一步 定义。软件过程模型演化软件过程模型演化模型是利用一种迭代的思想方 法,它的特征是使软件工程师渐进地开 发逐步完善的软件版本。 增量模型 螺旋模型软件过程模型增量模型分析设计编码测试分析设计编码测试分析设计编码测试增量1增量2增量3软件过程模型增量模型的特点: 以功能递增的方式进行软件开发 能较快地产生可操作的系统; 在每一步递增中,都可以把用户/开发者

8、 的经验结合到不断求精的产品中; 可改善测试效果和降低软件开发总成本 。软件过程模型螺旋模型需求定义评审风险分析工程实现软件过程模型螺旋模型的特点: 把软件开过程组成为一个逐步细化的定 义周期(螺旋周期)序列,每经历一个 周期,系统就得到进一步的细化和完善 ; 本质上,具有上述特征的螺旋是一直运 转的直到软件退役。有时这个过程处于 睡眠状态,但任何时候出现了改变,过 程都会从合适的入口点开始;软件过程模型螺旋模型的特点: 紧密围绕开发中的风险问题,用风险分 析推动软件设计向深一层扩展、求精; 强调持续地判断、确定和修改用户任务 目标,并按成本、效益来分析候选的软 件产品性质对任务目标的贡献;

9、可结合采用多种软件开发方法,但究竟 结合哪一种方法仍由风险分析来决定。软件过程模型形式化方法模型形式化方法的主要目的是要把软件开 发过程建立在严密可行的数学基础之上 ,从而提高软件质量和软件生产率。 事后的或并行的一种辅助手段,用以对 系统的性质进行严格的验证; 集成到软件开发过程中,希望在严格的 形式系统的基础上,实现从需求规约到 程序代码的转换和过渡。软件过程管理改进软件过程 研究软件过程本质上是为了突出关键过 程以改善软件的质量。人们已经得到共 识,要提高软件质量必须改进软件过程 。软件过程管理改进软件过程 软件机构形成一套完整而成熟的软件过 程不是一蹴而就的,它需要一个从无序 到有序,

10、从特殊到一般,从定性到定量 ,最后再从静态到动态的历程,或者说 软件机构在形成成熟的软件过程之前必 须经历一系列的成熟阶段。软件过程管理改进软件过程 因此有必要建立一个软件过程成熟度模 型来对过程作出一个客观、公正的评价 ,以促进软件开发组织改进软件过程。软件过程管理软件过程成熟度 指一个特定的软件过程被显式定义、管理 、度量、控制和能行的程度。成熟度可以用于 指示企业加强其软件过程能力的潜力。 当一个 企业达到了一定的软件过程成熟级别后,它将 通过制定策略、建立标准和确立机构结构使它 的软件过程制度化。而制度化又促使企业通过 建立基础设施和公司文化来支持相关的方法、 实践和过程。从而使之可以

11、持续并维持一个良 性循环。软件过程管理不成熟企业的标志: 缺乏确定的软件过程和相应的管理和控 制; 即使给出了软件过程,也不严格的遵循 和强制执行; 管理是完全被动的,管理者采用的策略 是救火式的,即出了事才去解决,解决 的时候也难以纵观全局,往往只顾眼前 ; 软件过程管理不成熟企业的标志: 由于缺乏有依据的估算,制订软件预算 和生产计划时往往跟着感觉走,实际生 产时则常常超标; 如果强制在预定期限内完成,那么软件 的功能和质量肯定是得不到保证; 缺乏评价软件产品质量和解决产品缺陷 和过程问题的客观基础。 软件过程管理成熟企业的标志: 具有在企业范围内管理、控制软件开发 和维护过程的能力; 现

12、有人员和新进人员均了解所遵循的软 件过程,且工作活动均按照事先的计划 完成; 在定义好的软件过程中,所有项目和机 构中的角色和责任分明; 软件过程管理成熟企业的标志: 制定的计划是有效的且与实际的工作进 展一致; 软件过程在必要时可按照一定规则和程 序加以修改; 软件过程管理成熟企业的标志: 软件产品和过程具有一定的可控性:1. 管理者能够监督软件产品的质量和生产过程; 2. 具有客观的和定量化的措施来判断产品质量并分析产品与生产过程中的问题; 3. 计划和预算有章可循,它是基于历史数据的,从而是实际可行的; 4. 预算的结果,包括成本、时间表、产品功能和质量等,通常能够达到; 5. 有关的参

13、与者完全理解遵循软件过程的价值并认真地遵循之; 6. 具有支撑软件过程的基础设施,如标准过程库、历史数据库等 。 软件过程管理软件能力成熟度模型 ( Capability Maturity Model,CMM) 软件能力成熟度模型提美国大学Carnegie Mellon University软件工程研究所出的一套系统 、规范的对软件生产过程进行管理的模型,其 有效性已为大量实践所证实,并已成为对一个 软件企业的生产能力和产品质量进行衡量的事 实标准。软件过程管理软件能力成熟度模型(CMM) CMM被用来确定一个机构的软件过程的成熟 程度以及指明如何提高该成熟度的参考模型。 CMM描述了软件过程

14、从无序到有序、从特殊 到一般、从定性管理到定量管理、最终到达可 动态优化的成熟过程,给出了该过程中五个成 熟阶段的基本特征和应遵循的原则、 采取的行 动,以帮助软件机构改进其软件过程。 软件过程管理CMM的主要作用CMM可以指导软件机构如何控制软件产品的开发 和维护过程,以及如何向成熟的软件工程体系演化, 并形成一套良性循环的管理文化。具体说来,一个企 业要想改进其生产过程,应该采取如下策略和步骤: 确定软件企业当前所处的过程成熟级别; 了解对改进软件生产质量和加强生产过程控制起关键 作用的因素; 将工作重点集中在有限几个关键目标上,有效达到改 进机构软件生产过程的效果,进而可持续地改进其软

15、件生产能力。 软件过程管理CMM的基本前提 软件质量在很大程度上取决于产生软件 的软件过程的质量和能力; 软件过程是一个可管理、可度量并不断 改进的过程; 软件过程的质量受到用以支撑它的技术 和设施的影响; 企业在软件过程中所采用的技术层次应 适应于软件过程的成熟度。 软件过程管理CMM的基本原理 CMM强调连续的软件过程改进。该连续的改 进基于多个演化步骤。CMM将这些演化步骤 划分成五个级别。这种分级结构的理论依据是 软件质量原理。 每一级别都包括若干目标。当满足某一目标后 ,软件过程的相应部分便确定下来。 五级成熟度定义了一个标准,用以度量机构的 软件过程成熟度和评价其软件过程能力。 软

16、件过程管理CMM的基本内容 机构和资源的管理:涉及机构本身的责 任,人员和其它资源设施。 软件工程过程及其管理:涉及软件工程 过程,即软件过程的深度、范围和完整 性以及如何度量、管理和改进这样的过 程。 工具和技术:软件工程过程中使用的开 发工具和技术。 软件过程管理CMM的五个成熟度级别 初始级 可重复级:有规章的过程 定义级:标准化、一致的过程 管理级:可预测过程 优化级:可持续改进的过程 软件过程管理CMM的初始级(第一级) 成功来源于个人英雄主义而非机构行为 ,因此它不可重复,更换人员后成功便 难以维持。 软件过程管理CMM的可重复级(第二级) 针对特定软件项目建立管理该项目的策略和实 现这些策略的过程。 新项目的计划和管理基于类似项

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号