软件质量管理的体系

下载文档

类型:

ID:65f3ba1c727ac

发布时间:2024-03-15 11:01:48

要提高开发团队的效率,就需要思考目前管理活动中可以改进的要素。例如,如何将一些事务**作自动化,从而节省人力,以及如何找到更好的方法,使开发过程更合理,更注重软件质量。下面我整理了关于软件质量管理的体系,希望对你有所帮助:

一、软件开发的有效管理:日创建

软件质量管理的体系

一个组织应该拥有一个有效的工作流程,能够指导软件开发的进行。这个流程应该具体而可*作。随意的计划和不遵循的进度决不是有效的工作流程。日创建实践提出了一种精细管理开发过程的方法,是量化软件管理的基础。有了日创建,你会发现制定计划和*进度变得非常容易。

传统的软件开发流程通常是这样的:理解领域问题,然后分配任务,由不同的人负责不同的软件部件。在开发完成后,再将各个部件整合起来,形成完整的软件。这个思路看起来似乎没有问题,但实际中却存在诸多问题。首先,这种方式适用于开发人员之间没有交集的情况,以前这种情况很常见,但现在,随着软件规模的扩大和分工的加深,开发人员之间的相互依赖程度越来越高,这种清晰的职责划分已经变得越来越困难。其次,在软件集成时经常出现各种问题,但很难确定问题所在。每个人都认为自己的代码没有问题,但合并后却出现大量问题。因此,日创建将集成工作从偶尔进行转变为频繁进行,使原本像噩梦般的集成变得简单。这也很容易理解,如果集成工作几个月才进行一次,谁能记得几个月前的细节呢?但如果每天甚至每分钟都进行集成,排除 bug 就变得很容易。

二、测试驱动开发

测试驱动开发源于 XP 方法中提倡的测试优先实践。测试优先实践强调单元测试,要求程序员在编写代码之前编写单元测试代码。与以往先编写代码再编写测试的过程不同,它采用先编写测试再编写代码来满足测试的方法。这种方法在实践中效果很好,使测试工作不仅仅是测试,而成为设计的一部分。

在编写程序之前,每个人都会进行设计工作。可能有些人的设计比较正式,绘制模型,编写文档。有些人的设计只存在于脑海中。不论设计的精细程度如何,都为后续的编码活动制定了一个标准。这个标准的明确程度与设计的细致程度有关。但应该承认,这个标准不够细化,因为设计不可能精细到代码级别。标准不够明确会导致一些问题,例如,在编写代码过程中可能会发现设计问题,导致中途改变编写思路。这将导致成果难以检验,进度难以度量。

既然以设计为导向的标准不够明确、不够具体,那么什么样的标准才是合适的呢?只能是代码,因为代码是最明确、最具体的。所以测试优先的本质其实是目标管理。编写测试代码实际上是制定一个小目标。这个小目标非常明确,规定了需要设计的类、方法,以及方法需要满足的结果。这些目标制定完成后,你才开始编写代码来达成该目标。测试的目标比设计的目标粒度更小,但成本上更为经济。测试优先是软件开发中一种细粒度的目标管理方法,通过明确的目标推动软件开发。

三、建立核心框架

框架是一种具有高度重用*的软件,这个特*决定了它非常适合作为软件组织积累知识的有效手段。传统的知识积累方法是文档,但文档容易产生歧异,开发人员往往不愿阅读和理解文档。框架提供了一种综合的手段,包括文档、模型和代码。更容易理解,更重要的是,开发人员必须在日常工作中使用框架,使他们对框架中的知识非常熟悉,并根据工作需要改进框架。

四、面向组件编程

有效的组织在于有效的分工。体力活动容易分工,脑力劳动则比较困难,而软件开发更是如此。长期以来,我们习惯于采用以功能块为单位的粗粒度划分方式。面向组件编程采用更加细密的划分方式,并以服务作为组件之间相互依赖的契约。它不仅定义了组件和组件之间的关系,还规定了组件开发者、组件使用者、组件测试者的权利和义务,从而实现了软件开发工作的分配、管理和 QA 等工作。

点击下载本文档

本文档为doc格式

下载文档