高级软件工程(SA概述、SA风格及实例).ppt
《高级软件工程(SA概述、SA风格及实例).ppt》由会员分享,可在线阅读,更多相关《高级软件工程(SA概述、SA风格及实例).ppt(42页珍藏版)》请在三一办公上搜索。
1、1,软件体系结构,概述软件体系结构风格OMADNA,2,一、概述,1、为什么需要研究软件体系结构规模增加复杂性增加需要演化“算法+数据结构”对于软件的描述不全面需要提高对软件总体结构的认识构成成分、成分之间的关系提供交流基础反映高层设计便于系统演化,3,2、什么是软件体系结构,对系统结构的总体设计与说明是一种高层设计关注三方面问题:构件、构件间关系、关系约束构件:软件系统由哪些部分构成例如:数据库、服务器等构件间的关系:这些部分之间的交互关系是什么例如:RPC、共享内存等关系的约束:这些关系有什么约束例如:互斥、,4,3、软件体系结构的发展,(1)高级编程语言(2)数据结构与算法(3)软件结构
2、(4)抽象数据类型(5)程序族(6)软件体系结构是研究热点,尚未进入成熟阶段,5,4、目前软件体系结构的研究热点,(1)软件体系结构描述ADL(2)软件体系结构分类原理、模式(3)特定领域的框架框架(4)体系结构形式化的基础过程代数、化学抽象机等,6,二、体系结构风格,大量地采用设计模式、风格在许多工程中是十分普遍的成功工程领域的一个重要特征之一是对设计形式具有公共的理解软件也有组织结构风格需要对这些风格进行研究以在开发人员之间建立“公共认识”,7,1、什么是体系结构风格2、常见的体系结构风格3、Pipes and Filters4、Data Abstraction and Object-Or
3、iented Organization5、Event-Based Implicit Invocation6、Layered systems7、Repositories8、Interpreters9、Process Control10、Other Familiar Architecture11、Heterogeneous Architecture12、不同体系结构风格的比较,内 容,8,1、什么是体系结构风格,(1)风格是一种语言词汇(管道、过滤器)语法语义(2)风格是一种类型系统Component(管道)Connector(过滤器)(3)风格是一种理论由公理和推论组成的集合管道=两个端点(读、
4、写)过滤器=输入断口、输出断口,9,2、常见的体系结构风格,数据流系统批处理系统管道/过滤器系统调用/返回系统主程序/子程序系统面向对象系统独立构件通信进程系统事件系统虚拟机解释器基于规则的系统数据为中心的系统数据库超文本系统,10,3、Pipes and Filters,(1)基本结构,(2)特征,过滤器是独立实体,相互之间不共享状态过滤器不了解其它过滤器的信息,11,(3)例子利用 Unix Shell 编写的程序ls|find.编译器词法分析语法分析语义分析代码生成,12,(4)优点允许设计者将一个系统的整体输入/输出行为理解为各个独立过滤器行为的简单合成。对复用的支持好:任何两个过滤器
5、之间,如果交流的数据格式匹配,即可以连接在一起。系统的维护与扩展方便:新的过滤器可以添加到现有系统中,或者利用改进的过滤器替换老的过滤器。方便系统分析:例如,吞吐量、死锁等并发性好:每一个过滤器可以作为一个单独的任务实现,可以与其它过滤器并行执行。,13,(5)缺点,经常导致批处理方式。过滤器易被认为是一个将输入数据转换成输出数据的模块,不利于交互。在维护或响应两个分离但相关的数据流时,利用管道/过滤器方式不易。由于依赖于实现,这样的系统可能强迫一种最一般的数据传输标准,从而导致了为每一个过滤器进行数据语法分析的工作,增加了复杂性,降低了性能。,14,4、Data Abstraction an
6、d Object-Oriented Organization,(1)基本结构,:对象,:调用,15,(2)特征对象负责维持本身的完整性:维护内部变量对象具有信息隐藏特性:对象的内部结构对其它对象不可见。(3)优点封装:继承:多态:(4)缺点过程调用依赖于对象标识的确定不同对象的操作关联性弱,16,5、Event-Based Implicit Invocation,(1)基本结构,17,(2)特征一个部件可以广播一个或多个事件,或者向系统注册,希望接受一个或多个事件。一个事件的激发隐含地导致了对其它模块的过程的调用。(3)优点事件广播者不必知道哪些部件会被事件影响,部件之间关系弱。对软件复用提供
7、有力的支持。易于系统升级。(4)缺点部件放弃了对计算的控制。不易准确测试系统性能。,18,6、Layered systems,(1)基本结构,内核层,用户,基本工具,有用的系统,过程调用,不同元素组合,19,(2)应用分层通信协议操作系统数据库系统(3)优点支持基于抽象程度递增的系统设计,使得设计者可以把一个复杂系统按递增的步骤分解开。支持功能扩展,每一层至多和相邻的层次交互。支持复用,只要服务接口定义不变,不同的实现可以交换使用。(4)缺点适应面不宽,20,7、Repositories,(1)基本结构,黑板(共享数据),知识源,知识源,知识源,知识源,知识源,知识源,知识源,知识源,知识源,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 软件工程 SA 概述 风格 实例
链接地址:https://www.31ppt.com/p-6069851.html