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