版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件体系结构课程设计学院:班级:学号:姓名:指导教帅:i一. 软件体系结构的定义:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、 数据构件和连接构件。处理构件负责 X X 洲进行加工,浏构件是被加工的信息, 连接构件把体系结构的不同局部组组合连接起来。这一定义注重区分处理构件、 数据构件和连接构件,这一方法在其他的定义和方法中根本上得到保持。二. 软件体系结构的分类一个小型的软件可能具有一种软件体系结构,而大型的软件一般由多种软件 体系结构组成,软件体系结构没有定隹的说只有几种风格,但是经过长期的大型 软件闵 T T 与分析,人们总结出了一些最为常用的软件体系结构风格,分
2、别是:(1)(1) .浏流 MMMM:批处理 MMMM;管 K 滤器。(2)(2) .调用返回风格:主程序子程序;面向对象风格;分层风格。(3)(3) .独立构件风格:进程通讯;事件系统。(4)(4) .虚拟机风格:帏器;基于规那么的系统。(5)(5) .仓库 MMMM:哪库系统;超文本系统;黑板系统。1.数据流风格:数据流风格的体系结构中,我们可以在系统中找至|非常明显的数据流,处理 过程通常在数据流的路线上白顶向下、逐步求精,并且,处理过咖赖于执行 过程,而不据到来的顺序。1.11.1 批处理风格:批处理 M M 格。批处理序列的每一处理都是独立的,并且每一是顺序执行 的,只有2当前一处理
3、完后,后一步处理才能开始,W W 传送在步与步之间作为 一个整体。批处理的灿应用是经典数据处理和开发。批处理风格与管道过滤器风格的共同点是把任务分解成一系列固定顷序的 计算单元(组件),组件间只通过数据传递交互。区别表现在以下几个方面:批 处理是全部的、高潜伏性的、输入时可随机存取、无合作性、无交互性,管道过、 滤器是递增的、娄拥结果延迟小、输入时处理局部化、有反应、可交互。1.21.2 管道过滤器:在管道过滤器风格的软件体系结构中,每个组件都有一组输入和输出,组 件读输入的 W W 流,经过内部处理,然后产生输出 W W 流。这个过程通常通过对 输入流的变增星计算来完成,所以在输入被完全消费
4、之前,输出便产生了。 因此,这里的组件被称为过滤器,这种风格的连接器就象是数据流传输的管道, 将一个过滤器的输出传到另滤器的输入。此风格特别重要的过滤器必须是独 立的实体,它不能与其它的过滤器共享数据,而且一个过滤器不知道它上游和下 游的标识。一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增母计算 过程的顺序。编宥滞系统就具备典型的管道系统风格的体系结构。在该系统中, 一个阶段(包河法分析、语法分析、语义分析和代码生成)的输出是另一个阶 段的输入。管道过滤器风格的软件体系结构具有许多很好的特点:(1)(1)使得软组件具有良好的隐蔽性和高内聚、俯船的特点;(2)(2)允许附店将整个系统的输
5、入输出行为看成是多个过滤器的行为的简单合成;(3)(3)寺软件复用3(4)(4)系缝隹护和增强系统性能简单。新的过滤器可以添加到现有系统中来; 旧的可以被改良的过滤器替换掉;(5)(5)允许对一些如吞吐量、死锁等属性的分析;(6)(6)支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其 它任务并行执行。这比 5 将要阐述的一种主-子程序风格的单线样操作要灵 活得多。这种系统结构的弱点是:(1)(1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处 理数据,但它们是独立的,所以凯者必须将每个过滤器看成一个完整的从输入 到输出的转换。(2)(2)不适合处理交互的应用。当需要增
6、量地显示改变时,这个问题尤为严 重。(3)(3)因为在浏传输上没有通用的标准,每个过滤器都增加了解析和合成 数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂隹。2.调用返回风格:调用/ /返回风格的体系结构在过去的 3030 年之间占有重要的地位,是大型软件开 发中的主流风格的体系结构。这类系统中呈现出比拟明显的调用您回的关系。2.12.1 主程序子程序主-子程序的体系结构是一种经典的编程范型,主要应用在结构化程序设 计当中。这种风格的主要目的是将程序划分为假设干个小片段,从而使程序的可 更改性大大提高。主-子程序体系结构有一定的层次隹,主程序位于一层, TWTW 可以再划级子程
7、序,顶子ff甚至更多。需要特别注意的是主-子程 序体系结构单涮控制的。同一时刻只有一个孩子4结点的子程序可以得 到父亲结点的控制。其特点如下:(1)(1)由于单线刖空制,计算的顺序得以保障。 并且有用的计算结果在同一时刻只会产生一个。(3)(3) 单涮的控制可以直接由程序加来支持(4)(4) 分层推理机制:子程序的正确性与它调用的子程序的正确性有关。2.22.2 面向对象风格:目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统 有着重要作用。这种风格的构件是对象,或 W W 说是抽象数据类型的实例。对象是 一种被称作管理者的构件,因为它负责保持资源的完整隹。对象是通过函数和过 程
8、的调用来交互的。对象风格的体系绑勾具有以下的特点:(1)(1) 对象抽象使得组件和组件之间的操作以黑箱的方式进行。(2)(2) 封装性使得细节内容对外部得以良好的隐藏。对象之间的访问是 通过方法调用来实现的。(3)(3) 考虑操作和属性的关联性,封装完成了相关功能和属性的包装,并由 对象来对它们进行管理。(4)(4) 使用某个对象提供的效劳并不需要知道 W W 务内部是如何实现的。面向对象体系结构存在的问题:(1)(1) 对象之间的耦合度比拟紧:为了使一个对象和另一个对象通过过程调 用等进行5交互,必须知道对象的标识。只要一个对象的标识改变了,就必须修改 所有其他明确调用它的对象。(2)(2)
9、 必须修改所有显式调用它的其它对象,并消除由此带来的一些副作用。 例如 A A使用了对象 B,B, C C 也使用了对象 B,B,那么,C C 对 B B 的使用所造成的对 A A 的影响可能是不以测的。分层风格的材系结构是,稣统组织成一个层次结构,每一层为上层提供服 务,并作为下层的客 P P 端。在分层风格的体系结构中,一般内部的层只对相邻的 层可见。层之间的连接器(conectOr(conectOr 通过决定层间如何交互的协议来定义。2.32.3 分层风格分层的体系结构:(1)(1)支持基于抽象程度递增的系统设计:使设可以把一个复杂系统按递 增的步骤进行分解;(2)(2) 支持功能增强:
10、因为每一层至多和相邻的上下层交互,因此功能的改变 最多影响相邻的上下层;(3)(3) 支才也用:只顺供的效劳接口定义不变,同一层的不同实现可以颈 使用。这样,就可以定义一组标准的接口,而允许各种不同的实现方法。但是,分层的体系结构也有其缺乏之处:(1)(1) 并不是每个系统都可以很容易地划分为分层风格的体系结构,甚至即使 一个系统的逻辑结构是层次化的,出于对系统隹能的考虑,系统设计师不得不把 一些低级或高级的功粉合起来;6(2)(2) 彳艮难找到一个适宜的、正确的层次抽象方法。总结一下调用/返回风格的软件体系结构:这类架构中的组件就是各种不同的 操作单元(例如,子程序、对象、层次),而连接器那
11、么是这些对象之间的调用关系 (例如,主-子程序调用,或者对象的方法以及层次体系结构中的协议)。调用-返 回结构的优点在于,容易将大的架构分解为一种层次模型,在较高的层次,隐藏 那些比拟具体的细节,而在较低的层次,又能够表现出实现细节。在这类体系结 构中,调用者和被调用者之间的关系往往比拟紧密。在这样的情况下,架构的扩 充通常需要被调用者和所有调用者都进行适当的修改。3.独立构件风格:3.13.1 进程通讯:进程间通信就是在不同进程之间通过共享内存或其他夕卜设传 播航换信恩。3.23.2 事件系统:事件系统风格是独立组件风格的一个子风格。其中的每一个 独立组件在它们的相关环境中声明它们希望共享的
12、浏,这个环境便是未指定的 参与项。事件系统会充分利用消息管理器messagemessage manamana 嫡消息传递至此肖息 管理器的时候来管理组件之间的交互,和调用组件。组件会注册它们希望提供或 者希望收到的信息的类型。随后它们会发送这个注册的类型给消息管理器,这个 消息管理器可能是一个对象引用。通信处理风格也是独立组件风格的一个子风 格。这是一个多处理系统。4.虚拟机风格:虚拟机 M M 格的体系结构的的初衷主要是考虑体系结构的可移植性。这种体 系结构力图7模拟它询甘其上的软件或者硬件的功能。4.14.1 解释器:解羊器是能够执行用其他计算机语言编写的程序的系统软件, 它是一种翻译程序
13、。它的执行方式是一边翻译一边执行,因此其执行效率一 M M 偏 低,但是解!器的实现较为简单。4.24.2 基于规那么的系统:基于规那么的系统或者成为专家系统、生产式系统,是 一种重要的应用系统,他广泛用于医疗诊断、航空航天、实时监控和辅助决策等 领域中。5.仓库风格:在仓库风格中,有两种不同的组件:中央数据结构用于说明当前状态, 和独立组件在中央数据存度上执行,仓库与外组件间的相互作用在系统中会 有大的变化。仓库风格的体系沛勾控制原那么的选取产生两个主要的子类。假设输 入流中某类时间触发进程执行的选择,那么仓库是一个传统型数据库;系统中的组 件通常包括浏存储区,以及与这些存储区进行交流的进程
14、或处理单元,而连接 器那么是对于存储区的访问。这类系统中,浏处理进程往往并不直接发生联系, 它们之间的联系主要是通过共享的数据存储区来完成的。这种现象非常类似于在 独立组件架构中的情况。另一方面,假设中央数据结构的当前状态触发进程执行的 选择,那么仓库是一黑板系统。三.案例分析:以以本学期的作业图书管理系统来说:我们的小组凯的图书管理系统是把 C/C/S S 和 B/B/S S 模式参冶运用的体系结构。 其中以 C/C/S S模式为主,辅助以 B/SB/S 模式。C/SC/S Client/ServeClient/Serve】结构,即客户机和效劳器结构。它是软件系统体系结 构,通8过它可以充分
15、利用两端硬件环境的优势,将任务合理分配到 ClientClient 端和 ServerServer 端来实现,降低了系统的通讯暗肖。B/SB/S Browser/ServetBrowser/Servet 结构,即浏览器和效劳器结构。它是随着 InternetInternet 技术的兴起,对 C/SC/S 结构的一种变化或者改良的结构。在这种结构下,用户工 作界面是WWWWWW 浏览器BrowseBrowse来实现,而主务逻辑放在服钏 端ServedServed 去实现,形成肺胃三层结构客P P 层,应用效劳层,浏层。这 样就大大简化了客户端电脑载荷,满至了系统维护与升级的本钱和工作量,降低 了
16、用户的总体本钱。学校图书馆使用 B/SB/S 体系结构,完成图书借阅人员远程对借阅信息查询。借 书者通过浏览器访问图书管理系统,使用借书证号 W W 系统,里面能查询至牍者9根本资料,未还图书列表,查看我的借阅历史等等。由于在网上就能查询,方便 借阅者对白己所借图书情况进行了解。使用 C/SC/S 体系结构,如图:C/S 模式的三层架构通过 C/SC/S 结构,完成图书的入库,借阅,归还,图书信息查询等功能。用户 通过客户端畛图书管理系统,在此段完成“借书、“还书、“查询借阅信 息等操作,发出相应操作请求,即用户界面层;连接组件将该操作请求发送至 V V 效劳器端,效劳器端通过业务逻辑组件进行
17、相应的业务处理,即业务处理层;业 务处理完毕后,将处理更新后的信息保存至嶙洲库,完成浏的存取过程,即数 据访问层;多拥存储完毕后,系统返回操作结果,直到用户界面。完成用户通过 客户端发通务处理请求然后效劳器端进行相应处理并最终把处理结果返回到 客户端的一用务处理过程。图书馆采用以 C/SC/S 模式为主,B/SB/S 模式为辅的体系结构,其主要优点有下:1.1.应用服运行负荷轻。由于采用了 C/SC/S 模式为主的体系结构,在客户端较少只有图书管理员 安装的情况下,客户端完成接受数据输入,校验数据有效性,向后台数据 库发请求,接受返回结果,处理应用逻辑等的操作,把应用逻辑主要放在客 户端,减少
18、效劳器的应用逻辑操作,降低了效劳器的负荷。使系统运行 速度在低本钱下也能大大提高。客户层用户操作界面C业务处理层执行业务处理返回操作结果业务逻辑处理类执行数据操作-IZ数据访问层102 2 本钱低。一的以 C/SC/S 模式为主的系统其本钱翻目对高,这是由于胖客户端瘦 W W 务器的缘故,由于客户端安装使用本钱较高,当客户端多时,往往会造成成 本的增加,而图书管理系统却不同,由于客户端较少,用户面相对固定,使 得因为客户端的过多而造成的本钱高昂不复存在,相应的反而由于相对 B/SB/S 模式的瘦 W W 务器,减少了效劳器购置的本钱投入,反而比 B/SB/S 模式本钱更低。3 3 相对于只用 C/SC/S 莫式方便性如提高。由于 C/SC/S 模式使得借阅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年国开电大会计操作实务形成性考核3答案
- 外墙涂料实际施工步骤
- 品德实施方案
- 学习代会精神的演讲稿
- 2026年秋招:陕西汽车控股集团面试题及答案
- 2026年黑龙江图书馆宣传新媒体招聘考试练习试卷(含答案)
- 2026年湖南水文站文秘招聘考试练习试卷(含答案)
- 2026年山西福利院宣传新媒体专员招聘考试练习试卷(含答案)
- 2026年云南地铁集团渠道对接专员招聘考试练习试卷(含答案)
- 2026年青海大学教师后勤总务招聘考试练习试卷(含答案)
- 2026音乐产业发展调研与版权保护措施及演出市场投资理论与竞争力研究
- 2026年高级考评员职业技能等级认定考试题附答案
- 2026年春招:广药集团面试题及答案
- 美国白宫 科学:一个新的黄金时代 致总统的报告
- 2026秋人美版小学美术一年级上册(新教材)教学计划附教学进度表
- 2026年国企干部选拔任用业务知识试题及答案
- 电力通信网及其承载业务
- 5.14玉米历险记《探寻新航路》课件-历史九年级上册
- 2025江苏南通交通建设投资集团有限责任公司第二批招聘21人笔试历年参考题库附带答案详解
- CSCO胰腺癌诊疗指南(2026版)
- 66kV及以下架空电力线路竣工验收报告
评论
0/150
提交评论