当前课程知识点:软件工程与软件自动化 >  第八章 软件过程改进 >  8.4 过程改进标准框架 >  授课视频

返回《软件工程与软件自动化》慕课在线视频课程列表

授课视频在线视频

下一节:敏捷和CMM矛盾么?

返回《软件工程与软件自动化》慕课在线视频列表

授课视频课程教案、知识点、字幕

嗨,大家好

今天我们来讨论过程评估和改进所涉及到的

一些国家和国际标准

首先来看一下我国的双模认证SPCA

它是软件过程能力评估和软件能力成熟度评估的
统称

是信息产业部和国家认证认可监督委员会

在研究了国际软件评估体系之后

并考虑到国内软件行业的一些实际情况

所建立起来的一套软件评估体系

它依据的评估标准是我国的SJ/T 11234和SJ/T 11235

SJ/T11234是针对软件企业

对自身软件过程能力进行内部改进的需要

它与CMMI的连续表示形式基本相同

这个模型有22个过程,分为4个大类

就是过程管理类,项目管理类,工程化类和支持类

每个过程能力从0到5共有6个评估等级

每个等级包含了通用目标,通用惯例

特定目标和特定惯例,组成了一整套的衡量准则

按这个准则对软件过程进行评估

就可以确定当前的软件工程的能力状态

11235针对软件企业综合能力

第三方或第二方评估的需要

与CMMI的分阶段表示形式基本相同

也有22个过程方面

分为1到5级来描述综合软件能力

SPCA的评估、双模认证遵循的是

软件工程及能力成熟度评估指南

评估过程由经过培训的专业队伍以评估参考模型

作为确定过程强项和弱项的基础

而对一个或对多个过程进行检查

六西格玛是在九十年代中期

由摩托罗拉提出来的一种全面的质量管理方法

后来演变成为了一个高度有效的企业流程设计

改善和优化技术

并提供了一系列的等同的适用于设计、生产

和服务的新产品开发工具

它是一种统计的评估法

核心是追求零缺陷生产,防范产品责任风险

降低成本,提高生产率和市场占有率

提高顾客满意度和忠诚度

六西格玛管理既着眼于产品、服务质量

又关注于过程的改善

一个企业要想达到六西格玛的标准

那么它的出错率就不能超过百万分之3.4

说到六西格玛,就不能不提

被列入《吉尼斯世界纪录》的

达巴瓦拉午餐速递系统

印度的孟买约有5000名达巴瓦拉

他们要为约20万名顾客送午餐

他们不依靠任何先进的技术

只是凭借着一套简单的符号

以及人员之间明确的分工和协作的流程

平均只有小学文化的达巴瓦拉

在高速运转中能够把差错率控制在

八百万分之一,它的送餐准确率为99.999999%

达到了西格玛6级的标准

目前,有人把精益生产和六西格玛结合起来

提出了精益六西格玛

精益六西格玛管理的目的是通过

整合精益生产和六西格玛管理

吸取了两种生产模式的优点

弥补了单个生产模式的不足

达到一种更佳的管理效果

精益六西格玛不是精益生产和六西格玛的简单相加

而是二者的互相补充和有机结合

我们知道,CMM为改善整个软件企业的过程

提供了指南,而并非针对某个具体的项目

它是从软件过程的角度来考虑问题

不关注软件开发工具

与框架的软件生存周期也没有关系

也与所采用的开发技术没有关系

同时呢,CMM只是指明了该做什么

而没有指明如何做,也就是说,CMM不是方法论

CMM是针对500人以上大型软件企业的

对小型的软件企业呢,我们需要裁减才能使用

毫无疑问,CMM是过程改善的第一步

它提供了评价组织的能力,识别优先改善需求

和追踪改善进展的管理方式

企业只有开始了CMM之后

才能接受需要规划的事实

认识到质量的重要性

才能注重对员工的培训

合理分配项目人员

并且建立起有效的项目小组

然而,它实现的成功与否

与组织内部有关人员的积极参加和创造性活动密
不可分

与组织内部有关人员的积极参加和创造性活动密
不可分

为了弥补CMM的这些局限性

SEI的特别会员Watts Humphrey决定将CMM的基本原理

SEI的特别会员Watts Humphrey决定将CMM的基本原理

应用于单个开发人员的软件开发实践中

提出了个人软件过程PSP

不久大家就发现,虽然使用PSP可以取得优异的
结果

但是如果周围的环境不能鼓励并且要求遵守PSP
实践

这些必要的规范性是几乎不可能得到维持的

所以Humphrey继续为项目组开发了团队软件过程TSP

也叫群组软件过程

有人认为,CMM/TSP/PSP为软件产业

提供了一个集成化的三维的软件过程改进框架

CMM提供了框架和目标

PSP针对个人进行优化

TSP针对团队进行优化

三者互相配合,各有侧重

形成了一个不可分割的整体,缺一不可

在软件能力成熟度模型CMM的18个关键过程域中

在软件能力成熟度模型CMM的18个关键过程域中

有12个与PSP紧密相关,有16个与TSP紧密相关

因此,如果能够熟悉PSP和TSP

不仅有助于工程师改善工作效率

而且也有助于整个组织的过程改善

CMM给出了一个软件组织的能力成熟度框架

并以成熟度提问单为工具进行过程评估和能力评价

由于CMM中并没有提供有关实现关键过程域

所需要的具体知识和技能

因此呢,PSP的研究和实践

为基于个体和小型的群组软件过程的优化

提供了具体、有效的途径

TSP结合CMM的管理方法和PSP的工程技能

建立、管理、授权并且指导项目小组

如何在满足计划费用的前提下

在承诺的期限范围内

不断生产并交付高质量的产品

下面我们来具体地看一看PSP

PSP是一种可用于控制

管理和改进个人工作方式的自我改善过程

是一个包括软件开发表格、指南

和规程的结构化框架

PSP为基于个体和小型群组软件过程的优化

提供了具体而有效的途径

例如如何制订计划,如何控制质量

如何与其他人相互协作等等

在软件的设计阶段, PSP的着眼点在于

软件缺陷的预防

它的具体办法是强化设计的结束准则

而不是设计方法的选择

保障软件产品质量的一个重要途径是

提高设计质量

个体软件过程的原则是

帮助软件工程师作出准确的计划

确定软件工程师为改善产品质量要采取的步骤

建立度量个体软件过程改进的基准

确定过程的改变对软件工程师能力的影响

PSP使用一系列的步骤解释个人软件过程的改进

每一步包括前一步所有的元素并且有所增加

PSP0是个人软件过程的基线

目的是为了在个人工作中引入表格和脚本

以便工程师能够按照测量和报告格式来记录软件过程

PSP1就是个人计划过程

它在PSP0的基础上增加了计划步骤

PSP2就是个人质量管理过程

介绍了失误管理,强调设计的结束准则

PSP3就是循环个人过程

以前的PSP过程专注于编写小程序的线性过程

适合小规模程序的开发

PSP3将个人软件过程的应用

扩展到大规模的软件应用过程当中

TSP对群组软件过程的定义、度量和改革

提出了一整套原则、方法和策略

把CMM要求实施的管理与PSP要求的

开发人员要具有的技能结合起来

欲按时交付高质量的软件

并把成本控制在预算的范围之内

在TSP中,讲述了如何创建高效的

而且具有自我管理能力的工程小组

工程人员如何才能成为合格的项目组成员

管理人员如何对群组提供指导和支持

如何保持良好的工程环境使项目组能充分发挥

自己的水平等等这些软件的工程管理问题

TSP基于以下四条基本原理

第一,应该遵循一个确定的、可反复的过程

并能够迅速的获得反馈

这样才能使学习和改革最有成效

这样才能使学习和改革最有成效

第二,一个群组是否高效,是由明确的目标

第二,一个群组是否高效,是由明确的目标

有效的工作环境、有能力的教练和积极的领导等

四方面因素的综合作用所确定的

因此,应该在这四个方面共同努力

而不能偏废其中任何一个方面

第三,应该及时总结经验教训

当学员在项目当中面临各种各样的实际问题

并在寻求有效的解决问题方案的时候

就会更加深刻地体会到TSP的威力

第四,应该借鉴前人和他人的经验

在已经可资利用的工程、科学和教学法经验的基
础上

在已经可资利用的工程、科学和教学经验的基础之上

来规定过程改进的指令

TSP一般将一个软件项目的开发工作分成4个阶段

任何一个应用TSP的项目可以只包括

其中的一个,也可以包含连续的几个阶段

在项目开始之前,项目组应该执行启动过程

对整个任务进行全面地规划和组织

在每个阶段之前,项目组应该执行重启过程

对下一个阶段的任务进行规划

一般来说,如果项目组的成员经过了PSP的培训

项目组的启动过程约需3天时间

重启过程约需两天时间

此时,项目组同管理人员一起评审项目

计划和分析关键风险

在项目已经启动之后

项目组应该每周进行一次项目进展讨论会

另外还应该及时向有关主管和客户

报告项目的进展情况

好,由于篇幅和时间所限

这部分内容我们就说到这儿

谢谢大家

软件工程与软件自动化课程列表:

第一章 软件工程基础

-1.1 软件工程的前生今世

--开篇阅读

--授课视频

-第一章 软件工程基础--1.1 软件工程的前生今世

-1.2 万变不离其宗

--授课视频1/3

--授课视频2/3

--授课视频3/3

-第一章 软件工程基础--1.2 万变不离其宗

-1.3 唯一不变的是变化

--授课视频1/3

--授课视频2/3

--授课视频3/3

--外部链接

-第一章 软件工程基础--1.3 唯一不变的是变化

-1.4 亡羊补牢为时不晚

--授课视频1/2

--授课视频2/2

-第一章 软件工程基础--1.4 亡羊补牢为时不晚

-扩展阅读与话题讨论

--扩展阅读

--话题讨论

第二章 敏捷开发

-2.1 方法论来源于恐惧

--授课视频

-第二章 敏捷开发--2.1 方法论来源于恐惧

-2.2 敏捷是什么

--授课视频

-第二章 敏捷开发--2.2 敏捷是什么

-2.3 典型敏捷开发方法

--SCRUM敏捷开发方法

--XP敏捷开发方法

-第二章 敏捷开发--2.3 典型敏捷开发方法

-2.4 敏捷不是万能药

--授课视频

-第二章 敏捷开发--2.4 敏捷不是万能药

-专家谈敏捷

--专家谈敏捷开发方法

-扩展阅读与话题讨论

--外部链接

--话题讨论

第三章 OO与UML

-3.1 面向对象核心概念和基本特性

--核心概念与基本特性

-第三章 OO与UML--3.1 面向对象核心概念和基本特性

-3.2 面向对象设计基本原则

--面向对象设计基本原则

-第三章 OO与UML--3.2 面向对象设计基本原则

-3.3 通用职责分配模式(GRASP)

--通用职责分配模式

-3.3 通用职责分配模式(GRASP)--作业

-3.4 从重构到模式

--模式和设计模式

-第三章 OO与UML--3.4 从重构到模式

-3.5 使用UML设计面向对象系统

--UML综述

-第三章 OO与UML--3.5 使用UML设计面向对象系统

-3.6 主要UML模型图绘制技巧

--UML用例图

--UML类图

--UML序列图绘制技巧

-第三章 OO与UML--3.6 主要UML模型图绘制技巧

-扩展阅读与话题讨论

--设计模式有毒么?

--话题讨论

第四章 对象模型分析

-4.1 案例简介

--书籍参考

--案例说明

-4.2 对象模型之一

--授课视频1/2

--授课视频2/2

-第四章 对象模型分析--4.2 对象模型之一

-4.3 对象模型之二

--授课视频1/2

--授课视频2/2

-第四章 对象模型分析--4.3 对象模型之二

-4.4 对象模型之交互

--授课视频

-第四章 对象模型分析--4.4 对象模型之交互

-扩展阅读与话题讨论

--图书推荐

--话题讨论

第五章 软件自动化技术

-5.1 软件自动化概述

--软件自动化概述

-第五章 软件自动化技术--5.1 软件自动化概述

-5.2 典型自动化方法和工具

--典型自动化工具视频

-第五章 软件自动化技术--5.2 典型自动化方法和工具

-5.3 文档自动化

--文档自动化视频

-第五章 软件自动化技术--5.3 文档自动化

-5.4 测试自动化

--测试自动化视频

--白盒测试工具VU的示例演示片段(版权属原作者)

--功能和性能自动化测试工具及简单应用演示

-第五章 软件自动化技术--5.4 测试自动化

-专家访谈

--北京理工大学刘辉教授谈软件自动化新进展

-扩展阅读与话题讨论

--各个开发阶段最流行的Java工具汇总

--话题讨论

第六章 CI/CD与DevOps

-6.1 持续集成

--持续集成视频1/2

--持续集成视频2/2

-第六章 CI/CD与DevOps--6.1 持续集成

-6.2 持续交付和部署

--持续交付和持续部署

-第六章 CI/CD与DevOps--6.2 持续交付和部署

-6.3 DevOps

--DevOps授课视频

-第六章 CI/CD与DevOps--6.3 DevOps

-专家访谈

--卓睿科技总架构师带来的精彩访谈

-扩展阅读与话题讨论

--DevOps专题

--话题讨论

第七章 软件质量保证

-7.1 质量和质量保证

--授课视频

-第七章 软件质量保证--7.1 质量和质量保证

-7.2 软件质量模型

--授课视频

-第七章 软件质量保证--7.2 软件质量模型

-7.3 SQA组织与职责

--授课视频

-第七章 软件质量保证--7.3 SQA组织与职责

-7.4 全面软件质量管理

--授课视频

-第七章 软件质量保证--7.4 全面软件质量管理

-专家访谈

--专家访谈

-扩展阅读与话题讨论

--外部链接

--话题讨论

第八章 软件过程改进

-8.1 软件过程综述

--授课视频

-第八章 软件过程改进--8.1 软件过程综述

-8.2 软件过程改进

--授课视频

-第八章 软件过程改进--8.2 软件过程改进

-8.3 能力成熟度模型

--授课视频

-第八章 软件过程改进--8.3 能力成熟度模型

-8.4 过程改进标准框架

--授课视频

-第八章 软件过程改进--8.4 过程改进标准框架

-扩展阅读与话题讨论

--敏捷和CMM矛盾么?

--话题讨论

第九章 软件复用

-9.1软件复用综述

--授课视频

-第九章 软件复用--9.1软件复用综述

-9.2 软件构件技术

--授课视频

-第九章 软件复用--9.2 软件构件技术

-9.3 软件复用实施

--授课视频

-第九章 软件复用--9.3 软件复用实施

-9.4 微服务架构

--授课视频

-第九章 软件复用--9.4 微服务架构

-扩展阅读与话题讨论

--微服务扩展

--话题讨论

文档提交处

-文档提交处--文档提交

授课视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。