`
touchmm
  • 浏览: 1002520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

软件质量特性因子分析管理

阅读更多

质量特性因子分析管理
作者:崔启亮
原始出处:本地化世界网http://www.giltworld.com

[按]本文发表在2007年第2期的《软件世界》杂志上。

软件质量是软件反映实体满足明确和隐含需要的能力和特性总合,提高软件质量成为软件开发方和用户共同的期望。

本文分别从软件开发方和用户方的角度描述软件质量的特性因子,分析影响软件质量的要素,在此基础上从软件开发方的视角探讨提高软件质量的技术、过程和管理方法。

软件质量特性因子分析

软件的复杂性决定了衡量软件质量不能采用单一的特性指标,需要采用多重纬度的软件特性因子度量软件质量,可以采用软件质量特性因子衡量软件的综合质量。所谓软件质量特性因子,是指一个特定软件产品的质量是由多个软件质量特性因子构成的,这些软件质量特性因子对软件质量的影响程度不同,它们有机组合形成了软件质量的综合质量。

由于对软件的处理方式不同,软件开发的技术工程人员和最终用户对于用户的软件质量的关注点是不同的。下面分别研究软件开发人员和用户关注的软件质量特性因子。

软件质量特性因子

从软件开发工程技术人员的角度,软件质量特性因子包含:功能性、性能、可靠性、安全性、使用性、维护性、移植性、重用性。如下图所示。

各个质量特性因子的具体含义如质量特性因子表所示。

从用户角度考虑的立场,用户主要关注的软件运行的功能和性能,维护的方便性,为此用户对软件质量特性可分解成五个质量特性因子:功能性、使用性、可靠性、维护性和移植性,它们包含了软件的基本特征。

作为软件产品开发人员,为了开发高质量的软件,需要在深入理解和实现用户质量特性因子上,尽量全面覆盖软件开发的质量特性因子设计的质量指标,以便减少软件维护、扩展和移植等后期管理成本。

以用户为中心的软件质量管理

软件的最终使用者是用户,因此提高软件质量要以用户满意为中心,以影响软件质量特性因子为基础,综合考虑开发方和用户方关注的质量特性因子。

从软件生命周期的过程来看,软件质量特性因子的各项指标贯穿于软件需求、软件开发、软件交付和软件维护的各个环节。作为软件开发工程人员,仅仅考虑满足用户的现实需求是不够的,还需要考虑软件未来扩展的方便性,考虑在软件开发过程中模块的可重用性。

软件质量特性因子偏重于软件技术方面的要求,主要靠有效选择和应用合适的软件开发和测试技术来实现。除此之外,一个高质量的软件项目要取得成功,软件团队、软件过程和项目管理是关键要素。

显然,提高软件质量需要“多管齐下”的综合技术、过程、团队和管理等各个关键要素,下面分别论述如何更好的应用这些要素。

设计为本,测试辅助

近年来,软件测试对保证软件质量的重要性已经得到软件企业的广泛认识。但是,从软件测试的技术和方法看,当前的软件测试技术不能保证软件没有缺陷,只能尽量的、被动的发现缺陷。也就是说,单纯的靠软件测试进行质量把关是做不到的。

提高软件质量重要的是分析软件缺陷的根本来源。软件测试的实践统计表明,大部分软件缺陷是由于需求不准确、架构设计不合理、软件编码错误引起的。进一步分析表明,比较严重的软件缺陷都是在需求分析和架构设计阶段产生的。

因此,提高软件质量的最有效方法是准确获取用户的真实需求(功能和性能),采用合理的软件架构设计技术(扩展性、安全性、移植性),在软件编码阶段遵守编程规范(使用性、可靠性、重用性)。在此基础上,尽早和全面的实施测试的验证和确认技术。 “设计为本,测试辅助”的方法可以在保证软件质量方面实现从被动检测到主动预防,从事后质量检测,转变为事前和事中检测。

规范过程,不拘标准

软件开发是一系列过程和阶段相互衔接的产品生产方式。可以简单的划分为项目规划、需求分析、架构设计、编码、测试、维护等阶段。每一个当前过程的输入都是前一个过程的输出,当前过程的输出作为后一个过程的输入。

无论软件开发采用传统的“瀑布模型”还是“RUP”模型,过程的规范程度是影响软件质量的因素。通过规范过程改进提高软件质量,这是CMM/CMMI规范的基本思想。

规范软件过程没有统一的标准和模式。ISO9001,ISO15504 (SPICE),CMM/CMMI,六西格玛,全面质量管理(TQM)等都是可以参考的标准和过程规范。现在CMM/CMMI正在大行其道,但是对于非外包行业的中小软件企业而言,如果内部的开发过程不很规范,笔者建议初期采用ISO9001标准作为过程改进的基础,另外结合公司的技术和资源现状,确立公司的过程管理准则。

规范过程的基本要求是划分过程和阶段,确定过程基线(里程碑),明确各个过程的目标、角色、进入、输入、输出、退出、验证与确认的准则,采用统一的模板化的文档、流程化和可视化的跟踪、度量和评估过程的实施情况。

团队激励,知识传承

打造具有战斗力的项目团队成为保证软件质量的理想目标。团队是具有共同目标的多个人员和角色的成员构成的。团队中的每个人知识背景不同,掌握的技能不同,承担的角色认为不同。团队的价值体现在“1+1>2”,即任何个人的能力都是有限的,多个人的团队合作的能量可以最大化的发挥出来。 “梦幻团队”是由行业和技术精英组成的,但是软件企业需要的是现实地具有战斗力的团队,而不是“梦幻团队”。

团队的能量来自于团队成员的有效激励、既明确各自职责,同时相互配合,通过有效交流,信息共享和知识传承,保证团队众的每个人都始终处于高效率的、满足进度和质量要求的,向着团队共同的目标努力。

在保证软件质量的共同目标下,团队中的个人从原来的单角色转变为多角色,每个人都承担质量保证的不同职责,付诸实施PSP/TSP的规范,充分发挥个人的技能,提高整个团队的绩效能力,改进企业组织级的过程管理能力。

项目管理,高层支持

软件开发是系统化、过程化和复杂化的工程任务,需要专业的项目经理带领团队成员、采用正确的技术、规范的过程、实现质量、进度和成本的有效平衡。在提高软件质量方面,项目经理的职责之一是制定、分配和监控明确的、可量化的、可度量的、具有不同优先级的项目质量目标。对于实现高质量的项目,项目经理的重要性是不言而喻的。

提高软件质量是涉及面广泛的工程体系,在很多软件企业属于公司“一把手”工程。项目经理和项目团队一定要争取企业管理层对软件质量重要性的认识和支持。管理层的职责是制定企业质量方针和目标,确立组织统一的质量宗旨及方向,创造并保持使员工能充分参与实现组织目标的内部环境,以统一的方式评估、协调和实施质量活动确保员工主动理解和自觉实现组织的质量目标。

分享到:
评论

相关推荐

    SJT 11375-2007 软件构件 产品质量 第2部分:质量度量

    从管理角度对软件质量进行度量, 可将影响软件质量的主要因素划分为六个部分特性(根据GB/T16260.1)功能性,可靠性,易用性,效率,维护性与可移植性。其中功能性包括适合性,准确性,互用性,依从性,安全性;可靠...

    软件工程与软件测试自动化教程

    1 软件质量因素和质量特性 1. 2. 2 软件可靠性 1. 3 软件工程方法论--CMM模型 1. 3. 1 SQA计划 1. 3. 2 ISO 9000质量保证体系 1. 3. 3 CMM模型 第2章 软件工具和面向对家软件工程 2. 1 传统软件工程的困境及...

    软件需求(pdf文档)

    所以在开发周期早期提高项目需求分析的质量,减少重复劳动,通过控制项目范围的扩展及需求变更来达到按计划完成预定目标是当前我国软件业急需解决的问题—这也是本书讨论的主要内容。 目 录 译者序 前言 第一部分 ...

    《软件需求》书 软件需求:是什么和为什么

    第5章 软件需求与风险管理 37 5.1 软件风险管理基础 38 5.1.1 风险管理的要素 38 5.1.2 编写项目风险文档 39 5.1.3 制定风险管理计划 40 5.2 与需求有关的风险 41 5.2.1 需求获取 41 5.2.2 需求分析 42 ...

    软件工程知识点

    软件定义是软件项目的早期阶段,主要由软件系统分析人员和用户合作,针对有待开发的软件系统进行分析、规划和规格描述,确定软件是什么,为今后的软件开发做准备。这个时期往往需要分阶段地进行以下几项工作。 1....

    软件需求全过程实践pdf

    所以在开发周期早期提高项目需求分析的质量,减少重复劳动,通过 控制项目范围的扩展及需求变更来达到按计划完成预定目标是当前我国软件业急需解决的问题—这也是本书讨论的主要内容。 目 录 译者序 前言 第...

    浅析人工智能在软件工程中的应用.docx

    业务范围、企业管理、规模等方面,来找出企业的特点从而使企业的软件质量得到提高,生产力提高,从而更好地创建出融合了软件质量控制、软件管理的长时间持续地提升改进产品质量的方案。总的来说,软件工程过程可以...

    加强计算机软件设计可维护性的措施探究.docx

    3.2 科学应用软件设计,合理选择开发工具 科学应用软件设计及合理选择开发工具是确保软件质量的基础,减少软件的开发、设计成本是企业发展的要求,是当今软件开发中,设计师要具备的重要因素,通过软件的开发及设计...

    软件工程-理论与实践(许家珆)习题答案

    需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求。准确地回答 “系统必须做什么?” 的问题。获得需求规格说 明书。还涉及到软件系统的目标、软件系统...

    jsp基于WEB的考务管理系统的设计与实现(源代码+参考文献).zip

    基于JSP的Web考务管理系统应运而生,通过Web技术实现了考务管理的自动化、智能化和便捷化,极大地提高了考务工作的效率和质量。 该系统采用B/S架构,用户可以通过Web浏览器进行访问和操作,无需安装任何客户端软件。...

    Minitab-培训教程大全-568页.pdf

    Company Confidential Company Confidential Company Confidential Minitab介绍 Minitab是众多统计软件当中比较 简单易懂的软件之一; 相对来讲,Minitab在质量管理方 面的应用是比较适合的; Minitab的功能齐全,...

    软件资料文档标准规格

     ◇ 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。  ◇ 项目开发计划:为软件项目...

    数据分析.doc

    其二是熟悉数据分析工具 ,Excel最常见,还有专业的分析软件,如数据分析工具SPSS/SAS/R/Matlab等,便于进 行一些专业的统计分析、数据建模等。 5、数据展现 一般情况下,数据分析的结果都是通过图、表的方式来呈现...

    Minitab全面培训教程.pptx

    区分 第一天 第二天 上午 基本界面和操作介绍 常用图形的Minitab操作 特性要因图 柏拉图 散布图 直方图 时间序列图 4)组间/组内能力分析 5)Weibull能力分析 基础统计和假设检验 1)描述统计 2)单样本Z测试 3)单...

    数据库设计概述.pdf

    检索和管理的⾼效性原则:数据库系统的重点是对数据的管理和数据的提供,因此如何⾼效地实现"知道有什么数据、在什么地⽅、迅速 提取数据并加⼯成⽤户所要求的产品",是进⾏系统设计时考虑的⼀个主要因素。...

    网络安全设计方案一.doc

    (2)要求卖方提出完善的系统安全政策及其实施方案,其中至少覆盖以下几个方面: l 对路由器、服务器等的配置要求充分考虑安全因素 l 制定妥善的安全管理政策,例如口令管理、用户帐号管理等。 l 在系统中安装、...

    智能光伏电站解决方案系列报道一智能化.doc

    积累长期运营数据,综合分析自然环境,辐照量 等环境因素,通过对智能控制单元算法在线调整或软件升级,使电站在不同环境下系统 部件运行在最佳匹配状态,实现收益的最大化。 无人机的应用是智能运维中的一个特色。...

    计算机二级公共基础知识

    因最先进入队列的元素将最先出队,所以队列具有先进先出的特性,体现“先来先服务”的原则。 队头元素q1是最先被插入的元素,也是最先被删除的元素。队尾元素qn是最后被插入的元素,也是最后被删除的元素。因此,与...

Global site tag (gtag.js) - Google Analytics