浅谈软件质量管理Word文档下载推荐.docx

上传人:b****5 文档编号:15868274 上传时间:2022-11-16 格式:DOCX 页数:16 大小:37.01KB
下载 相关 举报
浅谈软件质量管理Word文档下载推荐.docx_第1页
第1页 / 共16页
浅谈软件质量管理Word文档下载推荐.docx_第2页
第2页 / 共16页
浅谈软件质量管理Word文档下载推荐.docx_第3页
第3页 / 共16页
浅谈软件质量管理Word文档下载推荐.docx_第4页
第4页 / 共16页
浅谈软件质量管理Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

浅谈软件质量管理Word文档下载推荐.docx

《浅谈软件质量管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《浅谈软件质量管理Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

浅谈软件质量管理Word文档下载推荐.docx

目前对软件质量特性有多种提法但实际上是大同小异。

ISOIEC9126国际标准中定义的软件质量特性为以下六项:

功能性functionality可靠性reiiabilty易使用性usability效率efficiency可维护性maintainability可移植性portability。

二影响软件质量的因素

软件本身的特点和目前软件的开发模式的一些缺陷,使软件内部的质量问题有时不可能完全避免。

1、软件本身的特点软件具有复杂性、一致性、可变性和不可见性。

软件规模的增大,导致它的复杂程度大大增加,并且让整个开发工作变得难以控制和管理。

如果说编写一个数十行到数百行的程序连初学者也不难完成,那么开发一个数万以至数百万行的软件,其复杂度将大大上升,即使是富有经验的程序员,也难免顾此失彼。

例如,开发一个学生上机考试系统,需要根据实际情况考虑到不同专业、不同考试科目、不同层次的用户的使用,其复杂性是显而易见的。

尤其糟糕的是,软件的可靠性往往随规模的增长而下降,质量保证也越来越困难。

2,开发环节多根据传统的瀑布模型将软件的生存周期划分为:

计划时期的问题定义和可行性研究;

开发时期的需求分析、概要设计、详细设计、编码和测试;

运行时期的维护。

各个阶段之间具有顺序性和依赖性。

在这里,顺序性有两重含义:

第一,只有等前一阶段的工作完成以后,后一阶段的工作才能开始。

第二,前一阶段的输出文档,就是后一阶段的输入文档。

想在后阶段获得正确的结果,必须在前阶段有正确的输出。

因此,如果在生存周期的某一阶段出现了问题,往往要追溯到在它之前的一些阶段,必要时还要修改前面已经完成的文档。

3、选择支持工具目前软件开发工作大多是手工操作,借助工具自然可以提高效率,减少出错机会。

但是,在软件的整个开发过程中,能够得到的开发工具或管理工具十分有限。

Pasca、G语言、G++、VisualC++、Delphi、Java等都可以作为开发工具使用,在面临具体问题时,要根据各种语言自身的特点和开发人员的熟练程度,灵活机动地选择。

4,测试的局限性目前在软件开发过程中质量保证的主要手段是测试。

广泛采用的仍然是白盒测试和黑盒测试。

而软件测试的局限性在于,虽然它能够帮助我们尽可能多地发现软件中隐藏的问题,但是,有一些错误仍然存在,因为测试本身也是有缺陷的,不是尽善尽美的。

也就是说,我们通过测试,可以在一定程度上把错误减少到最低限度。

三、软件质量管理方法

由于软件是一种技术密集的、智力劳动的产品,一般软件具有实用性、抽象性、灵活性、复杂性、无磨损、不老化等特点,特定软件还具有高安全性、高可靠性、适应性强、实时性要求高等特点。

软件的生产与硬件也不同,软件没有明显的制造过程,软件的开发至今仍不能自动化地进行而以人工开发方式为主。

针对软件的特点,对软件的质量控制,更应该注重软件过程的控制,通过完善质量管理体系以适应软件质量管理要求和加强软件过程管理来实现。

浅谈软件质量管理[2]

1、软件质量管理体系软件及软件质量形成与硬件有明显的差别,因此软件质量管理要求与硬件质量管理要求也有所不同。

基于目前产品主要承制单位按照9000标准要求建立质量管理体系的实际,为了提高质量管理体系对软件质量管理的适应性,确保软件开发质量,根据软件的特点,对于承担软件研制的承制单位,应在现有质量管理体系的基础上,补充完善软件质量管理要求,以确保软件质量满足要求。

与此同时,根据软件质量形成的特点和软件作为产品管理的理念还没有得到普遍接受的实际,在质量管理体系建设中还要采取以下方法以强化软件的质量管理:

(1)建立标准软件过程。

标准软件过程是指承制方定义的基本软件过程,它描述基本的软件过程单元以及这些软件过程单元之间的关系,用它来引导建立项目软件过程。

(2)纳入项目计划。

软件应作为相应项目的配套产品纳入项目研制计划和产品配套表。

(3)管理开发和验证环境。

应确定、提供并维护软件开发和验证环境(工具、技术和方法),验证环境也应按质量管理标准有关监视和测量装置的控制要求进行控制。

(4)控制采购软件。

对采购的软件产品也应按照质量管理标准有关采购的要求进行控制。

2、软件过程管理方法

(1)软件给定需求控制给定需求,即“指定给软件的系统需求”,是系统需求的一部分,以文档形式给出。

(2)软件质量策划对具体的软件项目,承制方应根据软件项目的特点,策划和实施与质量有关的活动,软件质量策划应与质量管理体系其他过程的要求相一致。

(3)软件维护 根据合同的要求和策划的安排,对交付和安装后以及运行过程中的软件进行维护,维护活动结束应保持软件的一致性。

(4)软件开发策划对软件的开发进行策划和控制,应根据承制方的标准软件过程,通过策划确定项目软件过程编制项目开发计划。

(5)软件配置管理配置管理提供一个标识、控制和追踪每个软件项的正式版本的机制,以保证软件项目生成的产品在软件生命周期中的完整性。

(6)软件开发控制 软件开发应在受控条伴下进行,按选定的开发文档标准编制文档。

四加强软件质量管理的途径

软件企业可以通过多种途径加强质量管理,提高软件产品的质量。

1、重视质量管理 我们都知道,在工业生产中,即使有先进的设备与技术,管理不善的企业也不能获得良好的经济效益。

对于软件生产,不能按时按质完成计划,其中管理混乱往往是一条重要原因。

我国软件开发机构的管理相对比较薄弱,其中质量管理尤其显著,这与我们重技术、轻管理有关。

为了做好软件质量管理工作,首先要从认识上转变过来,因为思想往往是行动的先导。

2、开发小组的人员应该少而精 软件的质量依赖于参与开发工作人员的质量和数量。

开发过程,提高软件产品质量。

近年来,采用面向对象的开发技术、原型开发方法、三层结构、软件构件、软件复用、分布计算、Agent等方法,取得了一定的效果。

除此之外,还有一种净室开发技术,其基本思想在于“净化”软件开发过程,使得差错或缺陷不可能有机会混入开发过程。

如果软件的需求可以用形式描述方法方便地表达出来,那么整个开发过程就会像公式推导那样严谨、无懈可击。

总之提高软件质量势在必行,只有认识到软件质量的重要性,了解影响软件质量的因素,才能有的放矢,采用科学的管理技术和先进的技术方法,才可以确保软件的质量。

软件开发各阶段的质量控制[1]

提到软件开发,我们的脑海里总是浮现出这样的情景:

开发组的每一位成员都在辛苦的工作,有的加班加点,甚至通宵达旦是常有的事,虽然项目经理修改了一次又一次的进度计划,而实际的开发情况却总是很令人担忧,以至于每次向领导汇报工作的时候总是觉得以前制定的计划没有很好的完成,总是觉得人力资源不够,总是觉得我们没有太多的时间。

等到代码终于开发完成了,测试进度却又非常令人担忧,每一个小BUG都要花很长的时间去查找,改了某一个小错误却又引起了很多错误,结果产品发布遥遥无期,而项目组里的每一位成员已经筋疲力尽。

  怎样摆脱这样的困境呢?

为何软件开发项目管理这么困难呢?

为何我们做的计划总是不能按时完成呢?

为何软件开发不能像硬件开发那样可以控制呢?

原因在于软件开发完全靠人的大脑思维产生出产品,而每个人的大脑思维是不一样的,因此在软件开发过程中有太多不确定的、可以变化的因素,我们怎样把握住这些变化因素呢?

就像我们题目所说的一样,软件开各阶段的成果质量管理,如果我们能够很好的控制软件生命周期每一个阶段的质量,也就很好的控制了整个软件开发的整个过程。

  软件产品的质量是个很大的概念,因为软件产品完全是人们大脑思维的产物,就是将大脑里无形的看不见摸不着的思维变成一个可以看到的,可以解决实际问题的一组界面或者组件。

这样的一个复杂的过程,质量应该如何保证呢?

有人想到了ISO9000、CMM,也有人很反对,说应该用敏捷开发。

其实,不管用什么样的开发过程,关键是找到这些过程的真谛,有些人说,ISO和CMM到中国来就变了味了,为什么变味儿了呢?

其实我们只学到了该做什么,却不知道怎样去做,为什么要这样做?

大家都知道做软件开发需要写需求规格说明书和设计文档,为什么要写,文档的重要性有多高?

没有资深开发和管理经验的人员可能很难理解其重要性,如果只是简单的形式上去写一篇这样的文档,对后面的编码和测试没有实际的指导作用,甚至起了“误导”作用,同样会引起大量返工,那么这些文档除了负担之外就没有其他用途了,要知道写这些文档是需要消耗项目组资源的(进度、成本…)。

  很多人又想到了测试,觉得是我们测试的力度不够,所以我们产品质量不过关,其实,软件开发的质量保证从开发最初就应该开始了,如果到了测试阶段才重视就已经晚了。

软件产品开发过程,不管采用瀑布式还是迭代式,都离不开需求、设计、编码、测试这几个阶段,在迭代式开发中,这几个阶段也是周期性出现的。

怎样把握好每个阶段的质量,确实不是一件容易的事,本期重点介绍一下需求、设计和编码阶段的成果质量,当然以后会共享一些过程质量方面的知识。

  1、需求

  我们知道人与人的交流总是会存在一些误会,同样一句话,心情不好与心情好的时候听起来的感觉可能会截然相反,正是因为人们之间存在着理解上的偏差,在描述需求的语言上就应该注意尽量避免歧义的产生。

如果对UML(unifiedModelingLanguage)

比较熟悉的话,需求分析可以利用UML工具进行,这样可以减少一些自然语言引起的歧义,但是UML可能与用户沟通起来有一些障碍,因为并不是所有的用户都了解UML各种图形的意思。

除了工具之外,我们可以从以下几个方面来保证需求描述的质量。

软件开发各阶段的质量控制[2]

1、看句子和段落是否简短,一个很长的句子,看起来会非常困难,因此无法弄懂真正的需求,另外过长的句子和段落容易让人忽视一些需求,所以如果一个句子不能完全描述清楚需求,应该将其拆分成多个小句子。

2、句子是否有语法错误,还要注意标点符号,有时,标点符号点错了,就完全成了另外一个意思了。

3、是否存在模糊不清的需求,出现类似于可能,大概,或者等词汇表述的需求。

4、另外注意引用的术语和词汇是否前后一致。

5、是否存在一些形容词、比较性词语,比如:

容易的、快速的、方便的、有效的、许多、很少、简单、复杂、最新的,界面友好的,减少、扩大,不小于等等,需要将描述性词语进行量化,并且给出具体值或者范围,要不然不同的人根据不同的理解就会得出不同的结果,最终可能跟用户最初的要求有偏差,那“炒回锅肉”的事情就不可避免地会发生。

  另外保证需求质量的一个很重要的因素就是需求是否细化,如果需求不细化也会很容易造成代码的返工,于是就出现了我们的程序员尽管总是加班加点却总是不能如期的完成任务的情景。

那么我们怎样才能判断需求细化的程度呢?

需求细化程度确实很难把握,什么样的需求可以算是比较细了,不用再进行细化了呢?

哪些需求又太粗了呢?

答案是需求是否可以写出相应的测试用例,如果写不出来,就说明需求还不是很细,还需要再进行细化。

  2、设计

  软件架构设计在软件产品开发周期中占有很重要的位

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1