软件项目质量保证的策略与实践

来源:管理人网  
2010/4/8 10:37:19
本系统的主要任务是实现从商务部接单、生控办配料、仓库备料、车间生产,到仓库入仓、最后出仓交付给客户的业务工作流,并建立商务部管理系统、仓库管理系统。

本文关键字: 实施 质量管理

引言

2008年,对某绒毛有限公司的生产控制系统组织了开发与实施。在项目团队中,本人承担了系统分析与技术总监的职责。本系统的主要任务是实现从商务部接单、生控办配料、仓库备料、车间生产,到仓库入仓、最后出仓交付给客户的业务工作流,并建立商务部管理系统、仓库管理系统。生产控制系统对质量要求较高,自交付运行以来,用户反馈表明,质量特性上较好地满足了生产需要。在软件开发过程中,我们实行了全过程的质量管理,围绕软件的6个质量特性因子,形成了软件项目开发团队的约束文件,针对不同角色制订了不同的质量主题,做到了软件质量的可控。

1 需求分析阶段,通过结对分析与需求评审来保证需求分析的质量

需求分析的质量是否优良,决定着后继各工作环节能否按既定方向进行。由于客户方生产较为繁忙,计算机应用水平不高等因素,与中层管理人员、基层操作人员的交流有很大困难,参与项目的时间与精力得不到保障,因此,作者制订了结对分析的策略,以提高需求分析的效率与质量。

结对是敏捷软件开发一个最佳编程实践,作者创造性地将其引入到需求分析阶段。需求分析各个环节(包括需求获取、分析,与用户沟通)均由两个开发人员来共同完成,能取得较高的需求分析质量。例如,这一策略在仓库备料及库存管理这一关键环节的需求分析上发挥了重要作用。仓库管理人员年纪较长,对计算机概念模糊,沟通上存在很大障碍,通过两个需求分析人员共同来完成该项工作,做到了分析人员的优势互补。通过结对分析不仅得到较高的需求分析质量,并且节省了用户的时间,对用户也有一定的推动。只有两个分析人员达成一致,才将相应需求嵌入基线库中,保证了需求的科学性。这样做虽然增加了人力成本,但提高了需求分析效率。

强化需求评审。需求评审分为三个层次:①全局评审。参与人员主要是用户方核心管理层,业务领域专家,开发方分析人员。主要任务是评审需求与公司目标、高层想法是否一致。这一评审至关重要,它把握了软件系统实施方向的正确性。②局部评审。参与人员主要是用户方业务中层及一线操作人员,开发方业务领域开发工程师。主要任务是就业务层相关业务流程进行再次确认。因为需求过程中相应部门的业务人员站在自己的角度看待问题,对于整个流程关心不够,需要纠正各部门用户需求不一致的问题。③内部评审。全体开发人员、分析人员参与。分析人员建立初步的UML用例图,工作流程图,活动图等供全体讨论。任务是澄清一部分模糊的需求。

在需求阶段,还采取了其它措施来保证需求分析的质量,如强调需求分析工具的使用等。

2 设计、编码阶段,强调纪律与规范

设计与编程质量对于软件产品的质量有着直接的作用。在这一阶段,我们的主要措施是强调纪律与规范,制订相应的约束规范文件,要求设计有可追溯性,强调设计、开发过程标准化。另一主要措施选择适合的工具。我们选择的开发平台为,NET,开发工具为Visual Sutdio 2005(简称VS2005),后台数据库为SQL Server 2005,使用数据库智能感知小工具SQL Prompt,NDoc来生成设计文档,使用微软企业库。企业库是微软针对共性内容发布的经过实践检验的高质量产品。

本人制订了NET编码规范,目的是保证不同开发人员的代码风格基本一致,降低开发人员流动可能导致的项目风险;强调代码的可理解性与“设计先行与强化注释”;制订了SQL书写规范。这一系列规范标准的制订从源头上保证了软件设计的质量。

编码人员分成二类角色:业务领域工程师和核心代码工程师。业务领域工程师针对具体的业务功能进行编码。在设计时我们要求业务领域工程师要有这样的意识:变更不可避免,在设计尽可能考虑到将来变更的可能性,尽可能做到模块之间的松耦合,模块内部的高内聚。核心代码工程师完成公共代码的实现与维护。核心代码质量在系统中至关重要。对核心代码工程师加以分组,每组两位工程师实行结对编程。以克服思维局限,共同完成设计、UML图、实现,保证代码质量。实践证明,采取这些办法后,在用户提出相应功能变更时,软件修改相对较轻松,能较好地适应业务变化。

3 强调测试与软件实现同步,强化Bug管理

测试是保证软件质量较为重要的一个环节。针对开发团队部分成员测试意识不强,项目部有针对性地进行培训;强调测试与设计同步,测试用例与功能代码的编制同步;及时进行单元测试,统一用VS2005 for Tester作为测试工具;Bug管理统一存放在服务器中,严格控制Bug的开启与关闭,并把Bug数据作为工程师考核依据之一,指派兼职文员进行Bug 管理。

所有测试中出现的问题,经整理后在项目团队例会上进行总结;在团队内部交流并在平台WSS中建立一个专门的警示网站,发布已经暴露的Bug解决方案,让项目团队共享,避免问题重复出现;构建项目团队自有知识库,作为公司设计重用的一个重要资源。

除了高度重视实现阶段的测试,同时也积极主动地去发现质量问题。团队使用VS2005自带工具进行性能优化分析,找出使用频度高与关键代码进行性能优化。利用VS2005压力测试工具,找出性能瓶颈,制订相应策略进行优化。

4 结束语

软件自交付以来,用户反馈系统运行稳定。实践证明,我们的一系列质量保证策略与实践取得了很大成功。只有在需求分析、设计、开发等各个环节实施质量保证措施,才能保证软件产品的质量。软件项目要做到“有法可依,执法必严”,并要高度重视各个环节辅助工具的使用,这样才能较好地保证最终软件产品的质量。
 

责编:孙群
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
畅享
首页
返回
顶部
×
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918