版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 912
6、6 in practice: What do we 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质量模型框架应用于体系结构
8、 一个特定的体系结构可以视为一种高级组件,同样由连接器连接。按照ISO9126-1标准中的划分,组件每个特性的质量属性都可以被度量,软件体系结构的质量属性 2012/9/23,注意 随着体系结构的确定,进一步分解体系结构是否可以增强结构的质量?这个问题的回答是肯定的,但是不是我们要讨论的问题范围,2 概念与方法,ISO9126-1质量模型框架应用于体系结构 质量的度量按直觉评价,一般方法是列出产品的特性,然后用一个属性组来描述它。 只要达到预期的值,则认为是一个达标的产品,至于达标的值的界定,一般包含在需求当中。 下面进一步解释如何细化属性并将其用于体系结构,软件体系结构的质量属性 2012/
9、9/23,注意 我们假定这些特性都是彼此独立的,否则就太过复杂,无法讨论下去了,2 概念与方法,1 功能性 适合性(Suitability) 拥有符合特定任务需求的足够的功能。 存在:任务已被详细说明 正确:正确的解释任务的详细说明。 从软件体系结构的层次上说明: 系统的功能性必须被识别出来。在此种情况下,根据确定与否取值为1或0。 由功能需求所获得的时序图必须被详细精化。在拥有一个体系结构说明书的情况下,特定的功能被分解成与构件有关的子功能,并且这些子功能合起来应满足系统的功能性需求,软件体系结构的质量属性 2012/9/23,2 概念与方法,软件体系结构的质量属性 2012/9/23,2
10、概念与方法,1 功能性 互操作性(Interoperability) 在一个系统内或多个系统间相互作用的能力。 可替代性replaceability 兼容性compatibility 从软件体系结构的层次上说明: 识别与外部特定系统进行交互的中间件。 根据中间件的存在与否决定属性值为1或者0,软件体系结构的质量属性 2012/9/23,2 概念与方法,1 功能性 安全性(Security) 防止未经授权访问程序或者数据的能力。 从软件体系结构的层次上说明: 应有一种机制或者设备(软件或硬件)来明显地完成这个任务。可以是组件(如中间件提供的一项服务)或集成在组件里的功能。 根据机制或者设备的存在
11、与否决定属性值为1或者0,软件体系结构的质量属性 2012/9/23,2 概念与方法,1 功能性 依从性(Compliance) 软件遵循有关标准、约定、法规或类似规定的能力。 从软件体系结构的层次上说明: 很笼统,无法直接应用到体系结构设计。 根据要求的标准的应用与否决定属性值为1或者0。 体系结构的依从性可以认为是对体系结构相关的约束的满足情况,软件体系结构的质量属性 2012/9/23,2 概念与方法,软件体系结构的质量属性 2012/9/23,2 概念与方法,2 可靠性 容错性(Tolerance) 在软件发生故障或违反指定接口的情况下,软件产品维持规定的性能水平的能力。 从软件体系结
12、构的层次上说明: 它意味着拥有某种机制或软件设备。它可以是一个构件或被集成到构件中,如异常处理以及冗余。 根据这种机制或设备的出现与否定义其值为1或者0。 它可以被精确为一种属性,这种属性的值与机制或者设备相关,软件体系结构的质量属性 2012/9/23,2 概念与方法,2 可靠性 可恢复性(Recoverability) 1、重建规定的性能水平的能力。2、恢复受影响的数据的能力。3、恢复所需的时间。 从软件体系结构的层次上说明: 软件中存在一种机制或者软件设备,其独自成为构件或被集成在构件中,其功能是重建或恢复数据(冗余就是一个典型的例子)。 如果这种机制存在,那么可恢复性就可被细化为一种和
13、时间、代价相关的性能属性,每个支持此机制的组件都需计算出这样的属性,软件体系结构的质量属性 2012/9/23,2 概念与方法,3 易用性 易理解性(Understandability) 是指软件产品使用户能理解软件产品是否合适以及如何能将软件用于特定的任务和使用环境的能力。 易学习性(Learnability) 软件产品使用户能学习它的能力。 易操作性(Operability) 软件产品使用户能操控和控制它的能力。 GUI,软件体系结构的质量属性 2012/9/23,注意 从软件体系结构的层次上说明:它们独立于体系结构(体系结构对用户来说是透明的),在此不予论述,2 概念与方法,软件体系结构
14、的质量属性 2012/9/23,2 概念与方法,4 效率 资源利用 (Resource utilization) 在规定的条件下,软件产品执行其功能时,所使用的资源数量、类型及其使用时间。 复杂性(complexity) 从软件体系结构的层次上说明: 每个功能都可以测量这个属性,时间和空间与组件密切相关,软件体系结构的质量属性 2012/9/23,2 概念与方法,5 可维护性 易分析性(Analyzability) 软件产品可被诊断软件中的缺陷或失效原因,以及判定待修改部分的能力。 易改变性(Changeability) 软件产品使指定的修改可以被实现的能力。 稳定性(Stability) 软
15、件产品避免软件避免由于软件修改而造成意外结果的能力。 易测性(Testability) 软件产品使已做修改能被确认的能力,软件体系结构的质量属性 2012/9/23,2 概念与方法,6 可移植性 适应性(Adaptability) 软件产品无需采用有别于为考虑该软件的目的而准备的活动或手段,就可以适应不同的指定的环境的能力。 从软件体系结构的层次上说明: 为适应而出现的机制,比如特定的类或者参数。 度量根据机制的出现与否来决定其值为1或者0,软件体系结构的质量属性 2012/9/23,2 概念与方法,6 可移植性 可安装性(Installability) 软件产品在指定环境下可被安装的能力。
16、从软件体系结构的层次上说明: 安装机制的存在。 这个子特性根据机制的出现与否来决定其值为1或者0,软件体系结构的质量属性 2012/9/23,2 概念与方法,6 可移植性 可共存性(Co-existence) 软件产品在公共环境中同与其分享公共资源的其他独立软件共存的能力。 从软件体系结构的层次上说明: 为满足共存的设计的机制。 这个子特性根据机制的出现与否来决定其值为1或者0,软件体系结构的质量属性 2012/9/23,2 概念与方法,6 可移植性 可替代性(Replaceability) 是指软件产品在环境相同、目的相同的情况下替代另一个指定软件产品的能力。 从软件体系结构的层次上说明:
17、这个属性用表格来列出每个组件可以被替代的候选项,软件体系结构的质量属性 2012/9/23,3 案例,通过案例分析来说明本模型的应用 股票交易监控系统(Stock Exchange Monitoring System) 该软件监视股票市场的变化并向用户发送信息提示,只提取部分需求分析。 部分需求表述 该系统包含一个feed server,提供feed反馈给data server,feed中包含了股票变化的相关信息。 Client分布在不同地理位置,全部依靠data server提供数据,当feed改变,data server就广播出去,系统的延迟取决于网络结构。 系统要求安全性高,易用性强,跨
18、平台,可信度高,并使用Internet和定制的浏览器,软件体系结构的质量属性 2012/9/23,3 案例,考虑使用的两种不同的体系结构 -发布订阅模式Publisher/Subscriber(push model) 用户订阅信息记录在CSDB中 股票数据在DB中,软件体系结构的质量属性 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,DB,Feed receiver,Request from client Acknowledgment,Response to client,Browsers Clients,response,Send Feeds,S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度出租车行业节能减排技术创新合同4篇
- 二零二五年度充电桩储能系统设计与建设合同3篇
- 2025秀屿区文印中心企业宣传册制作承包经营合同3篇
- 2025版外墙瓷砖购销及质量检测认证合同3篇
- 二零二五年度家暴受害者离婚财产合理分配与子女权益保护合同
- 临时土地使用租赁合同(2024版)
- 2025年度智能化煤炭采购合同书4篇
- 二零二五年度农民工社会保险委托代缴服务协议
- 二零二五年度变压器安装与电网运行维护合同6篇
- 2025年度美容院连锁加盟经营管理合同
- 智能衣服方案
- 李克勤红日标准粤语注音歌词
- 教科版六年级下册科学第一单元《小小工程师》教材分析及全部教案(定稿;共7课时)
- 中药材产地加工技术规程 第1部分:黄草乌
- 危险化学品经营单位安全生产考试题库
- 案例分析:美国纽约高楼防火设计课件
- 老客户维护方案
- 移动商务内容运营(吴洪贵)任务一 用户定位与选题
- 2021年高考化学真题和模拟题分类汇编专题20工业流程题含解析
- 工作证明模板下载免费
- (完整word)长沙胡博士工作室公益发布新加坡SM2考试物理全真模拟试卷(附答案解析)
评论
0/150
提交评论