软件体系结构的风格和设计模式等_第1页
软件体系结构的风格和设计模式等_第2页
软件体系结构的风格和设计模式等_第3页
软件体系结构的风格和设计模式等_第4页
全文预览已结束

下载本文档

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

文档简介

1、1.软件体系结构的性质、研究意义和目标是什么?性质:计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性。强调整体与部分,部分与部分的关系;研究系统构成的方法学;提倡多角度研究系统。为什么研究软件体系结构?软件系统要满足一定的需求(功能和质量)。随着软件系统的日益复杂,公众对软件的要求已不局限于功能上的满足,而是更加注重质量。软件的质量受到软件体系结构的限制,或者说体系结构的选择受到要达到的质量特征的影响。软件体系结构是软件系统的高层结构,高度抽象,超越算法和数据结构,试图在软件需求与软件设计之间架起一座桥梁,解决结构和需求向实现平坦过渡。现在软件产生的问题:软件成本日益增长开发

2、进度难以控制在软件开发过程中,用户需求变化等各种意想不到的情况层出不穷,令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来了很大的困难。软件质量差缺乏工程化思想的指导,程序员以自己的想法去代替用户对软件的需求,软件设计带有随意性,很多功能只是程序员的“一厢情愿”而已。软件维护困难特别是在软件使用过程中,原来的开发人员可能因各种原因已经离开原来的开发组织,使得软件几乎不可维护2.软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。管道-过滤器风格:缺乏交互性,

3、常用于通信领域和编译器事件驱动风格:易于完成并发多任务,具有良好的交互性,但对计算机系统的控制能力弱,很难共享数据。分层风格:系统分成许多层,每层为上层服务,同时获取下层的服务。典型应用是网络协议。仓库风格:数据单元被共享。常用于专家系统,如自然语言理解和模式识别。3.3客户/服务器风格C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。服务器(1)数据库安全性的要求;(2)数据库访问并发性的控制;(3)全局数据完整性规则;(4)数据库的备份与恢复。客户应用程序(1)提供用户与数据库交互的界面;(2

4、)向数据库服务器提交用户请求并接收来自数据库服务器的信息;(3)利用客户应用程序对存在于客户端的数据执行应用逻辑要求。网络通信软件的主要作用是完成数据库服务器和客户应用程序之间的数据传输。C/S体系结构将应用一分为二,服务器负责(后台)数据管理,客户机(前台)完成与用户的交互任务。这是一种胖客户机瘦服务器的体系结构。优点:C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。系统的客户应用程序和服务器构件分别运行在不同的计算机上,对硬件和软件的变化显示出极大的适应性和灵活性,易于对系统进行扩充和缩小。在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集

5、中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理。传统的二层C/S结构存在的局限:二层C/S结构是单一服务器且以局域网为中心的,难以扩展至大型企业广域网或Internet。软、硬件组合和集成能力有限。客户机负载太重。数据安全性不好。因为客户端程序可以直接访问数据库服务器,使数据库的安全性受到威胁。三层C/S结构:增加一个应用服务器,将应用逻辑驻留在应用服务器上,而表示层存在于客户机上,这种结构称为“瘦客户机”中间件:在三层C/S系统结构中,中间件是最重要的构件。所谓中间件是一个用API定义的软件层,是具有强大通信能力和良好的可扩展性的分布式软件管理构架。功能是在客户机和服务器或者服

6、务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。优点:允许合理地划分三层结构的功能,逻辑上保持相对独立性,提高系统的可维护性和可扩展性。允许更灵活有效地选用相应的平台和硬件系统,平台和各个组成部分具有良好的可升级性和开放性。各层可选择各自最适合的语言并行开发。利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层非法访问数据层,为严格的安全管理奠定基础。3.5浏览器/服务器风格浏览器/服务器(B/S)风格就是三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。B/S体系结构利用不断成熟的WWW浏览器技术,用通用浏览器实现了原来需要复杂专用软件才能

7、实现的强大功能,节约开发成本。优点系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅需一个浏览器就可运行全部模块,达到了“零客户端”。B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的开放性基础。缺点B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。B/S体系结构的系统扩展能力差,安全性难以控制。采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用B/S与C/S混合软件体系结构B/S与C/S混合是一种典型的异构体系结

8、构。传统的C/S体系结构并非一无是处,而新兴的B/S结构也并非十全十美。C/S结构和B/S结构还将长期共存。优点和缺点优点是外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户交互性较强,数据查询和修改的响应速度较快。缺点是企业外部用户修改和维护数据时,速度较慢,比较烦琐,数据的动态交互性不强。3设计模式的组成四要素模式名称(patternname)助记名,用一两个词描述模式的问题、解决方案和效果。问题(problem)描述应该在何时使用该模式。有时候,问题部分会包括使用模式必须满足的一系列先决条件。解决方案(solution)描述设计的组成成分,它们之间的相互关系及各自的

9、职责和协作方式。模式像一个模板,可应用于多种不同场合。解决方案并不描述一个特定而具体的设计,而是提供设计问题的抽象描述,用具有一般意义的元素组合来解决这个问题。效果(consequences)描述模式应用的效果及使用模式应权衡的问题移植性。设计模式比框架更容易移植:框架一旦设计成形,以其为基础进行应用的开发显然要受制于框架的实现环境;而设计模式是与语言无关的,所以可以在更广泛的异构环境中进行应用。框架是软件,而设计模式是软件的知识体,提升框架的设计水平。模式,Pattern应用领域。框架给出的是整个应用的体系结构;而设计模式则给出了单一设计问题的解决方案,并且这个方案可在不同的应用程序或者框架中进行应用。内容。设计模式仅是一个单纯的设计,可被不同语言以不用方式来实现;而框架则是一种或多种设计模式和代码的混合体,编程者可以用各种方式对框架进行扩展,进而形成完整的不同的应用。创建性模式(5种),处理的是对象的创建过程结构性模式(7种),处理的是对象/类的组合行为性模式(13种),处理的是类和对象间的交互方式和任务分布FactoryMethod(工厂模式)Abstract

温馨提示

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

评论

0/150

提交评论