高级软件工程10(SA概述、SA风格及实例)

高级软件工程10(SA概述、SA风格及实例)

ID:42854574

大小:231.01 KB

页数:42页

时间:2019-09-24

高级软件工程10(SA概述、SA风格及实例)_第1页
高级软件工程10(SA概述、SA风格及实例)_第2页
高级软件工程10(SA概述、SA风格及实例)_第3页
高级软件工程10(SA概述、SA风格及实例)_第4页
高级软件工程10(SA概述、SA风格及实例)_第5页
资源描述:

《高级软件工程10(SA概述、SA风格及实例)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章软件体系结构概述软件体系结构风格OMADNA1一、概述1、为什么需要研究软件体系结构规模增加复杂性增加需要演化“算法+数据结构”对于软件的描述不全面需要提高对软件总体结构的认识构成成分、成分之间的关系提供交流基础反映高层设计便于系统演化22、什么是软件体系结构对系统结构的总体设计与说明是一种高层设计关注三方面问题:构件、构件间关系、关系约束构件:软件系统由哪些部分构成例如:数据库、服务器等构件间的关系:这些部分之间的交互关系是什么例如:RPC、共享内存等关系的约束:这些关系有什么约束例如:互斥、33、软件

2、体系结构的发展(1)高级编程语言(2)数据结构与算法(3)软件结构(4)抽象数据类型(5)程序族(6)软件体系结构是研究热点,尚未进入成熟阶段44、目前软件体系结构的研究热点(1)软件体系结构描述ADL(2)软件体系结构分类原理、模式(3)特定领域的框架框架(4)体系结构形式化的基础过程代数、化学抽象机等5二、体系结构风格大量地采用设计模式、风格在许多工程中是十分普遍的成功工程领域的一个重要特征之一是对设计形式具有公共的理解软件也有组织结构风格需要对这些风格进行研究以在开发人员之间建立“公共认识”61、什么是体

3、系结构风格2、常见的体系结构风格3、PipesandFilters4、DataAbstractionandObject-OrientedOrganization5、Event-BasedImplicitInvocation6、Layeredsystems7、Repositories8、Interpreters9、ProcessControl10、OtherFamiliarArchitecture11、HeterogeneousArchitecture12、不同体系结构风格的比较内容71、什么是体系结构风格(1)

4、风格是一种语言词汇(管道、过滤器)语法语义(2)风格是一种类型系统Component(管道)Connector(过滤器)(3)风格是一种理论由公理和推论组成的集合管道=》两个端点(读、写)过滤器=》输入断口、输出断口82、常见的体系结构风格数据流系统批处理系统管道/过滤器系统调用/返回系统主程序/子程序系统面向对象系统独立构件通信进程系统事件系统虚拟机解释器基于规则的系统数据为中心的系统数据库超文本系统93、PipesandFilters(1)基本结构(2)特征过滤器是独立实体,相互之间不共享状态过滤器不了解其

5、它过滤器的信息10(3)例子利用UnixShell编写的程序ls

6、find...编译器词法分析语法分析语义分析代码生成11(4)优点允许设计者将一个系统的整体输入/输出行为理解为各个独立过滤器行为的简单合成。对复用的支持好:任何两个过滤器之间,如果交流的数据格式匹配,即可以连接在一起。系统的维护与扩展方便:新的过滤器可以添加到现有系统中,或者利用改进的过滤器替换老的过滤器。方便系统分析:例如,吞吐量、死锁等并发性好:每一个过滤器可以作为一个单独的任务实现,可以与其它过滤器并行执行。12(5)缺点经常导致批处理方

7、式。过滤器易被认为是一个将输入数据转换成输出数据的模块,不利于交互。在维护或响应两个分离但相关的数据流时,利用管道/过滤器方式不易。由于依赖于实现,这样的系统可能强迫一种最一般的数据传输标准,从而导致了为每一个过滤器进行数据语法分析的工作,增加了复杂性,降低了性能。134、DataAbstractionandObject-OrientedOrganization(1)基本结构:对象:调用14(2)特征对象负责维持本身的完整性:维护内部变量对象具有信息隐藏特性:对象的内部结构对其它对象不可见。(3)优点封装:继承

8、:多态:(4)缺点过程调用依赖于对象标识的确定不同对象的操作关联性弱155、Event-BasedImplicitInvocation(1)基本结构16(2)特征一个部件可以广播一个或多个事件,或者向系统注册,希望接受一个或多个事件。一个事件的激发隐含地导致了对其它模块的过程的调用。(3)优点事件广播者不必知道哪些部件会被事件影响,部件之间关系弱。对软件复用提供有力的支持。易于系统升级。(4)缺点部件放弃了对计算的控制。不易准确测试系统性能。176、Layeredsystems(1)基本结构内核层用户基本工具有

9、用的系统过程调用不同元素组合18(2)应用分层通信协议操作系统数据库系统(3)优点支持基于抽象程度递增的系统设计,使得设计者可以把一个复杂系统按递增的步骤分解开。支持功能扩展,每一层至多和相邻的层次交互。支持复用,只要服务接口定义不变,不同的实现可以交换使用。(4)缺点适应面不宽197、Repositories(1)基本结构黑板(共享数据)知识源知识源知识源知识源知识源知识源知识源知识

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

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

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