Ⅰ 什么是软件的质量,软件质量反映了哪些问题
概括地说,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。 影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。可划分为三组,分别反应用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可再用性、互运行性(产品转移)。
定义
1.性能(Performance)是指系统的响应能力,即要经过多长时间才能对某个事件作出响应,或者在某段时间内系统所能处理的事件个数;
2.可用性(Availability)是指系统能够正常运行的时间比例;
3.可靠性(Reliability)是指系统在应用或者错误面前,在意外或者错误使用的情况下维持软件系统功能特性的能力;
4.健壮性(Robustness)是指在处理或者环境中系统能够承受的压力或者变更能力;
5.安全性(Security)是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或者拒绝服务的能力;
6.可修改性(Modification)是指能够快速地以较高的性能价格比对系统进行变更的能力;
7.可变性(Changeability)是指体系结构扩充或者变更成为新体系结构的能力;
8.易用性(Usability)是衡量用户使用软件产品完成指定任务的难易程度;
9.可测试性(Testability)是指软件发现故障并隔离定位其故障的能力特性,以及在一定的时间或者成本前提下进行测试设计、测试执行能力;
10.功能性(Function ability)是指系统所能完成所期望工作的能力;
11.互操作性(Inter-Operation)是指系统与外界或系统与系统之间的相互作用能力。
编辑本段标准
(1)软件需求是度量软件质量的基础,与需求不一致就是质量不高。
(2)指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导致质量不高。
(3)通常,有一组没有显式描述的隐含需求(如期望软件是容易维护的)。如果软件满足明确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。
编辑本段QA和QC
QA即英文QUALITY ASSURANCE 的简称,中文意思是质量保证 ;
QC即英文QUALITY CONTROL的简称,中文意义是质量控制。
QC和QA的主要区别前者是保证产品质量符合规定,后者是建立体系并确保体系按要求运作,以提供内外部的信任.同时QC和QA又有相同点:即QC和QA都要进行验证,如QC按标准检测产品就是验证产品是否符合规定要求,QA进行内审就是验证体系运作是否符合标准要求,又如QA进行出货稽核和可靠性检测,就是验证产品是否已按规定进行各项活动,是否能满足规定要求,以确保工厂交付的产品都是合格和符合相关规定的。
编辑本段软件开发
需求分析
确保客户所要求的系统是可行的。
确保客户指定的需求确实能够满足他的真正 要求。
避免开发者和客户之间的误解。
向用户提供为满足他所提出的需求而实际构建的适当软件系统。
软件规格说明
通过建立需求跟踪文档,确保规格说明书与系统需求保持一致。
确保规格说明书能适当地改进系统的灵活性、可维护性以及性能。
确保已建立了测试策略。
确保已建立了现实的开发进度表,包括 预定的评审。
确保已为系统设计了正式的变更规程。
设计
确保已建立用于描述设计的标准,并且确保遵循这些标准。
确保适当地控制并用文档记录对设计进行的变更。
确保在系统设计组件已按照商定的准则得到批准之后才开始编码。
确保对设计的评审按照进度进行。
确保代码遵循已建立的风格、结构和文档标准。
确保代码经过适当测试和集成,同时对编码模块的修改得到适当的标识。
查看代码编写是否遵循既定的进度。
确保代码评审按照进度进行。
测试
确保测试计划的建立和遵循。
确保创建的测试计划能够满足所有系统规格说明书的要求。
确保经过测试和返工后软件与规格说明书保持一致。
维护
确保代码和文档的一致性。
确保对已建立的变更控制过程进行监测,包括将变更集成到软件的产品版本中的过程。
确保对代码的修改遵循编码标准,并且要对其进行评审,不要破坏整个代码结构。
Ⅱ 影响软件质量的三组因素
随着计算机技术的发展,建立起一个应用系统并不困难,困难的是如何让您的应用系统真正产生效益。应该看到,虽然社会在信息化建设方面投入了大量资源,其现状并不令人十分满意,很多信息系统虽然运转起来,但是利用率很低。这其中可能有众多原因,导致信息系统运行的效果,未能达到前期设计时的目标,其中,有组织的软件质量是问题的关键所在。以下是影响软件质量的几个因素:
1设计时需求不明确
应用需求不明确,影响数据完整性和准确性。在系统开发之初,管理者说不清应用需求,设计目标难明确;系统开发中,不断冒出新要求,计划赶不上变化;系统开发完后,为了适应众口难调状况,修改、完善周期拖得很长。这样的系统,可利用的程度自然不高。
2 开发方式落后
原始数据都是由业务干部掌握的,相关性也是他们最清楚,但他们不懂计算机程序。而编程人员大多数不熟悉业务,对相关性也难于理解,很难编写出业务人员使用方便、适应面宽、又很灵活的口径调整工具。长期以来两类人员不易沟通,数据口径调整就成了老大难问题
目前,大多数单位的开发方法往往把主要精力和资金投在编程上,而数据如何准备较少考虑。系统开发完后才发现所需要的数据拿不到或不能用,影响数据可移植性和可继承性。数据库应用软件开发必须与数据的组织、整理同步,并应着重考虑继承原有的信息资源。
3 对数据准备认识不足
一些单位对档案数据的重要性缺乏认识,以为计算机是万能的机器,数据质量差些不要紧;也有的单位仅仅是“赶时髦”才盲目购买机器,对数据工作的难度、工作量等缺乏思想准备;还有的单位是为了应付评比检查,并没有真正把自动化检索提到议事日程。
4 缺乏质量控制监督措施
由于多数检索系统没有进入实际应用阶段,数据质量的控制和监督往往被人们忽视。绝大多数单位在数据准备、录入阶段缺乏审核等质量控制、监督措施。着录标引的检查,一般采取自己审核或互相审核的方法,少数单位也设专人负责质量检查,但实际上由于种种原因,不能将着录卡片与文件一一对应起来审核,有些问题也难发现。还有一些单位,由录入人员看着档案或仅仅看着目录往计算机中输入数据,质量就更无法控制和监督了。
Ⅲ 什么是软件的质量,软件质量反映了哪些问题
概括地说,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
软件质量反映了以下三方面的问题
需求——软件需求是度量软件质量的基础,不满足需求的软件就不具备质量。
规范——不遵循各种标准中定义的开发规则,软件质量就得不到保证。
扩展——只满足明确定义的需求,而没有满足应有的隐含需求,软件质量也得不到保证。