软件开发的质量以及效率受到人员、技术和过程这三个因素的影响
软件过程理论的基石:软件产品和服务的质量,很大程度上取决于生产和维护该软件或者服务的过程的质量。
以下来自百度百科: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的观点:软件系统的质量取决于用于开发和改进它的过程质量。
PSP成熟度级别:
1、个体度量过程
2、个体规划过程
3、个体质量管理过程
4、个体循环过程
大部分项目采用 LOC作为规模度量的方式
通用计划框架:
定义需求;概要设计;规模估算;资源估算;日程计划;开发产品。
PROBE Proxy Based Estimation 基于代理的估算,用于解决早期规划与估算精准之间的矛盾
寻找一种便于早期规划的规模度量的代理,建立这种代理与精确度量之间的关联关系
【模块】【类】【方法】都是理想的代理
相对大小矩阵描述了代理与LOC之间的对应关系
PROBE估算方法主要用于估算软件开发的规模和需要的资源
为了保证评审过程的质量,PSP定义了一系列过程质量的度量指标
Yield:度量每个阶段消除缺陷的效率 phase和process
若无历史数据估算,则将单元测试阶段的phase yield设定为50%(资料表明在测试中每发现一个缺陷,往往意味着还有一个缺陷没有被发现)
将缺陷按照比例分配到各个缺陷的注入阶段,重新计算Pase Yield的估算值
A/FR(Appraisal to failure ratio):质检失效比
=PSP质检成本/失效成本
质检成本为设计和代码评审所花费的时间总和;
失效成本为编译和单元测试所花费的时间总和。
期望值为2.0,越大说明在评审阶段花费的时间越长
PQI(Process Quality Index):过程质量指标
用以度量PSP过程的整体质量
=设计质量*设计评审质量*代码质量*代码评审质量*程序质量
五个乘积因子的取值范围为【0.0—1.0】
当PQI>=0.4的时候,认为该过程质量较高
评审速度(Review Rate):
代码评审速度小于200 LOC/h,文档评审速度小于4 page/h
DRL(Defect-Removal Leverage):缺陷消除效率比
度量的是不同缺陷消除手段消除缺陷的效率
以单元测试每小时发现的缺陷数为基础,其他阶段每小时发现的缺陷数与该基础的比值即为DRL
PSP设计模板
操作规格模板(Operational Specification Template)OST
描述系统与外界的交互
功能规格模板(Functional Specification Template)FST
描述系统对外提供的静态接口
状态规格模板(State Specification Template)SST
描述系统的状态信息
逻辑规格模板(Logical Specification Template)LST
描述系统的静态逻辑
|
静态信息 |
动态信息 |
内部信息 |
LST(结构信息) 类和方法的规格说明 |
SST(行为信息) 状态图 |
外部信息 |
FST(功能) 类图 |
OST/FST(交互信息) 用例图/顺序图 (用例图体现交互对象,而顺序图也表明是如何交互的) |
UML中的用例图和顺序图提供了与PSP中OST同样的信息;
UML中的顺序图和类图所描述的类之间的关系以及对象之间的交互信息在PSP的4个设计模板中均没有对应的内容;
FST中对方法的行为有描述,与之对应的UML类图中没有;
PSP中的LST用来描述系统内部的静态逻辑结构,UML中没有与之对应的图示方法
SST中描述了状态、状态转换条件和状态转换中的动作,UML中没有
chapter 3:TSP 团队软件过程
WBS(work breakdown structure):工作分解结构
WBS是一种树形结构
WBS就是按照一定的原则将项目进行分解,分解为一个一个的任务,任务进一步分解成工作,直到底层元素的粒度大小满足要求,再把一项项工作分配到工作人员的日程安排当中。
基本要求:
1、最底层要素不能重复
2、所有要素必须有清晰明确的定义和描述
3、最底层要素必须要有明确的负责人/团队
4、最底层要素是实现目标的充分必要条件
范围管理:
确保项目做且成功完成所需的所有工作的各过程
收集需求—确定范围—WBS—核实范围—控制范围变更
开发策略与计划:
取考虑以下三个因素
1)WBS
2)产品组件的开发顺序
3)产品组件的获得方式
SDLC(Software Development Life Cycle)
常用:瀑布、螺旋、原型
质量计划:典型的质量保证活动
个人和团队评审;单元测试;集成测试;系统测试;验收测试
风险管理包括风险识别和风险应对:
典型的风险识别的方法:
1、检查WBS中的每个组件找出对应的风险
2、用定义好的风险分类表来评估风险
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!