软件开发的质量以及效率受到人员、技术和过程这三个因素的影响
软件过程理论的基石:软件产品和服务的质量,很大程度上取决于生产和维护该软件或者服务的过程的质量。
以下来自百度百科:PDCA循环是美国质量管理专家休哈特博士首先提出的,由戴明采纳、宣传,获得普及,所以又称戴明环。全面质量管理的思想基础和方法依据就是PDCA循环。PDCA循环的含义是将质量管理分为四个阶段,即计划(plan)、执行(do)、检查(check)、行动(Action)。
记得在上课的时候我就不是很清楚 do 和 action 之间的区别,因为认为它们都有行动的意思,后面百度了一下,觉得有位网友解释的有点道理,那就是 do 是在执行计划之后做的动作 而 action 是在检查了之后做的改正修复工作。这就类比做作业,首先制定在三小时内要完成一套理综卷子,这个是plan,然后做这套卷子,也就是 do ,做完了之后对答案,也就是 check ,最后订正,便是 action。
过程的六个要素:
(1)输入
(2)输出
(3)活动或者分解的任务/作业
(4)资源:支持活动执行所必须的,包括人员、设备等
(5)测量与验证:保证过程中的相关元素是合格的
(6)过程的目标:执行完这个过程所期望达到的效果
chapter 1:软件过程基础(10分)
-几位质量管理大师的主要贡献:
Shewhart(休哈特):统计质量控制(SQC)之父
最早提出“计划(Plan)—执行(Do)—检查(Ckeck)”的概念,后来戴明进一步将其发展为PDCA(计划(Plab)—实施(Do)—检查(Check)—行动(Action))
Deming(戴明):
1)质量改进
2)PDCA环,也称为戴明环
3)十四点原则
Juran(朱兰):主编《质量控制手册》(quality control handbook),为奠定全面质量管理(TQM)的理论基础和基本方法做出了卓越的贡献
1)适用性质量
2)质量三部曲:质量计划—质量控制—质量改进
3)Juran quality loop(朱兰质量螺旋)
4)80/20原则:质量问题只有20%来自基层操作人员,而恰恰有 80%的质量问题是由于领导责任引起的。
Crosby(克劳士比):于1964年提出“零缺陷”的概念,即第一次就把事情做对
1)质量管理的绝对性
2)质量改进的基本要素
领悟(comprehension)、承诺(commitment)、能力(capacity)、沟通(communication)、改正(correction)、坚持(continuance)(6C—“变革管理的六个阶段”)
质量运动情况
人物 |
时间 |
成就 |
Shewhart(休哈特) |
20世纪30年代 |
发表“统计学质量控制原理” |
Deming(戴明) |
1956年 |
进一步发展并成功证明Shewhart的原理 |
Crosby(克劳士比) |
1960年 |
发展“软件成熟度的量化” |
Humphrey(汉弗莱) |
1986年 |
软件过程中采用Crosby的成熟度量化,加入成熟度等级的概念; 首次提出软件能力成熟度模型,即CMM 将TQM(Total Quality Management)全面质量管理的思想运用到软件过程的改进中; 力推个体软件过程(PSP)和团队软件过程(TSP),这两个理论在解决软件零缺陷方面取得了瞩目成就 |
SEI |
1987-97 |
发展成熟度框架、问卷 SPA(软件过程评估) SCE(软件能力评估) CMM(能力成熟度模型) |
软件过程的定义:当人们在开发和维护软件及其相关产品时所涉及的各种活动、方法、实践和改革等。
软件过程的元素:输入、输出、活动或进一步分解的任务、资源、测量与验证、过程目标
软件过程的分类与组成:
1)软件基本过程
需求分析、软件设计和编码等
2)软件支持过程
配置管理过程、质量保证过程、评审过程等
3)软件组织过程
改进过程和培训过程等
Watts Humphrey的观点:软件系统的质量取决于用于开发和改进它的过程质量。
chapter 2:PSP个体软件过程(Personal Software Process)(25分)
PSP:一种个体级的用于管理和改进软件工程师个人工作方式的持续改进过程。
PSP是包括了 数据记录表格(时间、缺陷日志等)、过程操作指南和规程在内的结构化框架,典型的PSP流程为:策划—设计—编码—编译—单元测试—总结
PSP成熟度级别:
1