注册
登录
会员
有奖问答
论坛设施
统计
帮助
SCM Life
»
质量管理(SQA&SQC&SEPG)
» 探讨软件成熟度模型
输入您的搜索字词
提交搜索表单
Web
www.SCMLife.com
‹‹ 上一主题:好书:《软件工程的秘密:软件开发项目为何失败》
|
下一主题:六西格玛及其导入指南 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[转贴]
探讨软件成熟度模型( 此文章被查看:414次,被回复:0篇!! )
iampm
小学四年级
个人空间
发短消息
加为好友
当前离线
楼主
大
中
小
发表于 2007-12-10 13:57
只看该作者
探讨软件成熟度模型
(部分摘自软件世界-徐瑞恩)
软件能力成熟度
是属于软件质量和软件生产组织管理问题。
这里,先给出软件质量概念;然后讨论软件质量模型;最后评论软件质量控制方法。
1.软件质量概念和问题
软件质量是一模糊的、捉摸不定的概念。对于什么是产品质量,可以从以下几个观点来看:
* 透明性观点:质量是产品一种可以认识但不可定义的性质;
* 使用者观点:质量是产品满足使用目的之程度;
* 制造者观点:质量是产品性能和规格要求的符合度;
* 产品观点:质量是联结产品固有性能的纽带;
* 基于价值观点:质量依赖于顾客愿意付给产品报酬的数量。
概括地说,有
三类方法来改进软件质量:
控制软件生产过程、提高软件生产者组织性和软件生产者个人能力,已经应用的著名的方法有:
*
净化软件工程(Clearnroom Software Engineering)
:这是把软件生产过程,放在统计质量控制下的软件工程管理过程。其特点是:劳动质量管理、重视生产过程和定量分析。这一方法的本质是干干净净生产,以求提高产品质量。
* 评估软件能力成熟度:用
软件能力成熟度模型(CMM:Capability Maturity Model)
来评估软件生产组织研制软件能力的成熟度。CMM是从软件生产组织过程角度,来评估其生产能力和技术水平。软件能力成熟度分5级,当前一般的软件生产组织的软件能力成熟度水平没超过3级。
* 提高软件生产力和个人技能:用
人事软件过程(PSP:Personal Software Process)
作为一个工具和方法,它给软件工程师提供了测量和分析的工具,并帮助他(她)们理解自己的软件生产水平和技巧的高低,以求得到提高。
软件质量和很多研究领域及实际问题有关,
主要相关领域和因素
有:
需求工程(RE:Requirements Engineering),
理论上,需求工程是应用已被证明的原理、技术和工具,帮助系统分析人员理解问题或描述产品的外在行为。
软件复用(SR:Software Reuse),
定义为利用工程知识或方法,由一已存在的系统,来建造一新系统, 这种技术,可改进软件产品质量和生产率。还有软件检查、软件计量、软件可靠性、软件可维修性、软件工具评估和选择等。
2.软件质量模型
McCall模型
McCall,J.A. 等人对软件质量因素进行了研究,将软件需求按照3个纬度对11个软件质量因素进行分类。其模型分为三层:因素、准则、计量。这就是说,软件质量是正确性、可靠性、效率……的函数。正确性、可靠性、效率……称之为软件质量因素,或软件质量特征。每一因素又由一些准则来衡量,例如正确性由跟踪性、完全性、相容性来判断;而每一准则又有一些定量化指标来计量。McCall模型可用下图表达。
软件质量特征,在国际标准化组织
软件质量测量标准(ISO9126)
“信息技术----软件产品评估----和应用指南”中,给出了一些定义(和McCall,J.A. 等人软件质量因素不尽相同)如下表1。
还有人提出了
软件质量计量模型(SQM:Software Quality Metrics Model)
。软件质量计量模型是把软件质量因素-准则-计量三者综合的软件质量结构模型;其思路如图2示。
图2
可把SQM改为
目标规则检查计量层次结构(GRCM)模型
:例如评估可读性、可扩充性。
规则1:可读性----目的在于理解类结构,界面和方法。
规则2:可扩性----目的在于可以扩充,保持先进性。
要进行:
可读性检查.1
查看在一个类中方法数目是否小于20 * 计量1.1 方法个数(NIS)
可读性检查.2
查看在一个类层次机构层次数是否小于6 * 计量2.1 层次结构的层数(HNL) (从底层开始数)
可读性检查.3
查看在一个子类服务于子类是否合理 * 计量3.1 方法不理会需求的个数(NMO)
……
一般的思路是:
在GRCM结构中,因素(Factor)对应于目的(Goal);准则(Criteria)对应于规则(Rules)。关于计量(Metric)可以参考[2]。
SQM综合模型和ISO9216对比
如图3所示:
图3
GRCM模型在软件工程过程中的作用和地位
如图4所示:
图4
实际上,软件质量特性通过有形的质量载体性质表达。而这可由一些计量(定量化)指标表示。
软件生产部门能力成熟模型
Capability Maturity Model(CMM)
1993年,美国防部设在卡内基-梅隆大学的软件研究所(SEI)正式发表了能力成熟度模型。这是评估软件生产部门(组织、厂家)软件生产能力成熟度的模型,是从软件生产组织过程角度,来评估其达到的水平级别。它分5级(如图5),当前我国一般的软件生产组织的水平没超过3级。
图5
这5个级别包含18项内容
:
5(优化)
:过程变化管理、技术变化管理、缺点防止;
4(管理)
:软件质量管理、过程定量化管理;
3(确定)
:仔细观察、整体协调、软件生产工程、集成软件管理、训练规划、组织过程确定、组织过程中心点;
2(重复)
:软件构形管理、软件质量保证、软件合同管理、软件工程跟踪和统筹、软件工程计划、需求管理;
1(初始)
:经验和个人行为。
还可以进一步分解,例如:软件工程跟踪和统筹可分解为13项活动。软件生产组织的这13项活动水平,可进行评分;0分;1分;2分……9分;10分。比如第6项,软件计划费用跟踪并采取修正。评分标准是0~10,分为:差-0分;弱-2分;中等-4分;基本合格-6分;合格-8分;优秀-10分。事实上,每一级别、每一项内容都有丰富的内涵,为CMM实施奠定了基础。
目前,SEI研制和保有的能力成熟度模型有:
* 软件集成能力成熟度模型(CMMISM: CMM IntegrationSM );
* 软件能力成熟度模型(SW-CMM :Capability Maturity Model(r) for Software);
* 人力能力成熟度模型( P-CMM :People Capability Maturity Model );
* 软件采办能力成熟度模型(SA-CMM:Software Acquisition Capability Maturity Model );
* 系统工程能力成熟度模型(SE-CMM: Systems Engineering Capability Maturity Model );
* 一体化生产研制能力成熟度模型( IPD-CMM :Integrated Product Development Capability Maturity Model )。
建立这些模型的指导思想和方法论,都是一样的:评估能力,发现问题,帮助改进。
3.软件质量
—系统工程问题和系统方法
软件质量是一复杂系统工程问题,它必需用系统方法(Systems Approach)来研究。软件研制是一过程,是以个人智力为基础的有组织的团队性生产活动。这一过程可用水滴模型或螺旋模型来描述,基本内容是:需求、设计、编程、测试、运用,如图6所示。
图6
用全面质量管理思想方法,把软件研制和运用过程全寿命全系统科学的管理,这就是我们的软件质量管理观点和思路,可称之为软件质量系统管理。这是保证软件质量的必由之路。根本原因在于,影响软件质量的因素太多、太复杂。软件质量系统管理,是要把上述水滴模型的每一阶段、每一步骤都管起来。例如,对设计、编程和测试活动的质量保证,如图7所示。
图7
图7中,拿显微镜这位老专家,代表质量系统管理组,根据质量管理规范、程序和方法,实施其质量管理职责。重要的问题在于质量管理规范、程序和方法制定与选择,必需从三个方面进行研究和实施:
* 软件生产组织;
* 软件生产过程;
* 软件生产者个人。
给定软件生产组织环境和个人水平,研究软件生产规律,通过生产过程质量特性计量,反过来对软件质量进行控制。把软件质量控制和软件可靠性、可维修性、测试和监控接合起来。当前,对软件生产组织可用CMM方法,评估其能力成熟程度; 用个人能力软件评价其软件生产水平。然后,再深入软件生产过程中,研究软件计量(定量)和质量控制方法,就能够取得成功。
© 本文为
iampm
与
SCMLife
共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系
管理员
。
UID
6386
帖子
102
精华
0
积分
1309
阅读权限
30
在线时间
10 小时
注册时间
2007-5-9
最后登录
2008-7-1
失踪天数:5
查看详细资料
TOP
‹‹ 上一主题:好书:《软件工程的秘密:软件开发项目为何失败》
|
下一主题:六西格玛及其导入指南 ››
配置管理
配置管理方法论
IBM Rational ClearCase
CCRC
IBM Rational ClearQuest / ClearDDTS/TestManager
CVS/SVN
Borland StarTeam
Microsoft VSS/VSTS
Telelogic SYNERGY
其它CM工具
Serena PVCS
Perforce
北大青鸟JBCM
Hansky Firefly&Butterfly
构建与发布管理
JIRA
Jazz&RTC
需求管理
需求管理思想
IBM Rational RequisitePro
Telelogic Doors
其它需求管理工具
Hansky DragonFly
项目管理
项目管理方法与思想
PMP认证
Microsoft Project
IBM Rational Portfolio Manager
其它项目管理工具
质量管理&质量体系
质量管理(SQA&SQC&SEPG)
过程(CMMI&ISO&RUP&Agile)
软件度量
测试管理
测试方法论
Test Director&Quality Center
LoadRunner
QuickTest Professional
WinRunner
IBM Rational Robot
IBM Rational Performance Tester
IBM Rational Manual Tester
IBM Rational Function Tester
IBM Rational Purify&PurifyPlus
Dunit&Junit
其它测试工具
天下中文
文档中文化
旗帜
谈书论道
职场生涯
金色职场
休闲茶座
我爱摄影
秘密论坛
论坛管理
新手上路/问题/意见/建议
活动/咨询/培训/认证
Telelogic专区
控制面板首页
编辑个人资料
积分记录
公众用户组
个人空间管理
社区银行
附件收入排行
基本概况
流量统计
客户软件
发帖量记录
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计
免费下载SCMLife电子期刊“旗帜”