1、软件体系构造质量特性摘要:众所周知是,为了减少风险和减少构建软件系统困难,人们在软件开发过程初期应当一方面考虑质量问题。此外,系统构造驱动着整个开发过程。 备用构造中非功能性质量需求实现决定了选取衔接整个系统便利构造。这一议题在可靠变革应用程序构建中非常重要。软件开发思想并没有在这一重要阶段给与诸多细节关注。这篇文章详述了软件体系构造质量特性,并且简介了一种基于ISO 9126-1原则技术。ISO模型质量特性被精炼成为一种属性。而这种属性可被度量以增长体系构造信息。咱们技术通过比较各自质量属性值从一组候选中挑选出恰当体系构造。并以一种关于监制系统技术应用程序为例阐明。咱们办法有助于在体系构造分
2、析过程中对的选取决定。它可以很容易被并入普通软件开发过程或者一种特别体系构造设计思想。简介:在软件开发初期阶段以非功能需求为目的质量需求极大影响了软件系统体系构造。但是,系统核心功能需求提取在初始系统构造拟定上扮演着重要角色。另一方面,质量需求在软件设计阶段需要平衡Kazman et al. 。仅仅在近来,精准软件体系构造设计重要性(并不是局限于笔纸图画符号设计方式)为了可靠系统构造而蓬勃发展起来Bachmann et al.1996,Bosch ,Krutchen .。那些涉及istribution,adaptability,interoperability,component reusab
3、ility and real-time issues 当代应用软件需要一种初期体系构造 定义来满足可维护行和可靠性之类质量需求。这些对于在架构之下软件系统所有功能性需求目的完毕是至关重要。特殊,使用网络服务新信息系统,例如基于网络电子商务应用程序,没有过多关怀软件工程时间而是因市场需求而发展及其迅速。此外,此种产品质量不在讨论范畴之内。然而,当一种HTML页面在浏览器端显示出来时候,咱们立即就能意识到咱们与否使用了一种好或者坏网络应用程序。像可用性,可靠性或有效性等因素涉及到这个迅速评估。事实上,自从系统开发之初,软件开发者们对网络应用程序质量特性就没有一种清晰描述,正如咱们所指出,软件工程范
4、例普通被忽视。例如,虽然当应用程序数据语义与描述分离是一种可接受范例,HTML is normally used regardless of this issue,直到近来,XML才被接受。于是,质量需求详述就成为了一种有趣问题。在功能需求详述过程中,质量需求也许会隐藏浮现,例如在一种纯文本用例或一种方案中。但是在原则面向对象思想中没有直接指引办法和清晰建模原理来捕获或详细描述质量需求。并且咱们直到软件体系构造设计不是一种独立行为,而是软件产品开发和改良过程中更进一步阶段。软件体系构造应当作为一种重要侧重点以建立更清晰可重用软件框架for guaranteeing to a certain e
5、xtent,the overall quality of the resulting software products.本篇文章重要目是简介(建议)一种基于ISO 9126-1 ISO/IEC 1998原则技术来描述相应软件质量特性,而这种技术为品质级别或其她可测量要素所精准描述,并参加软件体系构造设计过程之中。作为体系构造设计阶段中,质量特性详细阐明和规范度量是软件体系构造改进过程基本,而这些改进过程容许对最初设计进行改进和增长。这种基于系统某些核心功能需求而选取备案在设计过程中不断被转变和改进以达到预期质量目的,而这些质量目的正是系统应当达到质量需求价值所在。在这一过程中为了最后系统,质
6、量需求经常被转化为隐性功能需求Bosch ,例如最后系统把这些需求表达为附加机制。但是,在普通习惯性软件分析和设计思想中,这些质量特性详述和评估表述仅仅基于设计者经验。ATMT(基于构架权衡分析办法)Kazman et al. 与咱们办法有某些共同之处。它使用了一种称之为utility (system goodness) tree质量特性详述原则来将基于精准质量特性方案分清主次。体系构造和属性信息被收集到ABAS (Attribute-Based Architectural Style)框架中Klein and Kazman1999.。但是如何获得质量视图是如此描述和为什么仅有一种描述级别ut
7、ility tree并不清晰,并且质量特性解释并不原则。utility tree通过一组可被驱动体系构造测试方案来给与方案优先权来拟定核心之处。特性测量通过stimuli,参数和响应来显示。咱们办法使用依照ISO 9126-1原则质量模型来考虑质量需求详述。这个在构造上接近ATAM质量树级别模型对于软件体系构造很适当。ISO质量模型当前是软件工业原则并且它通过高度抽象层次来解释。它由内部和外部因素和使用品质特性视图质量决定。这种质量特性(ATAM特性)正好被很原则解释,并且特性度量普通很普遍,它可觉得详细应用做更进一步解释。软件运营环境质量是由用例模型质量决定,也就是在上下文使用中,顾客对于质
8、量观点。此篇文章中咱们只关怀关于内外因素质量模型,而这个质量模型分别描述了顾客和开发者观点。为了完备使用质量,这个系统必要达到内部和外部目的。在软件开发过程中浮现如下状况:当软件作为电脑系统中一某些和内部软件评估或是实体属性测量成果时,质量特性经常被详细描述为显现外在子特性。在咱们例子中,不得不把这些属性转化或翻译成称之为媒介软件产品软件体系构造。在软件开发过程中获得特性值可被用来校验内部质量目的,而这些内部质量目的有助于确认最后软件系统规定外部目的SO/IEC 1998.。拥有质量特性详细描述这样事实为体系构造详细阐明增长了更多信息,这样有助于为解决特定设计问题而挑选体系构造设计过程。除了简
9、介和结论,;论文重要某些如下:为详述软件体系构造质量特性,给出了一种基于ISO 9126-1原则通用质量模型描述。一种实例研究,在这个实例中,咱们将获得通用质量模型来进行使用网络设备实时监视系统软件体系构造选取。2、为软件体系构造而修改ISO 9126-1质量模型。ISO 9126-1质量模型:依照ISO 9126-1原则ISO/IEC,1998,质量被描述为一组产品或服务特色或特性,而这些特色和特性是基于自己能力来满足显性或隐性需求。同步,对于质量定义不同看法也应被尊重:从顾客角度来看,它是最后产品质量;从开发者角度来看,它是在开发过程中由不同项目有关人员生产中间产品质量。从终端管理者角度来
10、看,它是营销需求。所有产品质量都可以被不同观点集合所表达。在咱们文章中,顾客和开发者(架构师)观点角度将会被采纳。MCCALL工作区别了两类质量特性:因素和原则。前者不能直接被测量而后者可以被主观测量。这启发了ISO 9126-1模型。基于这个原则,ISO 9126-1更进一步将McCall模型化简为ISO 9126-1质量模型,当前它在广泛艺术级产品质量阐明书中被接受。它建议了一组六个互相独立高阶质量特性。而这些质量特性被定义为其质量已被描述和评估软件产品质量特性。在开发各种阶段,质量特性被作为外部质量确认和内部质量审查目的。当获得特性和可测量实体时,她们被描述成子特性。在文中度量和测量原则
11、被定义为一种测量办法或测量手段来获取一种值。这种关系如图1所示:在开发过程中,为了监视和控制软件质量外部质量需求会转变或转化成在开发活动中获得中间产品质量需求。特性描述功能性软件产品所能提供功能能力。这里功能是指在特殊环境下软件所遇到显性或是隐性需要。(即软件可以满足什么需要)可靠性在特定环境下和一段特定期期内,软件产品可以维持其自身性能水平能力。可用性在特定环境下,软件产品可被理解,学习,使用及对顾客吸引力能力。(为使用而需要成就 )效率在特定环境下,软甲产品提供和使用资源总数有关特定性能能力。可维护性软件产品课改进能力。这种修正涉及软件改正,改进和改编可移植性软件产品可以从一种环境变化到另
12、一种环境能力。这种环境涉及组织,硬件和软件。表1:ISO9126质量模型特性。子特性如图2所示:注意:符合性意味着与原则,合同或者规则联系。它被解释为所有特性子特性之一ISO/IEC 1998。这里咱们仅把它以为是功能性来精简它描述。注意:符合性子特性浮现意味着特性中别的某些已经被偶些选定原则完全测量了。软件体系构造原则质量模型制定:为了定制ISO质量模型,咱们必要理解这些成分。她们是体系构造或者软件系统所基于普通框架所期盼成分。咱们把它当作是软件开发过程中间产品。因而,一种特别在深层次上被构建所解释体系构造,必要满足ISO9126所有或某些特性,而连接器连接着这些构件,构造和拓扑。每个与属性
13、有关联特性都应被测量。这些属性应当完全与体系构造或者构件和连接器关于。质量特性测量应被量化。起先,它们被定义为特定符号公式,接下来就使用原则语言来定义Marcano et al. 。在这个逐渐体系构造定义过程中,咱们也允许以预计体系构造精华与否提高了质量特性,但此问题在本文中不予讨论。对于最后产品每项属性来说,均有需要达到或是超越质量目的值。当这些质量目的值被达到或是超越后,咱们便说这个体系构造符合质量特性需求。这些目的值是在质量需求中所拟定。接下来咱们通过对每个属性给与相应原则来解释质量需求如何被精准到相应子特性及属性上,以及它们如何与体系构造相适应。注意,这里特性及子特性被以为是互相独立。
14、1、功能性特性: (1)、子特性适应性: 拥有符合特定任务需求足够功能。它涉及两个方面:存在:任务已被详细阐明,例如以用例方式。每一种任务必要存在一种特定功能去完毕它。对的:对的解释任务详细阐明。例如必要满足图3 顺序图。 从软件体系构造层次上阐明:a. 系统功能性必要被拟定。在此种状况下,子特性被解释成拥有是【1】或者否【0】这样值属性。注意,存在着值介于离散数字【nm】之间属性,例如【0.1】代表着不存在或存在。这种原则是一种获取级别水平度量。b. 由功能需求所获得顺序图必要被详细精化。在拥有一种体系构造阐明书状况下,特定功能被分解成与构件关于子功能,并且这些子功能都应符合系统功能性需求。
15、图3:系统需求向软件体系构造转化(2)、子特性对的性:以需要精准限度来制定对的或一致成果。它可以被基于源码属性所度量。它以构建为代表,而这些构建定义了度量值功能。从软件体系构造层次上阐明:1、通过可靠预计功能组件认定。(功能性组件)2、由如下规则对属性进行估算。(3)、子特性互用性:在一种系统内或各种系统间互相作用能力。注意:为了避免模糊化,它与可代替性一起用来取代兼容性。从软件体系构造层次上阐明:1、与外部特定系统进行通讯连接器定义,例如CORBA(公共对象祈求代理体系构造).2、依照机制与设备浮现与否决定属性值为1或者0。(5)、子特性依从性:与原则,管理,规定联系。其与软件开发过程关于。
16、从软件体系构造层次上阐明:1、它是一种不能直接应用于软件体系构造设计概要属性。2、依照需求原则应用来决定这个属性值为1或者0。3、体系构造类型依从性可以被定义为体系构造约束满足。2、可靠性特性: (1)、子特性完备性:软件产品避免失败能力。它被定义为基于源码测定MTTF属性(平均失效前时间)。 从软件体系构造层次上阐明: 1、此项属性由下面公式所计算: 注意:COTS构建完备性是已知。(2)、子特性容错性:在软件出错或是软件某些接口被破坏状况下维持其特定性能水平一种能力。从软件体系构造层次上阐明:1、它意味着拥有某种机制或软件驱动。它可以是一种构件或被集成到构件中,例如出错抛出以及冗余。2、依
17、照这种机制或驱动浮现与否定义其值为1或者0。3、它可以被精准为一种属性,这种属性值与驱动或者机制有关联。(3)、子特性可复原性:其涉及:1、性能重建能力。2、数据恢复能力。3、时效需求。从软件体系构造层次上阐明:1、它是软件机制或者软件驱动实例,其独自成为构件或被集成在构件中,其功能是重构性能或恢复数据。例如冗余。2、如果这种软件机制存在,那么可复原性就可被定义为一种其性能被时效所度量属性。每个支持此机制组件都需这样属性。评注:有效性是基于上面所说可靠性三个子特性,它在中Marcano et al. 被提及过。虽然有效性没有在ISO 9126-1中详细阐明,它仍被定义为一种能力,即在特定期间段
18、和情形下,完毕某种需求功能能力。因其普遍在分布和实时应用系统中重要性,咱们必要注重其重要性。它就像被时间所度量容错属性。3、操作使用性属性:子特性易理解性:这是软件产品一种能力,它可以使顾客理解这软件与否使用,以及在指定任务和特定环境下如何使用。子特性易上手性:软件产品使顾客可以轻松学习其应用能力。子特性易操作性:软件产品使顾客易操控其能力。 这些子特性可以在GUI组件注释属性中被详细解释。 从软件体系构造层次上阐明:它独立于属性,对于顾客和谐清晰,在此不予阐述。 4、功能性属性:子特性时间效应性能:软件产品对时间相应特定能力。在特定状态执行其功能时,软件执行时间和效率。它可以被系统中各个功能
19、所度量。从软件体系构造层次上阐明:它可以被功能及功能使用者如下列方式进行度量:受功能中运用数据影响,此项性能依赖于:祈求,事件及功能。体系构造中用法是为了一种给定功能回应一种祈求。各个组件互相联系,包容了执行功能。子特性资源运用:资源数量和类型以及资源使用时间是为了执行软件功能。它涉及这可被大小所度量属性复杂度(涉及使用资源空间和时间)。从软件体系构造层次上阐明:这项属性可觉得任何功能所详解与测量,它是类型一种特性。时间和空间与构件有关。此属性值与功能关于构件和连接器有关联。 5、可维护性属性:子特性可分析性:是软件产品一种能力,用于诊断软件缺陷及导致失败因素,或某些改良或者鉴定。子特性易变性
20、:软件产品中使特性改正得以实现能力。子特性稳定性:软件产品避免软件改进过程中浮现意外能力。子特性易测性:软件产品可被验证能力。它在源码属性复杂度中被详解,以特别方式。从软件体系构造层次上阐明:子特性耦合性是与组件间交互有关软件体系构造全局特性。每个组件都可以用输入输出方式度量此属性,它是一种系统属性。子特性模块性是指体系构造拓扑构造,就像各种组件依赖与一种组件。各个组件都可以以大小方式测量这个属性。6、便携性属性: 子特性便携性:软件产品仅用自己功能就可以适应不同环境能力。从软件体系构造层次上阐明:为适应而浮现机制,例如类或者参数。这个子特性依照机制浮现与否来决定其值为1或者0.子特性可安装:
21、软甲产品在特性环境下可安装能力。从软件体系构造层次上阐明:这是一种安装机制。这个子特性依照机制浮现与否来决定其值为1或者0.子特性共存性:在相似环境下共享同样资源软件产品与其她独立软件共存能力。从软件体系构造层次上阐明:这是一种共存机制。这个子特性依照机制浮现与否来决定其值为1或者0.子特性代替能力:在某一环境下软件产品为某一目代替其她产品能力。它涉及适应性和安装性。从软件体系构造层次上阐明:对于每个组件,这个属性被表达为可替代一种表格。顾客质量模型实例研究 上文简介质量模型将用于两个基于不同模型体系构造比较。一种是使用P/S模式另一种使用资源库模式。注意:P/S模式也被称作观测者模式。此体系构造是一种股票市场交易监视系统。在下面描述中,系统需求被简朴呈现,而更多细节被故意忽视。股票交易市场监视系统需求阐明书 实时检测系统首要目的是实时收集,分析和发布事件(数据)为监视系统建议软件体系构造 建议软件体系构造基于两个不同体系构造模型,一种是ps模式另一种是资源库模式。分别在图4.图5中阐明。 图4 ,基于ps模式