2011新版软件工程自学笔记_第1页
2011新版软件工程自学笔记_第2页
2011新版软件工程自学笔记_第3页
2011新版软件工程自学笔记_第4页
2011新版软件工程自学笔记_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一. 前言. 软件危机:20世纪60年代,随着计算机的广泛应用,软件生产率,软件质量越来越难以满足社会发展的需求,成为制约社会、经济的制约因素,人们把这一现象称为软件危机;. 软件的发展历史:20世纪60年代末至80年代初,软件系统规模,复杂性以及在关键领域的广泛应用促进了软件的工程化开发和管理;这一时期主要围绕软件项目开展了有关开发模型,开发方法和支持工具的研究;20世纪80年代以来,基于已开展的大量软件工程实践,围绕对软件工程过程的支持,开展了大量有关软件生产技术特别是软件复用技术和软件生产管理的研究和实践;. 软件工程:软件工程是应用计算机理论与技术,工程管理的原则和方法,按照预算和进度实现满足用户要求的软件的工程,或以此为研究的学科;. 软件,软件的本质:软件是对特定问题域的抽象,是被开发出来的一个逻辑实体,而不是一个有形的物理部件;软件的本质是实现问题域中的术语和处理逻辑到解空间的术语和逻辑的映射;. 所要做的工作:一是如何实现映射,这是技术层面的问题,又可分为过程方向,即求解软件的开发逻辑,如各种模型;和过程途径,即求解软件的开发手段,如结构化方法,面向对象方法等;二是如何管理这些映射,这是管理层面的问题;系统建模是运用所掌握的知识,经过抽象,给出系统的一个结构系统模型;. 基本途径:求解一个问题的基本途径是系统建模;所谓系统建模,是根据已掌握的知识,通过抽象给出系统的一个结构系统模型;模型是一个抽象,该抽象是在意图所确定的视角和抽象层上对物理系统的描述,描述其中的成分以及各成分之间所具有的特殊语义关系,还包括对系统边界的描述;在软件设计领域,系统模型分为概念模型和软件模型;概念模型描述了软件是什么;软件模型描述了实现概念模型的软件解决方案;软件模型又可分为设计模型,实现模型和不熟模型等;OUTLINE:二. 软件需求分析1. 需求(1). 需求的定义:一个需求是一个有关要予构造的陈述,它描述了待开发产品/系统功能上的能力,性能参数或其它性质;(2). 需求的属性:必要性:该需求用户所要求的;无歧义性:该需求只能用一种方式解释;可测性:该需求是可进行测试的;可测量性:该需求是可测量的;可跟踪性:该需求可以从一个开发阶段跟踪到另一个阶段;(3). 需求的分类:功能需求:规约了系统或系统构件必须执行的功能;性能需求:规约了系统或系统构件在性能方面必须具有的一些特性;外部接口需求:规约了系统或系统构件必须与之交互的用户、硬件、软件或数据库元素;设计约束:是一种需求,它限制了软件系统或软件系统构件设计方案的范围;质量属性:规约了软件产品所具有的一个性质必须达到其质量方面所期望的一个水平;(4). 需求发现技术:自悟;交谈;观察;小组会;提炼;在使用以上技术时,还都可以辅以诸如原型构造等其它方法;在实际使用中,往往组合地使用以上技术;执行需求发现这项活动的人,其技能水平对这项活动的成功具有重大影响;2. 需求规约:(1). 需求规约的定义:需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个产品/系统的概念模型;(2). 需求规约的性质:重要性和稳定性程度;可修改的;完整的;一致的;(3). 需求规约的作用:需求规约是软件开发小组同用户之间一份事实上的技术合同书,是产品功能和环境的体现;对产品/系统开发,需求规约是一个正式的受控的起始点;对于项目的其余大多数工作,需求规约是一个管理控制点;需求规约是创建产品验收测试计划和用户指南的基础;(4). 需求规约的表达方式:非形式化的需求规约;半形式化的需求规约;形式化的需求规约;OUTLINE:三. 结构化方法基本思想:一切信息系统都是由信息流构成的,每一信息流都有自己的起点信息源,有自己的归宿信息潭,有驱动信息流动的加工,所谓信息处理主要体现为信息的流动;缺点是:依然没有摆脱冯诺依曼体系结构的影响,所捕获的数据和功能恰恰是客观事物的异变性质,由此所构建的系统结构很难与客观实际系统的结构保持一致;基本术语系统模型过程指导内部联系:1. 主体为上面图所示,基本术语,过程指导,系统模型;2. 由基本术语联系到过程指导,因为过程指导要涉及到基本术语中的元素,如:建立系统环境图,确定系统语境,则对应基本术语中的数据源,数据流,加工,和数据潭;建立系统的层次数据流图,主要对应基本术语中的数据流,数据存储和加工;定义数据字典,对应基本术语中的数据流和数据存储;描述加工,则对应基本术语中的加工;3.结构分析与结构设计的联系,设计准备,确定边界,对应确定系统边界;第一次,第二层分解,对应建立系统的层次数据流图;精化设计,对应定义数据字典;详细设计,对应描述加工;1. 结构化分析(1). 基本术语:支持表达分析中所要使用的说明;l 数据流:用于表达分析中所要使用的,用于表达客体的信息;l 加工:用于表达分析中所要使用的,用于表达计算的信息;l 数据存储;用于表达分析中所要使用的,用于表达结构化客体的信息;l 数据源和数据潭:用于表达分析中所要使用的,用于表达系统边界的信息;(2). 数据流图DFD:表达系统模型的工具,支持表达系统功能;l 数据流起着连接其它实体的作用;l 处理之间可以包含多个数据流;l 对于一个大型的系统,往往需要采用多层次的数据流图;(3). 建模过程:给出过程指导,支持如何系统的使用相关信息来构造系统模型;. 建立系统环境图,确定系统语境;. 自顶向下,逐步求精,建立系统的层次数据流图;l 将父图中的每一个加工按照功能分解为若干个子加工;l 将父图中的输入流和输出流分派到相关的子加工上;l 在子加工之间建立合适的联系,必要时引入数据存储,使之形成一个有机的整体;. 定义数据字典,依据系统的数据流图,定义其中包含的数据流和数据存储的数据结构,知道给出构成以上数据的数据项的基本数据类型;数据结构定义符:顺序结构+,选择结构|,重复结构,定义=;数据流条目,数据存储条目,数据项条目;. 描述加工,依据系统的数据流图,给出加工的小说明,一般式最底层的加工的输入/输出数据流之间的关系;l 结构化自然语言(外层控制结构+内层自然语言);l 判定表;l 判定树;2. 结构设计定义满足需求所需要的结构(1). 总体设计任务是将系统的功能需求放入一个特定的软件体系结构中;目标是给出系统的模块结构;. 初始设计:A. 系统数据流图的分类:变换型数据流图:分为输入,变换,输出;事务型数据流图:分为输入,分析并确定,选择一条分支;B. 设计步骤:设计准备,复审并精化系统模型;确定输入,变换,输出的边界;/确定事务处理中心;第一级分解,系统模块结构图的顶层和第一层的设计;主模块,输入,变换,输出模块;第二级分解,从顶向下,逐步求精;. 精化设计,模块化和启发式规则A. 模块化把待建的软件分解为若干简单的高内聚低耦合的模块,这一过程称为模块化;B. 内聚与耦合内聚是指模块内部各成分之间相互关联程度的度量:主要有偶然,时间,顺序,通信,逻辑,过程,功能等类型;耦合是指不同模块之间相互依赖程度的度量;主要有内容,公共,数据,控制,标记等类型;C. 启发式规则改进软件设计,提高软件的独立性;力求模块规模适中;力求深度,宽度,扇入,善出适中;尽力使模块的作用域在控制域之内;力求模块功能可以预测;尽力降低模块接口的复杂性;(2). 详细设计目标是给出系统模块结构中各个模块的内部描述过程,即模块内部的算法设计;详细设计的表格有:l 程序流程图;l 盒图N-S图;l PAD图;l 类程序设计语言;结构图:抽象建立系统环境图,确定系统语境;自顶向下,逐步求精;定义数据字典;描述加工;3.1 数据流起着连接其它实体的作用;3.2 两个加工之间可以有多个数据流;3.3 对于比较大的软件系统,往往需要建立多层次的数据流图;1. 基本术语3. DFD图2. 过程指导描述系统模型的工具自顶向下,逐步求精数据流加工数据存储数据源,数据潭1. 变换型2. 事务型1. 模块化;2. 内聚与耦合;3. 启发式规则;1. 模块结构图;2. 层图;3. HIPO图1. 总体设计2.详细设计1.1初始设计1. 复审和精化系统概念模型2. 确定三部分之间的边界;3. 第一级分解;4. 第二级分解;1. 程序流程图;2. N-S图3.PAD图4. 类程序设计语言;1.2 精化设计软件设计四. 面向对象设计UML基于的理论是:世界是由客体组成的,客体都有自己的属性和习惯操作。客体之间的相互依赖和相互作用构成了世界的各个系统。面向对象设计是根据客体之间的相互关系来建立系统模型的系统工具。类,对象主动类包接口协作用况构件制品节点关联(聚合,组合)依赖(引入,扩展)泛化精化访问引入类图顺序图用况图状态图名称定义作用图例1. 表达客观事务的术语. 类和对象A. 类,对象;B. 类是一组具有相同属性,操作,关系和语义的对象的描述。对象是类的实例。C. 图示:l 名称:类:中间对齐,黑体字/斜体字,首字母大写; 属性:左对其,正常/下划线,首字母小写;操作:左对齐,正常/斜体字/下划线,首字母小写,大写;l 格式:类: 类域:类;对象:类;属性:Name:=操作:Name():,(in/out Name:=)l 图示:类名/对象名属性操作l 可见性:+:public,公有的;#:protect,保护的;-:private,私有的;:包内的;D. 作用:模型化问题域中的概念;建立系统的职责分布模型;模型化建模中使用的基本类型;. 主动类A. 主动类:Active Class;B. 主动类是一种至少具有一个进程或线程的类;C. 图例:D. 模型化系统中的并发行为;. 包A. 包,B. 定义C. 图例:D. 作用:控制信息组织复杂性;. 接口A. 接口,Interface;B. 接口是操作的一个集合,其中每个操作描述了类,构件,子系统所提供的一个服务;C. 图例:interfaceuseD. 模型化系统/产品中的接缝;. 协作A. 协作B. 协作是一个交互,包括交互各方、交互内容和交互方式;C. 图列:D.E.F. 用于表达由一组特定元素参与的具有特定行为的结构,抽象协作性行为;. 用况A. 用况,Use CaseB. 用况是对一组动作序列的描述,系统执行这些动作应产生对特定参与者有值的可观察的结果;C. 图例:D. 模型化系统中的并发行为;. 构件A. 构件,Component;B. 构件是系统/产品设计中的一种模块化部件,通过外部接口隐藏了内部实现;C. 图例:D. 表达解空间中可独立标识的成分;. 制品A. 制品,ArtifactB. 制品是包含物理信息的可替代的物理部件;C. 图例:artifactD. 通常用于表达有关源代码信息或运行时信息的一个物理打包,抽象工作产品;. 节点A. 节点,NodeB. 节点是运行时存在的物理元素;NodeC. 图例:D. 通常用于表达一种具有处理能力或存储能力的计算机资源,抽象计算单元;2. 用于表达关系的术语. 关联A. 关联(Association);B. 对具有相同语义,结构的关系的描述;C. D. 抽象结构关系;E. 其它:. 依赖A. 依赖(Dependency)B. ;C. ;D. 抽象使用关系;. 访问A. 访问(Access);B. ;C. ;D. 抽象包之间信息的访问关系;. 引入A. 引入(Import);B. ;C. ;D. 抽象包之间的使用关系;. 泛化A. 泛化(Generalization);B. ;C. ;D. 抽象一般特殊关系;. 细化A. 细化(Realization)B. ;C. ;D. 抽象细化关系;3. 建模工具结构图:表达系统静态结构模型,说明信息;类图,构建图,部署图等;行为图:表达系统动态结构模型,行为信息;状态图模型化生命周期,用况图模型化功能,顺序图模型化交互等;. 类图A. 类图是可视化表达系统静态结构模型的工具;B. 主要由类,接口,关联,依赖,泛化关系等组成;C. 建造过程:l 模型化待建系统中的概念,形成类图中的各个元素;l 模型化待建系统中的各种关系,形成系统的初始类图;l 模型化系统中的交互,给出系统的最终类图;l 模型化逻辑数据库模式;Idel. 状态图A. 状态图是显示一个状态机的图,其中主要强调从一个状态到另一个状态的控制流;B. 组成元素及其图形表示:l 状态:被延迟事件,进入/退出效应,do动作或活动;l 事件:信号,调用,时间,变化事件;l 状态转换:源状态,目标状态,转换触发器,监护条件,效应;C. 主要用于:l 创建一个系统的动态模型;l 创建一个场景的模型;. 用况图A. 表达系统功能模型的图形化工具;B. 组成元素及其图形表示:l 参与者l 用况l 主题,用大矩形表示;l 关联,泛化,依赖;C. 建造过程:l 语境的模型化:得到参与者,主题;将参与者分类,泛化,与用况建立关联;l 需求的模型化:得到用况;并将用况泛化泛化,包含,扩展;. 顺序图A. 顺序图是一种交互图,即包含一组对象和按时序组织的对象之间的关系,还包含对象之间发送的消息;B. 组成元素及其图形表示:l 对象生命线;用于表达一个对象在一个时间段内的存在;l 聚焦控制;用于表达执行一个动作的时间段;l 消息;用于表达交互内容的术语;l 控制控制子:选择(Opt),条件(alt),迭代(loop),并发(par)执行操作子;x=1Class1Class2Opt五. RUPRUP的特点:以用况为驱动,以体系结构为中心,迭代,增量式开发;其中每一个特点中都包含需求,分析,设计,实现,测试阶段;迭代中分为初始阶段,精化阶段,构造阶段,移交阶段;基本术语系统模型过程指导1. 基本模型2. 每个阶段的大概轮廓,包括横向三项,每项又纵向3层基本术语分析活动分析模型的表达分析类用况细化分析包实体类控制类边界类类的分析用况分析包的分析体系结构分析3. 所有活动的规律的整理:发现并描述参与者和用况确定用况的优先级精化用况构造用户界面原型用况模型的结构化标识分析包标识重要的实体类用况分析类的分析包的分析处理分析类之间的共性标识服务包定义分析类之间的依赖标识公共特定需求表示节点和网络配置标识有意义的设计类用况设计类的设计子系统设计表示子系统和接口标识一般性的设计机制获取体系结构用况基本元素分析设计系统模型. 对获取阶段,主要表现为需求的收集,精化和结构化;. 在分析阶段,把用况分成大块并表示大块之间的关系,再细分成小块,详细描述小块;. 在设计阶段,把大块转化成子系统,并层次化成软件体系,之间的关系转化为接口;小块进一步细化,方向上是从上层和左边进化,即依照上层中同列的用况进化,按照左边大块中的情况进化;4. 详细的过程:如需求获取包括:详细每个表格参看课本;RUP使用用况技术来获取需求;其目的是使用UML中的用况,参与者以及依赖等术语来抽象客观实际问题,创建系统需求获取模型,以及在该模型下的体系结构描述。用况模型是系统的一种概念模型,是对系统功能的抽象,包括系统参与者,系统用况以及他们之间的关系。阶段产生制品1.列出候选需求特征列表2.理解系统语境领域模型和业务模型3.捕获系统功能需求用况模型4.捕获非功能需求其它需求或针对特定需求的用况其中捕获系统需求阶段的活动又可分为:输入活动人员输出特征表,领域模型和业务模型,补充需求1.发现和描述参与者系统分析人员用况模型概述,术语表2.发现和描述用况用况模型概述,术语表,补充需求3.确定用况优先级体系设计者体系结构描述用况模型视角用况模型概述,术语表,补充需求4.精化用况用况描述者用况精化用况精化,用况模型概述,术语表,补充需求5.构造用户界面原型人机接口设计者人机接口用况精化,用况模型概述,术语表,补充需求6.用况模型的结构化系统分析员用况模型精化六. 软件测试软件测试软件测试模型软件测试技术:3个软件测试步骤:3个1. 软件测试. 软件测试:按照特定规程发现软件错误的过程;. 软件测试过程模型:环境对象素质环境模型对象模型错误模型测试执行NOYES比较2. 软件测试技术;. 路径测试技术;A. 控制流程图;过程块,判定,节点,链;B. 测试策略;语句覆盖(P1)分支覆盖(P2)条件和条件组合覆盖路径覆盖(PX);C. 路径选择和用例设计;l 选择最简单的、具有一定功能含义的入口、出口路径;l 在已选择的基础上,选择没有循环的路径,选择短路径,简单路径;l 选择没有明显功能含义的路径,并考虑这样的路径为什么能够存在,为什么没有通过功能上合理的路径得到覆盖;. 事务流测试技术;A. 事务流程图;操作,分支,节点,链;B. 与控制流程图的区别:l 基本模型元素所表达的语义不同;l 一个事务不同于路径测试中的一个路径;l 事务流程图中的分支和节点可能是一个更加复杂的过程:分支,汇集;并生,吸收;丝分裂,结合;C. 测试步骤:l 获得事务流程图;l 浏览、复审;l 用例设计;l 测试执行;. 等价类划分;A. 划分等价类;有效对无效:一对一,一对多,多对一;B. 设计测试用例:l 为每一个等价类规定一个唯一的编号;l 设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步直到所有等价类都被覆盖;l 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,知道所有无效等价类都被覆盖;3. 软件测试过程;A. 单元测试;l 关注单个模块的结构和功能,还要建立驱动模块和承接模块;l 模块接口:测试穿过模块接口的控制流;l 局部数据结构:执行数据结构测试;l 重要的执行路径:执行执行路径选择测试;l 错误的执行路径:边界测试;B. 集成测试;l 从顶向下的集成测试,需要编制承接模块;l 从底向上的集成测试,直到放上最后一个模块程序才成为一个对立的整体;C. 有效性测试;l 发现软件实现的功能与需求规格说明书不一致的错误;D. 系统测试;七. 软件生存周期12207-2008过程组分类和关系过程描述:6个生存周期模型5个过程建立过程监控1. ISO/IEC 12207-2008 系统/软件工程-软件生存周期模型. 背景ISO/IEC 12207-1995: 最早的软件生存周期模型,过程分为基本过程,支持过程,组织过程;ISO/IEC 15288:系统生存周期模型; ISO/IEC 12207-2008,系统/软件工程-软件生存周期模型,由上两种结合而来;. 过程分类及其内在关系:协议过程组项目过程组技术过程组组织上项目使能软件实现过程组软件复用过程组软件支持过程组系统语境过程类支持软件开发的过程类驱动,支持:保障:对项目的执行提供基本保障;特殊化为:支持:提升能力:. 过程描述:l 软件实现过程:活动:软件实现策略任务1:选择并建立适合项目的生存周期模型;任务2:建立输入文档并置于配置管理过程之下,按配置管理的过程执行变更;任务3:选择,裁剪和使用组织为执行或支持此过程而建立的标准、方法、工具或计算机编程语言;任务4:计划该活动过程;任务5:确保交付的软件产品的运行和维护不依赖非交付项;l 软件需求分析过程活动:软件需求分析;任务1:建立软件需求和文档;任务2:评估软件需求,并建立相应的评估结果文档;任务3:按软件评审过程评审软件需求;l 软件体系结构设计活动:软件体系结构设计;任务1:将软件项的需求转化为一种体系结构,描述其顶层构架并表示其中的软件构件,建立相应的文档;任务2:为软件项的外部接口和软件构件之间的接口开发顶层设计,并建立相关的文档;任务3:为数据库开发顶层设计,并建立相关的文档;任务4:开发用户文档的初始版本;任务5:定义初始测试需求和系统集成进度,并建立相关的文档;任务6:评估软件项的体系机构设计,接口设计,数据库设计,并建立相关的文档;任务7:按评审过程进行评审;l 软件验证过程活动1:过程实现;任务1.1:确定项目是否需要一项验证过程以及独立程度;任务1.2:如果项目承当验证过程,则应为验证软件产品建立相关的验证过程;任务1.3:如果项目需要独立的验证过程,则应选择一个有资格的组织执行验证;任务1.4:确定需要验证的生存周期活动和软件产品,并选择合适的验证过程和任务以及执行这些任务相关的方法,技术和工具;任务1.5:计划验证过程,并建立相关的文档;任务1.6:实现验证过程;活动2:验证过程;任务2.1:需求验证;任务2.2:设计验证;任务2.3:代码验证;任务2.4:集成验证;任务2.5:文档验证;l 软件确认活动活动1:过程实现;任务1.1:确定项目是否需要一项确认工作以及独立程度;任务1.2:如果项目承担确认工作,则应为确认软件产品建立相应的确认过程,并定义确认任务以及相关联的方法、技术和工具;任务1.3:如果项目需要独立的确认工作,则应选择一个有资格的组织负责该工作;任务1.4:开发确认计划,并建立相应的文档;任务1.5:实现确认计划;活动2:确认;任务2.1:编制选择的测试需求、测试案例和测试规格说明,以分析测试结果;任务2.2:确保这些测试需求、测试案例和测试规格说明反映特定期望所使用的特殊需求;任务2.3:按照任务1和2执行测试;任务2.4:确定软件产品是否满足所期望的使用;任务2.5:测试软件产品是否适合所选择的目标环境;l 剪裁过程任务1:标识并记录剪裁可能造成的影响;任务2:考虑与系统关键特征相关的维度和生存周期结构;任务3:从剪裁过程所影响的所有各方获得输入;任务4:按照决策管理过程做出剪裁决定;任务5;选择生存周期过程,剪裁并删除所选择的结果、活动和任务;2. 软件生存周期模型l 瀑布模型:把软件生存周期各项活动规定为按固定顺序连接的若干阶段工作,形成瀑布流水,最终得到软件产品;系统需求,软件需求,需求分析,设计,编码,测试,运行;对支持结构化开发,控制软件开发的复杂性,促进软件开发的工程化起着重要的作用;l 增量模型:将需求分组,形成一个个增量,对每一个增量实施瀑布式开发;前提是需求可结构化;l 演化模型:基于核心需求开发核心系统,根据用户反馈实施开发的迭代过程;主要用于事先不能完整定义需求的软件开发;l 螺旋模型:制定计划,风险分析,实施工程,客户评估;在瀑布模型和演化模型的基础上,增加了他们所忽略的风险分析;l 喷泉模型:体现了软件创建所固有的迭代和无间隙的特征;主要用于支持面向对象技术的软件开发;3. 过程规划和管理;在组织上项目使能过程组中有过程创建,过程评估,过程改进等过程,强调了PDCA,即过程规划,过程执行,过程检测,过程调整;. 关于过程创建;A. 选择软件生存周期模型:第一步:标识项目可用的SLCM;第二步:在预期的最终系统或开发环境中,标识影响选择SLCM的属性;第三步:标识所有为选择SLCM而需要的约束;第四步:基于以往的经验和组织能力,评估第一步中所标识的SLCM;第五步:选择最能满足项目属性和约束的SLCM;B. 细化所选择的软件生存周期模型:依据所选择的软件生存周期模型的需求和项目的需求,执行剪裁过程,表示需要的活动和不需要的活动;C. 为每一个各活动或任务表示合适的实例数目;D. 确定活动的时序关系,并检查信息流;. 关于软件生存周期监控过程A. 软件生存周期监控过程;l 进度和进展的跟踪;l 质量数据趋势的检查;l 设计、编码和测试计划的复审记录和动作的检查;l 变更要求和测试异常报告趋势的检查;l 关键资源的有效使用;l 与项目组成员的交谈;B. 软件生存周期活动变更的影响的评估;考虑的因素:l 所要求的返工;l 资源需求;l 实施时间;l 对项目和用户的益处;l 员工情绪;可采用的动作;l 什么都不做;l 强化过程;l 调整过程;l 替换过程;l 以上方式的组合;C. 改变的实施:l 规划改变;l 实施改变;八. 能力和成熟度模型过程过程过程改善过程制度化CMMICMMI前身概念分类CMMI模型能力、熟度等级CMMI模型结构CMMI模型术语概念各级特征各级目标和实践1. 过程:. 过程:l 过程是一种手段,通过该手段可将人员,规程和方法,工具和设备进行集成,以开发所期望的系统,生产所期望的产品,提供所期望的服务;. 过程改善:l 过程改善是人为设计的一个活动程序,其目的是改进组织的过程性能和成熟度,并改进这一程序的结果;. 过程制度化:l 过程制度化是过程被渗透到所执行工作的方式中,执行的工作有一定的承诺,并且在组织范围内是一致的;2. CMMI概述:. 前身:l 软件能力成熟度模型,SW-CMM,SEI;l 系统工程能力模型,SECM,EIA;l 集成产品开发能力成熟度模型,IPD-CMM,SEI;. CMMIl CMMI集成化能力成熟度模型是针对系统产品开发的能力成熟度模型,它包含一些最佳实践,覆盖了产品从概念到交付和维护的整个生存周期,强调了构造和维护当今产品所必要的工作;. CMMI分类:l 针对获取;l 针对开发;l 针对服务;3. CMMI模型:A. 模型构成:子实践过程域专用目标共用目标意图陈述简介性注释专用实践共用实践共用实践的精化子实践典型工作产品相关过程域B. 概念:l 过程域:是一个业务域一束相关的实践,当他们一起得以实现时,就满足被认为对该过程域的改善具有重要作用的一组条件;分为项目管理类,工程类,支持类,过程管理类;l 专用目标:用来描述满足该过程域必须呈现的一些独有特征;l 共用目标:用来描述实现制度化的该过程必须呈现的特征;C. 能力等级的应用:GG/GP 原句;补充中将“该过程”替换成应用的过程;如项目规划过程应用于能力等级2:把该过程制度化为一个已管理的过程;制度化项目管理过程,使其成为一个已管理的过程;D. 各能力等级,成熟度等级所应达到的共有目标和专有目标的对应:GG/GP独立,能力等级是各GG/GP的向下递归;SG/SP独立,成熟度是SG/SP的向下递归后过程域的能力等级;4. CMMI的能力等级和成熟度等级. 能力等级;A. 定义:能力等级是一种过程改善路径,该路径使组织针对单一过程域不断改进该过程域;指的是在单一过程域中达到的过程改善;B. 各等级基本特征:l 未完成级:该过程是一个没有执行或部分执行的过程,没有满足任何一个或多个过程目标;l 已执行级:该过程是一个已执行的过程,即该过程达到了该过程域的专用目标;l 已管理级:该过程是一个已管理的过程,存在支持该过程的基本基础设施;具体来说,该过程有计划,并按策略执行;执行该过程的人员为了生产受控输出,具有一定的技能并具有充分的资源;该过程有相关利益攸关方的参与;该过程得以监视,执行,审查;并对其是否符合过程描述进行了评估;l 已定义级:该过程是一个已定义的过程,该过程是依据组织的过程剪裁指南从一个标准过程集剪裁而来的,并且该过程对组织的过程资产提供了有意义的工作产品,测量和其它过程改善信息;l 已定量管理级:该过程是一个已定量管理的过程;通过统计技术和其它定量技术控制过程性能;建立了有关质量和过程性能的量化目的,并作为管理过程的准则;在整个过程期间,采用统计术语的质量和过程性能的定量表达,是可理解并得以管理的;l 持续优化级:该过程是一个已持续优化的过程;基于对该过程中内在偏差的共性原因的理解,通过增强,技术改进,不断改进过程性能的程度;C. 各级别的共用目标和共用实践:GG1.达到专用目标:该过程通过将认同的输入工作产品转化为认同的输出工作产品,支持该过程域并使其达到其专用目标;GP1.执行专用实践:执行该过程域的专用实践,以开发工作产品,并为达到该过程域的专用目标服务;GG2.把该过程制度化为一个已管理的过程:制度化该过程,使其成为一个已管理的过程;GP2.1建立组织策略:为规划和执行该过程,建立并维护组织策略;GP2.2 规划该过程:建立并维护执行该过程的计划;GP2.3 提供资源:为执行该过程,以开发工作产品,并为该过程提供服务,提供充足的资源;GP2.4 指定责任:为执行该过程,开发工作产品,并为该过程提供服务,指定责任和权利;GP2.5 培训人员:必要时,培训执行该过程或支持该过程的人员;GP2.6 管理配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论