论文部分内容阅读
最近的二十多年来,没有哪一个领域像软件产业这样始终受到产品质量和生产率方面的困扰,这两个问题每时每刻环绕在软件从业者和研究者头脑中。虽然软件技术和开发方法的确有了很大的发展,但人们对软件产品质量和生产率方面的期望一直没有得到满足。 软件质量是软件产品、体系或过程的一组固有特性,反映的是满足(顾客和其他相关方)要求的程度。人们通过对这些固有特性的量化值来表达质量要求,比较质量好坏。 软件质量的欠缺正是软件企业管理需要提升的一个侧影。单纯的依靠技术难以保障软件产品的质量。 软件质量管理的目的是建立对项目软件产品质量的定量了解和实现特定的质量目标。软件质量管理包括:确定软件产品的质量目标;制定实现这些目标的计划;并监控及调整软件计划、软件工作产品、活动和质量目标,以满足客户和最终用户对高质量产品的需要和期望。 从软件的开发过程和目的来说,软件研发主要可以分为通用产品开发和专用产品开发。因为从整个软件行业来说,能够采用通用产品开发模式研发的多数只是能够标准化的项目,例如操作系统、系统软件、开发平台以及各种中间件。国内除了财务软件和安全软件外,多数软件企业都是做专用产品研发的。所以本文主要讨论专用软件开发或项目式开发的质量问题,着重讨论软件企业以项目运作方式开展的软件产品质量管理问题。 软件的质量目前还没有一套完善的评估标准。甚至有人提出,现在的软件开发根本提不上是“工程”,因为它太稚嫩了,还没有一套成熟的标准来比照;因而软件项目极易出现失败或失误。大量实践证明,软件工程项目的成败,通常是因为管理问题(协同工作的能力),而不是技术上的问题。要想做一盘“完美”的软件大餐,质量管理的作用是不言而喻的。 应该说,软件项目的质量管理对比于其他的项目管理中质量控制的特点,具有更加的复杂度和不可控制性。这是由于软件产品本身的特点以及软件项目的特殊性造成的。 软件质量得不到提高主要原因在于质量观念的缺乏和不足,而将全面质量管理的思想运用于软件业,是提高软件产品质量、获取竞争优势的有效手段。CMM把全面质量管理概念应用到软件上,实现从需求管理到项目计划、项目控制、软件获取、质量保证、配置管理的软件过程全面质量管理。因此,它的意义不仅仅是对软件开发的过程进程控制,最关键的它还是一种高效的管理方法,有助于企业最大程度的降低成本,提高质量和用户满意度。 如何采用系统的思维方式在实际的工程控制中,管理软件团队的行为从而有效的保障软件产品质量呢?是否能够完全依照制造业中很好发挥作用的TQM的全部呢?笔者认为,只能取其思想应用于软件项目的管理中,才能切实有效的取得软件企业管理的真正提升。必须系统的考虑软件项目质量问题,全面、系统的考虑软件质量问题。这不仅仅包括软件系统本身的质量问题,也同时包括软件“项目”的质量问题。工程实践中全过程的预防、控制软件质量,需要在项目的每个阶段的每个过程中都采取预防为主的事前控制方法,才能更好的保证软件质量。 软件质量保证工作中存在许多的误区,这些常见的现象也是影响软件质量的重要因素。通常是软件人员普遍知道又没有办法解决的,但是管理者可以解决其中的大部分问题。 软件的质量保证的主要工作就是测试。可能是国内软件企业的时间都不是太久,尤其是软件测试的发展更是远远的滞后于开发的历史。比较于国外同行业的情况,就差的更加的多了一些。这些差距很明显的表现在很多不正确地认识上,当然有些误区国外现在也还是存在的。 软件测试是一项烦杂、工作量大的工作,同时有些部分也会难度很高、任务艰巨,并且还要不断应付软件的变更。测试工作越早介入软件项目越好,否则最后必然的成为项目进度的瓶颈。单独考虑测试工作本身,重点也在于通过管理完成高质量、高效率的测试工作。 在进行了大量的测试工作之后,一个非常重要的问题是:测试工作的成果体现是如何影响软件系统的质量的呢?如何有效的在整个项目组内部完成发现—修改—测试—再修改—再测试的循环过程的呢?讨论一下开发、测试以及工程部之间的流程和一个核心的问题——测试文档和结果的保留是很必要的。 在提高软件开发项目质量方面,除了要进行良好的计划编制、管理开发进程、进行有效的质量控制之外,还需要有领导、组织、人员等相应的策略保证,采用正确的管理方法。良好的软件开发组织的改善策略,对于营造一个好的质量工作环境十分重要,也是目前国内软件开发企业问题较多的一个领域。 任何一个软件的开发、维护和软件组织的发展离不开软件过程,而软件过程经历了不成熟到成熟、不完善到完善的发展过程。它不是一朝一夕就能成功的,需要持续不断地对软件过程进行改进,才能取得最终的成果。 软件质量就如同软件企业的血液,看不到摸不着,但是贫血过多的时候企业也就进入了发展停滞期,所以国内的软件企业不止是需要加大软件系统质量保证的力度,更需要的是提高软件开发能力、培育未来发展的基石。如果说质量保证是输血队,那么,增强造血功能、预防贫血不是更加的有意义吗。