软件构件与体系结构原理方法与技术-软件体系结构评估_第1页
软件构件与体系结构原理方法与技术-软件体系结构评估_第2页
软件构件与体系结构原理方法与技术-软件体系结构评估_第3页
软件构件与体系结构原理方法与技术-软件体系结构评估_第4页
软件构件与体系结构原理方法与技术-软件体系结构评估_第5页
已阅读5页,还剩148页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Mail:wyh_925@163.com12026/5/102:46软件体系结构Part7:软件体系结构评估Part7:软件体系结构评估P7-1、软件的属性P7-2、SA评估组织P7-3、SA评估方法Part7:软件体系结构评估P7-1-1、软件的功能属性P7-1-2、软件的质量属性P7-1、软件的属性Mail:wyh_925@163.com42026/5/102:46P7-1、软件的属性P7-1-1、软件的功能属性—

概念功能属性是系统能够完成所期望工作的能力在开发过程中,功能要求是惟一首先要考虑的功能属性与质量属性是正交的,因为功能属性并不能规定安全性、性能、可用性和易用性的等级功能在很大程度上是独立于结构的。实际上,如果功能是系统的惟一需求的话,整个系统是一个根本没有内部结构的单一模块功能属性所关心的是:它如何与质量属性交互,以及如何限制质量属性的当质量属性很重要时,SA会限制各种功能的分配Mail:wyh_925@163.com52026/5/102:46P7-1、软件的属性P7-1-1、软件的功能属性—

基于场景的功能捕捉利用场景定义UseCase(获取功能属性):对于网上书店,顾客购买一件商品过程的自然语言描述如下:顾客浏览查询商品分类目录,找出所需要的商品;顾客决定购买,给出自己的信用卡信息和送货地址;商店检查信息卡的有效性,并确定发货时间,发出发货通知;同时商店发出确认成交的电子邮件给顾客。购买商品UseCase列表描述Mail:wyh_925@163.com62026/5/102:46P7-1、软件的属性P7-1-1、软件的功能属性—

基于场景的功能捕捉购买商品:

(a)顾客浏览查询商品分类目录,找出所需要的商品;

(b)顾客准备结算;

(c)顾客填写购货信息(产品信息、数量,送货地址、日期等);

(d)系统显示价格和应付款项;

(e)顾客填写信用卡信;

(f)系统检查信息卡的有效性,确认交易成功;(异常处理)(g)系统确认发货时间,发出发货通知;

(h)系统确认成交的电子邮件给顾客。列表描述信用卡有效性检查失败:则允许顾客重新输入信用卡信息,并重复(g)、(h)成功场景(Scenario)检查失败的场景两场景组成一个UseCaseMail:wyh_925@163.com72026/5/102:46P7-1、软件的属性P7-1-1、软件的功能属性—

基于场景的功能捕捉描述的特点:

(a)一个UseCase只描述一个活动者使用一项单一的系统功能的情况;

(b)描述了活动者与系统在交互过程中双方所做的事情;

(c)清楚地描述了活动者与系统双方的对话过程;

(d)只描述做什么,不描述怎么做;UseCase

是对一个活动者使用系统的一项功能或服务时,与系统所进行的交互过程的一段文字描述序列。场景可以非常自然地对系统的功能(属性)进行捕捉!Part7:软件体系结构评估P7-1-1、软件的功能属性P7-1-2、软件的质量属性P7-1、软件的属性Mail:wyh_925@163.com92026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性概述质量属性场景质量属性基于SA的实现策略实现策略与SA模式的关系Mail:wyh_925@163.com102026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

概述商业目的决定了SA必须满足的一些质量性质重新设计系统往往不需要改变功能,而是为了满足某些质量属性没有任何一个质量属性完全依赖于设计、实现和部署的软件结构确定了SA对质量属性的支持,但不是惟一的。如:即使理想的SA,但可读性很差的代码也会使系统难于修改系统的性能:是一个既依赖于、又不完全依赖于SA的质量属性。如:性能受构件间通讯的数据量、为每个构件所分配的功能、分配共享资源的方式等这些SA相关方面的影响;也受所选择实现功能的算法、算法的编码方式等非SA因素的影响质量属性的实现不能以孤立的方式实现。任何一个质量属性的实现都会对其它的质量属性带来积极或消极的影响Mail:wyh_925@163.com112026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性场景描述模板质量属性场景的6个组成部分刺激源制品环境响应度量刺激响应Mail:wyh_925@163.com122026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性场景描述模板刺激源:生成刺激的实体(人、系统或其它)刺激:当刺激到达系统时需要考虑的条件环境:刺激在某些条件内发生制品:被刺激的事物。可能是整个系统或系统的一部分响应:刺激到达时所采取的行动响应度量:当响应发生时,应该能够以某种方式进行度量,以便对需求进行测试,并明确质量属性需求质量属性场景的6个组成部分:Mail:wyh_925@163.com132026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性场景在质量属性需求中扮演的角色与用况(由场景构成)在功能需求中扮演的角色相同常见的6个质量属性:①可用性②可修改性③性能④安全性⑤可测试性⑥易用性Mail:wyh_925@163.com142026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性①可用性可用性与系统故障及其后果相关。可表示为:可用性的一般场景的可能取值刺激源制品环境响应度量刺激响应内部、外部(错误)忽略、崩溃、时间(太早、太迟)、响应(用不正确的值)修复时间、可用性、可获得/降级的间隔时间记录(故障)、通知(用户或系统)、禁止、继续(正常/降级)、不可用(修复期间)正常、降级操作极高可用性的资源:进程、存储、处理器、通讯Mail:wyh_925@163.com152026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性①可用性可用性场景样例:“在正常操作期间,进程收到了一个未曾预料到的消息。该进程通知操作人员收到了这一消息,并继续操作(没有停机)”刺激源制品环境响应度量刺激响应系统外部未曾预料到的消息没有停机通知操作人员继续操作正常操作进程Mail:wyh_925@163.com162026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性①可用性如何检测系统故障系统故障发生的频率出现故障时会发生什么情况错误不体现出来时不能成为故障允许系统有多长时间非正常运行什么时候可以安全地出现故障如何防止故障的发生发生故障时要求进行哪些通知可用性所关注的方面包括:Mail:wyh_925@163.com172026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性②可修改性可修改性一般场景的可能取值刺激源制品环境响应度量刺激响应开发人员、系统管理人员、最终用户希望增加/删除/修改/改变功能、质量属性、容量根据所影响的元素的数量度量的成本、努力、资金;该修改对其它功能或质量属性所造成影响的程度查找SA中修改的位置,进行修改且不会影响其它功能,测试所做修改,部署所做修改在设计、构建、编译、运行时系统用户界面、平台、环境、与目标系统交互的系统可修改性是有关变更的成本问题。它关注修改什么(制品)和何时以及谁来进行更改(环境)Mail:wyh_925@163.com182026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性②可修改性可修改性场景样例:“开发人员希望改变用户界面,以使屏幕背景变为兰色。这需要在设计时改变代码。需要在3小时内改变代码,并对修改后的代码进行测试,行为中将不会出现副作用的影响”刺激源制品环境响应度量刺激响应开发人员希望改变用户代码在3小时内改变不产生副作用设计时代码Mail:wyh_925@163.com192026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性③性能性能的一般场景的可能取值刺激源制品环境响应度量刺激响应大量的独立源中的一个,可能来自系统内部定期事件到达;随机事件到达;偶然事件到达等待事件、期限、吞吐量、抖动(变化)、缺失率与数据丢失(太忙而不能处理)处理刺激;改变服务级别正常模式;超载模式系统性能是与时间有关,基本上与事件发生时,系统在多长时间内作出响应有关。事件(中断、消息、用户请求或时间已到)发生时,系统必须对其作出响应Mail:wyh_925@163.com202026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性③性能性能场景样例:用户随机启动了在正常操作下每分钟1000次的交易,处理这些交易的平均等待时间为2秒刺激源制品环境响应度量刺激响应用户的集合随机启动交易平均等待时间为2秒交易被处理在正常操作下系统Mail:wyh_925@163.com212026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性③性能

在软件工程发展的大部分时间内,性能一直是促使系统SA发展的重要驱动力。它也经常影响其它质量属性的实现。随着硬件性价比的急剧下降和软件开发成本的提高,其它质量属性的地位已经与性能这一属性不相上下了!Mail:wyh_925@163.com222026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性④安全性安全性是衡量系统向合法用户提供服务的同时,阻止非授权使用的能力。安全性一般场景的可能取值刺激源制品环境响应度量刺激响应正确识别、非正确识别或身份未知的个人或系统(来自内或外部);经过了授权/未经授权而访问了有限/大量的资源试图显示数据、改变/删除数据、访问系统服务、降低系统服务的可用性用成功的概率表示、避免安全防范措施所需要的时间/努力/资源;检测到攻击的可能性;确定攻击或访问/修改数据和/或服务的个人的可能性;在拒绝服务攻击的情况下仍然可以获得服务的百分比;恢复数据服务;被破坏的数据/服务和/或被拒绝的合法访问的范围对用户进行身份验证;隐藏用户身份;阻止/允许对数据和/或服务的访问;授权或收回对数据和/或服务的许可;在线/离线、联网/断网、连接有防火墙/直接连接到网络系统服务,系统中断的数据根据身份记录访问/修改或试图访问/修改数据或服务;以一种不可读的格式存储数据;识别无法解释的对服务的高需求;通知用户或另外一个系统并限制服务的可用性Mail:wyh_925@163.com232026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性④安全性安全性场景样例:“一个经过身份验证的个人,试图从外部站点修改系统数据;系统维持了一个审核跟踪,并在一天内恢复了正确的数据”刺激源制品环境响应度量刺激响应通过了身份验证的个人试图修改信息在一天内恢复校正数据在正常操作下系统中的数据系统保持审核跟踪Mail:wyh_925@163.com242026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性⑤可测试性可测试性是经过测试揭示软件缺陷的容易程度(通常是基于运行的测试)可测试性的一般场景的可能取值刺激源制品环境响应度量刺激响应单元开发人员;增量集成人员,系统验证人员,客户验收测试人员,系统用户已完成的分析、构架、设计、类和子系统集成;所交付的系统已执行的可测试语句的百分比;如果存在缺陷出现故障的概率;执行测试的时间;测试中最长依赖链的长度;准备测试环境的时间设计、开发、编译或部署时设计过程,一段代码或完整的应用提供对状态值的访问、提供所计算的值、准备测试环境Mail:wyh_925@163.com252026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性⑤可测试性可测试性场景样例:“单元测试人员在一个已完成的系统构件上执行单元测试,该构件为控制其行为和观察其输出提供了一个接口;在3小时内测试了85%的路径”刺激源制品环境响应度量刺激响应单元测试人员执行单元测试在3小时内测试了85%的路径在构件完成时系统的构件构件具有控制行为的接口,并且构件的输出是可观察的Mail:wyh_925@163.com262026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性⑥易用性易用性关注的是:对用户来说完成某个期望任务的容易程度和系统所提供的用户支持的种类。易用性一般场景的可能取值刺激源制品环境响应度量刺激响应最终用户想要学习的系统特性、有效使用系统、使错误的影响最低、系统适应用户需求、对系统满意任务时间、错误数量、解决问题数量、用户满意度、用户知识的获取、成功操作在总操作中的比例、损失的时间/丢失的数据量在运行时或配置时系统系统提供一个或多个响应来支持“学习系统特性”:帮助系统与环境联系紧密;界面为用户所熟悉;在不熟悉的环境下界面是可以使用的。等(参备注)Mail:wyh_925@163.com272026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

质量属性⑥易用性易用性场景样例:“想把错误的影响降到最低的用户,希望在运行时取消用户的操作,取消在1秒内发生”刺激源制品环境响应度量刺激响应用户使错误的影响最低取消在1秒内完成运行时系统希望取消当前操作Mail:wyh_925@163.com282026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—质量属性⑦其它质量属性互操作性:刺激可能是与另外一个系统进行互操作的请求;响应可能是支持互操作的一个新接口或一组接口;响应度量可以是时间方面的困难性、要修改接口的数量,等等。可扩充性:是通过修改系统容量来捕获的。可移植性:是通过可修改性来体现的。商业质量属性:上市时间、成本收益、所希望系统的生命期的长短、目标市场、推出计划、与老系统集成等---往往由以上的直接质量属性来体现。Mail:wyh_925@163.com292026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—质量属性⑦其它质量属性SA质量属性:概念完整性:在各个层次上统一系统设计的根本指导思想正确性和完整性:是SA满足系统的各种需求及其运行时的资源要求的必备条件可构建性:保证由指定的开发小组在规定的时间内及时开发系统,并允许在开发过程中做某些更改的SA属性Mail:wyh_925@163.com302026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—场景总结为什么采用这种简单而中庸的机制(场景):场景创建和理解比较简单场景创建、理解和使用的成本低廉场景的生成和使用不需要任何的培训场景表达系统的各种需求非常有效场景有:将开发时间模糊的质量属性转化为具体的形式的作用场景能帮助我们理解诸如性能或可用性这样的运行时间的质量属性Mail:wyh_925@163.com312026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—场景总结场景的分类(根据ATAM):用况场景:描述了用户期望的与已开发完成的、正在运行的系统的交互生长场景:对系统更改的表述探察场景:预计将会压垮系统的极端更改。目的是暴露出当前设计的极限或边界,系统很少针对这种类型的更改而设计,但将来可能成为真实的需求,所以要搞清楚这种更改的影响

在进行SA评估时,一般要求精确地得出具体的质量目标,并作为判断SA优劣的标准。而场景这种表达提供了良好机制。Mail:wyh_925@163.com322026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:可用性错误检测恢复:检测与修复重新引入预防命令/响应心跳异常表决主动冗余被动冗余备件Shadow状态再同步回滚从服务中删除事务进程监视器错误所屏蔽的错误或所做的修复GOMail:wyh_925@163.com332026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:命令/响应:一个构件发出一个命令,并希望在预定的时间内收到一个来自审查构件的响应。用在共同负责某项任务的一组构件内。心跳(deadman记时器):一个构件定期发出一个心跳消息,另一个构件收听该消息。如果心跳失败,则假设最初的构件失败,并通知错误纠正构件。异常:识别错误的一种方法就是遇到异常Mail:wyh_925@163.com342026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:可用性错误检测恢复:检测与修复重新引入预防命令/响应心跳异常表决主动冗余被动冗余备件Shadow状态再同步回滚从服务中删除事务进程监视器错误所屏蔽的错误或所做的修复GOMail:wyh_925@163.com352026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:表决:运行在冗余处理器上的每个进程都具有相等的输入,它们计算并发表给表决者一个简单的输出值。如果表决者检测到单个处理器的异常行为,就终止这一行为。主动冗余(热启动):所有的冗余构件都以并行的方式对事件作出响应。因此,它们都处于相同的状态。被动冗余:一个构件(主要的)对事件作出响应,并通知其它构件(备用的)必须进行状态更新。当错误发生时,在继续提供服务前,系统必须首先确保备用状态是最新的。备件:是计算平台配置用于更换各种不同的故障构件。Mail:wyh_925@163.com362026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:可用性错误检测恢复:检测与修复重新引入预防命令/响应心跳异常表决主动冗余被动冗余备件Shadow状态再同步回滚从服务中删除事务进程监视器错误所屏蔽的错误或所做的修复GOMail:wyh_925@163.com372026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:Shadow操作:出现故障的构件在短时间内以“Shadow模式”运行,以确保在恢复该构件前,模仿工作构件的行为。状态再同步:主动和被动冗余要求所恢复的构件在重新提供服务之前更新其状态。检查点/回滚:检查点就是记录所创建的一致状态。在系统出现故障,可检查到上一个一致状态检查点或发生事务的日志来恢复系统。Mail:wyh_925@163.com382026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:可用性错误检测恢复:检测与修复重新引入预防命令/响应心跳异常表决主动冗余被动冗余备件Shadow状态再同步回滚从服务中删除事务进程监视器错误所屏蔽的错误或所做的修复GOMail:wyh_925@163.com392026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略①可用性:从服务中删除:从操作中删除系统的一个构件,以执行某些活动来防止预期发生的故障。事务:就是绑定几个有序的步骤,以便能够立即撤消整个绑定。进程监视:一旦检测到进程中存在错误,监视进程就可以删除非执行进程,并为该进程创建一个新的实例。Mail:wyh_925@163.com402026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略②可修改性:可修改性局部化变更防止连锁反应推迟绑定时间语义一致性预期期望的变更泛化模块限制可能的选择抽象通用服务隐藏信息维持现有接口限制通讯路径使用仲裁者运行时注册配置文件多态构件变更遵守已定义的协议变更到达在时间和预算内进行、测试和部署的变更GOMail:wyh_925@163.com412026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略②可修改性:语义的一致性:模块中责任之间的关系。目标是确保所有这些责任都能系统工作,不需要过多的依赖于其它的模块。预期期望的变更:在实际中不可能预测所有的变更,所以通常与语义一致性结合使用。泛化模块:使模块更通用,能够使它根据输入计算更广泛的功能。限制可能的选择:将降低修改所造成的影响。抽象通用服务:对通用服务的修改只可以进行一次,而不需要在使用这些服务的模块中进行修改。Mail:wyh_925@163.com422026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略②可修改性:可修改性局部化变更防止连锁反应推迟绑定时间语义一致性预期期望的变更泛化模块限制可能的选择抽象通用服务隐藏信息维持现有接口限制通讯路径使用仲裁者运行时注册配置文件多态构件变更遵守已定义的协议变更到达在时间和预算内进行、测试和部署的变更GOMail:wyh_925@163.com432026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略②可修改性:隐藏信息:分解共有和私有,其目的是将变更隔离在一个模块内,防止变更扩散到其它模块。维持现有接口:如果B依赖于A的一个接口名字或签名,则维持该接口及其语法能够使B把持一致。限制通讯路径:限制与一个规定的模块共享数据的模块。使用仲裁者:如果B对A具有非语义的任何类型的依赖,那么,在A和B之间插入一个仲裁者,以管理与该依赖相关的活动。Mail:wyh_925@163.com442026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略②可修改性:可修改性局部化变更防止连锁反应推迟绑定时间语义一致性预期期望的变更泛化模块限制可能的选择抽象通用服务隐藏信息维持现有接口限制通讯路径使用仲裁者运行时注册配置文件多态构件变更遵守已定义的协议变更到达在时间和预算内进行、测试和部署的变更GOMail:wyh_925@163.com452026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略②可修改性:运行时注册:支持即插即用操作。配置文件:在启动时设置参数。多态:允许方法调用的后期绑定。构件变更:允许载入时间绑定。遵守已定义的协议:允许独立进程的运行时绑定。Mail:wyh_925@163.com462026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略③性能:性能资源需求资源管理资源仲裁提高计算效率减少计算开销管理事件率控制采样频率引入并发维持多个副本增加可用资源调度策略事件到达在时间限制内生成的响应GOMail:wyh_925@163.com472026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略③性能:提高计算效率:改进在关键地方所使用的算法将减少等待时间。减少计算开销:如果没有资源请求则可以减少处理需求。管理事件率,控制采样频率:都属于通过减少所处理的事件的数量从而降低等待的时间限制执行时间、限制队列大小:可以减少或管理需求。Mail:wyh_925@163.com482026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略③性能:性能资源需求资源管理资源仲裁提高计算效率减少计算开销管理事件率控制采样频率引入并发维持多个副本增加可用资源调度策略事件到达在时间限制内生成的响应GOMail:wyh_925@163.com492026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略③性能:引入并发:如果能并发处理需求,则可以减少闭锁时间。维持多个副本:包括数据或计算的多个副本,如高速缓冲技术等。增加可用资源:速度更快的处理器、额外的处理器、额外的内存以及速度更快的网络等都可以减少等待时间。Mail:wyh_925@163.com502026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略③性能:调度策略:如先进先出、固定优先级的调度策略、动态优先级调度(包括轮转、时限时间最早优先)、静态调度(即循环执行调度)。性能资源需求资源管理资源仲裁提高计算效率减少计算开销管理事件率控制采样频率引入并发维持多个副本增加可用资源调度策略事件到达在时间限制内生成的响应Mail:wyh_925@163.com512026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略④安全性:安全能抗击攻击检测攻击从攻击中恢复对用户进行身份验证对用户进行授权维护数据的机密性维护完整性限制暴露的信息限制访问入侵检测审计追踪攻击系统检测、抗击或从攻击中恢复GOMail:wyh_925@163.com522026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略④安全性:对用户进行身份验证:确保访问它的用户或计算机是它所申明的。对用户进行授权:能保证经过身份验证的用户有权访问或修改数据或服务。维护数据的机密性:对数据进行保护,以防止未经授权的访问。维护完整性:如期提供数据。限制暴露的信息:设计师可以设计服务在主机上的分配,以便只能在每个主机上获得受限的服务限制访问:防火墙根据消息源或目的地的端口来限制访问。Mail:wyh_925@163.com532026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略④安全性:入侵检测:通常是通过对数据包进行过滤以便进行比较来完成。入侵检测器包括:检测攻击的传感器,进行传感器融合的管理器,存储事件的数据库,用于离线报告和分析的工具和一个控制台。安全能抗击攻击检测攻击从攻击中恢复对用户进行身份验证对用户进行授权维护数据的机密性维护完整性限制暴露的信息限制访问入侵检测审计追踪攻击系统检测、抗击或从攻击中恢复Mail:wyh_925@163.com542026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略④安全性:审计追踪:包括与状态相关的恢复和识别攻击者两个方面。其中前者与“可用性”中的“恢复”策略相同。安全能抗击攻击检测攻击从攻击中恢复对用户进行身份验证对用户进行授权维护数据的机密性维护完整性限制暴露的信息限制访问入侵检测审计追踪攻击系统检测、抗击或从攻击中恢复Mail:wyh_925@163.com552026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略⑤可测试性:可测试能管理输入/出内部监视记录/回放将接口与实现分离特化访问路线/接口内部监视器一个增量开发完成检测出错误GOMail:wyh_925@163.com562026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略⑤可测试性:记录/回放:捕获跨接口的信息,并将其作为测试专用软件的输入。将接口与实现分离:实现与接口分离,以便支持各种测试的目的。特化访问路线/接口:它允许通过测试工具并独立于其正常操作,来捕获或指定构件的变量值。Mail:wyh_925@163.com572026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略⑤可测试性:内部监视:根据构件的内部状态来支持测试过程。构件可以维持状态、性能负载、容量、安全性、或其它通过接口访问的信息。通过监视状态被激活来记录事件,进而达到测试的目的。随着监视的关闭,测试必须重新开始。可测试能管理输入/出内部监视记录/回放将接口与实现分离特化访问路线/接口内部监视器一个增量开发完成检测出错误Mail:wyh_925@163.com582026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略⑥易用性:分离用户接口:可以使修改的影响局部化。支持用户接口修改的SA模式有:MVC模式、表示-抽象-控制模式等。易用能分离用户接口支持用户主动用户模型取消撤消聚合用户模型系统模型任务模型用户请求为用户提供适当的反馈和协助Mail:wyh_925@163.com592026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略⑥易用性:人机交互的操作分为:用户主动、系统主动和混合主动。如:当取消命令时用户发出取消,则为用户主动,且系统作出响应;当在取消期间,系统可以提供一个进展指示器,则为系统主动。整个取消展示了混合主动。易用能分离用户接口支持用户主动用户模型取消撤消聚合用户模型系统模型任务模型用户请求为用户提供适当的反馈和协助Mail:wyh_925@163.com602026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略⑥易用性:易用能分离用户接口支持用户主动用户模型取消撤消聚合用户模型系统模型任务模型用户请求为用户提供适当的反馈和协助GOMail:wyh_925@163.com612026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

基于SA的实现策略⑥易用性:用户模型:模型维持的是用户的信息。确定了用户对该系统的了解,用户在期望的响应时间方面的行为等。系统模型:模型维持的是系统的信息。确定了期望的系统行为,以便为用户提供适当的反馈。任务模型:模型维持的是任务的信息。确定了上下文,以便系统了解用户试图做什么,并提供各种协助。Mail:wyh_925@163.com622026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

实现策略与SA模式的关系

任何模式可实现若干个质量属性的实现策略;

质量属性实现策略是模式的构造块。Mail:wyh_925@163.com632026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

总结质量属性定义描述可用性系统能正常运行的时间比经常用两次故障之间的时间长度、或出现故障时系统能恢复正常的速度来表示可修改性能快速的以较高的性价比对系统运行更改的能力通常以某些更改为基准,通过考察这些更改的代价来衡量性能系统的响应能力常用单位时间段内处理事件的的个数或完成某个事务处理所需的时间来表示。Mail:wyh_925@163.com642026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

总结(续)质量属性定义描述安全性系统向合法用户提供服务的同时,能阻止非法授权使用的企图或拒绝服务的能力安全性是根据系统受到的安全威胁的类型来分类的可测试性是经过测试揭示软件缺陷的容易程度可测试语句的百分比;出现故障的概率;执行测试的时间等可靠性系统能够长时间运行的能力用平均无故障时间来衡量Mail:wyh_925@163.com652026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

总结(续)质量属性定义描述可移植性系统能在不同计算机环境下运行的能力如果移植到新的系统需要做些更改,则可移植性就是一种特殊的可修改性功能性系统完成所期望工作的能力一项任务的完成需要系统中许多或大多数构件的相互协作可变性SA经过扩充或更改而成为新SA的能力新的SA应该符合预先的规划,可变机制可能是运行时、编译时、构建时或编码时的机制Mail:wyh_925@163.com662026/5/102:46P7-1、软件的属性P7-1-2、软件的质量属性—

总结(续)质量属性定义描述可子集性支持子系统生成的能力是可变性的一个特例。可子集性能促进渐进增量式的开发概念完整性能在各个层次上将系统设计统一起来的根本思想应该以类似的方式完成类似的工作。概念完整性的SA应该表现出较好的一致性,其数据和控制机制的数量比较少、所用的模式也不多Part7:软件体系结构评估P7-1、软件的属性P7-2、SA评估组织P7-3、SA评估方法Mail:wyh_925@163.com682026/5/102:46P7-2、SA评估组织—概述软件体系结构分析与评估体系结构分析:是指分解系统,并分析其组成要素、要素之间的联系及其复杂性。体系结构评估:是指对系统的某些值得关心的属性进行评价和判断。评估的结果可用于确认潜在的风险,并检查设计阶段所得到的系统的质量需求。Mail:wyh_925@163.com692026/5/102:46P7-2、SA评估组织—概述评估的原因(1)质量问题是当今软件系统开发的一个主要问题1972年,Parnas使用模块化和信息隐藏作为一种高层系统分解的手段来改善系统的灵活性和可理解性。1974年,Stevens等引入耦合和聚集的概念来评估不同程序分解。目前,学术界与工业界逐渐意识到:软件体系结构与软件的质量属性有密切的关系。Mail:wyh_925@163.com702026/5/102:46P7-2、SA评估组织—概述评估的原因(2)问题发现地越早,解决问题的代价越小SA是设计阶段的产物,对系统或项目的开发有深远的影响SA决定着项目的结构:配置、进度与预算、性能指标、开发小组结构、文档组织、测试和维护等,都是围绕着SA展开的。Mail:wyh_925@163.com712026/5/102:46P7-2、SA评估组织—概述评估的原因(3)软件开发人员对SA实际上无法测试场景可以表达软件的功能和质量属性,为SA“测试”带来可能性。Mail:wyh_925@163.com722026/5/102:46P7-2、SA评估组织—概述评估的益处特别是在预测质量属性方面,相当于提前对软件进行了“测试”;可以增加交流,提高涉众对SA的认识,起到重要的交际效益;督促SA设计师更能详细编写SA文档,迫使提高SA文档的质量,对SA作出更为清晰的解释;为相互冲突的目标划分优先级;发现项目之间交叉复用的可能性;提高SA实践的水平;有益于该组织未来所从事的项目开发。Mail:wyh_925@163.com732026/5/102:46P7-2、SA评估组织—概述评估的时机一般选择在:明确了SA之后、具体实现之前。如果是重复使用某个规定的或渐增的SA,则可在最近一次周期中进行SA评估。实际上,SA评估可在任何时期进行:早期:不必等到SA的内容完全确定。即对已经做出的或正在考虑的决策都可以进行评估。但是,一般不会这样做,即使做,也是发现性评审。后期:在SA实现已经完成时的评审。一般用于评审老系统。应该在开发小组开始制定依赖于SA的决策,且修改这些决策的代价超过SA评估的代价时,实施SA评估。Mail:wyh_925@163.com742026/5/102:46P7-2、SA评估组织—概述体系结构层次评估技术在体系结构层次,主要有两类基本的评估技术:质询(定性)和度量(定量)质询技术:针对体系结构质量属性的定性问题。包括基于场景的、基于检查表的和基于问卷的。度量技术:针对体系结构的定量度量,用于回答特定的问题,处理特定的软件属性。度量技术包括度量标准、仿真、原型和经验等方法质询技术比度量技术应用更为广泛。Mail:wyh_925@163.com752026/5/102:46P7-2、SA评估组织—概述评估方法基于内聚和耦合的概念的方法,来对软件质量属性的预测度量使用更为抽象的评估方法,来研究体系结构如何满足领域功能属性和非功能属性。基于属性模型的方法基于场景的方法(SAAM,ATAM,ARID等)Mail:wyh_925@163.com762026/5/102:46P7-2、SA评估组织—概述为什么要使用场景来描述系统的质量属性

尽管人们希望通过评估体系结构,决定以此为基础的系统是否满足特定的属性或质量,但由于这些抽象的质量属性相当模糊,并且缺少评估体系结构的支持,因此分析起来很麻烦,也就是说软件体系结构的质量度量必须在具体的执行或开发环境下进行才有意义。因此采用场景来表达体系结构的上下文相关性。Mail:wyh_925@163.com772026/5/102:46P7-2、SA评估组织—概述体系结构描述多视图体系结构垂直属性的分类抽象级别动态机制聚集级别功能分解概念详细设计实现逻辑并发硬件文件和目录群体可变性可维护性可修改性可重用性可移动性可用性容量带宽性能可靠性安全性管理控制相互补充Mail:wyh_925@163.com782026/5/102:46P7-2、SA评估组织—概述描述方法目标该方法的特定目标是什么质量属性对多少个、哪些质量属性进行评估SA描述关系哪些SA的视图评估技术方法中包含哪些技术参与者评估过程涉及哪些系统的参与者方法的活动以何种顺序、何种方式、使用评估技术,完成该方法的特定目标;该方法描述了什么结果方法验证是否在实际中得到了验证Mail:wyh_925@163.com792026/5/102:46P7-2、SA评估组织—参与者评估小组:评估的实施者和分析者角色(8)职责理想的人员素质评估小组负责人准备评估;与评估客户协调;保证满足客户的需求;签署评估合同;组建评估小组;负责检查最终报告的生成和提交善于协调、安排,有管理技巧。善于同客户交流。能够按时完成任务Mail:wyh_925@163.com802026/5/102:46P7-2、SA评估组织—参与者评估小组:评估的实施者和分析者角色(8)职责理想的人员素质评估负责人负责评估工作。促进场景的得出;管理场景的选择及设置优先级;促进评估。为现场评估提供帮助能在众人面前表现自如,善于指点迷津。对SA问题有深刻的理解,富有SA评价的经验。能够从冗长的讨论中得出有价值的东西,或能判断何时讨论已无意义,应进行调整Mail:wyh_925@163.com812026/5/102:46P7-2、SA评估组织—参与者评估小组:评估的实施者和分析者角色(8)职责理想的人员素质场景书记员在得出场景的过程中负责将场景写在白板上。务必用达成一致的措辞来表达每个场景,否则就继续讨论写一手好字。能够在未搞清楚某个问题前坚持要求继续讨论。能够快速理解所讨论的问题并提出其要点Mail:wyh_925@163.com822026/5/102:46P7-2、SA评估组织—参与者评估小组:(续)角色(8)职责理想的人员素质进展书记员以电子形式记录评估的进展情况。捕获原始场景。捕获促使每个场景的问题。捕获与场景相对应的SA解决方案。打印出要分发给各参与人员所采用的场景的列表打字速度快,质量高。工作条理性好,从而能够快速查找信息。对SA核心问题理解透彻。能够融会贯通搞清技术问题。勇于打断正在进行的讨论以验证对某个问题的理解,从而保证所获取信息的准确性Mail:wyh_925@163.com832026/5/102:46P7-2、SA评估组织—参与者评估小组:(续)角色(8)职责理想的人员素质计时员帮助评估负责人保证评估工作按进度进行。在评估阶段帮助控制用在每个场景上的时间敢于不顾情面中断讨论,宣布时间已到Mail:wyh_925@163.com842026/5/102:46P7-2、SA评估组织—参与者评估小组:(续)角色(8)职责理想的人员素质过程观察员记录评估工作哪些地方有待改进或偏离了原计划。在评估完成后,负责汇报评估的过程,指出应吸取哪些教训,以便在未来评估中加以改进。还负责向整个SA评估小组报告某次评估的实践情况善于观察和发现问题。熟悉评估过程。曾参加过采用该SA评估方法进行的评估Mail:wyh_925@163.com852026/5/102:46P7-2、SA评估组织—参与者评估小组:(续)角色(8)职责理想的人员素质过程监督员帮助评估负责人记住并执行评估方法的各个步骤对评估方法的各个步骤非常熟悉。愿意并能够以不连续的方式向评估负责人提供指导提问者提出涉众未曾想到的关于SA的问题对SA和涉众的需求具有敏锐的观察力。了解同类系统,敢于提出有争议的问题,并能不懈地寻求其答案。熟悉相关的质量属性Mail:wyh_925@163.com862026/5/102:46P7-2、SA评估组织—参与者涉众:就是该SA及根据该SA开发的系统中有即得利益的人涉众定义所关心的问题系统的生产者SA设计师负责系统的SA以及相互竞争的质量需求间进行权衡的人对其它涉众提出的质量需求进行缓解和调停开发人员编程人员和设计人员SA描述的清晰与完整、各部分的内聚性和偶合性、清晰的交互机制维护人员系统初次部署完成后对系统更改的人可维护性,确定出某个更改发生后必须对系统中哪些地方进行改动的能力集成人员负责构件集成(组装)的开发人员与开发人员相同Mail:wyh_925@163.com872026/5/102:46P7-2、SA评估组织—参与者涉众(续):涉众定义所关心的问题系统的生产者(续)测试人员负责系统测试的开发人员集成、一致的错误处理协议;受限的构件偶合、构件的高内聚性、概念完整性标准专家负责搞清所开发软件必须满足的标准细节的开发人员对所关心问题的分离、可修改性、互操作性性能工程师分析系统的工作产品,以确定系统是否满足其性能及吞吐量需求的人员易理解性、概念完整性、性能、可靠性安全专家负责保证系统满足其安全性需求的人员安全性Mail:wyh_925@163.com882026/5/102:46P7-2、SA评估组织—参与者涉众(续):涉众定义所关心的问题系统的生产者(续)项目经理负责各小组配置资源、保证开发进度、保证不超出预算,负责与客户打交道的人SA层次上结构清晰,便于组建小组;任务划分结构、标志进度和期限等产品线经理或拥有复用权的人设想该SA和相关资产怎样在该组织的其它开发中得以利用的人可复用性、灵活性Mail:wyh_925@163.com892026/5/102:46P7-2、SA评估组织—参与者涉众(续):涉众定义所关心的问题系统的消费者客户系统的购买者开发的进度、总体预算、系统的有用性、满足客户(市场)需求的情况最终用户所实现系统的使用者功能性、可用性应用开发者(对产品线SA而言)利用该SA及其它已有复用构件,通过将其实例化而构建产品的人SA的清晰性、完整性、简单交互机制、简单裁减机制任务专家、任务规划者知道系统将会怎样使用以便实现战略目标的客户代表,视野比最终用户更为广阔功能性、可用性和灵活性Mail:wyh_925@163.com902026/5/102:46P7-2、SA评估组织—参与者涉众(续):涉众定义所关心的问题系统服务人员系统管理员负责系统运行的人(如果与用户不同的话)容易找到可能出现问题的地方网络管理员管理网络的人员网络性能、可预见性服务代表为系统在该领域中的使用和维护提供支持的人使用性、可服务性、可裁减性Mail:wyh_925@163.com912026/5/102:46P7-2、SA评估组织—参与者涉众(续):涉众定义所关心的问题接触系统或与系统交互的人该领域或团体的代表类似系统或所考察系统将要在其中运行系统的构建者或拥有者可互操作性系统SA的设计师整个系统的SA设计师;负责在软硬件之间进行权衡并选择硬件环境的人可移植性、灵活性、性能、效率设备专家熟悉该软件必须与之交互的硬件的人;能够预测硬件技术的未来发展趋势的人可维护性、性能Mail:wyh_925@163.com922026/5/102:46P7-2、SA评估组织—考察的质量属性严格地说,SA并不能确定系统的所有的质量属性。诸如与用户相关的可使用性中:输入/出在系统中的流动和界面的更改属于SA的问题,但用户看到的颜色、按钮等却不属于SA的问题。Mail:wyh_925@163.com932026/5/102:46P7-2、SA评估组织—考察的质量属性性能:系统的响应能力可靠性:系统能够长时间运行的能力可用性:系统能正常运行的时间比安全性:系统向合法用户提供服务的同时,能阻止非法授权使用的企图或拒绝服务的能力可修改性:能快速的以较高的性价比对系统运行更改的能力可移植性:系统能在不同计算机环境下运行的能力功能性:系统完成所期望工作的能力可变性:SA经过扩充或更改而成为新SA的能力可子集性:支持子系统生成的能力概念完整性:能在各个层次上将系统设计统一起来的根本思想Mail:wyh_925@163.com942026/5/102:46P7-2、SA评估组织—评估结果划分了优先级的质量属性需求。SAAM、ATAM和ARID方法都能给出优先级别;优先级是可为SA的演化与进化起到指导作用方法和质量属性的映射。这种映射表明了如何用SA方法实现SA的质量属性,且构成了SA的基本机理有风险决策和无风险决策。有风险决策是那些可能带来问题的决策,可以来自外部的非SA方面;无风险决策是隐藏在SA中的假设的好的决策,当假设条件变化时要重新确定是否还是风险的其它。包括SA方法的分类、敏感点和权衡点等Mail:wyh_925@163.com952026/5/102:46P7-2、SA评估组织—评估的成本完全取决于参与评估的人员的成本和机会成本,无其它成本由于涉众是SA的受益者,所以一般也乐于为SA的评估牺牲自己的时间由于可以采取并行工作的方式,所以几乎不影响或很少影响项目开发的进度对特定的领域来说,可以用“经验”来事先确定场景集合,从而形成场景检查列表,进而可减少相关的评估人员,从而降低评估成本经验数据:中等规模需70人天(利用检查列表时为40人天),小规模需32人天Part7:软件体系结构评估P7-1、软件的属性P7-2、SA评估组织P7-3、SA评估方法Part7:软件体系结构评估P7-3-1、SAAM方法P7-3-2、ATAM方法P7-3-3、ARID方法P7-3-4、其它方法P7-3、SA评估方法Mail:wyh_925@163.com982026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

概述SAAM是卡耐基梅隆大学软件工程研究所的Kazman等人提出的一种非功能质量属性的体系结构分析方法。最初它用于比较不同的软件系统的体系结构,后来发展成检验评估一个系统的体系结构。SAAM通过构造一组领域驱动的场景来反映最终软件产品的质量,为评估系统的体系结构提供了一个基于应用环境并使用场景的评估方法。一般情况下,SAAM所关心的是诸如可修改性这样的质量属性。Mail:wyh_925@163.com992026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

评估步骤SAAM的分析步骤和依赖关系开发场景对间接场景进行单个评估揭示场景交互总体评估描述SA迭代场景分类和优先级的确定Mail:wyh_925@163.com1002026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

评估步骤开发场景对间接场景进行单个评估揭示场景交互总体评估描述SA迭代SAAM的分析步骤和依赖关系场景分类和优先级的确定场景应表明系统必须支持的活动类型;也表明客户期望对系统所做的更改的类型;开发场景:就是提出和收集场景的过程,一般要重复多次;形成场景的过程就是集体讨论的过程,这些场景反映了他们的需求,书记员要将这些场景一一记录下来Mail:wyh_925@163.com1012026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

评估步骤开发场景对间接场景进行单个评估揭示场景交互总体评估描述SA迭代SAAM的分析步骤和依赖关系场景分类和优先级的确定利用参评各方容易理解的方式描述SA必须说明数据和运算构件、及其之间的恰当关系除了描述静态特征外,还要对系统某一时间段内的动态特征做出说明可以采用自然语言,也可采用形式化的手段场景的开发与SA的描述是相互促进的:对SA的描述迫使涉众们考虑针对SA的某些具体特征的场景场景反应了SA的需求,必须体现在SA的描述中相互迭代,直到得到两方面令人满意结果为止Mail:wyh_925@163.com1022026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

评估步骤开发场景对间接场景进行单个评估揭示场景交互总体评估描述SA迭代SAAM的分析步骤和依赖关系场景分类和优先级的确定直接场景:无须对SA进行修改即可支持的场景。它能增进对SA的理解间接场景:需要对SA做某些修改才能支持的场景。通过它对SA的影响,可以确定SA在其生命周期中对演化的适应情况利用投票的方式来确定场景的优先级别。一般采用总场景的30%的票数,可以一场景一张或多张的方式选出优先级高的若干场景作为后续评估的内容Mail:wyh_925@163.com1032026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

评估步骤开发场景对间接场景进行单个评估揭示场景交互总体评估描述SA迭代SAAM的分析步骤和依赖关系场景分类和优先级的确定将选出的场景与SA联系起来对直接场景:SA设计师需要讲清楚SA如何执行这些场景对间接场景:需要列出对SA的哪部分要修改、及其代价最后给出一个评价列表:场景编号场景描述直接/间接需要做的更改更改/新增构件数量更改的工作量(人月)………………Mail:wyh_925@163.com1042026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

评估步骤开发场景对间接场景进行单个评估揭示场景交互总体评估描述SA迭代SAAM的分析步骤和依赖关系场景分类和优先级的确定场景交互作用:两个或更多的场景修改SA的同一构件时,称为这些场景在这个构件上有交互作用场景的交互作用暴露了设计方案中的功能分配:语义上无关的场景有交互作用,说明功能分配不合适,SA文档的表述也存在不恰当的地方;此时,需要重新对SA进行表述和描述Mail:wyh_925@163.com1052026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

评估步骤开发场景对间接场景进行单个评估揭示场景交互总体评估描述SA迭代SAAM的分析步骤和依赖关系场景分类和优先级的确定根据商业目标,对每个场景设置一个权值对一个SA的不同方案或多个SA,利用权值确定总体评价可用表格来表示(诸如“0”表示没有什么区别,“+”表示好些,“-”表示差点;也可以用“高、中、低”来表示等):场景1场景2场景3场景4…方案1/SA10+-0….方案2/SA20-+0….Mail:wyh_925@163.com1062026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

一个评估日程安排样例时间事项第1天8:15-8:45说明评估的目的,概要介绍评估的方法,声明会议纪律8:45-9:00概要介绍评估的目的,包括SA的目标9:00-10:00场景的形成(第1步)10:00-10:30休息10:30-12:00场景的形成(第1步)12:00-1:00午餐1:00-2:30SA的表述(第2步)2:30-3:00休息3:00-3:30场景的形成(第1步)3:30-5:00场景的分类和优先级的确定(第3步)Mail:wyh_925@163.com1072026/5/102:46P7-3、SA评估方法P7-3-1、SAAM方法—

一个评估日程安排样例时间事项第2天8:15-10:00对间接场景的单个评估(第4步)10:00-10:30休息10:30-12:00对间接场景的单个评估(第4步)12:00-1:00午餐1:00-2:30场景交互作用的评估(第5步)2:30-3:30形成总体评价(第6步)3:30-4:00休息4:00-5:00收尾,总结,报告具体细节参见:参考书3中的相关章节Part7:软件体系结构评估P7-3-1、SAAM方法P7-3-2、ATAM方法P7-3-3、ARID方法P7-3-4、其它方法P7-3、SA评估方法Mail:wyh_925@163.com1092026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

概述几个概念:敏感点:一个或多个构件(构件之间关系)的特性,这种特性对获得某一特定的质量属性响应有着重要的意义:敏感点起到“更改SA的这一特性时要谨慎行事”的作用敏感点的某些特定值在SA实现时可能成为风险点(有无风险)如果构件或特性不存在时,就不能将它们称为敏感点如:机密性的高低可能对加密的位数是敏感的Mail:wyh_925@163.com1102026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

概述几个概念:权衡点:影响多个质量属性的特性,是多个质量属性的敏感点。它是SA中所做出的最重要的决策。如:提高加密级别可能会提高安全性,但会消耗更多的时间而降低性能Mail:wyh_925@163.com1112026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

概述表述调查与分析测试形成报告(1)ATAM方法的表述(2)商业动机的表述(3)SA的表述(4)确定SA方法(5)生成质量属性效用树(6)分析SA方法(7)集体讨论并确定场景优先级(8)分析SA方法(9)结果的表述步骤Mail:wyh_925@163.com1122026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

步骤描述(1)ATAM方法的表述评估负责人向涉众介绍ATAM评估方法:ATAM评估步骤简介;用于获取信息或分析的技巧:效用树的生成、基于SA方法的获取与分析、对场景的集体讨论及优先级的划分;评估的结果:所得出的场景及其优先级、用于理解和评估SA的问题、描述SA的动机并给出其优先级的效用树、所确定出的一组SA方法、所发现的有风险决策、无风险决策、敏感点和权衡点。Mail:wyh_925@163.com1132026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

步骤描述(2)商业动机的表述项目决策者(最好是项目经理)从商业的角度介绍:叙述商业环境、历史、市场情况、驱动需求、风险承担者、当前需要以及该系统如何满足这些需要商业上的约束条件,诸如推向市场的时间、客户需求、标准、成本等技术上的约束,诸如COTS,与其它系统的互操作、所需要的软硬件平台,已有代码的复用等质量需求和导致这些需求的商业需求术语表Mail:wyh_925@163.com1142026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

步骤描述(3)SA的表述促使形成该SA的需求、与这些需求相关的可度量的量,以及满足这些需求的任何现有的标准/模型/方法高层SA视图。包括功能、代码、并发和物理等SA方法、风格、模式或所采用的机制,包括所要实现什么质量属性和如何实现的介绍COTS的使用和选择/集成对1-3个最重要的用况场景的介绍。如果可能的话,包括每个场景的运行时间、资源使用情况的介绍对1-3个最重要的生长场景的介绍。如果可能的话,包括对更改某些构件、连接件和接口带来的影响的介绍与促使形成该SA的需求相关的SA问题/风险术语表首席设计师对SA进行详略适当的介绍:Mail:wyh_925@163.com1152026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

步骤描述(4)确定SA方法任何明确的SA方法,它是实现具有高优先级的质量属性的手段,也是保证关键需求得以实现的手段,描述了系统发展壮大的方式、对应的响应、对攻击的防范以及系统集成等捕捉在上一步的SA表示中所获得的任何SA方法对SA风格的描述,将它看成是对SA的一组约束。包括构件类型及其拓扑结构的描述等。SA风格能够确定设计的类别,定性解释为什么某一类风格具有某些特征、及其何时使用等。通过SA风格使评估人员明白SA设计师采用了哪些策略来实现该系统的质量属性目标设计师对评估小组清楚地说明:Mail:wyh_925@163.com1162026/5/102:46P7-3、SA评估方法P7-3-2、ATAM方法—

步骤描述(5)生成质量属性效用树评估小组和项目决策者(SA小组,经理和客户代表):共同确定出最重要的质量属性,确定优先级,用效用树表示:效用性能可修改性可用性安全性数据延迟交易吞吐量(M,L)将客户数据库的存储延迟减到最小值200毫秒(H,M)提供实时视屏图象(M,M)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论