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