好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

论质量管理及其应用.doc

4页
  • 卖家[上传人]:wm****3
  • 文档编号:43117611
  • 上传时间:2018-06-04
  • 文档格式:DOC
  • 文档大小:31KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 软件项目质量管理及其应用软件项目质量管理及其应用摘要摘要软件质量是项目管理的一项重要内容,也是决定整个项目成败的一个重要环节,质量管理工作贯穿于整个软件项目开发过程中,它直接决定着最终软件产品的质量和高可用性本文就我曾经所负责研发的一个项目“某某水电公司 OA 自动化办公系统”为例,详细讨论了软件质量保证的几个方面的内容,如在这个项目中采用统一软件开发过程、选择实用的开发及项目管理工具,文档管理、人员管理等内容同时,也深入讨论了为加强质量管理所采取的一些措施和手段,如提出变更审计、关键代码评审,阶段测试等文中还描述了质量保证同质量管理二者之间的关系,阐述了质量保证是获得高质量软件的前提和基础,质量管理是质量保证得以实施的依靠,没有有效的质量管理,质量保证就变成了一句空话本文最后总结了在这个项目中,质量管理工作在整个项目管理工作中所占的比重以及为此所收到的效果正文正文2007 年 5 月,我所在公司“某某水电公司”准备开发一套 OA 自动化办公系统,该系统主要包含以下几个功能模块,组织机构模块、工作流管理、邮件系统、文件库管理、会议管理、公告系统、短消息、短信模块、MSN 机器人、车辆管理、办公用品管理等。

      我有幸参加了这个项目,并作为此项目的主要负责人负责制定项目开发计划、编写需求规格说明、系统设计文档及项目管理工作通过多次开会讨论,我们决定这个项目采用 C/S 与 B/S 相结合的系统架构,客户端采用 B/S 加构,以方便部署与员工使用,还能减少维护人员的工作量,服务端采用 C/S 加构对外提供服务,此外,还有两上模块,即用于工作流管理的表单设计器与流程设计器也采用 C/S 架构作为项目负责人的我,清醒认识到,软件质量是一个软件项目成败的关键,因此,在这个项目研发过程中,我自始至终将质量管理工作放在重要位置,在我作项目计划时,充分考虑了这个项目的特点以及我们现有开发团队的状况,在项目开发计划中包含了必要的质量保证条款,首先确定软件开发环境,适当的开发环境,无疑是软件质量的保证,经过我和项目组的几个主要技术人员讨论,我们决定采用微软件包 VS2005 开发环境,同时采用 VSS 作为项目配置管理工具数据库采用 SqlServer2005,讨论中有人提出采用 Lotus 系统开发这个项目,理由是 Lotus 系统是文件服务器,更适合 OA 系统的文档管理,同时,Lotus 自带邮件系统,简化了邮件系统的设计与实现。

      然而,就我们团队现有人员而言,只有个别一两个人肤浅的了解一些 Lotus 系统方面的技术,大多数的开发人员都未接触过Lotus,如果选择 Lotus 的环境开发这个项目,首先需要外聘一名 Lotus 方面经验丰富的顾问,另外,团队中所有参与这个项目的开发人员都需要进行培训,并且由于过去没有 Lotus方面的开发经验,难免开发过程中会出现这样或那样的问题,这样一来,开发成本会大大增加,开发难度也会增大,开发周期也会延长,很多原来开发的成熟的组件不能复用最重要的是最终开发出的软件产品的可用性、软件质量无法保障而.NET 开发环境一直是我们开发团队所熟悉的,并且经常使用的,.NET 环境下我们积累了大量的开发经验以及成熟的组件和构件,并且,.NET 的 Frameword3 中新增了 WF 组件,它把工作流思想引入了.NET 开发中,是新一代工作流引擎的首选组件,最终我们达成一致,选择了 VS2005 作为这个项目的开发环境在文档管理方面,我们也做了严格的要求,我们将以下文档作为软件配置项进行配置管理,包括项目开发计划、需求规格说明书、设计文档、数据库设计文档、程序源代码、测试计划、测试报告、用户手册、帮助文档及编码规范。

      我们制定了严格的软件配置项的增、改、删、查的权限分配,要求开发人员代码与设计文档必须保持一致,各个配置项的变更都需要进行审计,得到批准后方能变更,要求开发人员严格按照编码规范编写代码在人员管理方面,我根据项目的整体规划情况,将项目组成员分为四个小组,分别负责服务端程序、客户端程序、表单及流程设计器、及软件测试工作每个小组指派一个组长,在日常开发工作中负责小组成员的代码审查及管理工作,小组成员碰到问题直接上报该组组长,由小组组长对我负责,同时测试组测试时出现需要和其它小组沟通的时候,直接向我汇报,由我统一协调,在人员配备上,测试组配备了 3 个经验丰富的人员,其它各组的组长也是团队中的技术鼓干以上工作为项目实施提供了一定的质量保证,然而,作为项目负责人,我知道,单靠质量保证工作是不能换得高可用性、高质量的软件的,必须还要加强质量管理工作,在质量管理方面,我主要抓了评审监督、测试等方面,例如:在软件设计阶段,就碰到了这样的问题,邮件系统是 OA 的重要模块,如何设计邮件系统是自己设计支持Smtp、PoP3、Icmp 等协议组件,还是找开源的项目,还是购买现成的邮件产品针对于这个问题我组织了一次讨论会,予会人员都是团队的技术骨干,会议主要议题就是讨论评审以上哪个方案更适合我们的项目。

      通过讨论评审,我们否决了自行设计或购买邮件服务器,采用开源项目对于自行从头设计开发一套邮件服务器,我们团队的确有这样的能力,然而这个工作量是不能忽视的,我们评估一下大致需要成立一个小组,再花上两个月左右的时间,而对于购买现成的邮件服务器系统,几千至上万元的费用我们公司也能同意,但这样的产品不会开放源码,只提供接口,不能有机的嵌入到这个项目中例如:就是购买的产品不可能直接调用我们定义的组织机构模块,邮件存储也不可能用我们的数据访问组件最终我们选择寻找开源项目,抽出它的设计形成文档,在此基础上进行修改测试,直至转化成符合这个项目要求的稳定模块实际上,最终我们选择了 LumiMail Sever 开源项目,自己重写了数据存储部分整个周期不到一个月这个项目的成功也得益于测试工作,首先测试组的成员都是经验丰富的工程师,他们参与了整个项目的需要求分析和系统设计工作,这个项目我们采用 RUP 开发方法,也即迭代的开发方式根据二八原则我们第一次迭代,选取了 20%的关键用例,集成测试后生成第一个版本,在第二次迭代过程中,测试组仍会对第一个版本的程序进行强度及压力测试,通过这种方式,测试组在第一时间发现第一个版本的程序存在一个严重问题,服务端程序运行两三天后,工作流系统就会无法新建拟办工作或提交待办工作,设置断点进行调试也未能捕获到造成错误的根据原因,经过几天的测试仍未找到问题的根源,后来针对这个错误,我决定由我和测试组的组长负责,其它研发及测试人员进他们正常的工作。

      最终我们找到了问题的根源,在修改开源的邮件服务器模块的代码时,有一行代码错误的被屏蔽了(功能是结整线程) ,至使定时器每隔几十秒创建一个线程,却不能释放线程,以至服务端进程中的线程数最终达到一千六百个,而 WF 的流程调度器程数量达到一定数量时会停止调度流程的执行为了加强质量管理,在此次开发中我还引入的监督及审计机制,监督机制主用于项目进度控制,各小组组长负责监督小组成员的各个开发任务进度完成情况,并且不定期向我汇报,以便提早发现问题进行调整,审计主要是不定期的对配置项的内容(主要是源代码及设计文档)进行评审,尤其是配置项的变更,评审更加严格,每次评审完成,都要生成文档,对于发现的问题,提出处理意见或方案,由各小组组长全权处理,关将处理结果开成文档反馈给我通过这个项目,我加深了对质量保证与质量管理的认识,我认为,质量保证是开发高质量软件的基础,同时它也是提高整个团队开发水平的基础,随着信息化建设的深入,软件规模也越来越大,开发一个软件项目不能再依靠个别人的能力与智慧了,要依靠团队的力量,而要提高团队的开发能力,就需要规范化开发方法,规范化的文档组织与管理,要重视构件的复用,架构的复用,总结并积累开发经验,另外,目前衡量一个团队的开发能力、质量保证能力,比较流行的参考模型就是 CMM 标准(即软件能力成熟度模型) ,它共分为五个级别,最高级别是 5 级,一个团队达到的级别高,必定能给项目质量提供高标准的保障,但如何才能向更高级的 CMM 标准迈进呢?单重视质量保证还是不够的,必须要有完备的质量管理体系,在项目实施过程中,加强质量管理工作,使团队提出的质量保证内容得以实施与执行,同时,在不断的加强质量管理工作的同时,也能总结积累更多更好的用于项目质量保证的方法的手段,使团队逐步成熟,向更高的标准迈进。

      在这个项目中,质量管理工作自始至终贯穿于整个开发周期,从示松懈,作为项目负责人,我投入了大量的时间和精力加强质量管理工作,确保获取一个高质量、高可用性的软件产品,同时,为加强质量管理工作,团队中的每个成员,从代码编写到文档理,从开会讨论到方案确立,都付出了更多的时间和劳动,因此,在这个项目中,质量管理成本在项目成本中占了很大的比重,但换来的是高质量的软件产品,同时也为团队积累了宝贵的项目管理经验项目投入运行至今,已有两年多了,在实际应用的过程中没有出现过大的问题,得到了公司领导及员工的一致好评,软件项目的质量管理是一个复杂的课题,作为项目负责人,我在这方面还有很多需要学习的地方,例如,在这个项目实施过程中,虽然充分重视了质量保证与质量管理工作,但当时却没有意识到应该参照现有的流的的项目管理标准(如CMM 标准)去管理项目,也没有为自己的团队确立一个要达到的目标,在今后的项目开发中,我会更加严格的要求自己,努力提高自己在软件项目管理各个方面的能力,为为祖国的软件事业贡献自己的微薄之力。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.