软件质量评估的软件质量的有关概念
软件质量定义为:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的全体。
具体包括:(1) 软件产品中所能满足用户给定需求的全部特性的集合;(2) 软件具有所有的各种属性组合的程度;(3) 用户主观得出的软件是否满足其综合期望的程度;(4) 决定所用软件在使用中将满足其综合期望程度的合成特性。
如图1所示,软件质量框架是一个“质量特征—质量子特征—度量因子”的三层结构模型。
在这个框架模型中,上层是面向管理的质量特征,每一个质量特征是用以描述和评价软件质量的一组属性,代表软件质量的一个方面。
软件质量不仅从该软件外部表现出来的特征来确定,而且必须从其内部所具有的特征来确定。
第二层的质量子特征是上层质量特征的细化,一个特定的子特征可以对应若干个质量特征。
软件质量子特征是管理人员和技术人员关于软件质量问题的通讯渠道。
最下面一层是软件质量度量因子(包括各种参数),用来度量质量特征。
定量化的度量因子可以直接测量或统计得到,为最终得到软件质量子特征值和特征值提供依据。
按照软件质量国家标准GB-T8566--2001G,软件质量可以用下列特征来评价:a.功能特征:与一组功能及其指定性质有关的一组属性,这里的功能是满足明确或隐含的需求的那些功能。
b.可靠特征:在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
c.易用特征:由一组规定或潜在的用户为使用软件所需作的努力和所作的评价有关的一组属性。
d.效率特征:与在规定条件下软件的性能水平与所使用资源量之间关系有关的一组属性。
e.可维护特征:与进行指定的修改所需的努力有关的一组属性。
f.可移植特征:与软件从一个环境转移到另一个环境的能力有关的一组属性。
其中每一个质量特征都分别与若干子特征相对应。
质量特性的表现形式都有哪些内容?
质量特性的表现形式,不同类别的产品,质量特性的具体表现形式也不尽相同。
1、硬件产品的质量特性1)性能性能通常指产品在功能上满足顾客要求的能力,包括使用性能和外观性能。
2)寿命寿命是指产品能够正常使用的年限,包括使用寿命和储存寿命两种。
使用寿命指产品在规定的使用条件下完成规定功能的工作总时间。
一般地,不同的产品对使用寿命有不同的要求。
储存寿命指在规定储存条件下,产品从开始储存到规定的失效的时间。
3)可信性可信性是用于表述可用性及其影响因素(可靠性、维修性和保障性)的集合术语。
产品在规定的条件下,在规定的时间内,完成规定的功能的能力称为可靠性。
对机电产品、压力容器、飞机和那些发生质量事故会造成巨大损失或危及人身、社会安全的产品,可靠性是使用过程中主要的质量指标。
维修性是指产品在规定的条件、时间、程序和方法进行维修,保持或恢复到规定状态的能力。
维修保障性是指按规定的要求和时间,提供维修所必须的资源的能力。
显然,具备上述“三性”时,必然是一个可用,而且好用的产品。
4)安全性安全性指产品在制造、流通和使用过程中保证人身安全与环境免遭危害的程度。
目前,世界各国对产品安全性都给予了最大的关注。
5)经济性经济性指产品寿命周期的总费用,包括生产、销售过程的费用和使用过程的费用。
经济性是保证组织在竞争中得以生存的关键特性之一,是用户日益关心的一个质量指标。
2、软件产品的质量特性1)功能性软件所实现的功能,即满足用户要求的程度,包括用户陈述的或隐含的需求程度。
是软件产品的首选质量特性。
2)可靠性可靠性是软件产品的最重要的质量特性。
反映软件在稳定状态下,维持正常工作的能力。
3)易用性易用性反映软件与用户之间的友善性。
即用户在使用软件时的方便程度。
4)效率在规定的条件下,软件实现某种功能耗费物理资源的有效程度。
5)可维护性软件在环境改变或发生错误时,进行修改的难易程度。
易于维护的软件也是一个易理解、易测试和易修改的产品,是软件又一个重要的特性。
6)可移植性软件能够方便地移植到不同运行环境的程度。
3、流程材料的质量特性1)物理性能:如密度、黏度、粒度、电传导性能等。
2)化学性能:耐腐蚀性、抗氧化性、稳定性等。
3)力学性能:强度、硬度、韧性等。
4)外观:几何形状、色泽、等。
4、服务质量特性服务质量特性是服务产品所具有的内在的特性。
有些服务质量特性是顾客可以直接观察或感觉到的,如服务等待时间的长短、服务设施的完好程度、火车的正误点、服务用语的文明程度、服务中噪声的大小等。
还有一些反映服务业绩的特性,如酒店财务的差错率、报警器的正常工作率等。
一般来说,服务特性可以分为五种类型:可靠性,准确地履行服务承诺的能力;响应性,帮助顾客并迅速提供服务的愿望;保证性,员工具有的知识、礼节以及表达出自信与可信的能力;移情性,设身处地地为顾客着想和对顾客给予特别的关注;有形性,有形的设备、设施、人员和沟通材料的外表。
不同的服务对各种特性要求的侧重点会有所不同。
质量、产品质量的定义是什么?包括哪些主要特征?
质量的定义:在质量管理体系的涉及的范畴内,组织的相关方对组织的产品、过程、体系都可以提出要求。
产品、过程、体系都具有固有特性,所以,质量的主要特征是不仅指产品的质量,也指过程和体系的质量。
狭义产品质量定义指:有形制成品(如笔、水杯等)。
广义产品质量定义指:硬件、服务(如快递、旅游活动等)、软件(如电子游戏、字典等)、流程性材料(如食用油、煤炭等)。
特质是产品质量除了含有实物产品之外,还含有无形产品质量,即服务产品质量。
产品质量指的是在商品经济范畴,企业依据特定的标准,对产品进行规划、设计、制造、检测、计量、运输、储存、销售、售后服务、生态回收等全程的必要的信息披露。
产品质量是由各种要素所组成的,这些要素亦被称为产品所具有的特征和特性.不同的产品具有不同的特征和特性,其总和便构成了产品质量的内涵.产品质量要求反映了产品的特性和特性满足顾客和其他相关方要求的能力.顾客和其他质量要求往往随时间而变化,与科学技术的不断进步有着密切的关系。
这些质量要求可以转化成具有具体指标的特征和特性,通常包括使用性能、安全、可用性、可靠性、可维修性、经济性和环境等几个方面。
质量特性,区分了不同产品的不同用途,满足了人们的不同需要。
人们就是根据工业产品的这些特性满足社会和人们需要的程度,来衡量工业产品质量好坏优劣的。
软件复杂度的复杂度的种类
有模块、类和程序三类复杂度。
模块复杂度包含了关于模块的复杂度信息;类复杂度是针对那些使用McCabe面向对象特性的程序,它包含了关于类的复杂度信息;程序复杂度包含了关于程序的复杂度信息。
集成复杂度报告对应于三种复杂度的是三种复杂度报告。
如果一个报告的复杂度信息不只一种,那么就把这些复杂度信息组合成新的报告。
集成复杂度信息只收集一个部件及其下级的信息。
例如:如果一个程序级报告包含一个类复杂度,那么只报告组成程序的类的信息,而不包含类组成的信息。
McCabe复杂度是对软件结构进行严格的算术分析得来的,实质上是对程序拓扑结构复杂性的度量,明确指出了任务复杂部分。
McCabe复杂度包括:圈复杂度、基本复杂度、模块设计复杂度、设计复杂度、集成复杂度、行数、规范化复杂度、全局数据复杂度、局部数据复杂度、病态数据复杂度。
McCabe复杂度的用途在软件工程中,有三种使用McCabe复杂性度量的方式。
作为测试的辅助工具。
McCabe复杂性度量的结果等于通过一个子程序的路径数,因而需要设计同样多的测试案例以覆盖所有的路径。
如果测试案例数小于复杂性数,则有三种情况一是需要更多的测试;二是某些判断点可以去掉;三是某些判断点可用插入式代码替换。
作为程序设计和管理指南。
在软件开发中,需要一种简单的方式指出可能出问题的子程序。
保持子程序简单的通用方法是设置一个长度限制,例如50行或2页,但这实际上是在缺乏测试简明性的有效方法时无可奈何的替代方法。
不少人认为McCabe度量就是这样一种简明性度量。
但是要注意,McCabe度量数大的程序,不见得结构化就不好。
例如,Case语句是良结构的,但可能有很大的McCabe度量数(依赖于语句中的分支数),这可能是由于问题和解决方案所固有的复杂性所决定的。
使用者应当自己决定如何使用McCabe度量所提供的信息。
作为网络复杂性度量的一种方法。
Hall和Preiser提出了一种组合网络复杂性度量,用于度量可能由多个程序员组按模块化原理建立的大型软件系统的复杂性。
他们提出的组合度量公式为式中 C1,...,Ck是各个模块的复杂性;CN是网络复杂性;W1和W2为权值。
McCabe复杂度即可用于度量各个模块的复杂性,也可用于度量网络复杂性。
圈复杂度是用来衡量一个模块判定结构的复杂程度,数量上表现为独立路径的条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,经验表明,程序的可能错误和高的圈复杂度有着很大关系。
独立路径组成的集合称为基本路径集合,独立路径数就是指基本路径集合中路径的数量。
基本路径集合不是唯一的,独立路径数也就不唯一。
因此,圈复杂度是最大独立路径数。
计算方法节点是程序中代码的最小单元,边代表节点间的程序流。
如果一个模块流程图有e条边n个节点,它的圈复杂度V(G)=e-n+2,典型的V(G)max=10。
图1中示例的圈复杂度是2。
优点避免软件中的错误倾向;指出极复杂模块,这样的模块也许可以进一步细化;度量测试计划,确定测试重点;在开发过程中通过限制程序逻辑,指导测试过程;指出将要测试的区域;帮助测试人员确定测试和维护对象;与所用的高级程序设计语言类型无关。
应用圈复杂度指出为了确保软件质量应该检测的最少基本路径的数目。
在实际中,测试每一条路经是不现实的,测试难度随着路径的增加而增加。
但测试基本路径对衡量代码复杂度的合理性是很必要的。
McCabe & Associates建议圈复杂度到10,因为高的圈复杂度使测试变得更加复杂而且增大了软件错误产生的概率。
提示:圈复杂度度量是测量在一个软件模块中的分支数目,在所有的开发周期中都要使用。
圈复杂度度量以软件的结构流程图为基础。
控制流程图描述了软件模块的逻辑结构。
一个模块在典型的语言中是一个函数或子程序,有一个入口和一个出口,也可以通过调用/返回机制设计模块。
软件模块的每个执行路径,都有与从模块的控制流程图中的入口到出口的节点相符合的路径。
“Cyclomatic”来源于非直接连接基本测试周期的数目,更重要的是,也通过直接相连的图表给出独立路径的数目。
通过图表的相关性,一个节点可到达另一个节点。
圈复杂度度量也可作为模块基本流程图路径的数目,其重点在于模块线形组合后,所产生的路径数目是最小的。
对圈复杂度的限制现在有许多好方法可以用来限制圈复杂度。
过于复杂的模块容易出错,难于理解、测试、更正,所以应当在软件开发的各个阶段有意识地限制复杂度,许多开发者已经成功地实现把对软件复杂度的限制作为软件项目的一部分,尽管在确切的数目上略微有些争议。
最初支持的数目是10,现在支持数目可达15。
但是,只应当在条件较好的情况下使数目大于10,例如开发者非常有经验,设计合乎正式标准,使用现代化的程序语言、结构程序、代码预排和先进的测试计划。
换句话说,开发团队可以选择超过10的限制数目,但是必须根据经验进行一些取舍,把精力花在比较复杂的模块上。
基本复杂度是用来衡量程序非结构化程度的,非结构成分降低了程序的质...
ERP管理软件的特点有哪些?
ERP系统特点主要有以下几点:(1) ERP更加面向市场、面向经营、面向销售,能够对市场快速响应;它将供应链管理功能包含了进来,强调了供应商、制造商与分销商间的新的伙伴关系;并且支持企业后勤管理。
(2) ERP更强调企业流程与工作流,通过工作流实现企业的人员、财务、制造与分销间的集成,支持企业过程重组。
(3) ERP纳入了产品数据管理PDM功能,增加了对设计数据与过程的管理,并进一步加强了生产管理系统与CAD、CAM系统的集成。
(4) ERP更多地强调财务,具有较完善的企业财务管理体系,这使价值管理概念得以实施,资金流与物流、信息流更加有机地结合。
(5) ERP较多地考虑人的因素作为资源在生产经营规划中的作用,也考虑了人的培训成本等。
(6) 在生产制造计划中,ERP支持MRP与JIT混合管理模式,也支持多种生产方式(离散制造、连续流程制造等)的管理模式。
(7) ERP采用了最新的计算机技术,如客户/服务器分布式结构、面向对象技术、基于WEB技术的电子数据交换EDI、多数据库集成、数据仓库、图形用户界面、第四代语言及辅助工具等等。
一般而言,除了MRPⅡ的主要功能外,ERP系统还包括以下主要功能:供应链管理、销售与市场、分销、客户服务、财务管理、制造管理、库存管理、工厂与设备维护、人力资源、报表、制造执行系统 (Manufacturing Executive System,MES)、工作流服务和企业信息系统等方面。
此外,还包括金融投资管理、质量管理、运输管理、项目管理、法规与标准和过程控制等补充功能。
软件开发平台的技术特点
1、开发结构有B/S、C/S及混合结构,兼容各大型数据库系统,如Oracle、SQL Server。
开发工具可根据企业实际需要选用相关技术平台,系统均采用多层架构组织而成,良好的分层决定了一个良好系统基础。
2、系统采用CS(设计器)+BS(系统运行平台)的混合分离模式,使得设计与系统运行有机的分离。
3、定制系统具有非常强大的伸缩扩展性,当系统上线后,如果公司业务发生了变化采用设计器就能很方便的重新构造出变化后的业务 模块出来,整个这个过程可能只需要几分钟,可减轻了客户再次开发的费用,既省时又省钱。
4、设计器与系统运行平台的联系采用了当前最流行面向对象化编程技术并且在访问接口采用了非常复杂的加密等安全技术,系统安全性高、系统运行速度快5、系统运行平台的客户端没有数量的限制。
1、数据字典设计器2、业务视图设计器3、工作流设计器4、业务表单设计器5、业务报表设计器6、业务模型设计器7、业务导航设计器8、业务权限设计器9、业务模型运行器10、业务表单运行器11、业务流程运行器平台业务管理平台行政管理 人事管理 采购管理 销售管理 客户管理 财务管理质量管理 委外管理 生产管理 车间管理 成本管理 组织结构分析:可由兴达软件或与用户双方共同参与分析,写好组织结构文档;用户界面分析:绘制事件流程图,PDA(问题分析图)描述业务流程。
兴达软件由专业软件开发工程师及美工设计师完成系统界面设计,经用户确认,开始软件开发;业务数据分析:构件图描述业务数据的内容及其之间的关系;说明文档和开发文档的编制;软件设计和开发;软件模块编写和开发;开发进度控制和质量控制;软件装配与测试:专业软件开发工程师和测试工程师完成系统软件开发和测试,强大测试力量和一对一软件测试体系, 确保系统软件质量为最终用户提供应用培训:专业软件工程师辅导用户使用系统,协助用户进行初始化工作;系统初始化完毕,进行试运行阶段,测试系统功能的完善性和全面性正式切换双方共同测评系统,确保系统能全面符合用户需求说明书定义的所有功能,正式启用系统;用户试用,反馈问题;软件质量改进,由双方协商进行;软件交付使用;定制开发流程图 1,在兴达ERP基础上定制个性化流程、定制个性化ERP2,定制各类客户内部办公及业务模块办公系统(OA及协同办公)3,定制各类企业的即时通讯工具(IM)4,定制个性化客户资源管理系统(CRM)5,在兴达ERP基础上定制个性化供应链管理系统(SCM)6,定制个性化供应链客户分销管理系统7,定制BtoB、BtoC各类电子商务平台8,定制各类企事业单位信息门户
什么是计算机软件?计算机软件有那些特性?
目前公认的解释认为软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。
其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。
⑵在学者通常的论述中,计算机软件一词经常与计算机程序混用。
但是,根据世界知识产权组织(WIPO)1978年公布的《计算机软件保护标准条款》中对计算机软件的定义,计算机软件包括三部分:(1)计算机程序:包括附者于任何媒介上的原始码、目的码、微码等以任何语言、文字或符号所完成之计算机程序;(2)程序描述:包括资料结构、演绎法则、流程图;(3)辅助资料:包括程序规格书、操作手册、使用手册。
在我国,计算机软件是指计算机程序及其有关文档。
计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。
同一计算机程序的源程序和目标程序为同一作品。
文档,是指用来描述程序的内容、组成、设计、功能、规格、开发情况、测试结果及使用方法的文字资料和图表等,如程序设计说明书、流程图、用户手册等。
⑶因此,计算机软件包含了计算机程序并且不局限于计算机程序,还包括与之相关的程序描述和辅助资料。
计算机软件具有以下特点: 1. 计算机软件是一种逻辑实体,而不是具体的物理实体。
计算机软件具有抽象性,与计算机硬件和其他工程对象有着明显的差别。
人们可以把他记录在纸面上或者保存在计算机的存储器内部,也可以保存在磁盘、磁带和光盘上,但却无法看到软件本身的形态,而必须通过专业人士的观察、分析、思考、判断,才能够了解其功能、性能和其他特性。
2. 计算机软件的产生与硬件不同。
计算机软件开发没有明显的制造过程,也不象硬件那样,一旦研制成功,可以重复制造,并在制造过程中进行质量控制。
软件是通过人的智力活动,把知识与技术转化成信息产品。
一旦某一软件项目研制成功,即可大量复制,所以对软件的质量控制,必须着重在软件开发方面先工夫。
也正是由于软件的复制非常容易,因此才出现了对软件产品的保护问题。
3. 计算机软件的运行和使用不会出现硬件的机械磨损、老化问题。
任何机械、电子设备在使用过程中,其失效率大都遵循“浴盆曲线”:在刚投入使用时,各部件尚未作到配合良好、运转灵活,容易出现问题,经过一段时间的运行,即可稳定下来。
而当设备经历了相当长的时间运转,就会出现磨损、老化,使失效率越来越大,当达到一定程度时,就达到了寿命的终点。
而软件不存在磨损和老化问题只存在退化问题。
在软件的生命周期中,为了使他能够克服以前没有发现的问题使他能够适应硬件、软件环境的变化以及用户的新的要求,必须多次修改(维护)软件,而每次修改又不可避免引入新的错误,导致软件失效率升高,从而使软件逐步退化。
4. 计算机软件的开发和运行常常受到计算机系统的限制,很多软件对计算机系统都有着不同程度的依赖性。
软件不能完全摆脱硬件而单独活动。
有些软件依赖性大,常常为某个型号的计算机所专用,有些软件依赖于某个操作系统。
5. 计算机软件的开发至今尚未摆脱手工艺的开发方式。
软件产品大多是“定作”的,很少能作到利用现成的部件组装所需的软件。
近年来,软件技术虽然取得了很大进展,提出很多新的开发方法,例如利用现成软件的复用技术、自动生成系统研制了一些有效的软件开发工具和软件开发环境,但在软件项目中采用的比率仍然很低。
由于传统的手工艺开发方式仍然占统治地位,软件开发的效率自然受到很大限制。
6.软件本身是非常复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,例如,它所反映的自然规律,或是人类社会的事物,都具有一定的复杂性;另一方面,也可能来自程序逻辑结构的复杂性。
软件开发,特别是应用软件的开发常常涉及到其它领域的专门知识,这对软件开发人员提出了很高的要求。
软件的复杂性与软件技术的发展不相适应的状况越来越明显。
7.软件的开发成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,因此其成本比较高,美国每年投入软件开发的费用要高达几百亿美元。
8.相当多的软件工作涉及到社会因素。
许多软件的开发和运行涉及机构、体制及管理方式等问题,甚至涉及到人的观念和心理。
⑷ 计算机软件按功能区分,包括系统软件和应用软件两大类。
系统软件的功能在于提供人与计算机的沟通桥梁,将使用者的命令转换成计算机的可执行程序,驱使计算机执行工作,之后把结果输出给使用者,系统软件主要包括作业系统、翻译程序、连结程序、载入程序、公用程序、程序语言、资料库管理系统及监督程序。
应用软件主要是用于解决某些特定问题,种类和用途年繁多。
转载请注明出处51数据库 » 软件质量特性包括 图
白云小布