2.对软件项目质量管理理论的认识 软件项目的质量管理指的是保证项目满足其目标要求所需要的过程, 它包括编制质量计划、质量控制、质量保证等过程。
2.1质量计划编制 质量计划是质量管理的第一过程域,它主要结合企业的质量方针,产 品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施 方略。
“质量出自计划,而非出自检查”。只有做出精准的质量计划,才能指 导项目的实施、做好质量控制。编制项目质量计划,首先须确定项目的范围、中 间产品和最终产品,然后明确中间产品和最终产品的有关规定、标准,确定可能 影响产品质量的技术要点,并找出能够确保高效满足相关规定、标准的过程方法。
2.2按照质量计划实施有效的质量控制 质量计划确定后,按照其建立的质量管理体系,各部分负责人就必须 按照PDCA质量环的要求,实施有效的质量控制。
质量控制应贯穿于项目的整个过程,它可分为监测和控制两个阶段:
监测的目的就是收集、记录和汇报有关项目质量的数据信息;
控制就是使用质量 监测提供的数据,进行控制,确保项目质量与计划保持一致。2.3对软件质量保证的认识 一个项目的主要内容是:成本、进度、质量;
良好的项目管理就是综 合三方面的因素,平衡三方面的目标,最终依照目标完成任务。项目的这三个方 面是相互制约和影响的,有时对这三方面的平衡策略甚至成为一个企业级的要求, 决定了企业的行为,我们知道IBM的软件是以质量为最重要目标的,而微软的“足 够好的软件”策略更是耳熟能详,这些质量目标立足于企业的战略目标。
3.质量管理在实际中的具体做法 3.1质量管理责任分配 在软件项目上应严格按照软件方面的规范进行。每个项目除配备了项 目开发所需角色外,还需专门配备配置管理小组、测试小组和质量保证小组确保 质量管理的实施。
3.2质量管理实施 在项目全生命周期内需要从项目进度的质量保证、项目开发各阶段的 质量保证和系统维护质量保证三个方面来保证项目质量。
(1)项目进度的质量保证 项目进度是项目进行是否顺利的最直观表现。显然在项目开始之前, 项目开发计划是必须的。如果项目开发计划的制定的是完全合理的,那项目进度 也就真正表达了项目与最终的交付使用之间的距离,然而要制定完全合理的项目 开发计划几乎不太可能。保证项目进度,首先要保证项目开发计划尽可能合理。
(2)项目开发各阶段的质量保证 a、需求分析 需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统 分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的 认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的 需求。b、系统设计 对于设计选型不能一概而论,需要针对项目的结构、项目的特征和用 户的需求来分析,同样也要考虑到参与项目小组成员的素质,进行综合分析。
除设计选型,还有一个容易被忽视的问题,就是公共类开发。公共类 开发可以减少工作中的重复工作,降低开发成本。这要求我们在设计阶段通过对 用户需求的仔细研究,尽可能的识别出公共类,并进行定义指定专人负责设计通 知其它设计人员,以减少重复工作。
c、实现 实现也就是代码的生产过程。这里不仅包括代码的产生,同时也包括 测试用例的产生。针对上一阶段提供详细设计,程序员开始编码并且调试程序, 测试人员则根据设计进行测试用例的设计,设计出来的用例需要得到项目组成员 认可由项目经理审核通过才能进入配置库。同时程序员调试完程序提交测试人员 进行程序正确性检测。
d、文档管理 文档维护主要是配置管理小组的工作。文档从用途上分主要分为内部 文档和外部文档。
内部文档包括:项目开发计划;
需求分析;
体系结构设计说明;
详细 设计说明;
构件索引;
构件成分说明;
构件接口及调用说明;
组件索引;
组件接 口及调用说明;
类索引;
类属性及方法说明;
测试报告;
测试统计报告;
质量监 督报告;
源代码;
文档分类版本索引;
软件安装打包文件等。
外部文档主要包括:软件安装手册;
软件操作手册;
系统性能指标报 告;
系统操作索引。
3.3系统维护质量保证 维护小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确 保该项目其它的开发人员从项目中尽快的解脱出来以便投入到下一个项目的开 发中。所以通常项目维护小组成员主要由项目组的少部分开发人员承担完成。他 们不仅了解软件的核心内容,而且与客户也不陌生,以便能够以最快的速度修正错误。
4.总结 在软件开发项目中认真抓好质量管理,是保证项目成功的关键。在软 件项目应严格按照编制质量计划、质量控制、质量保证等过程,进行质量管理。
质量保证则是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地针对 整个项目质量计划的执行情况进行评估、检查与改进等工作,向管理者、顾客或 其他方提供信任,确保项目质量与计划保持一致。
第2篇:软件项目的质量管理 一、引言 随着计算机技术的飞速发展和软件开发技术和工具的进步,软件规模 越来越大,而软件的质量也越来越难以控制。根据国际权威组织 StandishGroupCHAOS提供的年度统计资料,得到1994年以来的软件失败率情况 如下。
表1软件失败率统计数据报 从上表可以看出,软件项目成功的比例逐渐上升,而失败比例逐渐下 降,但失败比例仍然很高。虽然从上世纪70年代的软件危机以后,软件的质量管 理越来越受到软件企业的重视,软件业界对软件工程环境、工具和技术的研究都 倾注了大量的人力、财力和物力,希望借此来提高软件质量。但仅靠这些努力并 没有达到我们所期望的效果。其主要原因是软件的开发缺乏科学有效的管理,软 件生产的过程没有明确的定义,过程实施缺乏管理,产品质量得不到有效的控制。
软件开发是完全依靠人的大脑思维产生出产品,而每个人的大脑思维 是不一样的,因此在软件开发过程中有太多不确定、可变化的因素。这些不确定 性和可变因素决定了软件质量难以量化,决定了软件管理是一个难题。
本文分析了软件质量理论,并提出了软件质量的要素,最后提出软件 质量管理的手段,阐述了如何将质量管理溶于软件项目管理的每一步中。
二、软件质量的内涵 质量是质量管理的对象,正确、全面理解质量,尤其是软件质量的概念,对开展软件质量管理工作是十分重要的。
国际标准ISO8402—1986对质量的定义如下:“质量(品质)是反映产 品或服务满足明确或隐含需要能力的特征和特性的总和”。美国著名质量管理权 威朱兰(J.M.Juran)给质量下了如下定义:“质量就是适用性”。
不同岗位不同职务的人员,因为出发角度不同,往往对软件质量有不 同的理解。因此软件质量主要包括一下几点:
客户化质量。对软件质量的衡量,客户始终是最权威的。软件产品的 质量高低,很大程度上由用户的使用体验决定。
软件运行质量。无论硬件技术发展多么迅速,代码运行效率和稳定性 仍然是软件质量的重要组成部分。
代码质量。代码的规范和清晰是开发人员衡量软件质量的一个重要方 面。
文档质量。文档质量是保证软件质量延续的重要手段。一个软件项目 在需要修改和升级的时候,文档是最好的助手。
三、影响软件质量的要素 需求 项目需求是软件开发的基础。软件开发是客户和项目组共同做出需求 分析后的实施过程。项目组成员不可能全部参与需求分析,这个时候,对需求的 理解就变得十分重要。我们不可能要求项目组所有成员都是业务专家,此时要想 开发出最贴近需求的系统,只能发挥程序员,测试员和QA的聪明才智和理解能 力。
完全理解用户的需求,是保证软件质量的基础。
计划 项目管理的首要目标是制定一个构思良好的项目计划,以确定项目的 范围、进度和费用。在整个项目的生命周期中,最基本,也可以说最重要的功能 之一就是项目计划,特别是在做出影响项目整个过程的主要决策的初始阶段。计划之所以成为项目管理的最重要的功能,是因为它指出了项目组织未来努力的方 向和奋斗木币,是经过仔细分析后综合成的对未来的构思,又是当前行动的准则。
一个完善的计划可以使项目失败的概率降到最低,自然也会使软件质量得到保证 的概率提高。
沟通 在项目管理中,沟通很重要;
在质量管理中,沟通更重要。沟通中信 息传递的元素有1%的损失,就意味着99%的元素失去了关联,这个信息的可靠 性就会变得很低,甚至是一种误导。信息的损失是一个幂的关系。
沟通就是为了消除信息传递中元素的损失。无论是客户和项目组之间, 还是项目组成员之间,都应该就具体的问题进行充分的沟通,这样才能有效保证 项目的质量。
文档 文档在软件的开发中起到了非常重要的作用,一个好的软件设计,应 该在软件的开发过程中不依赖于软件开发人员,而应该依赖于软件设计文档。即 使有新的软件开发人员加入进来,也会很快熟悉自己需要熟悉的部分。
良好的文档是项目维护、修改和升级的基础,如果没有一份完整详细 的文档,这些工作将很难开展。文档间接地保证了项目的质量,同时它也是衡量 一个项目质量好坏的一个重要标准。
四、项目开发各阶段的质量保证 需求分析 需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统 分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的 认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的 需求。系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的 后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和 系统的质量。
虽然尽早的邀请用户参与,仍然避免不了项目进行中用户的需求变更请求。对于开发过程存在的需求变动,应该要求用户填写变更申请单发送给项目 配置管理员,在通过配置员转交QA小组,负责组织专家小组和项目组成员一起 讨论实施变更的可行性及实施后所带来的影响,再决定是否实施变更。
决定变更之后,由项目经理组织实施变更,测试人员检测变更结果, 而QA小组成员监督变更实施过程并协助配置管理员对变更后的成果物进行版本 控制。变更实施完后,上线前还需要指定人员协助用户一同测试并由用户签字后 同意方可上线。
系统设计 优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需 要好的设计方法,自然设计选型成为了系统设计首要的工作,究竟是采用哪种设 计方法好呢? 对于设计选型不能一概而论,需要针对项目的结构、项目的特征和用 户的需求来分析,同样也要考虑到参与项目小组成员的素质,如果其中大部分都 没有从事过面向对象的设计且项目进对紧迫,这样没有多余的时间来培训小组成 员来掌握面向对象的设计方法,尽管众所周知面向对象设计方法的优势,我们还 是不如采用面向过程的方式(除用户指定开发设计方式外)可以减少项目承担的 技术风险。
实现 实现也就是代码的生产过程。这里不仅包括代码的产生,同时也包括 测试用例的产生。针对上一阶段提供详细设计,程序员开始编码并且调试程序, 测试人员则根据设计进行测试用例的设计,设计出来的用例需要得到项目组成员 认可由项目经理审核通过才能进入配置库。同时程序员调试完程序提交测试人员 进行程序正确性检测。
实现阶段另一个非常重要的手段就是单元测试。单元测试是一个模块 的功能及常规错误测试,单元测试是由程序员进行的,一般单元测试能够捕获 80%的bug。因此单元测试对保证代码质量方面占有很重要的地位。
文档管理 文档维护主要是配置管理小组的工作。文档从用途上分主要分为内部文档和外部文档。
如何保证文档的全面性,使其真正为项目的进度提供保证,又不因为 文档的写作而耽误项目的进度,这仍然是一个比较难解决的问题。解决此问题, 其核心仍然是个"度"的问题。在项目开发中,配置管理小组的一个非常重要的任 务还是书写文档规范和文档模板。当有文档模板后需要书写文档的人员只剩下 “填空”的工作,从某种意义上讲,书写文档的速度会加快。如果书写文档的人员 认为文档的更细致的部分可以由他人帮助完成,则该文档即交由他人完成,但此 时文档并不算被正式提交,当他人书写完毕之后,必须由文档的初写者进行复审, 复审通过后方可以正式提交,进入软件配置管理的循环中。
五、结语 软件项目管理还有很多其他的因素,但是如果每个阶段都能够很好的 控制质量,就会在产品开发初期减少很多风险,从而使我们的软件开发在一个可 以控制的范围内进行,这样我们才能够避免过多的没有必要的人力物力的浪费, 从而使软件产品更快更好的投入市场。
扩展阅读文章
推荐阅读文章
推荐内容
钻爱网 www.zuanai.cn
Copyright © 2002-2018 . 钻爱网 版权所有 湘ICP备12008529号-1