第一章 软件工程基础
什么是CMMI???
CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是由美国卡耐基梅隆大学软件工程研究所(Software Engineering Institute,SEI)组织全世界的软件过程改进和软件开发管理方面的专家历时四年而开发出来的,并在全世界推广实施的一种软件能力成熟度评估标准,主要用于指导软件开发过程的改进和进行软件开发能力的评估。
一、软件工程基本原理
软件工程是从管理和技术两个方面来研究如何采用工程的概念、原理和技术方法并加以综合,指导开发人员更好地开发和维护计算机软件的一门新的学科。
1、七条基本原理:是确保软件产品质量和开发效率的原理的最小集合
1)按照软件生命周期的阶段划分制订计划,严格依据计划进行管理
---分为六类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划、运行维护计划
2)坚持进行阶段评审
3)实行严格的产品控制
---产品控制主要是实行基准配置管理、定义基线、管理和控制基线
4)采用现代程序设计技术
---可提高软件开发和软件维护的效率
5)结果应能清楚地审查
6)开发小组成员应该少而精
7)承认不断改进软件工程实践的必要性
缺点:可操作性差、缺少评价标准、缺少相互之间的可比性。
二、三个基本标准体系
软件公司在技术、产品管理方面可采用的标准体系或模型,基本上有三个,分别为PM/PMOK和ISO9001和CMM、CMMI
1、质量管理体系ISO9001--迄今为止世界上最承受的质量框架
1)8项质量管理原则
(1)以顾客为中心
(2)高层管理者推动
(3)全员参与
(4)采用过程方法
(5)系统的管理
(6)持续改进
(7)基于事实的决策
(8)互利的供方关系
2)建立和实施质量管理体系的步骤
(1)确定顾客的需求和期望
(2)建立公司的质量方针和质量目标
(3)确定实现质量目标所必需的过程和职责
(4)针对每个过程实现质量目标的有效性确定测量方法
(5)通过测量,确定每个过程地现行有效性
(6)确定防止不合格项并消除产生原因的措施
(7)寻求提高过程有效性和效率的机会
(8)确定并优先考虑纳休能提供最佳结果的改进
(9)为实施以确定的改进,对战略、过程和资源进行策划
(10)实施改进计划
(11)监控改进效果
(12)对照预期效果,评价实际结果
(13)评审改进活动,确定必要的纠正、跟踪措施
3)过程方法
任何“得到输入并将其转化为输出”地序列活动均可视为过程。
4)实例介绍
(1)过程识别:分为四大过程
A、体系管理过程
B、资源管理过程
C、产品实现过程(核心业务过程)
D、监测、分析和改进过程
(2)(以上四大)过程关系
(3)质量体系文件的分层结构(4个层次)
A、质量手册
B、程序文件
C、规定/规范
D、表单模板
2、项目管理知识体系PMBOK--对项目管理所需的知识、技能和工具进行地概括性描述
1)项目基本属性(8条)
项目:即在限定时间内、利用有限的资源、为完成有一定质量要求的目标而进行的一系列有序活动的一次性组合。
(1)整体性
(2)唯一性
(3)一次性
(4)目标性
(5)多约束性
(6)依赖性
(7)冲突性
(8)周期性
2)项目参数
主要参数有:范围、进度、资源、成本和质量
3)项目的生命周期(四个阶段)
4)项目管理基本过程(5个)
(1)启动
(2)策划
(3)执行
(4)控制
(5)结束
5)项目管理基本职能(9个)
6)项目管理成熟度模型(5级)
初始级、可重复级、已定义级、受管理级、优化级。
3、软件能力成熟度模型集成CMMI
目的:为提高组织过程和管理产品开发、发布和维护能力提供保障,帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。
1)CMMI和过程改进
软件过程改进是一个持续的、全员参与的过程。CMMI实施或软件改进采用的方法成为LDEAL模式,分为5步:启动、诊断、建立、行动、推进。
2)CMMI结构框架
在CMMI模型中,最基本的概念是“过程域”(即PA),每个PA分别表示了整个过程改进活动中应侧重关注或改进的某个方面的问题。(22个过程域)
(1)过程域分类
(2)过程域之间的主要关系
3)CMMI的阶梯表示
CMMI所包含的22个过程域按成熟度等级划分为四个组:
1)级别1 -----初始级
2)级别2 -----受管理级
3)级别3 -----已定义级
4)级别4 -----定量管理级
5)级别5 -----持续优先级
未完待续~~~~~~~