软件体系结构-3软件体系结构的层次性.ppt
《软件体系结构-3软件体系结构的层次性.ppt》由会员分享,可在线阅读,更多相关《软件体系结构-3软件体系结构的层次性.ppt(60页珍藏版)》请在三一办公上搜索。
1、Software Architecture Perspective on an Emerging Discipline,By 王备战(M)05922580589(O)海韵园行政楼A座506,Chapter 3 软件体系结构的层次性,Contents:体系结构的基础和层次特性软件体系结构的层次结构模型从层次模型看软件体系结构,2/64,3/64,在构建一幢建筑物和构建一个软件系统之间存在着惊人的相似性。(From 软件架构师导读)简单而易于掌握的思想具有改变思想和认识的力量。牛顿与万有引力弗洛伊德:潜意识的存在是行为的动机。如果把软件和信息技术系统都想象成物理建筑,则:我们会看到什么?废弃的房屋
2、不开心的住户空房,3.1 从建筑学看软件的构成,4/64,体系结构需要基础:从建筑的基础性看软件构成地基、材料、材料构成三个方面从根本上决定了建筑物的结构、性能、功用、建造方法,形成了建筑的基础。构造软件同样需要基础。计算机硬件结构、软件的基本组成、构成软件的可用组块三个方面。讨论软件的体系结构必须首先建立一个基础:一旦确立了基础,各种观点的比较就有了共同的标准语言。,3.1 从建筑学看软件的构成,5/64,体系结构需要层次:从建筑的层次性看软件构成。建筑是由基本材料到基础构件再到整体框架逐层次发展和构成的历程。软件的体系结构也是由使用最基本的材料开始,到认识常用基础构件再到组装和构造整体框架
3、的发展过程。,3.1 从建筑学看软件的构成,6/64,体系结构需要模式:从建筑的组合性看软件构成形态和构件组成了建筑模式。20多年建立了现代建筑学的250余种“场景问题解决方案”模式,涵盖不同的规模和形态这些建筑学的思想再软件结构的研究中也得到了重视,提出并发展了软件“软件设计模式”的概念,进而又提出了“软件体系结构模式”的概念。,3.1 从建筑学看软件的构成,7/64,体系结构需要清晰的角色划分:从建筑业看各个角色的划分。,3.1 从建筑学看软件的构成,8/64,软件设计的物质基础是当前的计算机硬件,它决定了软件设计和实现的出发点。当前硬件的变革表现在两个方面非冯.诺依曼运行机制的产生并行处
4、理为特征的高性能计算机结构,3.2 软件的物质基础,9/64,计算机硬件体系结构软件是对一组数据进行处理的一串指令。根据处理指令流和数据流的数量,计算机分为:SISDSIMDMISDMIMD,3.2 软件的物质基础,10/64,多处理机系统属于MIMD系统多处理机系统分为共享存储器分布存储器工作在统一的操作系统下进行资源管理挑战:并行算法和软件的设计,3.2 软件的物质基础,11/64,分布计算系统多台计算机通过网络连接起来的大系统分布存储的多处理机系统但各自运行独立的操作系统,3.2 软件的物质基础,12/64,结论多处理机需要并行处理(解决并行任务的调度和自动分解),对软件设计提出了复杂的
5、要求,使软件设计的复杂度大大提高我们以讨论串行计算机环境下的软件体系结构为主,3.2 软件的物质基础,13/64,任何具有固定组成形式的数据、代码、数据集合、代码序列、数据和代码的结合体都可以称作结构。无论多么高层的结构,都是建立在基础结构之上的。软件结构的问题从最初的最基本、最底层的描述过渡到越来越高、越来越抽象的层次上。作为软件结构基础的思想和概念,包括四个方面:结构化控制流结构化连接模式数据结构抽象数据类型,越来越抽象,3.3 软件的结构基础,14/64,结构化控制流顺序序列转向语句goto 过程调用,3.3 软件的结构基础,15/64,结构化控制流条件语句if then if then
6、 else 开关语句Swithch Case value 1 Case value n,3.3 软件的结构基础,16/64,结构化控制流循环语句For While do Repeat untilBreakContinue,3.3 软件的结构基础,17/64,结构化控制流 事件/异常语句On goto 中断/事件控制Set to Set on/off,3.3 软件的结构基础,18/64,部件连接方式部件连接器:完成部件与部件之间的连接部件:数据、外部设备、程序段实现部件连接的四种方式过程调用远程过程调用事件触发服务连接,3.3 软件的结构基础,19/64,部件连接方式过程调用方式部件之间通过过程
7、、函数或方法实现连接必须知道对方部件的标识、对外提供的操作过程标识、参数设置远程过程调用RPC网络分布环境下的过程调用通过代理部件完成部件之间的连接,3.3 软件的结构基础,20/64,部件连接方式中断/事件触发方式通过硬件提供的中断及其控制机制实现部件连接的方式用特定名称标识中断号码就形成事件触发的部件连接方式服务连接方式服务连接方式由接口、分析器、执行器构成请求部件 接口 分析器 执行器 请求部件各类解释器、功能服务器采用的就是这种连接方式,3.3 软件的结构基础,21/64,任何具有固定组成形式的数据、代码、数据集合、代码序列、数据和代码的结合体都可以称作结构。无论多么高层的结构,都是建
8、立在基础结构之上的,作为软件结构基础的思想和概念,包括四个方面:结构化控制流结构化连接模式数据结构抽象数据类型,3.3 软件的结构基础,22/64,结构化连接模式:建立在基本控制流之上的高层次抽象,属于控制模式。指部件与部件连接关系的构成形式。条件连接循环连接查询连接中断/事件方式共享信息方式,3.3 软件的结构基础,23/64,结构化连接模式条件连接,部件A,部件 1,部件 n,条件,3.3 软件的结构基础,24/64,结构化连接模式循环连接例如编译系统中:调用词法分析、语法分析、语义分析、目标代码生成、代码优化、链接等模块,部件A,部件 1,部件 n,3.3 软件的结构基础,25/64,结
9、构化连接模式查询方式两个部件信息源:负责信息的采集信息处理部件:周期性地对信息源进行信息查询对于随机发生的信息源事件无法达到快速的实时处理,信息获取和处理构件,信息源 1,信息源 n,3.3 软件的结构基础,26/64,结构化连接模式 中断/事件触发方式处理构件不主动关心信息源的情况信息处理部件在信息源中断事件触发下启动工作可以对随机发生的信息源事件进行快速的实时处理,处理构件,信息源 1,信息源 n,3.3 软件的结构基础,27/64,结构化连接模式共享信息模式共享信息区构件进行信息源和信息处理构件的信息交换和传递需要考虑信息存取的同步和互斥问题,信息源 1,信息源 n,共享信息交换区,信息
10、处理构件,3.3 软件的结构基础,28/64,任何具有固定组成形式的数据、代码、数据集合、代码序列、数据和代码的结合体都可以称作结构。无论多么高层的结构,都是建立在基础结构之上的,作为软件结构基础的思想和概念,包括四个方面:结构化控制流结构化连接模式数据结构抽象数据类型,3.3 软件的结构基础,29/64,基本数据类型(数据结构)是继规范控制和结构化设计后在软件研究和设计中发挥巨大促进作用的软件结构概念在表达软件体系结构的时候离不开基本的数据结构,是体系结构的基本和重要方面Java 10的杂质已经让位与体系结构和更高层的结构常见的数据结构线性结构树形结构复杂结构文件结构,3.3 软件的结构基础
11、,30/64,任何具有固定组成形式的数据、代码、数据集合、代码序列、数据和代码的结合体都可以称作结构。无论多么高层的结构,都是建立在基础结构之上的,作为软件结构基础的思想和概念,包括四个方面:结构化控制流结构化连接模式数据结构抽象数据类型,3.3 软件的结构基础,31/64,抽象数据结构是一个关于软件分块或者部件的数学模型定义了所描述的部件的构成和构成成员之间的关系以及作用在部件构成之上的合法的操作和操作的性质与其在计算机内的具体的表示和实现无关定义了由一个值域和定义在该值域上的一组操作组成从类型的概念把握部件抽象数据类型的定义,四元组(D,R,P,S)表示,3.3 软件的结构基础,32/64
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 层次
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6027858.html