体系结构蓝图—软件体系结构的+视图(中文版本)

体系结构蓝图—软件体系结构的+视图(中文版本)

ID:34680333

大小:279.50 KB

页数:15页

时间:2019-03-09

体系结构蓝图—软件体系结构的+视图(中文版本)_第1页
体系结构蓝图—软件体系结构的+视图(中文版本)_第2页
体系结构蓝图—软件体系结构的+视图(中文版本)_第3页
体系结构蓝图—软件体系结构的+视图(中文版本)_第4页
体系结构蓝图—软件体系结构的+视图(中文版本)_第5页
资源描述:

《体系结构蓝图—软件体系结构的+视图(中文版本)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文基于多个并发视图的使用情况来说明描述软件密集型系统架构的模型。使用多重视图允许独立地处理各"风险承担人":最终用户、开发人员、系统工程师、项目经理等所关注的问题,并且能够独立地处理功能性和非功能性需求。本文分别对五种视图进行了描述,并同时给出了捕获每种视图的表示方法。这些视图使用以架构为中心的、场景驱动以及迭代开发过程来进行设计。引言我们已经看到在许多文章和书籍中,作者欲使用单张视图来捕捉所有的系统架构要点。通过仔细地观察这些图例中的方框和箭头,不难发现作者努力地在单一视图中表达超过其表达限度的蓝图。方框是代表运行的程序吗?或者是代表源代码的程序块吗?或是物理计算机吗?或

2、仅仅是逻辑功能的分组吗?箭头是表示编译时的依赖关系吗?或者是控制流吗?或是数据流吗?通常它代表了许多事物。是否架构只需要单个的架构样式?有时软件架构的缺陷源于过早地划分软件或过分的强调软件开发的单个方面:数据工程、运行效率、开发策略和团队组织等。有时架构并不能解决所有"客户"(或者说"风险承担人",USC的命名)所关注的问题。许多作者都提及了这个问题:Garlan&Shaw1、CMU的Abowd&Allen、SEI的Clements。作为补充,我们建议使用多个并发的视图来组织软件架构的描述,每个视图仅用来描述一个特定的所关注的方面的集合。矚慫润厲钐瘗睞枥庑赖。架构模型软件架构

3、用来处理软件高层次结构的设计和实施。它以精心选择的形式将若干结构元素进行装配,从而满足系统主要功能和性能需求,并满足其他非功能性需求,如可靠性、可伸缩性、可移植性和可用性。Perry和Wolfe使用一个精确的公式来表达,该公式由Boehm做了进一步修改:聞創沟燴鐺險爱氇谴净。软件架构={元素,形式,关系/约束}软件架构涉及到抽象、分解和组合、风格和美学。我们用由多个视图或视角组成的模型来描述它。为了最终处理大型的、富有挑战性的架构,该模型包含五个主要的视图(请对照图1):残骛楼諍锩瀨濟溆塹籟。·逻辑视图(LogicalView),设计的对象模型(使用面向对象的设计方法时)。·

4、过程视图(ProcessView),捕捉设计的并发和同步特征。·物理视图(PhysicalView),描述了软件到硬件的映射,反映了分布式特性。·开发视图(DevelopmentView),描述了在开发环境中软件的静态组织结构。15/15架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(usecases)或场景(scenarios)来说明,从而形成了第五个视图。正如将看到的,实际上软件架酽锕极額閉镇桧猪訣锥。图1-"4+1"视图模型构部分从这些场景演进而来,将在下文中讨论。我们在每个视图上均独立地应用Perry&Wolf的公式,即定义一个所使用的元素集

5、合(组件、容器、连接符),捕获工作形式和模式,并且捕获关系及约束,将架构与某些需求连接起来。每种视图使用自身所特有的表示法-蓝图(blueprint)来描述,并且架构师可以对每种视图选用特定的架构风格(architecturalstyle),从而允许系统中多种风格并存。彈贸摄尔霁毙攬砖卤庑。我们将轮流的观察这五种视图,展现各个视图的目标:即视图的所关注的问题,相应的架构蓝图的标记方式,描述和管理蓝图的工具。并以非常简单的形式从PABX的设计中,从我们在Alcatel商业系统(AlcatelBusinessSystem)上所做的工作中,以及从航空运输控制系统(AirTraffi

6、cControlsystem)中引出一些例子―旨在描述一下视图的特定及其标记的方式,而不是定义这些系统的架构。謀荞抟箧飆鐸怼类蒋薔。"4+1"视图模型具有相当的"普遍性",因此可以使用其他的标注方法和工具,也可以采用其他的设计方法,特别是对于逻辑和过程的分解。但文中指出的这些方法都已经成功的在实践中运用过。厦礴恳蹒骈時盡继價骚。逻辑结构面向对象的分解逻辑架构主要支持功能性需求――即在为用户提供服务方面系统所应该提供的功能。系统分解为一系列的关键抽象,(大多数)来自于问题域,表现为对象或对象类的形式。它们采用抽象、封装和继承的原理。分解并不仅仅是为了功能分析,而且用来识别遍布系

7、统各个部分的通用机制和设计元素。我们使用Rational/Booch方法来表示逻辑架构,借助于类图和类模板的手段4。类图用来显示一个类的集合和它们的逻辑关系:关联、使用、组合、继承等等。相似的类可以划分成类集合。类模板关注于单个类,它们强调主要的类操作,并且识别关键的对象特征。如果需要定义对象的内部行为,则使用状态转换图或状态图来完成。公共机制或服务可以在类功能(classutilities)中定义。对于数据驱动程度高的应用程序,可以使用其他形式的逻辑视图,例如E-R图,来代替面向对象的方法(OOapp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。