体系结构设计与设计模式_第1页
体系结构设计与设计模式_第2页
体系结构设计与设计模式_第3页
全文预览已结束

下载本文档

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

文档简介

关于体系结构设计与设计模式摘要:本文从设计模式与软件体系结构的关系探讨设计模式运用在软件设计中的可行性,经分析表明采用设计模式既可很好的继承成熟技术,提高系统设计的可靠性,又能提高工作效率。引言软件的发展不仅要求软件有更高的生产率和可靠性,而且对软件的可重用性和可维护性也提出了更高的要求。设计模式以文档的形式把软件设计经验记录下来,并予以系统的命名、解释和评价,使开发人员在进行系统的设计与开发时可以使用别人的成功经验而不必为普通的、重复的问题重新设计解决方案,使设计者更容易理解其设计思路,能为自己的问题找到更合适的解决办法,帮助设计者更快更好地完成系统设计。本文试图从设计模式与软件体系结构、软件重用技术间的关系探讨设计模式运用在软件设计中的可行性,并对设计模式的性能进行分析。软件体系结构的基本单位是软件构件,软件构件是一个软件体系结构的核心。它承担控制构件,问题领域构件,基础设施构件这三个重要角色之一。软件体系结构的不同形式分别有概念结构,模块结构,代码结构,执行结构。软件构件还必须具备独立部署单元,作为第三方的组装单元,不能有任何外部可见状态。体系结构是很重要的。体系结构的表示有助于项目干系人相互交流软件体系结构是系统的高层次的描述,是一种隐藏了实现细节的抽象。有助于与系统相关人员交流。体系结构提供了一个平台语言,可用来表达各种关注和协商,有助于对大型复杂系统进行管理。体系结构突出了早期设计决策软件体系结构是可传递和可复用的模型在系统结构设计中,首先要考虑系统所采用的体系结构风格,这也是体系结构设计的核心问题。体系结构设计一般要遵循建立软件的环境模型,定义体系结构的原始模型。体系结构的求精与完善。在体系结构设计层,软件架构师用体系结构环境图对软件与外部实体交互方式进行建模。与目标系统交互的系统有上级系统,下级系统,同级系统,参与者。体系结构的结构风格包括数据流风格,调用一返回风格,仓库风格。调用一返回风格还包括3种子风格主程序/子程序体系结构,面向对象风格,层次结构。体系结构的控制模型包括集中控制模型,事件驱动控制模型。事件驱动控制模型包括广播模型,中断驱动模型。在将子系统分解为模块时,可供使的模型有数据流模型和面向对象模型两种。对于一个特殊的应用领域,还可使用特定于它的体系结构模型,在开发新的系统时可以复用其公共体系结构。这种体系结构模型即为特定领域的体系结构。存在两种特定领域的体系结构模型:类属模型,参考模型。所有大型计算机系统现在都是分布式系统。分布式系统的主要特征一有资源共享,经济性,性能与可扩展性,固有分布性,健壮性。典型的分布式系统的体系结构有多处理器体系结构,客户机/服务器体系结构,分布式对象体系结构,代理,聚合和联邦体系。在体系结构的评价过程中,人们所关心的是质量的属性,可以用多种评价方法进行评价比如从性能,可靠性,可用性,安全性,可修行,功能性,可变更性,可集成性,互操作性等方法进行判断。体系结构描述语言是参照传统编程语言,并针对软件体系结构特点,重新设计、开发和使用的专门的软件体系结构描述语言。它由构件,连接件,体系结构配置等构成。主要的体系结构描述语言有Aesop,MetaH,Rapide,SADL,Unicon,Wright等。ADL的特点有构造能力,抽象能力,复用能力,异构能力,分析和推理能力。模式是针对某一特定前提的解法,对同类问题可以使用同一解法,而不必总是一切从头做起。设计模式设计模型包含四个基本要素:模式名称,问题,解决方案,效果。可以用目的准则和范围准则对模式进行分类。随着系统的演化,系统越来越依赖对象的组合所以创建型模型很重要。主要有抽象工厂模式,生成器模式,工厂方法模型,单件模型,原型模型。结构型设计模型包括适配器模式,桥接模式,组合模式,装饰模式,外观模式,享元模式,代理模式。行为型设计模式包括职责链模型,命令模式,遍历器模式,中介者模式,观察者模式,状态模式,策略模式,访问者模式,模板方法模式。模式之间的关系式一种依赖、变体、组合的关系。每个模式依赖于它包含的更小的模式和包含它的更大的模式,一模式和它的变体描述来解决一些类似的问题,也可以处于同一抽象层次的更复杂的结构中进行组合解决一个孤立的单个模式解决不了的复杂问题。设计模型可以用一下几种方法解决设计问题,1.寻找合适对象2.决定对象的粒度3.指定对象接口4.针对接口编程,而不是针对现实编程5.使用复用机制6.关联运行时和编译的结构7.设计应支持变更。设计模式是一些对通信对象和类的描述,这些类和对象通常被用于特定的背景下解决一些普遍设计问题。我们可以利用设计模型方面的知识和经验来实现设计。使用设计模式也是非常重要的,在整个软件设计中都可以使用设计模式。一旦开发了分析模型,设计人员可以检查详细的问题所带的问题。可以采取以下方式:先把模式选好,设计模式选择好后,就是如何将模式有效应用到系统设计过程的问题了。下面是ErichGamma给出的一个使用设计模式的循序渐进的方法。1.理解所选择的模式,注意模式的适用条件和模式使用效果,确定该模式是否适合要解决的实际问题。2.研究模式的结构、组成以及它们之间如何协作,这将确保设计人员理解这个模式的类、对象以及其他的关联关系。3选择模式参与者的名字,使它们在具体应用中有意义。4.定义类,声明它们之间的接口,建立它们的继承关系,定义代表数据和对象引用的实例变量。5.定义模式中专用于应用的操作名称,名字一般依赖于应用,使用的名字必须一致。6.实现执行模式中责任和协作的操作。企业应用系统中软件成分越来越复杂,系统规模越来越大,导致应用的功能需求和性能需求混杂,软件系统的结构异常复杂。在开发系统时,首先关注的是如何构架软件系统的体系结构,从整体满足

温馨提示

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

评论

0/150

提交评论