(管理科学与工程专业论文)通用应用软件质量评价指标体系研究.pdf_第1页
(管理科学与工程专业论文)通用应用软件质量评价指标体系研究.pdf_第2页
(管理科学与工程专业论文)通用应用软件质量评价指标体系研究.pdf_第3页
(管理科学与工程专业论文)通用应用软件质量评价指标体系研究.pdf_第4页
(管理科学与工程专业论文)通用应用软件质量评价指标体系研究.pdf_第5页
已阅读5页,还剩88页未读 继续免费阅读

(管理科学与工程专业论文)通用应用软件质量评价指标体系研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕士学位论文 摘要 随着电脑应用的日益普及,有效开发高标准的计算机应用软件成为刻不容缓 的事情。而软件质量标准是否适用会直接影响到软件开发的成败。因此,建立合 理的软件质量标准来降低软件质量开发过程中的风险,提高软件开发效率十分重 要。本文从通用应用软件开发项目层面上,考虑到不同软件和项目参与方会影响 软件质量的评价因素,提出了在统一框架的基础上具体针对不同的软件类型和软 件项目干系方建立不同标准的思想。 本文首先从软件质量标准这一概念着手,通过文献整理,介绍了软件质量定 义和发展过程。然后根据时间顺序介绍了国际权威的质量评价模型和国内的软件 质量评价模型发展状况,对她们的不足进行了评价。其次,为进一步针对国内软 件行业的实际情况提出有效的通用应用软件质量评价指标。本文从已有的指标中 进行选择,通过数据统计,专家访谈等方法提炼出了国内适用的质量标准评价指 标;探讨了这些指标相互之间的关系,提出了国内通用应用软件质量评价模型, 并运用实证研究方法对论文的基本假设进行了解答。 本文的主要研究成果在于:( 1 ) 验证了文章研究前提:针对不同的通用应用 软件类型和不同的软件开发项目干系人,软件质量指标存在不同:( 2 ) 提出了实 用的模型:根据国内软件通用应用软件的具体分类和软件项目干系人不同,分别 列举出了详细的软件质量评价模型。 关键词:软件质量,指标,评价 浙江大学硕士学位论文 a b s tr a c t a st h ed e v e l o p m e n to fi tt e c h n o l o g y , t h ep ci sa p p l i c a t e di nm a n ya r e a so ft h e s o c i e t y , p l a y i n gt h ei m p o r t a n tr o l e si ni n d u s t r i e s ,l i v e sa n de v e r ya s p e c to fo u rm o d e m l i f e a c c o r d i n gt ot h ea c t o rt h ec o m p u t e r sp l a y , t h es o f t w a r eq u a l i t yt h u sg r e a t l y i n f l u e n c e so u rl i v e s ,a n ym i s t a k e sc o u l dm a k eb i gt r a g e d i e s n o wt h ec r i t e r i o ni st h e m o s ti m p o r t a n tt h i n gt oi n s u r et h es o f t w a r eq u a l i t y n o to n l yi tm a k e ss o f t w a r es a f e b u ta l s om a k et h ei tp r o j e c te f f i c i e n t t h i st h e s i sr e s e a r c h e st h ef a c t o r sw h i c h i n f l u e n c e dt h es o f t w a r eq u a l i t yo nt h eb a c k g r o u n do f1 pp r o j e c t ,a n dt h e ns u g g e s t s m a k i n gs p e c i a lc r i t e r i o na c c o r d i n gt ot h es p e c i a lc o n d i t i o n b a s e do nt h ea n a l y s i so fp l e n t i e so ff o r m e rl i t e r a t u r ea b o u ts o f t w a r eq u a l i t y m e a s u r e m e n ta n dt h ec h a r a c t e r i s t i co fc h i n e s es o f t w a r ep r o j e e to nc u r r e n tc o n d i t i o n , i ti sf o u n dt h a tt h ee x i s t i n ge v a l u a t i o nm o d e l sa r en o ts u i t a b l ef o r t h ec h i n e s e s o f t w a r ep r o j e c t s w ec o l l e c t e dd a t a sa n da n a l y z e dt ob u i l da ne v a l u a t i o nm o d e l s u i t a b l ef o rc h i n e s es o f t w a r ep r o j e c t s t h ed a t at h a td e m o n s t r a t i o na n a l y s i sn e e d e di s o b t a i n e db yt h em e t h o d so fi n t e r v i e w sa n dq u e s t i o n n a i r es u r v e y t h r o u g ht h es t a t i s t i ca n a l y s i sb ys p s s ,w ed r a wt h ec o n c l u s i o n st h a t :( 1 ) f i n do u t t h ek e ys o f t w a r eq u a l i t yf a c t o r sb a s e do ns u r v e y ;( 2 ) v a l i d a t et h ep r e m i s eo f t h i sp a p e r , t h a ti s ,a c c o r d i n gt od i f f e r e n ts o f t w a r es t y l e sa n dd i f f e r e n ti tp r o j e c ts t a k e h o l d e r s , d i f f e r e n ts o f t w a r eq u a l i t ym e a s u r e m e n t ss h o u i db ea p p l i e d ;( 3 ) i n t r o d u c et h eu s e f u l s o f t w a r eq u a l i t ye v a l u a t i o nm o d e l :s p e c i f yt h ep a r t i c u l a rs o f t w a r eq u a l i t ye v a l u a t i o n m o d e la c c o r d i n gt ot h ed i f f e r e n ts o f t w a r es t 姐e sa n di tp r o j e c ts t a k e h o l d e r s k e yw o r d s :s o f t w a r eq u a l i t y ,m e t r i c s ,m e a s u r e m e n t i i 浙江大学硕士学位论文 1 绪论 1 1 研究背景和问题提出 2 l 世纪企业的竞争是信息化的竞争,电脑给企业和社会带来的影响远远超 出了人类所能想象的空问。与此同时,电脑系统的错误给企业社会带来的破坏力 也随着它日益广泛的应用而越来越大“。0 4 年1 月1 3 日,由于民航春运业务量 增加,造成北京市机票系统上午9 点,下午1 点出现两次大“堵车”,大部分机 票代售点订票和处理系统无法使用;0 4 年7 月,北京市邮政储蓄系统因线路故 障出现全线瘫痪,所有用户无法提取现金:0 4 年1 2 月7 日,广东全省公路收费 系统因网络故障,导致全省范围内司机无法正常缴纳费用。类似案例的大多问题, 源于软件错误的发生,微小的问题造成了巨大损失。软件错误的发生可以避免 吗? 它的错误是由于软件本身复杂性而固有的吗? 该从哪些方面来解决这些错 误已经成为软件工程发展的焦点。在利用软件开发过程控制来改变软件质量之 前,从软件开发项目的初始过程中,选择合适的软件质量标准体系或许能在很大 程度上解决软件工程所解决不了的问题。 1 1 1 软件开发现状 质量管理一直是软件工程的焦点。软件危机这一名词是6 0 年代时提出来描 述在开发软件中遇到的拖期,费用超标,工程没有达到预定要求的一些类似问题 的。在1 9 7 9 年政府软件开发项目调查中得到的数据表明:。 超过5 0 的项目成本超标; 超过6 0 的项目延期; 超过4 5 的开发出来的软件不能使用; 超过2 9 的软件开发合同没能完成; 超过1 9 的递交软件需要返工。 从这一数据的发表开始,软件工程组织就一直试图改进软件的开发过程。各 种能力成熟度模型,各种过程开发模型也随之相继出现。但是在软件开发管理工 浙江大学硕士学位论文 具在过去的3 0 年里得到不断发展的同时,上面提到的软件项目的尴尬情况依然 存在。美国g a r t n e rg r o u p 公司于2 0 0 0 年1 1 月1 4 日通过其下属的t e c hr e p u b l i c 公司发表了有关软件项目的调查结果。该调查是以北美的1 3 7 5 个i t 专家为对象 实施问卷调查进行的。根据此调查,有4 0 的软件项目是失败的,这些项目的平 均成本为每年1 0 0 万美元o 。而在些大的公司里,这个数据更差,大概只有 9 的项目能够如期在预定成本内完成。完成项目的软件中大约只能包含原先设 计的三分之一的功能和特点。每年美国的公司和政府为取消软件项目一共花费达 8 1 0 亿美元,为软件项目多支付5 9 0 亿美元,然而还是没有能在预定时间内完成 软件的开发。在s a nr a m o n 的项目管理中心报告中,9 9 的商业软件产品是不能 按时在预期的成本内按照原先设计的质量来完成的,平均会超出原有设定的 2 8 5 。美国国家标准和技术研究院的报告也显示,美国大型专用软件开发的失 败率高达7 0 。 在中国,调查表明蚪,中国软件的市场应用情况也如出一辙,e r p 用户中, 其实旌成功率不足3 0 ;c r m 用户中,其成功实施率更不给看好,人们普遍认 为,其成功率不足2 0 。大约7 0 的软件项目超出预定开发周期,大型项目平 均超出计划交付时间2 0 5 0 ,9 0 d a 上的软件项目开发费用超出预算,并且项 目越大,超出项目计划的程度越高。 1 1 2 软件项目失败原因回顾 关于软件项目开发失败的原因,国内外学者已经有了不少的研究。v a n g e n u c h t e n 巧认为:设计的不断变化;过于乐观的计划:对困难的估计不足:未 经计划的活动:不完整的需求以及客户管理的变化是软件项目成本超支和进度延 期的主要原因。 综合起来看,软件项目开发失败主要包括以下一些原因: ( 1 ) 需求的不断变化是软件项目失败最主要的原因哺。这主要可以分为以 下四类; 需求过多:用户提出了大量的需求,一来导致开发人员不清楚各个需求 的重要性,从而在软件开发中抓不住重点,影响了开发效率和质量。二来极 大的加重了开发的工作量。这样导致软件项目成本超支和项目延期; 2 浙江大学硕士学位论文 需求不稳定:用户无法决定他们真正想要什么问题,需求变化太快: 需求模糊:不能确定需求的真实含义,开发人员无法准确把握用户需求; 需求不完整:没有足够的信息来剑建产品和软件系统。 ( 2 ) 开发的软件不能满足用户的需求,主要包含两个方面: 所开发的产品不能满足用户的功能性需求,这主要是因为用户对自己所 需要的产品和系统不是非常清楚、软件开发人员和用户之间的沟通不通畅以 及软件开发人员自身对需求的理解不够彻底等造成的; 所开发的产品不能满足用户的性能需求。用户的性能需求不单靠硬件来 满足,还需要软件开发人员用更合适的软件开发技术来实现。 除了有学者提出的失败原因,作者通过对文献总结和对国内软件丌发行业的 访谈还得到以下问题: 由于从一开始缺乏与顾客的沟通,项目参与各方对软件质量的理解和定 义未能达成一致,使顾客对软件质量提出需求的改变; 缺乏对软件质量的应有认识,使得开发人员对软件各部分质量的重要 程度没有识别,使软件开发过程中人力和资本的投入处于无序状态; 通常从软件开发方出发来对软件的质量进行定义,造成了软件最后的 质量不符合用户需求; 按照软件开发方单方面提出来的质量标准来衡量软件开发项目是否 成功,本身的意义值得深思。 1 1 3 问题提出 经过软件产品的一段时间的飞速发展后,软件项目的开发,规模和数量不断 达到一个新的高度。但是从软件项目开发现状的回顾中,我们很容易发现软件项 目的实际情况不容乐观。随着软件工程技术的不断发展,技术的不断提高,应用 的日趋成熟和广泛以及软件本身的愈加复杂,使得我们对软件行业仍然有着软件 危机是否过去的疑惑。b r o o k s 盯“勘分析解释“为什么技术的发展没有明显地提高 软件项目的成功率? ”这个问题。简单来说地说是因为软件项目的成功不只取决 于技术。人们在技术方面的诸多努力未取得相应成效后,不得不转而求助于管理 技术郢。 浙江大学硕士学位论文 1 2 软件质量标准的重要性 如何评价软件的质量以及如何保证软件的质量一直是人们广泛关注而又未 能很好解决的问题。t o m d d m a r e o 曾指出:“如果不能度量某个对象,那么, 就不可能预测并控制该对象”。 标准是衡量产品质量,工作质量的尺度。每一行业的标准都是为适应该行业 的存在和发展而建立起来的,它代表了各生产部门之间、生产部门和用户之间、 产品的生产过程期间和产品的验收与评价期间大家所公认的、必须遵守的约定和 规则。随着软件产业的逐步形成,发展和壮大,软件行业作为一项新兴的现代产 业,制定软件工程领域内有关的标准与规范已势在必行。软件系统的开发,特别 是那些规模较大,内容复杂的大型软件项目,是一项技术密集,资金密集的大型 系统工程,涉及到的范围较大,周期较长。因此,建立系统设计,开发和应用过 程中的质量标准,已成为软件产业建设和发展过程中一项紧迫的战略任务。在国 外,由于软件质量标准的不适用,致使系统出现问题,无法正常运行,推倒重来 而造成巨大浪费的惨痛教训是不乏其例的,要避免这种情况在我国软件产业发展 中重演,就必须认真搞好软件质量标准建设工作。建立软件质量标准的意义在于: ( 1 ) 建立软件质量标准有利于推动我国软件产业按系统工程规律健康发展 的指南 建立软件质量标准是软件产业标准化的重要部分。标准化是组织现代化生产 和工程建设的重要手段,是进行科学质量管理的重要组成部分。软件项目的开发 是一项复杂的系统工程,要运用系统的思想和系统工程的方法,采用标准化的作 业方式和标准,对系统开发的全过程指导与管理。我国的软件产业还在发展中, 规模生产,标准化工作与发达国家相比存在一定的差距,无论是政府主管部门, 软件开发部门和使用部门都开始认识到制定各项标准的迫切性和重要性。根据软 件产业发展的内在规律和软件开发的技术特征,从实际出发。借鉴国际上的先进 经验,进一步规范和完善我国软件行业的各种标准,能促进我国软件产业的稳定 健康发展。 ( 2 ) 建立软件质量标准有利于推进软件资源的共享 软件是一种特殊的智力产品,与其他商品相比,最重要的特点是使用过程中 不存在工程和性能损耗,因此在新老产品更新换代和新产品的开发过程中,相互 4 浙江太学硕士学位论文 之间存在很大的重用特征。从软件开发的生产效率,人力和资金的节省以及软件 资源的共享角度出发,我们应该最大限度的利用和发挥软件的这一重要特征。为 此就必须制定一套统一的质量标准,并在软件开发和使用维护过程中严格执行一 套大家所公认的,相对稳定的标准规范,从而实现软件资源的充分共享。 ( 3 ) 建立软件质量标准有利于提高软件质量 软件质量的控制具有其特殊的复杂性,没有一套实用的软件质量标准体系和 标准,管理人员就无法知道如何为系统建立质量需求;没有清楚地叙述系统的质 量需求,开发人员就不知道要建立哪些质量特性,验证人员就不知道要测量哪些 质量特性。因此,建立软件产品的质量标准是极其重要的。标准可以对软件系统 提出质量需求,指导软件的开发,测试和维护,从而获得高质量的软件和质量测 定结果。 ( 4 ) 建立软件质量标准有利于加速我国软件产业的发展 软件是计算机系统的灵魂,随着计算机应用范围不断扩大,软件的需求与满 足程度之间的矛盾越来越尖锐。据有关文献统诩,即使在软件产业最为发达的美 国,软件需求量每年递增约1 2 ,而软件人员的劳动生产率只能递增4 。换言 之,软件需求的挤压程度将以每年8 的速度增长。这就是人们常说的当今世界 普遍存在的“软件危机”的内容之一。为了克服这种“软件危机”,西方发达国 家在7 0 年代初就意识到建立软件标准的重要性,提高软件项目的开发成功率。 1 3 文章主要研究的内容 1 3 1 研究目的和内容 在软件开发项目面临当前窘境的情况下,实业界迫切的需要学术界能开发出 实用的软件质量标准用于指导企业的软件项目开发,提高软件开发成功率。但是 我国的软件行业起步相对比较晚,同时软件质量评价标准一直没有得到学术界的 重视。虽然有一部分学者从软件开发的整体高度提出了软件的质量评价标准,如: 国际标准i s o 等。但是这些标准太过概括,缺乏了对软件企业的指导操作的实 用性。因此本文为建立对软件开发项目的有实际指导作用的软件质量标准,研究 了以下内容; 浙江大学硕士学位论文 之间存在很大的重用特征,从软件开发的生产效率,人力和资金的节省以及软件 资源的共享角度出发,我们应该最大限度的利用和发挥软件的这重要特征。为 此就必须制定一套统一的质量标准,并在软件开发和使用维护过程中严格执行一 套大家所公认的,相对稳定的标准规范,从而实现软件资源的充分共享。 ( 3 ) 建立软件质量标准有利于提高软件质量 软件质量的控制具有其特殊的复杂性,没有一套实用的软件质量标准体系和 标准,管理人员就无法知道如何为系统建立质量需求:没有清楚地叙述系统的质 量需求,开发人员就不知道要建立哪些质量特性,验证人员就不知道要测量哪些 质量特性。因此,建立软件产品的质量标准是极其重要的。标准可以对软件系统 提出质量需求,指导软件的开发,测试和维护,从而获得高质量的软件和质量测 定结果。 ( 4 ) 建立软件质量标准有利于加速我国软件产业的发展 软件是计算机系统的灵魂,随着计算机应用范围不断扩大,软件的需求与满 足程度之间的矛盾越来越尖锐。据有关文献统计,即使在软件产业最为发达的美 国,软件需求量每年递增约1 2 ,而软件人员的劳动生产率只能递增4 。换言 之,软件需求的挤压程度将以每年8 的速度增k 。这就是人们常既的当今【堡界 普遍存在的“软件危机”的内容之一。为了克服这种“软件危机”,西方发达国 家在7 0 年代初就意识到建立软件标准的重要性,提高软件项列的开发成功率。 1 3 文章主要研究的内容 1 3 1 研究目的和内容 在软件开发项目面i 瞄当前窘境的情况下,实业界迫切的需要学术界能开发出 实用的软件质量标准用于指导企业的软件项目开发,提高软件开发成功率。但是 我国的软件行业起步相对比较晚,同时软件质量评价标准直没有得到学术界的 重视。虽然有一部分学者从软件开发的整体高度提出了软件的质量评价标准,如: 国际标准i s o 等。但是这些标准太过概括,缺乏了对软件企业的指导操作的实 用性。因此本文为建立对软件开发项目的有实际指导作用的软件质量标准,研究 用性。因此本文为建立对软件开发项目的有实际指导作用的软件质量标准,研究 了以下内容: 浙江大学硕士学位论文 _ 国内普遍采用的通用应用软件质量标准的识别和提炼:在经过大量相关 文献阅读的基础上,同时经过对国内诸多软件开发工作者以及软件行业 学者的访谈调查。作者提炼出了在国内通用应用软件行业普遍认可和采 用的软件质量标准。 一通用应用软件质量标准之间的影响关系研究:利用通过调查问卷从软件 开发者和软件实际用户那里得到的资料,进行统计分析,分析出标准之 间的相互影响关系。 通用应用软件质量评估标准体系的建立:通过对以往文献的研究,发现 原有评价体系的不足。同时通过访谈和调查问卷,对通用应用软件行业 进行了具体的分类和识别,从而提出了适用通用应用软件的质量评价标 准体系。 1 3 2 研究方法 文献阅读:通过对校内图书馆网络数据库的e l s e v i e rs c i e n c e d i r e c to n s i t e , u m ia c a d e m i cr e s e a r c hl i b r a r y ( a r l ) ,u m ia b l f l n f o r m ,清华学术期刊网等数 据库和搜索引擎g o o g l e 、百度的,以s o f t w a r eq u a l i t y , s o f t w a r eq u a l i t ym e t r i c s , s o f t w a r eq u a l i t ym e a s u r e m e n t ,s o f t w a r eq u a l i t yv a l u e 软件质量标准,软件质量评价, 软件质量衡量等作为关键词的查找。搜索到大量与本论文相关的文献资料。这些 文献结合关于软件质量方面的书籍就形成了本篇论文的研究基础和理论框架。 专家和相关人员的访谈:作者在论文过程中与浙江大学和厦门大学软件方向 的老师进行了访谈,就本文的一些论文内容和问卷设计的环节及进行讨论,得到 了他们的指导。与软件开发工作人员的沟通也成为作者提炼软件质量标准和对软 件行类型进行分类的基础。经过他们的指导和帮助,使我的论文更具有了理论深 度和实际使用价值。 问卷调查:以以上两种方法的结果作为基础,对论文的理论框架和研究内容 进行确定后,作者分两次以问卷调查对论文主要讨论的内容进行了全方面的资料 收集。 统计分析:在收集资料之后,作者用统计方法首先验证了这些问卷资料的效 度和信度,然后用专业统计软件s p s s 和e x p e r tc h o i c e 进行分析,得到了本文的 浙江大学硕士学位论文 结论。主要的运用的统计方法有:因子分析,方差分析,相关分析和层次分析。 1 3 3 创新点和难点 由于软件质量标准的研究一直没有得到足够的重视,所以相对于软件工程和 软件实践来讲,关于软件质量标准的研究目前尚处于一个起步阶段。相比国外研 究,国内的研究更少,主要是对国外的一些研究进行归纳总结工作。这在一定程 度上对企业界的软件开发项目造成了一定的影响。本文的研究希望对该领域的研 究有所补充,同时起到抛砖引玉的作用,能促进在这方面的研究。 本篇论文的创新点有: 1 关于本篇论文的研究选材是一种创新。因为国内少有学者对软件质量标 准领域有研究。但是软件质量标准的研究实际上对软件开发具有极为重要的作 用。很多学者认为软件质量更应该被认为是设计出来的,那么选用合适的软件质 量标准能从一开始就解决软件工程技术所解决不了的问题,具有比较强的实用价 值。同时这也是作者在该领域的一种尝试性工作。 2 。从研究内容看,本文尝试从细处着手,突破国外模型众多但是不够实用 的状态。在经过调查和访谈的基础上,对国内的一些软件质量标准的定义进行了 统一,然后以此为基础,比较详细的讨论了通用应用软件这一软件类型的质量标 准。力争做的有深度,同时也够实用。 3 从研究方法看,本论文在文献阅读的基础上,经过专家访谈和问卷调查 获取资料,然后用专业的统计分析软件进行分析,力争做到分析的科学性,严谨 性。 4 从研究的方法上,做到了定性分析与定量分析相结合。以前学者的研究 由于研究的范围比较广,多数限于对软件质量标准的定性讨论。作者在严格限定 研究范围的基础上,定量的分析了软件质量标准的相关系数,这对软件开发项目 中怎样合理的配置有限的人力资源和资金有一定的指导作用。 由于这方面的研究还有很多的不足,所以作者在进行本文的写作过程中也遇 到了较多的问题,主要的难点体现在: 1 关于现有的软件质量标准定义的统一。软件质量标准是由国外引进的, 雨且由于国外模型比较多,所以对于软件质量标准的定义是比较多样的。随着时 浙江大学硕士学位论文 间的变化,一些原有的软件质量标准也失去了原有的意义。再加上目前的软件质 量标准主要由一些软件开发实际工作者和学者提出来,所以实际上用户的理解和 开发方的理解存在比较大的出入。 2 对现有软件的划分处于一种无序状态。由于论文讨论的基础是建立在一 定软件类型的基础上的,所以怎样对软件进行合理的划分对论文的影响程度比较 大。作者在大量查阅现有的软件分类基础上与专家进行了访谈,得到了很多指导, 进行了适合于实际使用和论文研究的分类。 1 3 4 论文框架 图1 1 论文结构图 第一部分:作为全文的引言主要介绍软件项目开发现状,分析了软件项目失 败的原因;在此基础上讨论软件质量评价标准的重要性,并在文中穿插说明了建 立软件质量标准的意义,提出了研究方法及文章的结构。 第二部分:介绍国内外专家学者对软件质量评价标准的研究。本章节主要分 浙江大学硕士学位论文 为两个部分:第一部分主要回顾有关软件质量的概念和发展过程,包括了软件产 品的特征,软件质量的定义和软件质量管理的发展;第二部分详细介绍了国内外 现有的软件质量评价模型,主要有c a v a n o 和m c c a l l ( 1 9 7 8 ) ,b o e h r n e ta 1 ( 1 9 7 6 ) , i s o 质量模型,d r o m e y 模型,d u n n 模型,g i n a c 模型,f u r p s + 模型,h e t z e l 模 型,c o q u a m 0 模型,i n s t a c 模型等。 第三部分:论文研究思路设计。首先讲述了本文的研究方法。详细介绍了论 文研究的目的,研究的思路以及本文研究的理论假设基础,并确定采用以何种方 法或者数据;之后介绍了问卷的设计方法和问卷说明。 第四部分:通用应用软件质量评价指标的说明。该章节基于国内外存在多种 模型,多套指标的基础上,对适用于国内通用软件质量的指标进行了识别。详细 介绍了识别的过程,最后经过提炼得到的用于本文研究的质量评价标准。 第五部分:实证分析。介绍了两次数据统计。第一次作了因子分析,对上一 章识别的指标进行公因子提炼,目的是简化被调查者对指标间的重要性判断。第 二次数据作了层次分析,对这些指标的重要性程度进行了分析,目的是证明文章 的假设。同时针对国内通用应用软件给出一套具有实际指导意义的标准。 第六部分:结论与展望,主要总结统计研究部分实证研究的结论,提出研究 中的创新点及不足之处,并在此基础上提出了对未来的展望。 浙江大学硕士学位论文 2 文献综述 2 1 软件质量介绍 计算机科学和信息科学的飞速发展,对各种软件的需求急剧增加。信息高速 公路的出现,对软件管理实行标准化,更是迫在眉睫。软件已不再是计算机的附 属晶,已经成为信息系统中的独立部分,成为一种独特的产品,独立于计算机在 市场流通。随着软件的规模和复杂性日益增加,软件的质量管理和质量保证被提 上了日程,受到了社会各界的高度重视。 7 0 年代诞生的软件工程对软件的开发方法、工具、环境和管理进行了系统 化的研究,使得软件作为一种产品并运用工程化的方法进行开发、生产和管理。 相关的标准化组织在总结软件工程实践经验的基础上,制定了一些标准和规范, 其中也包括质量管理和质量保证方面的标准和规范。这此标准的贯彻实旖对于软 件开发和维护的管理和控制具有重大的指导意义。 2 1 1 软件特征 软件的概念是逐步发展起来的。在初期,软件专指计算机程序。此后,也将 软件文档包括在软件之中。最后,逐步发展为包括程序、规则及文档的软件定义, 并强调文档是软件的重要组成部分。也就是说,软件是“a 与计算机系统的操作 有关的计算机程序,规程,规则,以及可能有的文件,文档及数据;b 与计算机 系统的操作有关的计算机程序,规则以及任何与之有关的文档。”n 2 软件作为一种逻辑实体具有其显著的特点“3 川4 川舢,我们认为,软件的主 要特点如下: a ) 软件产品的抽象性:软件是一种抽象逻辑实体,而不是具体的物理实体, 其可见性差。 b ) 软件产品的严密性:软件工程是一个严密的逻辑工程。软件产品无正品 和次品之分,不存在误差,差就是错。 c ) 软件产品的“一次性”:任何软件的生产都是一个新的开发过程,即一 次性,“创造性”的劳动,软件的成品生产只不过是简单的复制。因此, 1 0 浙江大学硕士学位论文 保证软件产品质量的重点应放在软件的设计阶段。 d ) 软件产品的智力性:软件生产至今尚未完全摆脱手工艺的开发方式,软 件产品大多数是“定制”的,软件生产主要靠人的脑力劳动,目前尚没 有使用的软件工程支持环境,软件生产的绝大部分工作都是靠人来完成 的。 e ) 软件产品的持久性:软件产品的质量与使用时间的长短无关,即软件产 品与硬件产品不同,不存在机械磨损和老化问题。因此,软件产品的故 障不能用普通产品更换零部件的方法来解决。 f )软件产品的依赖性:软件产品常常受限于具体的计算机系统,为了解除 软件产品对计算机系统的依赖性,应提高计算机产品的可移植性问题。 g ) 软件产品的复杂性:有人认为,计算机软件是人类能够创造的最复杂的 产品。软件的复杂性及来自于它所处理的实际问题的复杂性,有来自于 程序逻辑结构本身的复杂性。因此,软件技术的发展落后于人们对软件 的需求,并且随着时间的推移,这种差距还在日益增大。 m 软件产品难以度量:目前对智力劳动尚无有效的度量方法,而软件生产 又是新发展的智力产业,因此,对它就更难于进行度量。 i )软件产品易出错:软件生产过程涉及系列的“信息转移”,在有信息 转移的环节都可能发生信息转移的错误。 )软件产品必须维护:软件产品在交付使用后还可能需要经常更改,因而, 软件维护是软件工程的一个必不可少的阶段。 k ) 软件产品成本昂贵:软件产品的研制需要投入大量的,复杂的,高强度 的脑力劳动,其成本是非常高的。在整个计算机系统的成本中,软件已 占7 0 以上。据有关统计,美国普通民用软件的开发费用约为每行源代 码1 0 美元,而宇航及软件的开发费用约为每行源代码1 0 0 0 美元。“” 1 )软件是一种逻辑产品:软件和硬件是截然不同的两种产品和概念。硬件 产品是有形的物理部件和设备。例如,在设计开发新型的计算机主板的过 程中,人们将大规模集成电路芯片,相关的元器件和接插件等组装在印 刷电路板上。而软件是一种逻辑产品,具有无形性,是脑力劳动的结晶。 软件产品是由程序和文档构成的,在设计和生产软件产品的过程中,首 浙江大学硕士学位论文 先要抽象出问题求解的数学模型和逻辑模型,再把这些模型转化为求解 模型,然后根据求解模型写出程序,经过调试,最后得到求解的结果。 整个开发过程是通过人脑的逻辑思维完成的,其无形化的特征给软件的 开发和生产过程的管理带来不便,进度难以控制,开发质量难以评价和 保证。如果在软件运行中发现错误,很可能是遇到了一个在开发阶段隐 藏的,在测试阶段没能检测出来的故障。因此,软件维护通常意味着修 改原来的设计,这就在客观上决定了软件维护是相当复杂的工作。 i t i ) 软件产品的质量须通过实践来验证:在整个生产过程中,硬件产品从器 件的选购到产品的加工过程都有严格的质量控制和检验标准,来保证产 品的质量。但是,如果在产品组装过程后期发现问题,则有可能造成产 品的报废。软件产品在设计,编程和实现过程的各个阶段中,其质量难 以保证和检验,只有在实际问题的求解过程中被证实是可行的,才可能 成为产品。而软件产品的质量问题可以通过测试和调试手段修改其错误 来解决。 2 1 2 软件质量定义 质量这个概念伴随产品开始就一直就被视为产品的生命,它的内涵随着社会 的进步也越来越大;并且随着产品的不断细分,质量对每个产品的定义也变得越 来越具体。在韦伯词典中的定义,比较综合的给出了质量的解释:明显的,内在 的特点。1 ” 根据观察角度的不同,还有一些学者给出了他们自己对质量的理解。 表2 1 质量定义 学者质量定义 d e m i n g1 9 8 2质量是一种可预见的统一和可靠性, 低成本和适合市场1 8 ) j u r a n l 9 8 0 ;d u n n l 9 9 0质量是一种适用性1 9 c r o s b y l 9 8 4质量是满足需要的程度口o ) f e i g e n b a u m l 9 8 6质量是管理组织时的必要方法伫1 ) 根据软件行业和产品的本身特征,软件质量被定义为吨舢:软件要符合显式 浙江大学硕士学位论文 声明的功能和性能需求,显式文档化的开发标准以及专业人员开发软件所应具有 的所有隐含特征。软件质量反映了以下三个问题: a ) 软件需求是进行质量测量的基础,与需求不符就是质量不高。 b ) 制定的标准定义了一组指导软件开发的准则,如果不能按照这些准则就 很有可能导致软件质量不高。 c ) 通常有一组“隐含需求”是不被提及的( 如对易维护性的要求) ,如果软 件符合了显式需求却没有满足隐含需求,软件质量依然值得怀疑。 按照a n s i i e e e1 9 8 3 年的标准,软件质量定义为“与软件产品满足需求所 规定的和隐含的能力有关的特征和特性的全体。”具体包括: 软件产品中所能满足用户给定需求的全部特性的集合 软件具有所期望的各种属性组合的程度 用户主观得出的软件是否满足其综合期望的程度 决定软件在使用中将满足其综合期望程度的软件合成特性。 但是由于软件以上提到的特性和软件技术的飞快发展,人们建立的许多质量 模型很快就过时了。我们需要一个统一的,开放的软件质量模型,这种模型应该 能够适用于大部分软件质量的评价,具存一般性。i s o h e c9 1 2 6 标准。”在许多 质量模型评价的基础上提供了一个有特性,子特性,度量构成的一个金字塔式的 质量模型。该模型已经成为了软件质量评价研究工作的基础。1 9 9 1 年i s o 和i e c 组织制定了i s o f i e c9 1 2 6 标准,该标准提供了一个软件质量模型并定义了进行 软件质量评价的过程。2 0 0 1 年i s o 和i e c 组织将i s o i e c9 1 2 6 标准中的新软件 质量评价过程和评价方法分解出来形成i s o f l e c l 4 5 9 8 标准。4 新的i s o s e c 9 1 2 6 :2 0 0 1 标准的主要内容是质量模型和软件质量,i s o i e c l 4 5 9 8 标准描述要 描述了软件组织如何计划,组织和执行软件质量的评价工作。 2 1 3 软件质量管理发展历程 从需要控制软件质量的意识出现伊始,人们就希望借鉴硬件质量管理的基本 思想来实现软件质量的管理。但由于软件与硬件的诸多不同,不能完全照搬硬件 的一套方法,因此必须结合软件的特点,建立起套适合软件特点的质量管理方 法。 浙江大学硕士学位论文 在早期,软件的质量仅取决于软件设计者本身的工作态度、能力和人为的质 量标准。即处于一种“手工作坊”式的软件开发和管理。显然,随着软件需求量 的增多,软件项目的越来越复杂,这种手工作坊式的开发方式已远不能满足日益 增长的软件需求。于是在6 0 年代爆发一场“软件危机”。其主要表现在: ( 1 ) 一个软件产品往往需要投入大量的人力和物力,因无法预先精确地估计 它的经费,导致预算大大超支; ( 2 ) 软件开发人员在进行软件产品开发时,往往对“用户需求”模糊,完成 的软件系统不能充分符合用户的期望; ( 3 ) 在软件开发过程中未严格地进行软件测试与质量保证工作,往往不能保 证软件的质量; ( 4 ) 软件的可维护性差。 软件危机的出现给软件界带来了一场革命,它向软件工作者提出了如何开 发软件;怎样保证软件的质量;怎样维护现有的软件的挑战。于是,7 0 年代初 软件工程应运而生。软件工程研究的目标是如何应用理论知识、科学方法和工程 规范来指导软件的开发,以达到用较少的时间、较小的投入获得高效,可靠的软 件产品。 软件工程的诞生标志着软件质量管理跃上一个新的里程碑。经过近3 0 年的 发展已经基本成热,并且使得软件质量管理逐步迈向了系统化、规范化、全员化 的轨道。软件产品软件生产机构结构化程序设计( 1 9 7 2 1 9 7 3 年) ,结构化设计的 理论和方法( 1 9 7 4 1 9 7 5 年) :确立软件生存周期概念,注意软件需求规格说明, 结构化分析方法( 1 9 7 6 1 9 7 7 年) ;系统化开发技术和管理技术,评审技术 ( 1 9 7 8 1 9 8 0 年) ;面向对象方法、软件复用技术的发展,软件工程和人工智能相 结合,计算机辅助软件工程( c a s e 工具) 问世提高软件开发的自动化水平( 8 0 , 年代) ;软件配置管理技术形成( 8 0 年代中期) 软件工程能力成熟度模型产生和 发展( 1 9 8 7 年。1 9 9 3 年) ;国际标准i s 0 9 0 0 0 3 发表( 1 9 9 1 年) 后续又有一系列 的标准如i s o9 1 2 6 1 9 9 1 ,i s o i e c1 5 5 0 4 软件过程评估标准等。 软件质量过程控制百家争鸣( 2 0 世纪中到2 l 世纪初) 逐步产生与各种开发 方法相应的工具、工具箱和开发环境,力图使软件开发过程系统化、规范化和全 员化,从技术控制逐步向管理控制迈进。 1 4 浙江大学硕士学位论文 2 2 软件质量模型评价 2 2 1 软件质量评价发展概况 最早给出软件质量评价方法的是r u b e y 和h a r t w i c k ,他们定义了程序的一 些属性以及“度量标准”。”,前者是对所希望的特性给以文字的描述,后者是一 些参数的数学函数,这些参数是为该属性而设定的,用来间接或直接的反映具体 确定的属性,尽管两位作者在参考资料中对每个主要属性进行了详细的分类,但 也只是对其中几项度量指标进行了说明。 此后越来越多的专家开始认识到软件质量的重要性,并开始研究软件质量的 属性,如w t t l f j ( 2 6 ) 经过划分,提出了7 个重要属性的简明的概念,认为他们既合 理又不相互重叠,这就是可维护性( 或可修改性) ,健壮性,清晰性,可运行性, 耗费性,可移植性和人的因素;g i l b 的著作软件质量性能指标的测定旺”是 一本讨论有关软件质量性能的书,它论述了以形式化的方法来研究这类标准的匡 要性。该书内容广泛,概括了这些研究以及在这个领域的其他大量成果;b o e h m 的著作软件质量的鉴定旺”最有意义的地方在于它通过一致的和相互支持的 若下组定义,特征,准则和已经被引用的经验,对可能与软件质量经常起作用的 有关因素,提供了一个清晰而又明确定义的体系。这可以作为进一步精炼和深入 研究的有用基础;1 9 8 7 年制定出质量管理与保证国际标准i s 0 9 0 0 0 在美国已经 被国防部和许多政府机构用于软件的开发与维护。软件质量评价的研究方法主要 有利用原始数据的方法和利用分类的方法。 早期国外的软件质量研究多数是从程序员的角度出发,利用软件开发过程中 得到的原始数据对以后将来做出的软件产品的质量进行预测2 钟。目前尽管也有 人为软件产品的最终消费者广大用户着想,提出了面向用户的软件质量评价 指标,但是未能给出一个具体的自定义的合适的软件评价环境。 在软件质量评价领域,我国学者也在进行相关的研究,研究内容主要集中在 以下几个方面: ( 1 ) 提出了适用于国内情况的标准( 3 03 针对国内软件行业的实际情况,按 照已有的软件质量评价框架,建立了一些自己的模型。大部分的模型考察了软件 的功能性,易用性,可靠性,效率,可移植性与可维护性等6 个重要属性,下层 浙江大学硕士学位论文 的子标准稍有不同。o ( 2 ) 对国外的已有研究成果进行总结,以国际标准化组织( i s o ) 提出的 软件质量评价模型为主:从框架的角度总结现有的模型框架主要组成部分,每一 个层次讨论的内容等。功3 3 ( 3 ) 数学工具在软件质量标准的应用:神经网络评估技术用来讨论质量指 标之间的非线性关系:模糊数学中的构造隶属函数的方法也解决了质量概念模 糊,质量渐变的问题:优序法则为质量标准之间权重评分提供了可能。这些方法 上的应用都为软件质量标准的研究做出了贡献。0 4 “3 5 “3 6 2 2 2 模型描述和对比 软件质量模型是软件质量评价的基础,软件质量模型代表了人们对软件质量 特性的认识程度和理解程度,也代表了软件质量评价研究的进展状况。从7 0 年 代至今常见的质量模型分别是m c c a l l ( 1 9 7 7 ) ,b o e h m ( 1 9 7 8 ) ,f u e p a ( 1 9 8 7 ) , i s o i e c9 1 2 6 :1 9 9 1 ( 1 9 9 1 ) ,i s o l i e c 9 1 2 6 :2 0 0 1 ( 2 0 0 1 ) 3 ”。m c c a l l 模型的贡献在于 提出了软件质量特性和软件度量之问的关系,然后并没有考虑软件的功能性。 b o e h m 模型与m c c a l l 模型类似,并提出了一个质量特性的层次结构,即所有的 质量特性归宿与软件的总质量,另外b o e h m 模型增加了硬件领域的一些特性。 f u r p s 模型的不足之处是没有考虑软件产品的可移植性。1 9 9 1 年提出的i s o i e c 9 1 2 6 :1 9 9 1 中提出的质量模型已经比较全面,包括6 个软件质量特征,每个质 量特征包括一些子特征,然后每个子特征又包括一些度量,但是该模型没有明确 告诉我们如何对它们进行测量,2 0 0 1 年的i s o 和i e c 组织对i s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论