如何做好软件系统设计阶段质量保障

发表于:2012-4-12 11:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张宏    来源:51testing 投稿

  设计是用户需求到编码实现的必经阶段,软件项目在设计阶段的禀赋决定了软件项目的资质。好的软件设计不是软件项目成功的唯一条件,但是没有好的设计软件项目肯定无法做好。

  一、软件设计的重要性体现在以下几个方面:

  1、软件设计在整个软件项目的建设中起着承上启下的重要作用。

  从整个软件项目开发阶段来看,软件项目可以分为需求、设计、编码、验证四个阶段。设计承接需求分析,基于准确的需求分析,对项目目标进行结构化搭建。设计阶段产生的设计说明书以及设计规范是编码阶段的作业指导,也是测试人员开发测试用例的指导书。

  2、软件设计是对软件项目质量进行保障的关键步骤。

  软件项目的质量与需求分析、设计、编码、验证段这四个阶段的质量之间的关系,可以用C语言表达为:最终的软件质量 = 需求分析质量 && 设计质量 && 编码质量 && 验证质量,这种“与”的关系表明任何一个阶段出现质量纰漏,软件项目的最终质量都无法保障。

  3、设计阶段提供的软件表示,使软件项目质量的评价成为可能。

  反映软件设计质量的要素有:准确性、稳健性、安全性、通信有效性、处理有效性、可操作性、完备性、一致性、可追踪性、可见性、可扩充性、复用性、模块性、清晰性、自描述性、简单性、结构性、硬件系统无关性、软件系统无关性、文档完备性等。通过这些考核要素对设计阶段质量进行控制,从而达到从项目前端控制软件质量的效果。同时该阶段的设计规范也是进行软件质量评价的参照标准与基本要求。

  因此,想做好整个软件项目的质量保障,必须充分重视设计阶段的质量保障工作。山东省软件评测中心作为国内最早一批获得国家实验室认可并取得政府授权的中立的第三方机构,在十余年的软件项目质量服务过程中发现:

  二、设计阶段经常出现的质量问题从大的方面看有以下几种原因:

  1、需求分析阶段工作不充分

  好的软件设计必然基于准确的需求分析,离开正确的需求分析,软件设计就是做得再好,在源头上也是错误的,更无任何意义,有时甚至是南辕北辙。有些软件项目因为工期紧张或乙方软件企业管理不规范,甲方用户人员技术受限或配合不到位或承建方需求分析人员业务、技术经验不足等这样那样的原因,需求调研没有做透,更有甚者基本的业务逻辑还没有完全理清,就匆匆开始需求分析然后又囫囵吞枣的进行自我想象中的架构设计,结果可想而知。

  2、设计不充分

  有许多软件企业不重视设计阶段的工作,或者略掉设计直接进行编码。这样必然把许多的问题遗留给编码阶段,等写了一部分代码后再后头看,错了,返工……另外,设计人员由于技术欠缺或经验不足,或者对业务理解不够深入,未能充分考虑后期需求变动对设计的影响也是造成设计不充分的一类重要原因。

  设计不充分往往导致频繁变更与诸多性能、安全方面的漏洞。在软件项目里,越是在项目前期发现问题,解决成本越低。据相关机构统计,在设计阶段发现偏差比在需求分析阶段发现并修正要高出5 倍,在编码阶段觉察偏差则会提高到10倍,而如果延续到单元测试系统测试阶段发现设计缺陷修正成本则会提高到20倍。另外,设计人员由于技术欠缺或经验不足,或者对业务理解不够深入,未能充分考虑后期需求变动对设计的影响也是造成设计不充分的一类重要原因。

  3、过度设计

  与设计不充分相对应的一种情况是设计过度,过度设计一般是由于设计人员在做项目分析设计时,过分的考虑潜在的、未来的以及准备扩展等因素,过度的抽象,过多思考封装、分离解耦,导致太多颗粒单位,太多插件等等,给设计资源造成不必要的浪费,并且可能导致原本可以简单实现的逻辑变复杂,造成系统整体性能的下降与维护成本的上升等等,以至于影响到用户体验或者简直没法用。

  上述情况都会造成软件设计质量的下降,那么我们应该如何做好设计阶段的质量保障工作?

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号