1.1 软件工程基本原理
1.1.1 七条基本原理
- 按照软件生命周期的阶段划分制定计划,严格依据计划进行管理
- 坚持进行阶段评审
- 实行严格的产品控制
- 采用现代程序设计技术
- 结果应能清楚的审查
- 开发小组的人员应该少而精
- 承认不断改进软件工程实践的必要性
1.1.2公司技术、产品体系
从上图可以看出,三者不存在互相包含的关系,但有很强的关联性;三者不存在互相替代的关系,但侧重点各有不同;PM/PMOK和ISO9001并不专门针对软件公司,但可用于软件公司,特别是提供包含软件产品、集成工程和服务的软件公司;CMM、CMMI专用于软件公司或软件项目、系统集成公司或系统集成项目。
1.2 质量管理体系ISO9001
1.2.1 质量管理原则
1)以顾客为中心
2)高层管理者推动
3)全员参与
4)采用过程方法
5)系统的管理
6)持续改进
7)基于事实的决策
8)互利的供方关系
1.2.2 建立和实施质量管理体系的步骤
1)确定顾客的需求和期望
2)建立公司的质量方针和质量目标
3)确定是实现质量目标所必须的过程和职责
4)针对每个过程实现质量目标的有效性确定测量方法
5)通过测量,确定每个过程的现行有效性
6)确定防止不合格项并消除产生原因的措施
7)寻找提高过程有小型和效率的机会
8)确定并优先考虑那些能提供最佳结果的改进
9)为实施已确定的改进,对战略、过程和资源进行策划
10)实施改进计划
11)监控改进效果
12)对照预期效果,评价实际结果
13)评审改进活动,确定必要的纠正、跟踪措施
1.2.3 过程方法
任何“得到输入并将其转化为输出”的序列活动均可视为过程。
为使组织有效运行,必须识别和管理许多内部相互联系的过程。通常,一个 过程的输出将直接形成下一个过程的输入。系统识别和管理组织内所使用的过程,特别是这些过程之间的相互作用,称为“过程方法”。ISO9001 标准鼓励采用过程方法建立和实施质量管理体系。
1.2.4 实例介绍
1)过程识别
①体系管理过程
②资源管理过程
③产品实现过程
④监测、分析和改进过程
2)过程关系
下图描述了某公司ISO9001 :2000版质量管理体系的整体过程关系,该公司把ISO9001质量管理体系分成了四大块,分别为:体系管理过程、资源管理过程、产品实现过程和监测、分析与改造过程。这四大块形成一个循环,使得公司质量管理体系有效运转,并且为过程的持续改进提供保证。每块包含的内容及它们之间详细的关系如下图所示。
3)质量体系文件的分层结构
①质量手册
②程序文件
③规定/规范
④表单模板
1.3 项目管理知识体系PMBOK
1.3.1 项目基本属性
1)整体性,是一系列活动的有序组合
2)唯一性,每个项目均是具体的、特殊的,没有两个完全相同的项目
3)一次性,目标一旦完成,项目即告结束
4)目标性,一个项目有确定的成果性目标
5)多约束性,在多种约束条件下完成项目的成果性目标,约束包括时间、资源、质量及其他非技术性约束
6)依赖性,项目活动的进行涉及多个方面的因素,有对内部各级各部门的依赖,有对用户条件的依赖,有对标准的依赖和对各类变更的依赖,等等
7)冲突性,项目内不会有多种冲突,需要沟通、协调和培训
8)周期性,项目不痛,但都有其基本的生命周期属性,都会经历大体相同的阶段
1.3.2 项目参数
用于刻画一个项目的主要参数有:范围、进度、资源、成本和质量
1.3.3 项目生命周期
分为四个阶段:定义、策划、实施、收尾
1.3.4 项目管理基本过程
分为五个过程:启动过程、策划过程、执行过程、控制过程和结束过程
1.3.5 项目管理基本职能
分为九个职能:项目整体管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理
1.3.6 项目管理成熟度模型
1.4 软件能力成熟度模型集成CMMI
CMMI的阶梯表示