软件体系结构风格论文

软件体系结构风格论文

ID:15556556

大小:104.00 KB

页数:11页

时间:2018-08-04

软件体系结构风格论文_第1页
软件体系结构风格论文_第2页
软件体系结构风格论文_第3页
软件体系结构风格论文_第4页
软件体系结构风格论文_第5页
资源描述:

《软件体系结构风格论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、软件体系结构课程设计学院:班级:学号:姓名:指导教师:一.一.软件体系结构的定义:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。二.软件体系结构的分类:一个小型的软件可能具有一种软件体系结构,而大型的软件一般由多种软件体系结构组成,软件体系结构没有定性的说只有几种风格,但是经

2、过长期的大型软件设计与分析,人们总结出了一些最为常用的软件体系结构风格,分别是:(1).数据流风格:批处理风格;管道过滤器。(2).调用返回风格:主程序子程序;面向对象风格;分层风格。(3).独立构件风格:进程通讯;事件系统。(4).虚拟机风格:解释器;基于规则的系统。(5).仓库风格:数据库系统;超文本系统;黑板系统。1.数据流风格:数据流风格的体系结构中,我们可以在系统中找到非常明显的数据流,处理过程通常在数据流的路线上“自顶向下、逐步求精”,并且,处理过程依赖于执行过程,而不是数据到来的顺序。

3、1.1批处理风格:9批处理风格。批处理序列的每一步处理都是独立的,并且每一步是顺序执行的,只有当前一步处理完后,后一步处理才能开始,数据传送在步与步之间作为一个整体。批处理的典型应用是经典数据处理和程序开发。  批处理风格与管道过滤器风格的共同点是把任务分解成一系列固定顺序的计算单元(组件),组件间只通过数据传递交互。区别表现在以下几个方面:批处理是全部的、高潜伏性的、输入时可随机存取、无合作性、无交互性,管道过、滤器是递增的、数据结果延迟小、输入时处理局部化、有反馈、可交互。1.2管道过滤器:在管

4、道/过滤器风格的软件体系结构中,每个组件都有一组输入和输出,组件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的组件被称为过滤器,这种风格的连接器就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。此风格特别重要的过滤器必须是独立的实体,它不能与其它的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序。编译器系统

5、就具备典型的管道系统风格的体系结构。在该系统中,一个阶段(包括词法分析、语法分析、语义分析和代码生成)的输出是另一个阶段的输入。管道/过滤器风格的软件体系结构具有许多很好的特点:(1)使得软组件具有良好的隐蔽性和高内聚、低耦合的特点;(2)9允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件复用。(4)系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;(5)允许对一些如吞吐量、死锁等属性的分析;(6)支持并行执行。每个过滤器

6、是作为一个单独的任务完成,因此可与其它任务并行执行。这比下面将要阐述的一种“主-子程序风格”的单线程操作要灵活得多。这种系统结构的弱点是:(1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。(2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。1.调用返回风

7、格:9调用/返回风格的体系结构在过去的30年之间占有重要的地位,是大型软件开发中的主流风格的体系结构。这类系统中呈现出比较明显的调用/返回的关系。2.1主程序子程序主-子程序风格的体系结构是一种经典的编程范型,主要应用在结构化程序设计当中。这种风格的主要目的是将程序划分为若干个小片段,从而使程序的可更改性大大提高。主-子程序体系结构风格有一定的层次性,主程序位于一层,下面可以再划分一级子程序,二级子程序甚至更多。需要特别注意的是主-子程序体系结构风格是单线程控制的。同一时刻只有一个孩子结点的子程序可

8、以得到父亲结点的控制。其特点如下:(1)由于单线程控制,计算的顺序得以保障。(2)并且有用的计算结果在同一时刻只会产生一个。(3)单线程的控制可以直接由程序设计语言来支持(4)分层推理机制:子程序的正确性与它调用的子程序的正确性有关。2.2面向对象风格:目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。