ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:103.68KB ,
资源ID:11119541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11119541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件体系结构.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件体系结构.docx

1、软件体系结构软件体系结构知识总结1.什么是软件体系结构?软件体系结构是以组件和组件之间的关系、组件和环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。2.SA的两大流派(1)决策派:是在一些重要方面所作出的决策集合a.关注架构实践中的主体人,以人的决策为描述对象;b.归纳了架构决策的类型,指出架构决策不仅包括关于软件系统的组织、元素、子系统和架构风格等几类决策,还包括关于众多非功能需求的决策。(2)组成派:将系统描述为组件及组件之间的交互(SA=组件+交互)a.关注架构实践中的客体软件,以软件本身为描述对象;b.分析了软件的组成,即软件由承担不同计算任务的组件组成

2、,这些组件通过相互交互完成更高层次的计算。3.软件体系结构的核心模型由构件、连接件、配置(configuration)、端口(port)和角色(role)。其中构件、连接件和配置是最基本的元素。例如,RPC的角色为caller和callee,pipe的角色是reading和writing,消息传递连接件的角色是sender和receiver。软件体系结构的核心模型4.什么是构建(组件)?构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。IEEE P1471标准:IEEE P1471于2000年9月21日通过

3、IEEE-SA标准委员会评审。IEEE P1471适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。IEEE P1471详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路。但如何描述以及具体的描述技术等方面缺乏更进一步的指导。5.”4+1”视图“4+1”模型概述(1)逻辑视图(Logical View) a.设计的对象模型(使用面向对象的设计方法时)。b.作用:主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。c.针对的风险承担者:终端用户(2)开发视

4、图(DevelopmentView)a. 描述了在开发环境中软件的静态组织结构。b.作用:开发视图也称实现视图(Implementation View),主要侧重于软件模块的组织和管理。开发视图通过系统输入输出关系的模型图和子系统图来描述。 c. 针对的风险承担者:开发人员、程序员(3)进程视图(Process View)a. 捕捉设计的并发和同步特征。b.作用:进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。c. 针对的风险承担

5、者:系统集成人员(4)物理视图(Physical View)a. 描述了软件到硬件的映射,反映了分布式特性。b.作用:物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。c. 针对的风险承担者:系统工程人员(5)场景(Scenarios)场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系结构时,它可以帮助设计者找到体系结构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。小结:逻辑视图和开发视图描述系统的静态结

6、构,而进程视图和物理视图描述系统的动态结构。6. ADL-ACME(1) ADL(Architecture Description Language):软件体系结构描述语言(2) ADL的三个基本要素: a.构件:计算或数据存储单元。 b.连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则。 c.体系结构配置:描述体系结构的构件与连接件的连接图。(3) 在ACME中定义了7种体系结构实体,分别是构件、连接件、系统、端口、角色、表述(representations)和表述映射(map)。例:P120 7.什么是软件体系结构的风格?软件体系结构风格是描述某一特定应用领域中系统组织方

7、式的惯用模式(idiomatic paradigm)。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。8.体系结构风格的经典分类(1)数据流风格:批处理序列;管道/过滤器(2)调用/返回风格:主程序/子程序;面向对象风格;层次风格(3)独立构件风格:进程通讯;事件系统(4)虚拟机风格:解释器;基于规则的系统(5)仓库风格:数据库系统;超文本系统;黑板系统9.管道/过滤器每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增

8、量计算来完成,所以在输入被完全消费之前,输出便产生了。这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。管道和过滤器风格的优点:使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;允许对一些如吞吐量、死锁等属性的分析;支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行。管道和过

9、滤器的缺点:通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换;不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重;因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。10.三层C/S表示层:是应用的用户接口部分,担负着用户与应用间的对话功能。功能层:相当于应用的本体,它是将具体的业务处理逻辑编入程序中。数据层:就是数据库管理系统,负责管理对数据库数据的读写。11. C/S与B/S混合的两种模式(1)“内外有别”模型

10、在C/S与B/S混合软件体系结构的“内外有别”模型中,企业内部用户通过局域网直接访问数据库服务器,软件系统采用C/S体系结构;企业外部用户通过Internet访问Web服务器,通过Web服务器再访问数据库服务器,软件系统采用B/S体系结构。“内外有别”模型的结构图如下:“内外有别”模型的优点是外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户的交互性较强,数据查询和修改的响应速度较快。“内外有别”模型的缺点是企业外部用户修改和维护数据时,速度较慢,较繁琐,数据的动态交互性不强(2)“查改有别”模型在C/S与B/S混合软件体系结构的“查改有别”模型中,不管用户是通过什么方式

11、(局域网或Internet)连接到系统,凡是需执行维护和修改数据操作的,就使用C/S体系结构;如果只是执行一般的查询和浏览操作,则使用B/S体系结构。“查改有别”模型的结构如下图:“查改有别”模型体现了B/S体系结构和C/S体系结构的共同优点。但因为外部用户能直接通过Internet连接到数据库服务器,企业数据容易暴露给外部用户,给数据安全造成了一定的威胁。12.什么是面向服务的软件体系结构(SOA)?W3C定义:SOA(service oriented architecture)为一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义

12、好的顺序调用这些服务来形成业务流程。13. PaaS、IaaS、SaaS分别是什么?(1) PaaS(Platform-as-a-Service:平台即服务) PaaS提供了基础架构,软件开发者可以在这个基础架构之上建设新的应用,或者扩展已有的应用,同时却不必购买开发、质量控制或生产服务器。S的F、Google的AppEngine和微软的Azure(微软云计算平台)都采用了paas的模式。这些平台允许公司创建个性化的应用,也允许独立软件厂商或者其他的第三方机构针对垂直细分行业创造新的解决方案。(2) IaaS(Infrastructure-as-a-service:基础设施即服务) IaaS通

13、过互联网提供了数据中心、基础架构硬件和软件资源。IaaS可以提供服务器、操作系统、磁盘存储、数据库和/或信息资源。IaaS的主要用户是系统管理员。最高端IaaS的代表产品是亚马逊的AWS(ElasticComputeCloudEC2),不过IBM、Vmware和惠普以及其他一些传统IT厂商也提供这类的服务。IaaS通常会按照弹性云的模式引入其他的使用和计价模式,也就是在任何一个特定的时间,都只使用你需要的服务,并且只为之付费。(3) SaaS(Software-as-a-service,软件即服务) Saas是最为成熟、最出名,也是得到最广泛应用的一种云计算。可以将它理解为一种软件分布模式,在

14、这种模式下,应用软件安装在厂商或者服务供应商那里,用户可以通过某个网络来使用这些软件,通常使用的网络是互联网。这种模式通常也被称为随需应变(ondemand)软件,这是最成熟的云计算模式,因为这种模式具有高度的灵活性、已经证明可靠的支持服务、强大的可扩展性,因此能够降低客户的维护成本和投入,而且由于这种模式的多宗旨式的基础架构,运营成本也得以降低。如搜索引擎、地图服务。14. ATAM九大步骤(1)软件体系结构评估的主要方式a.基于调查问卷或检查表的评估方式b.基于场景的评估方式c.基于度量的评估方式(2) 基于场景的方式由SEI首先提出并应用在体系结构权衡分析方法(Architecture

15、Tradeoff Analysis Method,ATAM方法)和软件体系结构分析方法(Software Architecture Analysis Method,SAAM方法)中。(3)ATAM评估过程包括九个步骤: a.描述阶段:描述ATAM方法描述商业动机描述体系结构 b.调查分析阶段:确定体系结构方法生成质量属性效用树分析体系结构方法 c.测试阶段:讨论和对场景进行分级分析体系结构方法 d.形成报告:描述评估结果(4)风险承担者群体 评估小组/客户代表/体系结构设计小组() 所有承担者()15. MVC它包括三类对象:(1)模型(Model)对象:是应用程序的主体部分,实现系统中的业务

16、逻辑,通常可以用JavaBean或EJB来实现。(2)视图(View)对象:是应用程序中负责生成用户界面的部分,用于与用户交互,通常用JSP来实现。(3)控制器(Control)对象:它是Model与View之间的沟通桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射成为模型层可执行的操作。它们之间的关系和各自的主要功能如下图:模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,那么所有其他依赖于这些数据的视图都应反映这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显

17、示的更新。这实际上是一种模型的变化-传播机制16.几对概念辨析(1)SOA=Web服务- (错)SOA与Web服务的区别:SOA是一种架构,web服务可以说是基于这种架构的实例。SOA是架构,而Web服务规范则定义了一个支持SOA的互操作平台。SOA与WEB服务的联系:就目前来看,web服务是实现SOA的最好方式,所以他们常常被人们提及。就像讲面向对象程序设计而提java一样。所以说,web服务是实现SOA的一种技术方法,而SOA不一定非要web服务来实现,不用WEB服务一样能够实现SOA;反之,web服务也不一定就是SOA的实现,也就是不一定是采用的SOA架构。(2)软件体系结构=软件框架-

18、(错)构架(architecture) : 它是对软件系统的系统组织,是对构成系统的构件的接口,行为模式,协作关系等体系问题的决策总和。它不仅涉及到结构与行为,而且还涉及到系统的使用,功能,性能,适应性,重用性,可理解性,经济性和技术约束的权衡和美学考虑。框架(framework):它是一种为特定的领域内的应用提供可扩展模板的构架实例。体系结构与框架(Framework)的区别与联系如下:a.呈现形式不同。体系结构的呈现形式是一个设计规约,而框架则是程序代码。b.目的不同。体系结构的首要目的大多是指导一个软件系统的实施与开发;而框架的首要目的是为复用因此,一个框架可有其体系结构,用于指导该框架

19、的开发,反之不然。c.有种特殊的体系结构,DSSA(领域特定体系结构)其首要目的也是为了复用。d.有个叫体系结构风格的东西,将它用程序代码实现后就成了CORBA,COM之类的东西,它们俩叫体系结构框架,也叫中间件集成框架,又有人愿意叫它对象中间件。(3)软件模式=设计模式-(错)设计模式和软件框架在软件设计中是两个不同的研究领域。设计模式研究的是一个设计问题的解决方法,一个设计模式可以应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体。虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中使用。总之,框架是软件,而设计模式是软件的知识体,提升框架的设计水平。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1