软件体系结构复习

上传人:悦** 文档编号:173005983 上传时间:2022-12-08 格式:DOCX 页数:5 大小:40.89KB
收藏 版权申诉 举报 下载
软件体系结构复习_第1页
第1页 / 共5页
软件体系结构复习_第2页
第2页 / 共5页
软件体系结构复习_第3页
第3页 / 共5页
资源描述:

《软件体系结构复习》由会员分享,可在线阅读,更多相关《软件体系结构复习(5页珍藏版)》请在装配图网上搜索。

1、1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.1. 软件危机的表现(简述):软件成本日益增长;开发进度难以控制;软件质量差;软件维护困 难。软件危机的成因,用户需求不明确,缺乏正确的理论指导,软件规模越来越大,软件复杂度越来 越大。软件工程包括三要素:方法,工具,过程2. 软件重用:在两次或多次不同的软件开发过程中重复使用相同或相近软件元素过程。3. 构件(软构件):构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程 中可以明确辨识的系统;结构上,它是语义描述、通讯接口

2、和实现代码的复合体。4. 重用粒度:可重用的软件元素越大,重用粒度越大。5. 面向对象技术达到类级重用,以类为封装的单位6.构建模型三个主要流派: OMG(Object Management Group ,对象管理集团)的 CORBA(Common Object Request Broker Architecture ,通用对象请求代理结构)、 Sun 的 EJB (Enterprise Java Bean)、Microsoft 的 DCOM (Distributed Component Object Model,分布式构件对象模型)。7. 国内清华青鸟模型,由 外部接口与内部结构两部分组成

3、外部接口:构件的外部接口是指构件向其重用者提供的基本信息,包括构件名称、功能描述、所 需的构件等。内部结构:构件的内部结构包括:内部成员以及内部成员之间的关系。其中内部成员包括具体成 员与虚拟成员,成员关系包括内部成员之间的关联,以及内部成员与外部接口之间的互联。8. 构件获取的四个途径:a. 从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件;b. 通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件;c. 从市场上购买现成的商业构件,即COTS(Commercial Off-The-Shell )构件;d. 开发新的符合要求的构件。构件组装: 基于功能的组

4、装技术,基于数据的组装技术,面向对象的组装技术 软件体系结构的定义:为软件系统提供了一个结构,行为和属性的高级抽象,由构成的系统的元 素的描述,这些元素的相互作用,指导元素集成的模式以及这些模式的约束组成9. 构件分类方法三大类:关键字分类、刻面分类法、超文本组织方法10构件库五类用户:注册用户、公共用户、构件提交者、一般系统管理员、超级系统管理员。 11.构件组装技术:(1)基于功能的组装技术( 2)基于数据的组装技术( 3)面向对象的组装 技术:构造法,子类法12软件体系结构定义(P20):软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象, 由构成系统的元素的描述、这些元素的相互

5、作用、指导元素集成的模式以及这些模式的约束组成。 软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之 间的对应关系,提供了一些设计决策的基本原理。13. 软件体系结构发展的四个阶段 (P23):(1) “无体系结构”设计阶段:以汇编语言进行小规模应用程序开发为特征(2) 萌芽阶段:出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征(3) 初期阶段:出现了从不同侧面描述系统的结构模型,以 UML 为典型代表。(4) 高级阶段:以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模 型与传统软件结构的界限,该阶段以 Kruchten 提

6、出的“4+1”模型为标志14. 通用体系结构风格分类:( 1)数据流风格:批处理序列;管道 /过滤器。(2 )调用/返回风 格:主程序 /子程序;面向对象风格;层次结构。( 3)独立构件风格:进程通讯;事件系统。30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.( 4 )虚拟机风格:解释器;基于规则的系统。( 5 )仓库风格:数据库系统;超文本系统;黑 板系统。15. 管道和过滤器风格的优点: 使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;允许设计者将整个系统的输入 /输出行 为看成是多个过滤器的行为的简单合成;支持软件重用。只要提供适合在两个

7、过滤器之间传送的 数据,任何两个过滤器都可被连接起来;系统维护和增强系统性能简单。新的过滤器可以添加到 现有系统中来;旧的可以被改进的过滤器替换掉;允许对一些如吞吐量、死锁等属性的分析;支 持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行。 管道和过滤器的缺点 :a. 通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的, 所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。b.不适合处理交互的应用。 当需要增量地显示改变时,这个问题尤为严重。C.因为在数据传输上没有通用的标准,每个过滤 器都增加了解析和合成数据的工作,这样就导致了

8、系统性能下降,并增加了编写过滤器的复杂性。16. 面向对象系统的优点:a.因为对象对其它对象隐藏它的表示,所以可以改变一个对象的表示,而 不影响其它的对象;b.设计者可将一些数据存取操作的问题分解成一些交互的代理程序的集合。 缺点:a.为了使一个对象和另一个对象通过过程调用等进行交互,必须知道对象的标识。只要一个 对象的标识改变了,就必须修改所有其他明确调用它的对象;b. 必须修改所有显式调用它的其它对象,并消除由此带来的一些副作用。例如,如果A使用了对 象B,C也使用了对象B,那么,C对B的使用所造成的对A的影响可能是料想不到的。例:年 龄加 1。17. 基于事件的隐式调用思想:构件不直接调

9、用一个过程,而是触发或广播一个或多个事件。 应用系统的例子:( 1)在程序设计环境中用于集成各种工具( 2)在数据库管理系统用于检查 数据库的一致性约束条件( 3)在用户界面中分离数据和表示优点: a. 为软件重用提供了强大的支持。当需要将一个构件加入现存系统中时,只需将它注册 到系统的事件中。b.为改进系统带来了方便。当用一个构件代替另一个构件时,不会影响到其它 构件的接口。缺点:a.构件放弃了对系统计算的控制。一个构件触发一个事件时,不能确定其它构件是否会响 应它。而且即使它知道事件注册了哪些构件的构成,它也不能保证这些过程被调用的顺序。 b. 数据交换的问题。有时数据可被一个事件传递,但

10、另一些情况下,基于事件的系统必须依靠一个 共享的仓库进行交互。在这些情况下,全局性能和资源管理便成了问题。 c. 既然过程的语义必 须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。18. 举例:分层系统常用于通信协议。最著名的分层风格的体系结构的例子是 OSI-ISO 的分层通信 模型。其他的典型例子还有:操作系统、数据库系统、计算机网络协议组,等等 分层系统的优点 : a. 支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增 的步骤进行分解;b.支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多 影响相邻的上下层;c.支持重用。只要提供的服务接口定义不

11、变,同一层的不同实现可以交换使 用。这样,就可以定义一组标准的接口,而允许各种不同的实现方法。分层系统的缺点:a.并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑 结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起 来; b.很难找到一个合适的、正确的层次抽象方法。19黑板系统组成部分(P54、图3-4) 知识源,黑板数据结构,控制46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.20.C/S 体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。 集中式计算技术的缺点:随着用户的增多,都

12、宿主机能力的要求很高,而且开发者必须为每个新 的应用重新设计同样的数据管理构件。服务器主要任务:( 1)数据库安全性的要求;( 2)数据库访问并发性的控制;( 3)数据库 前端的客户应用程序的全局数据完整性规则;( 4)数据库的备份与恢复。客户应用程序主要任务:( 1)提供用户与数据库交互的界面;( 2)向数据库服务器提交用户 请求并接收来自数据库服务器的信息;( 3)利用客户应用程序对存在于客户端的数据执行应用 逻辑要求。优点: a.C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接 受。 b. 系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台

13、服务器都可 以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统 进行扩充和缩小。C.在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中 于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序 中都要对一个DBMS进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上, 以节约大量费用。缺点(说出34个):开发成本较高;客户端程序设计复杂;信息内容和形式单一;用户界面风格不一,使用繁杂,不利于推广使用;软件移植困难软件维护和升级困难; 新技术不能轻易应用21. 三层C/S风格(P57),与二层C/S体系

14、结构的不同及优点:三层体系结构中,客户(请求信息)、 程序(处理请求)和数据(被操作)被物理地隔离。三层结构是个更灵活的体系结构,它把显示 逻辑从业务逻辑中分离出来,这就意味着业务代码是独立的,可以不关心怎样显示和在哪里显示。 业务逻辑层现在处于中间层,不需要关心由哪种类型的客户来显示数据,也可以与后端系统保持 相对独立性,有利于系统扩展。三层结构具有更好的移植性,可以跨不同类型的平台工作,允许用户请求在多个服务器间进行负 载平衡。三层结构中安全性也更易于实现,因为应用程序已经同客户隔离。应用程序服务器是三 层 /多层体系结构的组成部分,应用程序服务器位于中间层。优点: 允许合理地划分三层结构

15、的功能,使之在逻辑上保持相对独立性,能提高系统和软件 的可维护性和可扩展性。允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力 上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升 级性和开放性应用的各层可以并行开发,可以选择各自最适合的开发语言利用功能层 有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非 法地访问数据层,为严格的安全管理奠定了坚实的基础。表示层:是应用的用户接口部分,担负着用户与应用间的对话功能。 功能层:相当于应用的本体,将具体的业务处理逻辑编入程序中。数据层:即数据库管理系统,负责管理对数据库数

16、据的读写。中间件的概念:是一个用 API 定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件 管理框架。22. 浏览器/服务器风格(P65),模式结构示意图(图314):62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.与c/s比较其优点:基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。 用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能, 很容易在运行时自动升级。 B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联 网、统一服务的最现实的开放性基础。23.公共对象请求代理结构CORBA

17、: CORBA是OMG制定的一个工业标准,CORBA的主要目标是 提供一种机制,使得对象可以透明地发出请求和获得应答,从而建立起一个异质的分布式应用环 境。接口定义语言:CORBA利用IDL统一地描述服务器对象(向调用者提供服务的对象)的接口。IDL 本身也是面向对象的。它虽然不是编程语言,但它为客户对象(发出服务请求的对象)提供了语 言的独立性,因为客户对象只需了解服务器对象的IDL接口,不必知道其编程语言。IDL语言 是CORBA规范中定义的一种中性语言,它用来描述对象的接口,而不涉及对象的具体实现。在CORBA中定义了 IDL语言到C、C+、SmallTalk和Java语言的映射。调用机

18、制:CORBA的动态调用接口提供了一些标准函数以供客户对象动态创建请求、动态构造请 求参数。客户对象将动态调用接口与接口池配合使用可实现服务器对象接口的动态搜索、请求及 参数的动态构造与动态发送。当然,只要客户对象在编译之前能够确定服务器对象的IDL接口, CORBA 也允许客户对象使用静态调用机制。显然,静态机制的灵活性虽不及动态机制,但执行效 率却胜过动态机制。24异构结构风格实例(P80-82)25. 不同 Web 服务描述的共同特征:应用的分布式、应用到应用的交互、平台无关性。本书中我们认为Web服务是一个可以用URL来标志的软件系统,它采用XML格式的信息来定义 和描述对外的公共接口

19、和绑定。Web服务可被其他软件系统发现,并通过使用基于XML的消息, 借助Internet协议,依照web服务中定义描述的方式实现交互。26. Web 服务的特点:使用标准协议规范、使用协约的规范性、 高度集成能力、完好的封装性、 松散耦合Web 服务结构模型(图 6-1,每部分作用、相互关系 ): 服务提供者提供服务,并进行注册以使服务可用。服务代理起中介作用,是服务的注册场所,充 当服务提供者和服务请求者之间的媒介。服务请求者可在应用程序中通过向服务代理请求服务, 调用所需服务。服务开发生命周期:构建、部署、运行、管理。Web 服务栈( 图 6-2):UDDI DISO)描述服务VTSEL

20、、KML Schema消息格式层SOAP骗码格式层XML传输协復层HTTP, TCP/IP, SHP 等用例图:用于显示若干角色以及这些角色与系统提供的用例之间的连接关系类图:表示系统中,类与类之间的关系,是对系统静态结构的描述 对象图:是类图的实例,几乎使用与类图完全相同的标识。 顺序图:用来反映若干个对象之间的动态协作关系。协作图:描述对象之间的协作关系,显示对象间的动态合作关系。 状态图:描述类的对象所有可能的状态以及事件发生时状态的转移条件。 Web 服务体系结构优势:高度的通用性和易用性;完全的平台、语言独立性;高度的集成性;容 易部署和发布SOAP:是一个基于XML的,在松散分布式

21、环境中交换结构化信息的轻量级协议,它为在一个松散 分布式环境中使用XML交换结构化的和类型化的信息提供了一种简单的机制。WSDL:是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档货面向过 程信息的消息进行操作。UDDI:是一套基于Web的、分布式的、为web服务提供的信息注册中心的实现标准和规范,同 时包含一组使企业能将自身提供的 web 服务注册以使得别的企业能够发现的访问协议的实现标 准。设计模式定义:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该 形式不断地重复出现。设计模式的基本成分 : 模式名称、问题、解决方案、后果设计模式目录的内容 (表 7-2, 大类):创建性模式、结构性模式、行为性模式 主要设计模式(作用,结构图):77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.Builder 生成器模式将生成复杂对象的具体过程和它的构造函数分离开,同样的构造过程可以实 例出不同的对象。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!