体系结构的质量属.ppt

上传人:小飞机 文档编号:5226869 上传时间:2023-06-15 格式:PPT 页数:44 大小:829KB
返回 下载 相关 举报
体系结构的质量属.ppt_第1页
第1页 / 共44页
体系结构的质量属.ppt_第2页
第2页 / 共44页
体系结构的质量属.ppt_第3页
第3页 / 共44页
体系结构的质量属.ppt_第4页
第4页 / 共44页
体系结构的质量属.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《体系结构的质量属.ppt》由会员分享,可在线阅读,更多相关《体系结构的质量属.ppt(44页珍藏版)》请在三一办公上搜索。

1、,软件体系结构的质量属性,Quality Characteristics for Software Architecture,软件体系结构的质量属性2012/9/23,魏海芳 2012/9/23,即将探讨的问题概念与方法案例个人体会,内容,软件体系结构的质量属性2012/9/23,1 即将探讨的问题,软件体系结构究竟如何定义?虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。,注意工程中的构件的复用是因为工程师只想集中精力做设计中真正创新的部分,为何不可照搬建筑工程的Architecture来解决软件工程里的Architecture?软件工程的确在朝着

2、工程学科发展的一般模式靠拢,但是大规模的复用才刚刚开始尝试。,软件体系结构的质量属性2012/9/23,1 即将探讨的问题,更直观的表象:失效曲线来自于设计或生产的缺陷与时间的函数关系。,时间(年),时间(年),失效率,失效率,理想曲线,软件体系结构的质量属性2012/9/23,注意实际上更变的副作用从设计阶段就初现端倪。,1 即将探讨的问题,启发软件的质量问题暗示了设计缺陷或者从设计转化到机器代码的过程中产生的错误。关注前者(即软件体系结构),是否可以用高质量的设计来提高最终产品的质量?,软件体系结构的质量属性2012/9/23,工具,方法,过程,质量关注点,软件工程层次图,1 即将探讨的问

3、题,在设计阶段评估体系结构对于投资人:将赌注提前放在赢家对于用户:保证系统不偏离对于架构师:用一种好的方法验证经验,软件体系结构的质量属性2012/9/23,我们需要一种方法,以便让我们评估每个候选的体系结构,以确定哪种体系结构最适合解决问题。,2 概念与方法,软件体系结构的质量功能性需求是影响体系结构设计的核心,实际上大量的影响因素还包含在质量需求中。但是标准的OOA和OOD中,没有一个清晰的指导方法捕获这些需求,体系结构的设计也不是一个独立的过程,而是作为细化迭代的一个小块穿插在复杂的功能设计中,这就使得质量需求更加难以捕获了。,软件体系结构的质量属性2012/9/23,2 概念与方法,解

4、决问题的途径建立一种清晰的,可重用的框架来评估体系结构的质量,提炼出属性层和测量项,应用于评估当中。,软件体系结构的质量属性2012/9/23,采用分解的方法评估,2 概念与方法,体系结构的权衡分析方法Architecture Tradeoff Analysis Method(ATAM)收集场景引出需求、约束和环境描述列出所有的候选体系结构风格/模式单独考虑每个属性来评估质量属性针对特定的体系结构风格确定质量属性对各个候选项的敏感性使用第5步中的鉴定结果,软件体系结构的质量属性2012/9/23,注意上述步骤只是一次迭代,基于第5步和第6步的结果,某些候选体系结构被删除,其他可进一步细化再使用

5、ATAM,2 概念与方法,体系结构的权衡分析方法(ATAM)还是存在问题ATAM使用效用树来将质量特性划分主次,但是这个效用树如何达到?为什么只有一层?甚至连质量特性的定义也不是很清晰。http:/,软件体系结构的质量属性2012/9/23,还有其他改进的方法吗?,2 概念与方法,基于ISO9126-1建立体系结构质量模型模型结构和ATAM类似,基于ISO9126-1构建。,软件体系结构的质量属性2012/9/23,什么是ISO9126-1标准?Software Quality Characteristics更多资料可参阅:ISO/IEC 9126 in practice:What do we

6、 need to know?,2 概念与方法,关于ISO9126-1质量模型根据ISO9126-1,质量被描述为一组特性,用于评估其满足需求(显性和隐性)的能力。从用户角度:最终产品的质量从开发人员角度:不同开发人员提供的中间产品的质量从客户角度:市场的需求注意作为开发人员通常只考虑前两项,软件体系结构的质量属性2012/9/23,2 概念与方法,关于ISO9126-1质量模型ISO9126-1广泛用于产品质量评估当中,作为评估质量的一个State-of-art标准。ISO9126-1包含六个高度独立的质量特性,质量特性在开发的各个阶段作为外部确认和内部审查的目标,一旦获得可测量的实体,就按照

7、图中所示的过程精化。,软件体系结构的质量属性2012/9/23,特性-子特性-属性-度量 分解过程,2 概念与方法,ISO9126-1质量模型框架为了在开发中监控质量,外部的质量属性通常转换为中间产品的需求,这个过程实际上无章可循。所以提出ISO9126-1的标准,软件体系结构的质量属性2012/9/23,ISO9126-1质量模型的特性,2 概念与方法,ISO9126-1质量模型框架,软件体系结构的质量属性2012/9/23,ISO9126-1质量模型的细化,2 概念与方法,ISO9126-1质量模型框架应用于体系结构一个特定的体系结构可以视为一种高级组件,同样由连接器连接。按照ISO912

8、6-1标准中的划分,组件每个特性的质量属性都可以被度量。,软件体系结构的质量属性2012/9/23,注意随着体系结构的确定,进一步分解体系结构是否可以增强结构的质量?这个问题的回答是肯定的,但是不是我们要讨论的问题范围。,2 概念与方法,ISO9126-1质量模型框架应用于体系结构质量的度量按直觉评价,一般方法是列出产品的特性,然后用一个属性组来描述它。只要达到预期的值,则认为是一个达标的产品,至于达标的值的界定,一般包含在需求当中。下面进一步解释如何细化属性并将其用于体系结构,软件体系结构的质量属性2012/9/23,注意我们假定这些特性都是彼此独立的,否则就太过复杂,无法讨论下去了。,2

9、概念与方法,1 功能性适合性(Suitability)拥有符合特定任务需求的足够的功能。存在:任务已被详细说明正确:正确的解释任务的详细说明。从软件体系结构的层次上说明:系统的功能性必须被识别出来。在此种情况下,根据确定与否取值为1或0。由功能需求所获得的时序图必须被详细精化。在拥有一个体系结构说明书的情况下,特定的功能被分解成与构件有关的子功能,并且这些子功能合起来应满足系统的功能性需求。,软件体系结构的质量属性2012/9/23,2 概念与方法,软件体系结构的质量属性2012/9/23,2 概念与方法,1 功能性互操作性(Interoperability)在一个系统内或多个系统间相互作用的

10、能力。可替代性replaceability 兼容性compatibility从软件体系结构的层次上说明:识别与外部特定系统进行交互的中间件。根据中间件的存在与否决定属性值为1或者0。,软件体系结构的质量属性2012/9/23,2 概念与方法,1 功能性安全性(Security)防止未经授权访问程序或者数据的能力。从软件体系结构的层次上说明:应有一种机制或者设备(软件或硬件)来明显地完成这个任务。可以是组件(如中间件提供的一项服务)或集成在组件里的功能。根据机制或者设备的存在与否决定属性值为1或者0。,软件体系结构的质量属性2012/9/23,2 概念与方法,1 功能性依从性(Complianc

11、e)软件遵循有关标准、约定、法规或类似规定的能力。从软件体系结构的层次上说明:很笼统,无法直接应用到体系结构设计。根据要求的标准的应用与否决定属性值为1或者0。体系结构的依从性可以认为是对体系结构相关的约束的满足情况。,软件体系结构的质量属性2012/9/23,2 概念与方法,软件体系结构的质量属性2012/9/23,2 概念与方法,2 可靠性容错性(Tolerance)在软件发生故障或违反指定接口的情况下,软件产品维持规定的性能水平的能力。从软件体系结构的层次上说明:它意味着拥有某种机制或软件设备。它可以是一个构件或被集成到构件中,如异常处理以及冗余。根据这种机制或设备的出现与否定义其值为1

12、或者0。它可以被精确为一种属性,这种属性的值与机制或者设备相关。,软件体系结构的质量属性2012/9/23,2 概念与方法,2 可靠性可恢复性(Recoverability)1、重建规定的性能水平的能力。2、恢复受影响的数据的能力。3、恢复所需的时间。从软件体系结构的层次上说明:软件中存在一种机制或者软件设备,其独自成为构件或被集成在构件中,其功能是重建或恢复数据(冗余就是一个典型的例子)。如果这种机制存在,那么可恢复性就可被细化为一种和时间、代价相关的性能属性,每个支持此机制的组件都需计算出这样的属性。,软件体系结构的质量属性2012/9/23,2 概念与方法,3 易用性易理解性(Under

13、standability)是指软件产品使用户能理解软件产品是否合适以及如何能将软件用于特定的任务和使用环境的能力。易学习性(Learnability)软件产品使用户能学习它的能力。易操作性(Operability)软件产品使用户能操控和控制它的能力。GUI,软件体系结构的质量属性2012/9/23,注意从软件体系结构的层次上说明:它们独立于体系结构(体系结构对用户来说是透明的),在此不予论述。,2 概念与方法,软件体系结构的质量属性2012/9/23,2 概念与方法,4 效率资源利用(Resource utilization)在规定的条件下,软件产品执行其功能时,所使用的资源数量、类型及其使用

14、时间。复杂性(complexity)从软件体系结构的层次上说明:每个功能都可以测量这个属性,时间和空间与组件密切相关。,软件体系结构的质量属性2012/9/23,2 概念与方法,5 可维护性易分析性(Analyzability)软件产品可被诊断软件中的缺陷或失效原因,以及判定待修改部分的能力。易改变性(Changeability)软件产品使指定的修改可以被实现的能力。稳定性(Stability)软件产品避免软件避免由于软件修改而造成意外结果的能力。易测性(Testability)软件产品使已做修改能被确认的能力。,软件体系结构的质量属性2012/9/23,2 概念与方法,6 可移植性适应性(A

15、daptability)软件产品无需采用有别于为考虑该软件的目的而准备的活动或手段,就可以适应不同的指定的环境的能力。从软件体系结构的层次上说明:为适应而出现的机制,比如特定的类或者参数。度量根据机制的出现与否来决定其值为1或者0。,软件体系结构的质量属性2012/9/23,2 概念与方法,6 可移植性可安装性(Installability)软件产品在指定环境下可被安装的能力。从软件体系结构的层次上说明:安装机制的存在。这个子特性根据机制的出现与否来决定其值为1或者0.,软件体系结构的质量属性2012/9/23,2 概念与方法,6 可移植性可共存性(Co-existence)软件产品在公共环境

16、中同与其分享公共资源的其他独立软件共存的能力。从软件体系结构的层次上说明:为满足共存的设计的机制。这个子特性根据机制的出现与否来决定其值为1或者0.,软件体系结构的质量属性2012/9/23,2 概念与方法,6 可移植性可替代性(Replaceability)是指软件产品在环境相同、目的相同的情况下替代另一个指定软件产品的能力。从软件体系结构的层次上说明:这个属性用表格来列出每个组件可以被替代的候选项。,软件体系结构的质量属性2012/9/23,3 案例,通过案例分析来说明本模型的应用股票交易监控系统(Stock Exchange Monitoring System)该软件监视股票市场的变化并

17、向用户发送信息提示,只提取部分需求分析。部分需求表述该系统包含一个feed server,提供feed反馈给data server,feed中包含了股票变化的相关信息。Client分布在不同地理位置,全部依靠data server提供数据,当feed改变,data server就广播出去,系统的延迟取决于网络结构。系统要求安全性高,易用性强,跨平台,可信度高,并使用Internet和定制的浏览器。,软件体系结构的质量属性2012/9/23,3 案例,考虑使用的两种不同的体系结构-发布订阅模式Publisher/Subscriber(push model)用户订阅信息记录在CSDB中股票数据在D

18、B中,软件体系结构的质量属性2012/9/23,Client subscriptions DB,subscriber,publisher,DB,Feed receiver,Subscription,Send changed values,Browsers Clients,Send changed values,Send Feeds,Store,Antenna,基于发布订阅模型的体系结构,3 案例,考虑使用的两种不同的体系结构-资源库模式Repository客户请求在CIDB中股票数据在DB中,软件体系结构的质量属性2012/9/23,Client invoices DB,Data Server

19、,DB,Feed receiver,Request from client Acknowledgment,Response to client,Browsers Clients,response,Send Feeds,Store,Antenna,Request,基于资源库模型的体系结构,3 案例,比较两种不同的体系结构,软件体系结构的质量属性2012/9/23,3 案例,比较两种不同的体系结构,软件体系结构的质量属性2012/9/23,3 案例,比较两种不同的体系结构,软件体系结构的质量属性2012/9/23,3 案例,比较两种不同的体系结构,软件体系结构的质量属性2012/9/23,3 案例

20、,比较后的结论基于发布订阅模型的体系结构在安全性和时效性方面超越基于资源库的体系结构,而资源库模型在成熟度方面(具体表现在该架构所使用的组件)和资源利用强于发布订阅模型(具体表现在请求和响应机制)。更注重哪个质量?质量的评估结果最后要结合需求,再做出选择。,软件体系结构的质量属性2012/9/23,4 总结,比较软件体系结构,权衡优劣的过程建立在质量属性的规则说明之上步骤描述如下:分析主要功能需求和非功能需求,建立质量需求和质量目标。使用ISO9126质量模型建立软件体系结构质量评估框架。列出所有候选的体系结构。为候选的结构建立比对表。为质量需求和质量目标的特性排序,利用ISO9126来组织和指定质量的优先等级。根据5中的优先级分析表中列出的项。从候选架构中选择最优架构。要进一步进行更精细的分析,可以使用基于场景的分析方法,考虑和质量属性相关的问题,如5中描述的那样开始分析。,软件体系结构的质量属性2012/9/23,THANKS,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号