有效的软件质量管理

上传人:ji****72 文档编号:35554991 上传时间:2018-03-17 格式:DOC 页数:5 大小:34.50KB
返回 下载 相关 举报
有效的软件质量管理_第1页
第1页 / 共5页
有效的软件质量管理_第2页
第2页 / 共5页
有效的软件质量管理_第3页
第3页 / 共5页
有效的软件质量管理_第4页
第4页 / 共5页
有效的软件质量管理_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《有效的软件质量管理》由会员分享,可在线阅读,更多相关《有效的软件质量管理(5页珍藏版)》请在金锄头文库上搜索。

1、有效的软件质量管理有效的软件质量管理一、引言随着社会信息化水平的不断提高,信息行业急速膨胀,信息企业快速成长,随之带来的信 息市场竞争激烈,企业为了求生存,满足客户要求则成为各行各业的首要责任。依赖于质 量、成本和进度的客户满意度,质量则是重点支撑之一,这样要求我们对质量管理需要加 强认识。我们都知道 pmbok 把项目管理划分为 9 个知识领域,即范围管理、时间管理、成 本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。质量管 理作为 9 大知识领域之一,可见其重要性。质量管理包括:质量计划编制、质量保证和质量控制三个过程域。质量计划是质量管理的 第一过程域,它主要结合

2、各个公司的质量方针,产品描述以及质量标准 标准和规则通过 收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质 量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如 何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证则 是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地针对整个项目质量计划的 执行情况进行评估、检查与改进等工作,向管理者、顾客或其他方提供信任,确保项目质 量与计划保持一致。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依 据,它是一个 PDCA 循环过程。二 质量管理责任分配我们公司

3、在开发项目上按照规范化软件的生产方式进行生产,在生产流程上采用 ISO9000 的标准进行。每个项目除配备了项目开发所需角色外,还专门配备了配置管理小组、测试 小组和质量保证小组确保质量管理的实施,下面针对这三种角色进行说明:1、配置管理小组职责配置管理小组是保证项目开发完毕的同时,内部文档和外部文档都同时完成。内部文档的 及时产生和规范,是保证项目开发各小组能够更好的接口和沟通的重要前提,从另一个方 面讲,也是保证工程不被某个关键路径所阻塞而延滞的前提。如上所述,配置管理小组还 是保证质量保证小组得以发挥作用的基础。配置管理小组的主要职责包括: 完善各个部门 发送需要存档和进行版本控制的代码

4、、文档(包括外来文件)和阶段性成果; 对代码、文 档等进行单向出入的控制; 对所有存档的文档进行版本控制; 提供文档规范,并传达到 开发组中。2、测试小组职责测试小组作为质量控制的主要手段,负责软件的测试设计和执行工作。如同软件开发一样, 测试在执行之前,同样需要进行测试计划和测试策略的设计,通常情况下测试可以分为如 下几种类型,如:正确性测试、功能性测试、性能测试、安全测试和系统测试等。而这些测试均需要在测试计划和测试策略中进行描述用以指导测试小组成员进行测试用例编写和 测试执行。程序员在交给测试人员之前是进行过一定的单元测试,确保程序编译、运行正 确。 测试人员根据详细设计的文档对软件要实

5、现的功能进行一一测试,保证软件的执行正确的 实现设计要求,在此也只证明了软件正确的反映了设计思想,但是否真正反映了用户的需 求仍需要进一步的功能性测试。 测试人员只有根据软件需求规格说明书所提及的功能进行检测,才能确保项目组开发的软 件产品满足用户需求。在正确性测试完成之后,需要测试的是软件的性能,软件的性能在 本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工, 测试在性能上需要较大的侧重。如果有必要的话,测试小组还需要做安全测试,以确保系 统使用安全可靠。3、质量保证小组职责质量保证小组作为质量保证的实施小组,主要职责是保证软件透明开发的主要环节。在项 目开发的

6、过程中几乎所有的部门都与质量保证小组有关。质量保证小组对项目经理提供项 目进度与项目真正开发时的差异报告,提出差异原因和改进方法。 在项目进度被延滞或质量保证小组认为某阶段开发质量有问题时,提请项目经理、项目负 责人等必要的相关人员举行质量会议。解决当前存在的和潜在的问题。质量保证是建立在 文档的复审基础之上,因而文档版本的控制,特别是软件配置管理,直接影响软件质量保 证的影响力和力度。质量保证小组的检测范围包括:系统分析人员是否正确的反映了用户 的需求; 软件执行体是否正确的实现了分析人员的设计思想; 测试人员是否进行了较为 彻底的和全面的测试; 配置管理员是否对文档的规范化进行的比较彻底,

7、版本控制是否有 效。 三 质量管理实施有了良好的资源配备,又如何在项目全生命周期内实施质量保证,让我们从以下几个方面 来看质量保证的实施过程: 1、项目进度的质量保证项目进度是项目进行是否顺利的最直观表现。显然在项目开始之前,项目开发计划是必须 的。如果项目开发计划的制定的是完全合理的,那项目进度也就真正表达了项目与最终的 交付使用之间的距离,然而要制定完全合理的项目开发计划几乎不太可能。可见要保证项 目进度,首先要保证项目开发计划尽可能合理。 项目计划的合理程度与项目计划制定者从事类似规模和类似业务的项目的经验有直接关系, 通过经验往往能够预见潜在的阻碍,这样要求项目计划制定者需要集众人之力

8、来完善计划。当项目计划制定初期,由质量保证小组组织召开的项目计划评审会,邀请公司技术专家、 用户以及项目组小组成员一起讨论项目计划的可行性,会议通常采用头脑风暴法,各抒己 见,会后由指定的记录员形成质量记录,发送给相关人员,对其计划中不合理的地方进行 修改完善,并由质量保证人员对其结果跟踪,以确保项目计划完整性、可行性,完善后的计划交由配置管理人员进行版本控制。 然而在计划实施过程中,计划不是“固定化” 。常有人道, “计划赶不上变化” ,但“要跟上 变化” 。项目计划以里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情 况,适当的调整每一个较小的阶段的任务量和完成的任务时间,这种

9、方式非常有利于整个 项目计划的动态调整。也利于项目质量保证的实施。 实际运作中,当质保小组发现计划实施的差异后,报告项目经理,由项目经理组织负责对 计划进行周期性维护,对于已经变动的计划由质保小组协助配置管理小组完成版本控制。 本公司已经开发湖南移动的集中客服系统,开发中的子项目多达六个,历时十个月,目前 多数项目已经开发完毕,系统正在试运行阶段,项目金额数千万元。在这样的项目中,从 管理者到开发人员到测试人员都积累了较为丰富的经验,特别是项目开发计划的制定,和 项目进度的控制。2、项目开发各阶段的质量保证a、需求分析需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,

10、这 个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和 客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分 析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下 的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。 解决系统分析错误的方法我们公司通常采用邀请用户参与进行需求评定,然后对其用户的 意见由质保成员跟踪检测是否纳入需求规格说明书,同时与用户签字确认形成需求基线, 交由配置管理员放入配置管理库。 虽然尽早的邀请用户参与,仍然避免不了项目进行中用户的需求变更请求。对于开发过程 存在的需求变动,我们

11、要求用户填写变更申请单发送给项目配置管理员,在通过配置配置 员转交质保小组,负责组织专家小组和项目组成员一起讨论实施变更的可行性及实施后所 带来的影响,小的变更则直接记录入变更记录原因分析项和风险项栏,大的变更则需要形 成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求规格说明 书、详细设计文、安装手册、操作手册等) 。但是对于无法实现或是变更会带来巨大的影响 而将导致进度的延期,这时,我们将变更报告提交给用户或邀请用户进行协调会议,讨论 变更取舍问题或是项目进度变更问题。 决定变更之后,由项目经理组织实施变更,测试人员检测变更结果,而质保小组成员监督 变更实施过程并协助配

12、置管理员对变更后的成果物进行版本控制。变更实施完后,上线前 还需要指定人员协助用户一同测试并由用户签字后同意方可上线。b、系统设计 优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,自 然设计选型成为了系统设计首要的工作,究竟是采用哪种设计方法好呢? 对于设计选型不能一概而论,需要针对项目的结构、项目的特征和用户的需求来分析,同 样也要考虑到参与项目小组成员的素质,如果其中大部分都没有从事过面向对象的设计且 项目进对紧迫,这样没有多余的时间来培训小组成员来掌握面向对象的设计方法,尽管众 所周知面向对象设计方法的优势,我们还是不如采用面向过程的方式(除用户指定开发设计方

13、式外)可以减少项目承担的技术风险。 我们公司有过一个项目,用户指定需要采用面向对象分析、设计和开发,且开发周期短, 在无赖的情况下,项目小组只能选用面向对象的软件开发过程,由于项目小组很少从事过 面向对象的开发,经验缺乏,导致项目上马后项目进度延误,项目没有达到预期的效果。 针对此次开发,我们分析其原因,发现小组成员在开发过程中对于新技术互相交流少,各 自有各自的理解和想法,造成理解上的不一致性,导致工作重复性高,滞后项目进度。建 议解决方法是项目组成员采用集中办公,分块学习,学习的成果马上向项目相关人员发布, 再由配置管理员对其发布的文档进行整理、规类放入配置库以供大家共享。这样方便大家 的

14、互相学习,减少重复的工作。在这次开发中我们公司从管理人员、设计人员到开发人员 都汲取了很多教训,同时经过此次项目的开发,小组成员也积累了丰富的面向对象的开发 经验。 除设计选型,还有一个容易被忽视的问题,就是公共类开发。公共类开发可以减少工作中 的重复工作,降低开发成本。这要求我们再设计阶段通过对用户需求的仔细研究,尽可能 的识别出公共类,并进行定义指定专人负责设计通知其它设计人员,以减少重复工作。对 于项目组提供的设计文档,由质保小组组织技术专家、项目组设计人员、开发人员和测试 人员对其设计文档的评审,检测设计文档对其下一阶段工作的可行性,及时发现设计中可 能存在的错误,降低项目开发风险,同

15、时确保设计文档能为开发人员、测试人员提供切实 的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组或整个公司重用。 最后交由配置管理员进行设计文档的版本控制。 c、实现实现也就是代码的生产过程。这里不仅包括代码的产生,同时也包括测试用例的产生。针 对上一阶段提供详细设计,程序员开始编码并且调试程序,测试人员则根据设计进行测试 用例的设计,设计出来的用例需要得到项目组成员认可由项目经理审核通过才能进入配置 库。同时程序员调试完程序提交测试人员进行程序正确性检测。 d、文档管理文档维护主要是配置管理小组的工作。文档从用途上分主要分为内部文档和外部文档。 内部文档包括: 项目开发计划;

16、需求分析; 体系结构设计说明; 详细设计说明; 构件 索引; 构件成分说明; 构件接口及调用说明; 组件索引; 组件接口及调用说明; 类索 引; 类属性及方法说明; 测试报告; 测试统计报告; 质量监督报告; 源代码; 文档 分类版本索引; 软件安装打包文件。 外部文档主要包括: 软件安装手册; 软件操作手册; 在线帮助; 系统性能指标报告; 系统操作索引。 如何保证文档的全面性,使其真正为项目的进度提供保证,又不因为文档的写作而耽误项 目的进度,这仍然是一个比较难解决的问题。解决此问题,其核心仍然是个度的问题。在 本项目的开发中,配置管理小组的一个非常重要的任务还是书写文档规范和文档模板。当 有文档模板后需要书写文档的人员只剩下填空的工作,从某种意义上讲,书写文档的速度 会加快。如果书写文档的人员认为文档的更细致的部分可以由他人帮助完成,则该文档即 交由他人完成,但此时文档并不算被正式提交,当他人书写完毕之后,必须由文档的初写 者进行复审,复审通过后方可以正式提交,进入软件配置管理的循环中。 配置管理小组真正核心的工作是对文档的组织管理。根据文档的不同,文档的来源也不同,有

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号