GJB5000A软件成熟模型内容
GJB5000A简介 一、软件成熟度模型是什么 软件成熟度模型的核心思想是,把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。 软件过程成熟度概念的引入,是为了解决路径的问题,是指一个特定软件过程得到清晰的定义、管理、测量、控制和有效的程度。 成熟度概念蕴含的意义是组织能力提高是需要一个演化的进程,有一个从不成熟到相对成熟的过程。通过软件过程评估,可以帮助企业认识所处的位置,通过软件过程模型,可以帮助企业找到前进的目标。 二、GJB5000A是什么 GJB5000A是一个产品开发模型(Product Development Model ,PDM),关注整个体系的问题,是一个过程改进参考模型,描述的是一组有效过程的特征,提供了一套最佳实践,它关注的是:生产率(Productivity)、性能(Performance)、成本(Costs)、相关方满意(Stakeholder satisfaction)。 GJB5000A是一个产品集,它包括: • 军用软件能力成熟度模型框架 • 集成模型 • 评估方法和材料 • 各种培训 • 术语 三、GJB5000A军用软件能力成熟度模型框架 军用软件能力成熟度模型框架: • 由5个成熟度等级来表达:每个成熟度等级由若干过程域组成; • 每个过程域由目标、执行方法组成。 即,成熟度等级中包含关键的过程域,每个过程域中具有一定的目标,以及为了达到这些目标必须要做到的行动步骤,即最佳实践。 四、GJB5000A告诉我们什么 GJB5000A告诉我们,过程管理方面优秀的软件组织是什么样的,优秀的软件组织也要分等级(1-5级),每个级别的软件组织都具备有一定的特征,即都执行了某些特殊活动。 GJB5000A是一个最佳实践的集合,不一定全部适用自己的组织,但总有一些好的做法可以借鉴。 五、GJB5000A的表示方法 GJB5000A的表示为五个成熟度级别: • 基于组织的成熟度 • 每一级别是后续级别的基础 • 22个过程域(PA)分成5个级别 • 过程改进逐级进行 • 表明一个组织的成熟度级别 • 反应了过程改进的顺序
六、GJB5000A各成熟度等级所含过程域 体系框架 GJB5000A是军用软件研制范围内用于衡量软件过程能力的标准,它通过“过程域和实践”对软件过程能力提出了要求,从研制过程的战略层面到战术层面都明确了标准,二级、三级的要求分布在18个过程域,有76个目标(特性目标:40,共性目标36),352个实践(特性实践:136,共性实践:216),它把项目管理过程、工程过程、支持过程和组织过程全部分解成一个一个动作要求;但是,我们的科研生产过程实际上是一系列连贯动作的组合,有并行有交叉,所以不能把GJB5000A直接作为企业的软件过程规范,这是制定体系文件时要考虑的难点问题。 因此,在进行体系架构设计时,必须结合GJB5000A标准的要求,对各过程域进行剖析,进行必要的合并与整合,并结合企业的实际进行本地化和简化,形成符合实际的体系架构。参考体系结构如下: 基于GJB5000A软件体系的文件结构包括四个层次,如下图所示: 成熟度等级的理解 GJB5000A军用软件研制能力成熟度模型》规定了五个成熟度等级,标准本身给出了这些等级之间的区别和联系的详细说明,许多读者也都有自己独特的理解和解释。下面仅仅以“评审过程”为例,说明五个等级的关注点。
验证与确认的区别 许多读者对GJB5000A三级要求的“验证”和“确认”两个过程域究竟有什么区别,不是十分清楚,下面是所搜集的一些对二者的解释和说明: 说法一: (1)“验证(Verification)的涵义 通过提供客观证据对规定要求已得到满足的认定。 (2)“确认(Validation)”的涵义 通过提供客观证据对特定的预期用途或应用要求已得到满足的认定。 (3)“验证”和“确认”之区别 “验证”和“确认”都是认定。但是,“验证”表明的是满足规定要求,而“确认”表明的是满足预期用途或应用要求,说简单点,“确认”就是检查最终产品是否达到顾客使用要求。 (4)“设计和开发”中“设计验证”和“设计确认”之区别在于: 设计验证的目的是检查设计输出是否满足设计输入的规定要求。 设计确认的目的是检查设计形成的最终产品是否达到顾客的使用要求。 说法二: 1.“确认”是要证明所提供的(或将要提供的)产品适合其预计的用途,而“验证”则是要查明工作产品是否恰当地反映了规定的要求。换句话说,验证要保证“做得正确”,而确认则要保证“做的东西正确”。 2.验证注重“过程”,确认注重“结果” 3.(Verification) ---Are we producing the product right? (Validation) ---Are we producing the right product? (----Boehm) 说法三: 1.什么是验证? 验证 就是要用数据证明我们是不是在正确的制造产品。注意这里强调的是过程的正确性。 2.什么是确认? 确认 就是要用数据证明我们是不是制造了正确的产品。注意这里强调的是结果的正确性。 3.验证和确认是一个广泛的概念,感兴趣的读者可以参考 IEEE Std 1012-1998 。 说法四:验证:验证检查某样东西是否符合之前已定好的标准,如:文档评审,要检查的东西是文档,检查标准就是文档的评审标准,又如:测试软件,要检查的东西就是软件,检查的标准就是软件的规格说明,包括功能说明,性能要求等。 确认:检查软件在最终的运行环境上是否达到预期的目标。一般来说,就是调试、验收测试等,这些工作都是在真正的软件需要运行的环境上进行的,在最终环境上运行软件,确保软件符合使用要求。 注: Valiadation更多是从用户的角度或者可以是模拟用户角度来验证产品是否和自己想要的一致。从SP来看可能更容易理解这个; Verification更多的是从开发方的角度来做评审、测试来验证产品的需求、架构设计等方面是否和用户要求的一致; 说法五: (1)“验证(Verification)”的涵义 用试验的方法,来检验某个结论是否正确。 实践是检验真理的唯一标准,验证==检验+证明 。 也就是用实践来检验理论是否成立。验证之前,答案可能是对或错的。 (2)“确认(Validation)”的涵义 已经知道某个结论,看看是否被有效执行,不需要验证理论的正确性, 是对执行力的检验。日本企业喜欢用“确认”一词,可以理解为:结合实物,到现场认真地看。
★重庆ITSS认证★重庆CS认证★重庆CCRC认证★重庆CMMI认证★重庆ISO27001认证★重庆军标认证★重庆保密认证★重庆CCCF认证★重庆特种设备许可证★重庆LA认证★重庆CNAS认证★重庆CMA认证★ 重庆两化融合认证★ |