大型软件开发过程的质量管理体系
一、软件产品质量的特点
按照ISO 9126的定义,软件的质量通常可以从以下六个方面去衡量(定义)
。功用性(Functionality),即软件是否满足了客户功能要求;。可靠性(Reliability),即软件是否能够-直在-个稳定的状态上满足可用性;。可用性(Usability),即衡量用户能够使用软件需要多大的努力;。效率(Efficiency),即衡量软件正常运行需要耗费多少物理资源;。可维护性(Maintainability),即衡量对已经完成的软件进行调整需要多大的努力;。可移植性(Portability),即衡量软件是否能够方便地部署到不同的运行环境中。
可见,同其它产品相比,软件产品的质量有其明显的特殊性。
第一,很难制定具体的、数量化的产品质量标准,所以没有相应的国际标推、国家标准或行业标淮。对软件产品而言,无法制定诸如"合格率"、"一次通过率"、"PPM"、"寿命"之类的质量目标。每千行的缺陷数量是通用的度量方法,但缺陷的等级、种类、性质、影响不同,不能说每千行缺陷数量小的软件,一定比该数量大的软件质量更好。至于软件的可扩充性、可维护性、可靠性等,也很难量化,不好衡量。软件质量指标的量化手段需要在实践中不断总结。
第二,软件产品质量没有绝对的合格/不合格界限,软件不可能做到"零缺陷",对软件的测试不可能穷尽所有情况,有缺陷的软件仍然可以使用。软件产品的不完善可通过维护和升级问题来解决。
第三,软件产品之间很难进行横向的质量对比,很难说这个产品比那个产品好多少。不同软件之间的质量也无法直接比较,所以没有什么"国际领先"、"国内领先"的提法。
第四,满足了用户需求的软件质量,就是好的软件质量。如果软件在技术上很先进,界面很漂亮,功能也很多,但不是用户所需要的,仍不能算软件质量好。客户的要求需双方确认,而且这种需求一开始可能是不完整、不明确的,随着开发的进行不断调整。
第五,软件的类型不同,软件质量的衡量标准的侧重点也不同。例如,对于实时系统而言,效率(Efficiency)会是衡量软件质量的首要要素,对于一些需要软件使用者(用户)与软件本身进行大量交互的系统,对可用性(Usability)就提出了较高的要求。
二、软件产品质量管理的特点
1.软件质量管理应该贯穿软件开发的全过程,而不仅仅是软件本身
软件质量不仅仅是一些测试数据、统计数据、客户满意度调查回函等等,衡量一个软件质量的好坏,应该首先考虑完成该软件生产的整个过程是否达到了一定质量要求。在软件开发实践中,软件质量控制可以依靠流程管理(如缺陷处理过程、开发文档控制管理、发布过程等),严格按软件工程执行,来保证质量。例如:
。通过从"用户功能确认书"到"软件详细设计"过程的过程定义、控制和不断改善,确保软件的"功用性";。通过测试部门的"系统测试"、"回归测试"过程的定义、执行和不断改善,确保软件的"可靠性"和"可用性";。通过测试部门的"性能测试",确保软件的"效率";。通过软件架构的设计过程及开发中代码、文档的实现过程,确保软件的"可维护性";。通过引入适当的编程方法、编程工具和设计思路,确保软件的"可移植性"等等。
2 .对开发文档的评审是产品检验的重要方式
由于软件是在计算机上执行的代码,离开软件的安装、使用说明文档等则寸步难行,所以开发过程中的很多文档资料也作为产品的组成部分,需要像对产品一样进行检验,而对文档资料的评审就构成了产品检验的重要方式。
3 .运用技术手段保证质量
利用多种工具软件进行质量保证的各种工作,如用CVS软件进行配置管理和文档管理、用MR软件进行变更控制、用RATIONAL ROSE软件进行软件开发等。采用先进的系统分析方法和软件设计方法(OOA、OOD、软件复用等)来促进软件质量的提高。
4 .应用质量管理思想满足顾客需要
。缺陷预防
一 分析过去遇到过的缺陷并采用响应的措施以避免这些类型的缺陷以后再次出现。
一 规划缺陷预防活动。
一 找出并确定引起缺陷的通常原因。
一 对引起缺陷的通常原因划分优先级并系统地消除。
。紧紧扣住用户需求
用户分为两种顾客(Customer)和使用者(User)。前者是付钱的,而后者才是使用者。两者的要求有时是不同的。所以两方面的要求都要满足。 .采用快速原型法,尽快演示(Demo)给用户并及时获取用户的反馈,根据用户的反馈不断修改软件,而不是全部完工后再最后交给用户。否则,要改的地方可能很多。甚至推翻重来。
。充分设计之后再编码,防止因考虑不周而返工。
。牢牢控制对缺陷的修改
要用专门的软件,记录和跟踪软件缺陷的修复。缺陷跟踪记录包括:发现人、缺陷描述、修复人、修复记录、确认人、确认结论,通过后才关闭该记录。
。充分进行软件的系统测试
软件编码、单元测试、集成测试后,还要进行充分的系统测试、回归测试,待软件稳定、不再出现新的缺陷后,再考虑软件出厂。
。 恰当掌握软件的放行标淮
并不是零缺陷的软件才是质量高的软件,软件零缺陷几乎是不可能的,对遗留的缺陷要充分进行分析,只要能满足用户需求,软件遗留的缺陷可以在今后升级中解决。
- 1唐晓峰:如何解决北京的“首都病”?
- 2时评:建筑业如何瓜分“ 网络市场”蛋糕
- 3北京某500kV变电所创鲁班奖规划方案
- 4[安徽]高层酒店工程施工质量创优方案
- 5单位工程竣工报告
- 6造价通——造价人的成本管控专家
- 7安全工程师考试法律法规相关知识习题精讲班(1)
- 8安全工程师考试《安全生产管理》备考习题精选(1)
- 9宁夏建筑工程表格(地方标准)
- 10北京“结构长城杯”质量创优措施
- 11时评:城市建设要有“全盘棋”考虑和“千里眼”谋略
- 12唐山某钢铁厂焦化工程创优规划(鲁班奖 附流程图表)
- 13Jacob Van Rijs:城市重建并非拆除一切
- 14谁为大数据的试错成本买单?
- 15某框架结构高层优质结构主体创优方案
- 16长沙某大型工业厂房创鲁班奖策划书
- 17胡丹锋:建筑安全保障不只是脚手架
- 182015年安全工程师考试《安全生产技术》模拟题14
- 19牛刀:政府救市无法改变中国房地产崩盘的趋势
- 20时评:BIM带来的“甜头”
- 21住宅工程质量通病防治检查表
- 22房地产项目管理软件特点
- 23[北京]商务中心框剪结构地下空间主体工程质量创优策划(长城杯)
- 24质量管理八项原则
- 25福建某电力调度指挥中心工程质量创优方案(闽江杯)
- 26龙慧祺&罗灵杰:突破自己,尝试不一样的项目
- 27钟训正:建筑和艺术息息相关
- 28时评:北京西瓜田也能引来了饿狼
- 29如何有效地控制项目的进度
- 30加强市政道路工程质量管理的办法
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼