欢迎来到天天文库
浏览记录
ID:44998089
大小:2.62 MB
页数:123页
时间:2019-11-07
《软件体系结构课件-大连交大-第3章软件体系结构风格》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件体系结构---软件体系结构风格课程内容◇软件体系结构概论◇软件体系结构建模◇软件体系结构风格◇软件体系结构描述◇动态软件体系结构◇Web服务体系结构◇基于体系结构的软件开发◇软件体系结构的分析与测试◇软件体系结构评估◇软件产品线体系结构7/21/20212lyy3232312@sohu.com第3章软件体系结构风格3.1软件体系结构风格概述软件体系结构设计的核心问题:能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。软件体系结构风格:是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格反映
2、了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。7/21/20213lyy3232312@sohu.com第3章软件体系结构风格--软件体系结构风格概述◇关于模式模式的构成关键要素:问题出现的背景是什么:语境在此背景下重复出现什么问题:问题采用什么方案来解决:解决方案如何实现解决方案:实现7/21/20214lyy3232312@sohu.com第3章软件体系结构风格--软件体系结构风格概述◇关于模式–模式的定义ChristopherAlexander对城市和建筑
3、模式的描述:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题解决方案的核心内容。这样,你可以一次又一次地使用该方案而不必做重复劳动”软件体系结构模式:描述了在特定设计语境中重复再现的设计问题,并为之提供一个经过充分验证了的通用解决方案。该方案提供了构件、构件的责任、构件之间的关系、以及它们之间的协作方式。7/21/20215lyy3232312@sohu.com第3章软件体系结构风格--软件体系结构风格概述◇关于模式--模式的优势促进设计复用带来巨大的代码复用系统组成更易于被他人理解有利于系统的互
4、操作性模式的存在,有利于SA的分析有利于特定模式SA的可视化……使用模式的优势7/21/20216lyy3232312@sohu.com第3章软件体系结构风格--软件体系结构风格概述◇关于模式--模式分类低层模式:惯用法(idiom)中层模式:设计模式(designpattern)高层模式:体系结构模式(architecturepattern)根据模式的抽象范围和规模,将模式分为:7/21/20217lyy3232312@sohu.com第3章软件体系结构风格--软件体系结构风格概述◇关于模式–体系结构(SA)
5、模式SA模式是模式系统中的最高等模式描述了软件系统基本结构的组织方案用在粗粒度设计的开始阶段7/21/20218lyy3232312@sohu.com第3章软件体系结构风格--软件体系结构风格概述◇Garlan和Shaw给出的SA风格的分类数据流风格:批处理序列、管道/过滤器调用/返回风格独立构件风格虚拟机风格仓库风格:主程序/子程序、面向对象、层次结构等:进程通信、事件系统:解释器、基于规则的系统:数据库系统、超文本系统、黑板系统7/21/20219lyy3232312@sohu.com第3章软件体系结构风格
6、3.2经典软件体系结构风格3.2.1管道和过滤器过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道管道管道构件:过滤器连接件:数据流传输的管道7/21/202110lyy3232312@sohu.com3.2经典软件体系结构风格--管道和过滤器过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道管道管道过滤器:独立的实体,不能和其他过滤器共享数据对一个过滤器而言,它上游和下游的过滤器是透明的。管道:提供交互负责连接一个过滤器的输出和另外一个过滤器的输入。7/21/202111lyy3232312@so
7、hu.com3.2经典软件体系结构风格--管道和过滤器词法分析/扫描器语法分析/分析器语义分析中间代码生成Unixshell:catfile
8、grepxyz
9、sort
10、uniq>out即找到含xyz的行,排序、取掉相同的行,最后输出信号处理系统并行计算编译器7/21/202112lyy3232312@sohu.com3.2经典软件体系结构风格--管道和过滤器优点:良好的隐蔽性,高内聚低耦合系统的总体输入输出是每个过滤器的简单组合,易于理解支持软件重用系统维护和增强系统性能简单系统的一些特性容易分析,如吞吐量、死
11、锁等支持并行执行缺点:经常退化为批处理系统不适合处理交互的应用编写过滤器复杂7/21/202113lyy3232312@sohu.com第3章软件体系结构风格--经典软件体系结构风格3.2.2数据抽象和面向对象组织数据操作构件:对象连接件:过程(方法)调用7/21/202114lyy3232312@sohu.com3.2经典软件体系结构风格--数据抽象和面向对象组织抽象数据类型(ADT
此文档下载收益归作者所有