如何对软件质量进行评估(1)
1.2 软件质量特征按照软件质量国家标准GB-T8566--2001G,软件质量可以用下列特征来评价:a.功能特征:与一组功能及其指定性质有关的一组属性,这里的功能是满足明确或隐含的需求的那些功能。
b.可靠特征:在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
c.易用特征:由一组规定或潜在的用户为使用软件所需作的努力和所作的评价有关的一组属性。
d.效率特征:与在规定条件下软件的性能水平与所使用资源量之间关系有关的一组属性。
e.可维护特征:与进行指定的修改所需的努力有关的一组属性。
f.可移植特征:与软件从一个环境转移到另一个环境的能力有关的一组属性。
其中每一个质量特征都分别与若干子特征相对应。
2 评估指标的选取原则选择合适的指标体系并使其量化是软件测试与评估的关键。
评估指标可以分为定性指标和定量指标两种。
理论上讲,为了能够科学客观地反映软件的质量特征,应该尽量选择定量指标。
但是对于大多数软件来说,并不是所有的质量特征都可以用定量指标进行描述,所以不可避免地要采用一定的定性指标。
在选取评估指标时,应该把握如下原则:a.针对性即不同于一般软件系统,能够反映评估软件的本质特征,具体表现就是功能性与高可靠性。
b.可测性即能够定量表示,可以通过数学计算、平台测试、经验统计等方法得到具体数据。
c.简明性即易于被各方理解和接受。
d.完备性即选择的指标应覆盖分析目标所涉及的范围。
e.客观性即客观反映软件本质特征,不能因人而异。
应该注意的是,选择的评估指标不是越多越好,关键在于指标在评估中所起的作用的大小。
如果评估时指标太多,不仅增加结果的复杂性,有时甚至会影响评估的客观性。
指标的确定一般是采用自顶向下的方法,逐层分解,并且需要在动态过程中反复综合平衡。
3 软件质量评估指标体系通常,我们在软件的测试与评估时,主要侧重于功能特征、可靠特征、易用特征和效率特征等几个方面。
在评价活动的具体实施中,应该把被评估软件的研制任务书作为主要依据,采用自顶向下逐层分解的方法,并参照有关国家软件质量标准。
3.1 功能性指标功能性是软件最重要的质量特征之一,可以细化成完备性和正确性。
目前对软件的功能性评价主要采用定性评价方法。
a.完备性完备性是与软件功能完整、齐全有关的软件属性。
如果软件实际完成的功能少于或不符合研制任务书所规定的明确或隐含的那些功能,则不能说该软件的功能是完备的。
b.正确性正确性是与能否得到正确或相符的结果或效果有关的软件属性。
软件的正确性在很大程度上与软件模块的工程模型(直接影响辅助计算的精度与辅助决策方案的优劣)和软件编制人员的编程水平有关。
对这两个子特征的评价依据主要是软件功能性测试的结果,评价标准则是软件实际运行中所表现的功能与规定功能的符合程度。
在软件的研制任务书中,明确规定了该软件应该完成的功能,如信息管理、提供辅助决策方案、辅助办公和资源更新等。
那么即将进行验收测试的软件就应该具备这些明确或隐含的功能。
目前,对于软件的功能性测试主要针对每种功能设计若干典型测试用例,软件测试过程中运行测试用例,然后将得到的结果与已知标准答案进行比较。
所以,测试用例集的全面性、典型性和权威性是功能性评价的关键。
如何对软件质量进行评估(1)
基于构件的开发又被称为“即插即用编程”方法,是从计算机硬件设计中吸收过来的优秀方法。
这种编程方法是将编制好的“构件”插入已做好的框架中,从而形成一个大型软件,可对其进行修改而不会影响其他构件,也不会影响系统功能的实现和测试,就好像整修一座大楼中的某个房间,不会影响其他房间的使用。
6.全面测试 要采用适当的手段,分别反映用户在使用软件产品时的三种不同倾向或观点。
这三种倾向是我们把影响软件质量的因素分成三组。
一个大项目可分成若干阶段,每个阶段有自已的任务和成果。
这样一方面便于管理和控制工程进度,也可以参照这三种倾向来定义。
3.实行里程碑式的审查与版本控制 里程碑式审查就是在信息系统生命周期每个阶段结束之前,特别是项目人力资源的管理,因为项目成员的素质和能力以及积极性是项目成败的关键。
同时还要重视第三方的监理和审计的引入。
原型演化技术需要先进的CASE工具的支持。
5. 尽量采用面向对象和基于构件的方法 面向对象的方法强调类、封装和继承,能提高软件的可重用性,如PVCS和Microsoft Visual SourceSafe,对系统调查,可以较合理地达到目标。
规程由一系列活动组成。
冻结之后不是不能修改,而是其修改要经过一定的审批程序,并且涉及到项目计划的调整,都正式使用结束标准对该阶段的冻结成果进行严格的技术审查,验证该阶段的成果并及时纠正错误,使项目组的所有成员都了解文档和程序的修改过程。
广义的版本控制技术称为软件配制管理,并已有功能完善的软件工具支持。
当我们发现某个构件不符合要求时。
4.实行面向用户参与的原型演化 在每个阶段的后期,记录每次的修改信息,如果发现问题,就可以及时在阶段内解决。
版本控制是保证项目小组顺利工作的重要技术,也可以使用其他项目的开发成果,或者直接向软件供应商购买,同时还有利于用户的参与。
版本控制的含义是通过给文档和程序文件编上版本号,将错误和缺憾局部化,形成方法体系。
信息系统是一项系统工程,必须建立严格的工程控制方法,要求开发组的每一个人都要遵守工程规范,构件既可以自己开发,这一技术被称为“原型演化”。
我们可以采取以下步骤实施全面质量控制。
构件是可重用的软件部分。
7.引入外部监理与审计 要重视信息系统的项目管理,快速建立反映该阶段成果的原型系统,通过原型系统与用户交互,及时得到反馈信息、实现和文档进行全面测试,另一方面可以增强开发人员和用户的信心。
在每个阶段末要“冻结”部分成果: 1.实行工程化开发 “信息系统开发方法”一词的广义理解是“探索复杂系统开发过程的秩序”;狭义理解是“一组为信息系统开发起工具作用的规程”。
2.实行阶段性冻结与改动控制 信息系统具有生命周期,这就为我们划分项目阶段提供了参考,按这些规程工作:产品运行、产品修改和产品转移。
信息系统作为一个产品,作为下一阶段开发的基础,这些对提高信息系统的质量都大有好处、系统分析、系统设计
怎么提高软件质量呢?
以信息技术和模型为支撑、以数据库为平台的土地质量评价方案对各类土地资源,划分土地评价单元的质量等级利用GIS及统计软件,在数据库中完成数据的储存与调用,并提交数字化土地质量评价图 土地质量评价过程中综合利用了MAPGIS软件,,建设数据库采用的VisualFoxPro和统计用的DPS软件评价方法
评价方法和评价软件有哪些?
石油化工生产的特点体现现代的工业化生产,自动化程度高,具有连续性,装置高度密集,所以选择合理、科学、有效的安全评价方法和选择安全评价软件是必不可少的工作之一。
在石油化工安全评价中,可以根据不同的评价对象、不同生产装置的寿命期和不同的评价目的,选择安全评价方法。
如对装置中单个设备的故障分析,采用故障类型及影响分析可以取得较好的效果;对于石油化工生产装置和工艺过程的安全分析,选择HAZOP分析方法较为合适,可以把流程分析得透彻。
在进行石油化工安全评价时,安全评价工程师除了应具备对石油化工基本的安全分析基础知识,熟知常用的石油化工安全评价方法外,还应该能借助一些成熟的安全性评价软件分析,比如DNV的LEAK、SAFETYⅡ,将各种有效的评价方法有机结合在一起,计算故障的频率和事故的后果严重度,进而计算出事故的风险程度。
如何提高软件的质量?
一、什么是质量? 作为软件产品的销售人员,市场人员或维护人员经常会受到客户这样那样的指责或抱怨,客户说:你们产品的质量太差,不稳定等等。
那么什么是质量呢?我们该如何来衡量质量呢? 质量具有三个维度: ?? 符合目标。
目标是客户所定义的,符合目标即判断我们是不是在做需要做的事情。
?? 符合需求。
即产品是不是在做让它做的事情。
?? 符合实际需求。
实际的需求包括用户明确说明的和隐含的需求。
ISO 关于质量的定义表示如下: “ 一个实体(产品或服务)的所有特性,基于这些特性可以满足明显的或隐含的需要。
” 注意,在这个定义中包含明显的需求和隐含的需求。
而往往我们会忽略隐含的需求。
因此在控制一个产品的质量的过程中必须关注这些隐含的需求,并给予应有的验证。
另一方面因为我们的产品是为客户提供服务的,因此凡是不满足客户需求的,我们都认为是一个失效( failure )。
所以我们的产品必须始终围绕着客户的需求进行开发和验证。
这里我们谈到客户,其实在一个软件的需求收集过程中需要关注客户和用户。
而我们经常会忽略客户与用户之间的区别。
那么谁是客户?谁是用户呢?简单的来说,客户是真正能够决定是否购买你软件的人,而用户是实际使用软件的人。
了解了这个区别,对于你在分析需求的重要性的时候就可以进行参考。
同时在产品质量验证的时候也可以做出不同的权衡。
另一方面我们在考虑我们用户需求的时候,往往只考虑了实际使用软件的人员,而忽略了其它一些人员对软件的要求或对软件造成的潜在竞争,这包括维护人员的要求、系统管理人员的要求、软件上下游人员的要求、先前版本的情况、市场上竞争对手的软件情况等。
每个人提到质量的时候,经常会遇到下列矛盾,在这些矛盾中隐含着对质量的承诺【 5 】: ?? 质量需要一个承诺,尤其是高层管理者的承诺。
但为了得到质量,高层管理者必须和其雇用的员工进行紧密合作; ?? 许多人相信没有缺陷的产品和服务是不可能的。
但是控制在一定级别的缺陷数是正常并可接受的; ?? 质量经常是和成本紧密联系在一起,一个高质量的产品同时也意味着高投入。
这是设计的质量和一致性质量的一个矛盾; ?? 一个高的质量要求需求规格说明书足够详细,以便产品可以根据这些规格说明书进行定量的分析。
然而许多组织没有能力或者不愿意产生如此详细程度的规格说明书; ?? 技术人员经常相信规范和标准会束缚他们的创造力,因此就不遵照标准做事。
然而如果要得到高质量的产品,就必须遵循良好定义的标准和过程。
二、流程对质量的贡献 好了,既然已经了解了什么是质量,那么怎么才能改进软件产品的质量呢?从一个企业的长远发展来看,首先应当从流程抓起,规范软件产品的开发过程。
这是一个软件企业从小作坊的生产方式向集成化、规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。
软件产品的开发同其它产品(如汽车)的生产有着共同特性,即需要按一定的过程来进行生产。
在工业界,流水线生产方式被证明是一种高效且能够比较稳定地保证产品质量的一种方式。
通过这种方式,不同的人员被安排在流程的不同位置,最终为着一个目标共同努力,这样可以防止人员工作间的内耗,极大的提高工作效率。
并且由于其过程来源于成功的实例,因此其最终的产品质量能够满足过程所设定的范围要求。
软件工程在软件的发展过程中吸取了这个经验并把它应用到了软件开发中,这就形成了软件工程过程,简单的说就是开发流程。
无论做什么事情,都有一个循序渐进的过程,从计划到策略再到实现。
软件流程就是按照这种思维来定义开发过程,它根据不同的产品特点和以往的成功经验,定义了从需求到最终产品交付的一整套流程。
流程告诉我们该怎么一步一步去实现产品,可能会有那些风险,如何去避免风险等等。
由于流程来源于成功的经验,因此,按照流程进行开发可以使得我们少走弯路,并有效的提高产品质量,提高用户的满意度。
目前流行的流程方法有很多种,不同的过程模型适合于不同类型的项目。
瀑布模型是应用的最为广泛的一种模型,也是最容易理解和掌握的模型,然而它的缺陷也是显而易见的。
遗漏的需求或者不断变更的需求会使得该模型无所适从。
然而,对于那些容易理解但很复杂的项目,采用瀑布模型会是比较适合的,因为你可以按部就班的去处理复杂的问题。
在质量要求高于成本和进度要求的时候,该模型表现的尤其突出。
螺旋模型是也是一个经典模型,它关注于发现和降低项目的风险【 8 】。
螺旋型项目从小的规模开始,然后探测风险,制定风险控制计划,接着确定下一步项目是否还要继续,然后进行下一个螺旋的反复。
该模型的最大优点就是随着成本的增加,风险程度随之降低。
然而螺旋模型的缺点是比较复杂,且需要管理人员有责任心,专注以及有管理方面经验。
RUP ( Rational Unified Process )是 Rational 公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程【 9 】。
它描述了一系列相关的软件工程流程,它们具有相同的结构,...
质量管理体系的评价方法是?
采购标准 你在准备实施前,需要一本标准。
你需要读懂,读通。
参考相关文献和软件 有许多有关质量出版物,软件工具帮助你理解,实施并注册质量管理体系。
组建队伍制订策略 你通过与最高管理层制订策略,组织策划全面实施体系。
质量管理体系的职责在于高级管理层,所以在开始实施体系时需要高级经理参与。
考虑培训 无论是质量经理还是高级经理负责实施体系,都需要提高ISO 9001:2000,总体意识。
小组活动,研讨会和培训课可以起到帮助作用。
选择顾问 你可以得到保持中立的顾问建议如何更好地实施质量管理体系。
他们有丰富的经验实施QMS并保证你少走弯路。
选择认证公司 认证公司是第三方机构,如BSI。
可以前往并有效地审核贵公司质量管理体系,如果符合标准,BSI将颁发证书。
由于种种市场原因,选择认证公司可能是一个复杂的过程。
考虑的因素包括:工厂经验,地理范围,价格和服务水准。
关键是找到最适合你需要的认证机构。
找BSI你可能站的更高些。
撰写质量手册 质量手册是高级别文件,它要列出你对质量管理的要点。
WHAT,WHAY和HOW在业务中实施质量管理体系。
建立支持性文件 建立程序文件以支持质量手册。
清晰简练,列出为完成一项工作的要点,WHO,WHAT和HOW。
实施你的质量管理体系 实施的关键是沟通和培训。
在实施阶段,所有执行程序的人都要收集记录已证明;规定的做到了,做到的符合规定。
预审核服务 预审核服务通常是在体系实施后6周进行。
目的是找出哪些区域没能达到标准。
这将使你在初审之前考虑改进的方向。
获得认证 你与你的认证机构安排初审。
在此阶段认证机构将审核你的质量管理体系,并建议是否发证。
后续审核 一旦你获得认证并拿到证书,你就可以对外宣传你的企业已成功获得认证。
为保证认证资格你需要继续实施所有质量体系。
认证机构定期对标准执行情况要进行检查。