软件体系结构评估

合集下载

10种常见的软件体系架构模式分析以及它们的用法、优缺点

10种常见的软件体系架构模式分析以及它们的用法、优缺点

10种常见的软件体系架构模式分析以及它们的用法、优缺点有没有想过要设计多大的企业规模系统?在主要的软件开发开始之前,我们必须选择一个合适的体系结构,它将为我们提供所需的功能和质量属性。

因此,在将它们应用到我们的设计之前,我们应该了解不同的体系结构。

根据维基百科中的定义:
架构模式是一个通用的、可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题。

架构模式与软件设计模式类似,但具有更广泛的范围。

在本文中,将简要地解释以下10种常见的体系架构模式,以及它们的用法、优缺点。

一. 分层模式
这种模式也称为多层体系架构模式。

它可以用来构造可以分解为子任务组的程序,每个子任务都处于一个特定的抽象级别。

每个层都为下一个提供更高层次服务。

一般信息系统中最常见的是如下所列的4层。

•表示层(也称为UI层)•应用层(也称为服务层)•业务逻辑层(也称为领域层)•数据访问层(也称为持久化层)
使用场景:•一般的桌面应用程序•电子商务Web应用程序
二. 客户端-服务器模式
这种模式由两部分组成:一个服务器和多个客户端。

服务器组件将为多个客户端组件提供服务。

客户端从服务器请求服务,服务器为这些客户端提供相关服务。

此外,服务器持续侦听客户机请求。

使用场景:•电子邮件,文件共享和银行等在线应用程序
三. 主从设备模式
这种模式由两方组成;主设备和从设备。

主设备组件在相同的从设备组件中分配工作,并计算最终结果,这些结果是由从设备返回的结果。

使用场景:•在数据库复制中,主数据库被认为是权威的来源,并且要与之同步•在计算。

软件体系结构评估

软件体系结构评估

计算机093 09416612 恽小燕软件体系结构评估近几年来,软件体系结构(Software Architecture ,SA) 成为软件工程发展的一个热门方向。

随着对软件体系结构研究的深入开展,逐渐形成了以软件系统的体系结构形式化描述、风格、建模、评估、软件产品线以及基于软件体系结构的软件开发过程等为主要研究内容的一个新领域。

对一个系统的体系结构进行评估,是为了在系统被构建之前预测它的质量,并不需要精确的评估结果,通过分析SA体系结构对于系统质量的主要影响,进而提出改进。

因此,软件体系结构评估的目的是分析潜在的风险,并检验设计中提出的质量需求。

本文主要讨论三种有代表性的方法,它们可以指导评估人员成功地对系统的体系结构进行评估。

这三种方法是: 基于场景的体系结构分析方法(SAAM) 、体系结构权衡分析方法(ATAM) 、体系结构级别上的软件维护预测(ALPSM) 。

1.主要的术语(1)软件体系结构定义:软件体系结构定义很多,本文采用为大多数人所接受的一种定义:“软件系统或计算系统的软件体系结构就是系统的一个或多个结构,它包括软件组件,这些组件的外部可见属性以及组件之间的相互关系”。

这个定义仅仅关注系统内在的方面,而大多数的分析方法都是基于这个定义的。

这个定义具有如下的含义:①SA 是一个或多个系统的抽象。

SA 以抽象的组件(Com2ponent) 来表示系统,这些组件具有外部可见属性,并且相互之间是有联系的,这种联系有时被称为连接件(Connector) 。

②SA 是一种可重用、可传递的系统抽象,而组件的细节部分不属于体系结构的范畴。

③系统由多个结构组成,通常也称为视图(View) 。

任何一个视图只能表示SA 的部分内容,而不是全部。

(2)质量属性质量属性是一个组件或一个系统的非功能性特征。

软件质量在IEEE 1061中定义,它体现了软件拥有所期望的属性组合的程度。

另一个标准ISO/IEC Draft 91262 1定义了一个软件质量模型。

软件体系结构的设计与评估

软件体系结构的设计与评估

软件体系结构的设计与评估随着计算机技术的发展,软件系统在我们的生活中扮演着越来越重要的角色。

由于软件系统的规模越来越大,模块越来越多,软件的结构设计和评估就变得尤为重要。

软件体系结构是指软件系统中各个模块之间相互关联的结构,设计和评估软件体系结构是确保软件系统的高性能和高稳定性的关键。

一、软件体系结构设计的重要性软件体系结构设计是软件开发的第一步。

它的目的是根据需求规格说明书确定软件系统的模块组成,进而确定模块之间的相互关系。

一个良好的软件体系结构应具备以下特点:1.可扩展性——软件体系结构应该可以很方便地扩展和修改,使得软件系统能够应对未来的需求变化。

2.可维护性——软件体系结构应该易于维护,使得开发人员能够很快地修复程序错误和漏洞。

3.可重用性——软件体系结构应该可以很容易地被复用,这可以大大提高软件开发的效率。

4.可移植性——软件体系结构应该很容易地在不同的操作系统和硬件平台上运行,以满足不同用户的需求。

设计一个良好的软件体系结构需要考虑多个因素,例如软件系统的规模、性能、可靠性等。

不同的因素需要不同的策略来解决,因此软件体系结构的设计是一个复杂而具有挑战性的任务。

二、软件体系结构设计的方法根据Martin Fowler的《企业应用架构模式》,软件体系结构设计可以分为以下四种方法:1.分层架构——将软件系统分为多个层次,每个层次都与下面的层次交互,从而促进模块化和可重用性。

2.分布式架构——将软件系统分成多个部分,每个部分都可以在不同的机器上运行,这可以大大提高系统的性能和可伸缩性。

3.面向服务架构——将软件系统分成多个服务,每个服务可以在不同的机器上运行,从而实现各个服务之间的相互调用。

4.事件驱动架构——在软件系统中使用事件来组织模块之间的通信。

以上四种架构方法都有各自的优缺点,开发人员需要根据需求选择最适用的方法。

三、软件体系结构评估的方法软件体系结构评估是指对软件体系结构进行评估和分析,以确定其是否满足设计要求,是否具有合理性、完备性和可行性。

软件体系结构习题答案

软件体系结构习题答案
答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:
支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
(1)
(2)
(3)应用层:处于最底层,包括构件链接,构件接口和执行中间层:包括连接件配置,构件配置,构件描述及执行体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在
b/s风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。优点(1)基于b/s体系结构的软件,
系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于c/s体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、sis和dssa分别用在哪些场合?
答:1.dssa只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结
构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.dssa的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。

软件体系结构研究报告

软件体系结构研究报告

软件体系结构研究报告软件体系结构是指软件系统中各个组件之间的关系和交互方式,它是软件开发过程中的重要环节。

本文将对软件体系结构的研究进行分析和总结。

软件体系结构的研究旨在设计一个符合系统需求的结构框架,以便于软件系统的开发和维护。

软件体系结构研究的主要内容包括:系统需求分析、软件架构设计、模块划分和数据流程等。

首先,系统需求分析是软件体系结构研究的基础。

通过对系统需求的分析,可以确定系统的功能、性能、安全等要求,从而为软件架构设计提供指导。

其次,软件架构设计是软件体系结构研究的核心。

软件架构设计是指在系统需求的基础上,根据系统性能、可靠性等因素,设计出系统的组件、接口和关系。

常见的软件架构设计模式有层次结构、管道-过滤器、客户端-服务器等。

接着,模块划分是软件体系结构研究的关键。

模块划分是将系统拆解成多个模块,每个模块负责特定的功能。

模块划分可以按照功能划分、数据划分等多种方式进行。

合理的模块划分可以提高系统的可维护性和可复用性。

最后,数据流程是软件体系结构研究的重要内容。

数据流程是指系统中数据的流动方式和路径。

合理的数据流程可以提高系统的效率和响应速度。

在软件体系结构的研究中,还需要考虑系统的可扩展性、可移植性和安全性等因素。

可扩展性是指系统的容量和性能可以随着需求的增加而增加。

可移植性是指系统可以在不同的平台和环境下运行。

安全性是指系统能够保护用户的隐私信息,防止数据泄露和攻击。

综上所述,软件体系结构研究是软件开发过程中的重要环节,它可以帮助系统设计者设计出符合需求的软件系统。

通过对系统需求的分析、软件架构的设计、模块的划分和数据流程的设计,可以提高软件系统的可维护性、可复用性和可靠性。

软件体系结构研究还需要关注系统的可扩展性、可移植性和安全性等因素,以提高软件系统的性能和安全性。

总之,软件体系结构研究对于软件开发和系统维护都具有重要意义。

体系结构各章思考题 期末必考

体系结构各章思考题 期末必考

《软件体系结构》各章思考题第1章软件体系结构概论1、根据自己的经验,谈谈对软件危机的看法。

2、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。

3、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的。

4、为什么要研究软件体系结构?5、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?6、在软件体系结构的研究和应用中,你认为还有哪些不足之处?第2章软件体系结构建模1、选择一个规模合适的系统,为其建立“4+1”模型。

2、引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?3、软件体系结构的生命周期模型与软件生命周期模型有什么关系?第3章软件体系结构风格1、层次系统结构和基于消息的层次系统结构有什么区别?2、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。

3、组织或参与一个采用B/S和C/S混合体系结构的软件项目的开发,总结开发经验。

4、组织或参与一个采用三层体系结构的软件项目的开发,总结开发经验。

5、SIS和DSSA分别用在哪些场合?6、在软件开发中,采用异构结构有什么好处,其负面影响有哪些?第4章软件体系结构描述1、体系结构描述有哪些方法?有哪些标准和规范?2、体系结构描述语言与程序设计语言有什么区别?3、选择一个规模适中的系统,使用UML为其建模。

第5章动态软件体系结构1、什么是动态软件体系结构?动态软件体系结构与静态软件体系结构有什么区别?2、基于构件的动态软件体系结构模型的层次结构是什么?3、试比较Dynamic Wright和Darwin的特点。

4、试用Dynamic Wright描述B/S结构第6章Web服务体系结构1、什么是Web服务体系结构?与传统的结构相比,使用Web服务有哪些好处?2、在Web服务中,如何实现其松散耦合的特点?3、试分析服务提供者、服务请求者和服务代理三者的作用,以及它们之间的工作流程。

rats体系结构 -回复

rats体系结构 -回复

rats体系结构-回复Rats体系结构1. 引言- 简介Rats体系结构的概念和重要性- 提出本文要回答的问题Rats体系结构是指软件测试领域中用于评估和提高软件质量的一种体系结构。

它是由CERT(卡耐基梅隆大学软件工程研究中心)开发和维护的一套开源软件工具的集合,用于自动化进行软件安全审计和漏洞扫描。

2. 软件测试概述- 解释软件测试的概念和目的- 强调软件测试的重要性和影响软件测试是软件开发过程中不可或缺的环节,其目的是发现和纠正软件中的错误和缺陷,以确保软件能够按预期工作。

测试可以通过验证软件是否满足需求和规范来评估软件质量,并提供给开发人员和用户关于软件可靠性和健壮性的信息。

3. Rats体系结构的定义和组成- 详细介绍Rats体系结构的定义和主要组成部分- 解释各个组成部分的功能和作用Rats体系结构是一个用于自动化进行软件安全审计和漏洞扫描的工具集合。

它由一系列独立的工具组成,每个工具都有不同的功能和作用。

其中一些主要的组成部分包括:- Rats扫描器:用于扫描源代码中潜在的安全漏洞和软件错误。

- Rats分析器:负责解析和分析通过扫描器收集到的数据,并生成报告。

- Rats数据库:用于存储漏洞和错误的详细信息和历史记录。

- Rats规则库:包含一系列预定义的规则和模式,用于检测和识别安全漏洞和软件错误。

4. Rats体系结构的工作流程- 详细描述Rats体系结构的工作流程- 可使用图示或流程图辅助解释Rats体系结构的工作流程包括以下步骤:1) 配置:用户根据需要配置Rats工具集的参数和选项。

2) 扫描:Rats扫描器通过解析源代码,检查潜在的安全漏洞和软件错误。

3) 收集:扫描器将检测到的漏洞和错误信息收集并传递给分析器。

4) 分析:分析器对收集到的数据进行解析和分析,生成详细的报告。

5) 存储:分析器将报告和相关数据存储到Rats数据库中,用于后续分析和查询。

6) 展示:用户可以通过使用Rats工具集的界面或命令行接口查看生成的报告和结果。

《软件体系结构》教学大纲

《软件体系结构》教学大纲

《软件体系结构》教学大纲课程英文名称: Software Architecture课程编号:050302一、课程说明1.课程性质《软件体系结构》课程,是软件工程专业硕士研究生的主干课程。

2.课程的目的和任务软件体系结构主要介绍软件体系结构和中间件的基本概念,使学生对软件体系结构有比较深入的了解。

通过学习,使得学生在软件工程思想的基础上,更进一步掌握软件分析和软件开发的方法和思想,并能在实际中应用。

培养学生成为一名合格的软件分析师或软件工程师,并为其在该领域进一步深造打下坚实的基础。

3.适用专业软件工程,计算机科学与技术专业4.学时与学分学分:3 学时:45 讲授学时:45 实践学时:05.先修课程软件工程,数据结构与算法,操作系统,程序设计6.推荐教材或参考书目教材名称:《软件体系结构》张友生编著清华大学出版社ISBN:7302078106 2004版主要参考书目:《软件体系结构理论与实践》冯冲,江贺,冯静芳编著人民邮电出版社2004版7.主要教学方法与多媒体要求主要教学方法:理论和技术教学,案例驱动教学多媒体要求:多媒体教学占80%8.考核方式1、平时成绩(书面作业+上机实验+考勤)2、课程大作业3、期末闭卷笔试4、总成绩 = 笔试成绩(60/100)+ 平时成绩(20/100)+ 大作业成绩(20/100)9.课外自学要求书本上没讲过的内容,让学生自学。

推荐的教材,学有余力的学生可以自学。

二、教学基本要求和能力培养要求1.通过本课程的教学环节,达到以下基本要求1)、应使学生全面了解软件体系结构的概念。

2)、使学生对软件体系结构有比较深入的了解,掌握软件体系结构的思想,了解软件体系结构的设计过程。

3)、使学生在了解软件体系结构的基础上,能用之于软件开发的实践过动中去。

2.通过学习本课程应具备以下能力培养学生成为一名合格的软件分析师或软件工程师,并为其在该领域进一步深造打下坚实的基础。

三、课程教学内容第一章软件体系结构概论重点:了解软件危机的概念、产生以及表现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ATAM评估方法
ATAM:Architecture Tradeoff Analysis Method(体系结构 权衡分析方法) 特点
评估SA对特定质量目标的满足情况,揭示诸多质量目标之间 的相互作用和权衡 结构化的评估方法,可重复
方法来源
体系结构风格 质量属性分析方法
ATAM步骤简述(1/2)
21
ATAM步骤详述(5/13)
第5步:生成质量属性效用树 评估小组与项目决策者合作,共同确定出该系统的最重要的 质量属性目标,并设臵优先级,进行进一步的细化,该步指 导其他的分析 这种方式将所有风险承担者和评估小组的精力集中到对系统 的成功与否具有重要意义的体系结构的方面上 效用树为我们提供了一种直接而有效地将系统的商业驱动因 素转换为具体的质量属性场景的机制,该步骤的输出结果是 对具体质量属性需求(以场景形式实现)的优先级的确定
基于场景的评估方式(1)
基于场景的方式由SEI首先提出并应用在体系结构权 衡分析方法(ATAM)和软件体系结构分析方法 (SAAM)中。 这种软件体系结构评估方式分析软件体系结构对 场景也就是对系统的使用或修改活动的支持程度, 从而判断该体系结构对这一场景所代表的质量需求 的满足程度。例如,用一系列对软件的修改来反映 易修改性方面的需求,用一系攻击性操作来代表安 全性方面的需求等。
19
ATAM步骤详述(3/13)
第3步:体系结构陈述 在适合的细节层次上描述体系结构,体系结构信息直接影响 可能的分析及分析的质量。在进行更实质的分析之前,评估 小组通常需要询问更多的有关体系结构的信息
技术约束条件,诸如要求使用的操作系统、硬件、中间件等 该系统必须要与之交互的其他系统 用以满足质量属性需求的体系结构方法、样式、模式和采用 的机制 高层体系结构视图:功能、代码、并发、物理
效 用 树 样 例
数据延迟 性能 交易吞吐量 新产品目录 可修改性 商业产品 的改变 效用 (L,H)以小于20人月的 工作量添加CORBA中间件 (H,L)以小于4人周的工 作量更改Web用户界面 (L,H)若站点1断电,要求在 3秒内将任务重定向到站点3 (M,M)若磁盘出现故障, 要在5分钟内重新启动 (H,M)要在1.5分钟内检 测并恢复网络故障 (L,H)信用卡交易在 99.999%的时间内是安全的 (L,H)客户数据库认证在 99.999%的时间内能正常工作 (M,L)把客户数据库的存 储延迟减到最小值(200ms) (H,M)提供实时视频图象 (M,M)使认证服务器的 平均吞吐量最大化
ATAM主要部分包括4组,共9个步骤: 1. 陈述,包括通过它进行的信息交流
① ATAM方法的陈述:评估负责人 ② 商业动机的陈述:项目经理或系统客户 ③ SA的陈述:系统设计人员
2.
调查与分析,包括对照体系结构方法评估关键质量属性需 求
④ 确定体系结构方法:系统设计人员 ⑤ 生成质量属性效用树(utility tree):说明构成系统“效用” 的质量属性(性能、有效性、安全性、可修改性、可用性) , 具体到场景层次,标注刺激/反应,并区分不同的优先级 ⑥ 分析体系结构方法:基于步骤5识别出的高优先级的场景,说 明和分析针对这些场景的体系结构方法。在这一步骤中,体 系结构风险、非风险、敏感点和权衡点被识别出来
数据机密性 安全性
23
数据完整性
ATAM步骤详述(5/13)
效 用 树 样 例
数据延迟 性能 交易吞吐量 新产品目录 可修改性 商业产品 的改变 效用 (L,H)以小于20人月的 工作量添加CORBA中间件 (H,L)以小于4人周的工 作量更改Web用户界面 (L,H)若站点1断电,要求在 3秒内将任务重定向到站点3 (M,L)把客户数据库的存 储延迟减到最小值(200ms) (H,M)提供实时视频图象 (M,M)使认证服务器的 平均吞吐量最大化
三种评估方式的比较
场景
在进行体系结构评估时,一般首先要精确地得出具体的质量目 标,并以之作为判定该体系结构优劣的标准。我们把为得出这 些目标而采用的机制叫做场景。
场景是从风险承担者的角度对与系统的交互的简短描述。在体 系结构评估中,一般采用刺激、环境和响应三方面来对场景进 行描述
刺激是场景中解释或描述风险承担者怎样引发与系统 的交互部分。例如,用户可能会激发某个功能,维护 人员可能会做某个更改,测试人员可能会执行某种测 试等,这些都属于对场景的刺激。 环境描述的是刺激发生时的情况。例如,当前系统处 于什么状态?有什么特殊的约束条件?系统的负载是 否很大?某个网络通道是否出现了阻塞等。 响应是指系统是如何通过体系结构对刺激作出反应的。 例如,用户所要求的功能是否得到满足?维护人员的 修改是否成功?测试人员的测试是否成功等。
这一评估方式比较自由灵活,可评估多种质量属性,也 可以在软件体系结构设计的多个阶段进行。但是由于评 估的结果很大程度上来自评估人员的主观推断,因此不 同的评估人员可能会产生不同甚至截然相反的结果,而 且评估人员对领域的熟悉程度、是否具有丰富的相关经 验也成为评估结果是否正确的重要因素。 尽管基于调查问卷与检查表的评估方式相对比较主观, 但由于系统相关的人员的经验和知识是评估软件体系结 构的重要信息来源,因而它仍然是进行软件体系结构评 估的重要途径之一。
主要的评估方式
基于调查问卷或检查表的评估方式
◇ 基于场景的评估方式
◇ 基于度量的评估方式
基于调查问卷或检查表的评估方式(1)
调查问卷是一系列可以应用到各种体系结构评估的 相关问题,其中有些问题可能涉及到体系结构的设 计决策;有些问题涉及到体系结构的文档,有的问 题针对体系结构描述本身的细节问题。 检查表中也包含一系列比调查问卷更细节和具体 的问题,它们更趋向于考察某些关心的质量属性。
18
ATAM步骤详述(2/13)
第2步:商业动机的陈述 项目决策者从商业角度,向相关人员介绍系统概况和主要的 商业动机
系统最重要的功能 技术、管理、经济、政治方面的任何相关限制 与该项目相关的商业目标和上下文 主要的相关人员 体系结构的驱动因素,即促使形成该体系结构的主要质量属 性目标
20
ATAM步骤详述(4/13)
第4步:确定体系结构方法 体系结构方法定义了系统的重要结构,描述了系统演化、对更 改的响应、对攻击的防范以及与其他系统的集成等
强调体系结构方法和体系结构风格的确定,代表了所评估的 体系结构用以事先具有高优先级的质量属性的手段,保证关 键需求按计划得以实现的手段 体系结构风格,包括构件类型及其拓扑结构的描述,对构件 间数据和控制交互模式的描述和使用该样风格的优缺点的非 正式表述 体系结构的约束条件,对构件及其交互的约束,这些约束条 件限定了满足质量属性需求的设计决策 基于属性的体系结构风格(attribute-based architectural styles, ABASs),一种带有解释该风格如何实现某些质量属性的体系 结构风格
效用树中质量属性细化为场景 确定最重要的质量属性目标,并设臵优先级 效用树设臵优先级标准
每个场景对系统成功与否的重要性 体系结构设计人员所估计的实现这种场景的难度
22
ATAM步骤详述(5/13)
效 用 树 样 例
代表系统 的整体质 量
数据延迟 性能 交易吞吐量 新产品目录 可修改性 商业产品 的改变 效用 (L,H)以小于20人月的 工作量添加CORBA中间件 (H,L)以小于4人周的工 作量更改Web用户界面 (L,H)若站点1断电,要求在 3秒内将任务重定向到站点3 硬件故障 可用性 商业软件故障 (M,M)若磁盘出现故障, 要在5分钟内重新启动 (H,M)要在1.5分钟内检 测并恢复网络故障 (L,H)信用卡交易在 99.999%的时间内是安全的 (L,H)客户数据库认证在 99.999%的时间内能正常工作 (M,L)把客户数据库的存 储延迟减到最小值(200ms) (H,M)提供实时视频图象 (M,M)使认证服务器的 平均吞吐量最大化
这一评估方式考虑到了包括系统的开发人员、维护人员、最终 用户、管理人员、测试人员等在内的所有与系统相关的人员对 质量的要求。基于场景的评估方式涉及到的基本活动包括确定 应用领域的功能和软件体系结构的结构之间的映射,设计用于 体现待评估质量属性的场景以及分析软件体系结构对场景的支 持程度。 不同的应用系统对同一质量属性的理解可能不同,例如,对 操作系统来说,可移植性被理解为系统可在不同的硬件平台上 运行,而对于普通的应用系统而言,可移植性往往是指该系统 可在不同的操作系统上运行。由于存在这种不一致性,对一个 领域适合的场景设计在另一个领域内未必合适,因此基于场景 的评估方式是特定于领域的。这一评估方式的实施者一方面需 要有丰富的领域知识以对某以质量需求设计出合理的场景,另 一方面,必须对待评估的软件体系结构有一定的了解以准确判 断它是否支持场景描述的一系列活动。
二级节点构成质 量属性
硬件故障 可用性 商业软件故障
(M,M)若磁盘出现故障, 要在5分钟内重新启动 (H,M)要在1.5分钟内检 测并恢复网络故障 (L,H)信用卡交易在 99.999%的时间内是安全的 (L,H)客户数据库认证在 99.999%的时间内能正常工作
数据机密性 安全性
24
数据完整性
ATAM步骤详述(5/13)
基于度量的评估方式
度量是指为软件产品的某一属性所赋予的数值,如代码行数、 方法调用层数、构件个数等。传统的度量研究主要针对代码, 但近年来也出现了一些针对高层设计的度量,软件体系结构度 量即是其中之一。代码度量和代码质量之间存在着重要的联系, 类似地,软件体系结构度量应该也能够作为评判质量的重要的 依据。 赫尔辛基大学提出的基于模式挖掘的面向对象软件体系结构 度量技术、Karlskrona和Ronneby提出的基于面向对象度量的软 件体系结构可维护性评估、西弗吉尼亚大学提出的软件体系结 构度量方法等都在这方面进行了探索,提出了一些可操作的具 体方案。我们把这类评估方式称作基于度量的评估方式。
相关文档
最新文档