


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一. 软件体系结构(架构)软件体系结构的定义通常,软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。架构尚处在发展期,对于其定义,学术界尚未形成一个统一的意见,而不同角度 的视点也会造成软件体系结构的不同理解。比如,ANSI/IEEE 610.12-1990软件工程标准词汇对于体系结构定义是“体系架构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以 及知道上述内容设计与演化的原理(principle)”;而Garlan & Shaw模型的基本思想是:软件体系结构=构件(component),连接件(connector),约束(constrain)。对于软 件项目的开发来说,一个清晰的软件体系结构是首要的。传统的软件开发过程可以划分为从概念到实现的若干个阶段,包括问题定义、需求分析、软件设计、软件实 现及软件测试等。软件体系结构的建立就位于需求分析之后,软件设计之前。在建立软件体系结构时系统设计师主要从结构的角度对整个系统进行分析,选择恰当的 构件(Component)、构件间的相互作用以及它们的约束,最后形成一个系统框架(Framework)以满足用户的需求,为软件设计奠定基础。软件体系结构风格软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能否达到结构级的软件重用。也就是说,能否在不同的软件体系中,使用同一体系结构。基于这个目的,学者们开始研究和实践软件体系结构的风格问题。软 件体系结构风格(Software Architecture Style)是描述某一特定应用领域系统组织方式的惯用模式。它反映了领域中众多系统所有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一 个完整的系统。对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证明的解决方案也可以可靠地用于解决新的问题。体系结构风格的不变部分使 不同的系统可以共享一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统结构。Garlan和Shaw对通用体系结构风格进行如下分类:(1)数据流风格:批处理序列、管道/过滤器等;(2)调用/返回风格:主程序/子程序、面向对象风格、层次结构等。(3)独立构件风格:进程通讯、事件系统等;(4)虚拟机风格:解释器、基于规则的系统等;(5)仓库风格:数据库系统、超文本系统、黑板系统等。近年来,出现了许多新的体系结构风格,例如客户/服务器(Client /Server)结构、浏览器/服务器(Browser/Server)结构、正交(Orthogonal)结构、三层C/S结构等。软件体系结构的建模研究研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。其中,最常用的是结构模型和动态模型。研究热点当前,体系结构仍是一个非常新的研究领域,其概念还相当模糊。但软件体系结构作为软件工程领域中的一个组成部分,已经取得了长足的发展,受到大多数软件系统设计和研究人员的重视。软 件体系结构目前较活跃的研究方向包括:(1)软件体系结构形式基础的研究;(2)针对软件体系结构描述中特有的问题研究新的专门的高级语言;(3)建立用 于度量和评价软件体系结构的模型和方法;(4)建立面向专门领域的软件体系结构范型库。(5)把软件体系结构从目前的直觉和经验状态过渡到理论。二模式模 式(Pattern)的概念最早由建筑大师Christopher Alexander于二十世纪七十年代提出,应用于建筑领域,八十年代中期由Ward Cunningham和Kent Beck将其思想引入到软件领域,Christopher Alexander将模式分为三个部分:(1)周境(Context,也可以称着上下文),指模式在何种状况下发生作用;(2)动机(System of Forces),意指问题或预期的目标;(3)解决方案(Solution),指平衡各动机或解决所阐述问题的一个构造或配置(Configuration)。他 提出,模式是表示周境、动机、解决方案三个方面关系的一个规则,每个模式描述了一个在某种周境下不断重复发生的问题,以及该问题解决方案的核心所在,模式 即是一个事物(thing)又是一个过程(process),不仅描述该事物本身,而且提出了通过怎样的过程来产生该事物。这一定义已被软件界广为接受。软件模式的应用对软件开发产生了重大的作用,主要表现在:(1)软件模式是人们在长期的设计软件、管理组织软件开发等实践中大量经验的提炼和抽象,是复用软件设计方法、过程管理经验的有力工具。模式类似于拳击中的组合拳,它提供了一系列软件开发中的思维套路。如,通过模式的使用,有利于在复杂的系统中产生简洁、精巧的设计。(2) 软件模式为我们提供了一套简洁通用的设计、管理、组织方面的词汇,同时模式也为我们提供了一个描述抽象事物的规范标准,可大大促进软件开发过程中人与人之 间的交流,而软件开发中的交流是至关重要的,“软件项目失败的原因最终都可追溯到信息没有及时准确地传递到应该接收它的人”。三架构和模式的关系架构(Architecture)和模式(Pattern)在当前的软件开发中经常地被提及,这两个术语非常容易混淆,而且学术界也没有一个非常统一的定义。架 构和模式应该是一个属于相互涵盖的过程,但是总体来说Architecture更加关注的是所谓的High-Level Design,而模式关注的重点在于通过经验提取的“准则或指导方案”在设计中的应用,因此在不同层面考虑问题的时候就形成了不同问题域上的 Pattern。模式的目标是,把共通问题中的不变部分和变化部分分离出来。不变的部分,就构成了模式,因此,模式是一个经验提取的“准则”,并且在一次 一次的实践中得到验证,在不同的层次有不同的模式,小到语言实现(如Singleton)大到架构。在不同的层面上,模式提供不同层面的指导。根据处理问 题的粒度不同,从高到低,模式分为3个层次:(1)架构模式(Architectural Pattern)、设计模式(Design Pattern)、实现模式(Implementation Pattern).架构模式是模式中的最高层次,描述软件系统里的基本的结构组织或纲要,通常提供一组事先定义好的子系统,指定它们的责任,并给出把它们 组织在一起的法则和指南。比如,用户和文件系统安全策略模型,N-层结构,组件对象服务等,我们熟知的MVC结构也属于架构模式的层次。一个架构模式常常 可以分解成很多个设计模式的联合使用。(2)设计模式是模式中的第二层次,用来处理程序设计中反复出现的问题。例如,设计模式-可复用面向对象软件的基础一书中总结的23个基本设计模式Factory Pattern, Observer Pattern等。(3)实现模式是最低也是最具体的层次,处理具体到编程语言的问题。比如,类名,变量名,函数名的命名规则;异常处理的规则等等。相 对于系统分析或者设计模式来说,体系结构从更高的层面去考虑问题,所以关注的问题就体现在“不变”因素上,比如系统部署中,更加关心应用程序的分层分级设 计,而在这个基础之上提出的部署方案,才是架构考虑的重点。体系结构关心应用程序模式,更加体现在通过技术去解决这些业务差异带来的影响,关心是否是分布 式应用程序,关心系统分层是如何设计,也关心性能和安全,因此在这样的情况之下,会考虑集群,负载平衡,故障迁移等等一系列技术。总之,希望通过 定义的方式来区分架构和模式是不太可能的,因为本来就是交互交叉和提供服务的,它实际上是架构模式,而不是设计模式。在大部份
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防控疫情培训知识课件
- 软膏靶向递送系统优化-洞察及研究
- 基于摩擦学-热力学耦合的制动盘-蹄块动态热变形补偿技术
- 基于区块链技术的工业仪表供应链溯源与质量风险防控体系构建
- 国际标准缺失背景下凤凰石洗手盆的认证路径探索
- 可持续材料在高端办公摆件领域的应用瓶颈与突破方向
- 反光蓝背心在纳米材料与生物降解技术融合中的性能悖论研究
- 双碳目标下废减震胶化学解聚回收与再生橡胶性能衰减规律
- 卡式录音机作为冷战时期情报载体的解密学价值
- 医药中间体领域1,3-二氟苯衍生物的专利布局与价值链重构挑战
- 征迁岗位笔试题目及答案
- T/ZHCA 019-2022化妆品去屑功效测试方法
- 食品免责协议书
- DB44-T 1661-2021 河道管理范围内建设项目技术规程
- 第37届中国化学奥林匹克(初赛)试题及答案
- 琉璃瓦施工安全协议书9篇
- 吧员礼仪礼节培训
- 电梯大修协议合同
- 电气安全标准化班组
- 湖北省武汉市武昌区2024-2025学年八年级上学期期末考试数学试卷(原卷版+解析版)
- 整本书阅读《格林童话》导读课课件
评论
0/150
提交评论