什么样的模块是关键模块?
人气:600
发表时间:2021-08-23
关键模块的概念越来越得到广泛地使用。
一方面,在很多实施GJB5000组织的软件过程管理体系中,都会有根据是否关键模块进行测试级别、测试方法的裁剪要求;另一方面,在即将发布的GJB5000B的需求开发和管理实践域中已经有了标识关键需求的要求,那么与关键需求对应的关键模块必然随之而来。
那么,这么样的模块才能被称之为“关键模块”?
一个关键模块应具有以下特性:
- 关键需求对应的软件模块。无需赘言。
- 软件模块与多个软件需求有关。这意味着模块影响范围广。
- 模块处于程序控制结构的顶层。一旦模块出错,软件就不能正常运行。
- 模块实现复杂度高。这也意味着模块实现的难度大、周期长、风险高。
- 模块同时实现了性能需求、安全性、可靠性等非功能性需求。这些非功能性需求一旦被分解到模块上,该模块就会比那些单纯的功能模块影响大得多。因为这些非功能性需求往往比功能性需求对用户满意度的影响更大。
- 模块实现的是常用功能。常用的功能对用户满意度影响更大。
当一个模块满足上述任一特性时,该模块都可以被称之为关键模块。
在实际操作中,关键模块的标识应尽可能听取开发人员的意见,因为开发人员对模块与需求的关系、模块的复杂度和重要性更为清楚。必要时还可以借助静态分析工具对模块进行分析。
这正是:
关键模块很关键,定义清楚好标识
几个特性可参考,如何抉择看需要
参考书目:软件测试技术指南,作者:斛嘉乙,符永蔚,樊映川,出版社:机械工业出版社
作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。