- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EOS嵌入式操作系统第三部分嵌入式软件体系结构讲述
模式驱动的设计过程 信息与软件工程学院 * 确立领域模型及其之间关系;定义业务功能;由程序员分别实现表现层、业务服务层和持久层 领域模型 相互关联 界面边界 界面设计 业务流程 业务组件 数据持久化 存储获取数据 Kruchten定义 信息与软件工程学院 * 软件体系结构有四个角度 概念角度:描述系统的主要构件及它们之间的关系; 模块角度:包含功能分解与层次结构; 运行角度:描述了一个系统的动态结构; 代码角度:描述了各种代码和库函数在开发环境中的组织 。 处理 处理 连接 数据 Bass,Ctements和Kazman定义 信息与软件工程学院 * 一个程序或计算机系统的软件体系结构包括 一个或一组软件构件、软件构件的外部可见特性及其相互关系。 其中,软件外部的可见特性是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等 软件体系结构的生命周期 信息与软件工程学院 * 软件体系结构的发展方向 信息与软件工程学院 * 各种ADLs(结构描述语言)之间的信息互换:用一种公共形式把各种语言综合起来,使得能够交换各种体系结构描述信息 设计工具和环境:用工具实现体系结构的描述和分析,以实现阶段成果的自动转换 体系结构再工程:从遗留系统软件代码和系统中抽取结构信息,经过描述、统一、抽象、一般化与实例化等处理,总结出系统的体系结构 → 体系结构融合 软件体系结构作用 信息与软件工程学院 * 设计计划 信息与软件工程学院 * 帮助管理复杂系统的抽象框架 信息与软件工程学院 * 任务的实时性软件体系结构独立于任何一个现实系统平台,它是一个抽象:现实系统中的许多细节被提炼并封装成软件体系结构中的元素。 软件体系结构对管理的另一辅助作用是便于分析矛盾需求之间的平衡点。 软件体系结构发展历程 信息与软件工程学院 * 示意 信息与软件工程学院 * 软件体系结构通用模型 信息与软件工程学院 * 整体结构 — 无结构模型 信息与软件工程学院 * 层次结构 信息与软件工程学院 * 层次结构(2) — 另一种体现 信息与软件工程学院 * 层次结构(3) — 示例 信息与软件工程学院 * OFP (飞控程序) 对象结构模型 —— 抽象 信息与软件工程学院 * 客户机/服务器结构模型 信息与软件工程学院 * 客户机/服务器结构模型(1) 信息与软件工程学院 * nanoOS 客户机/服务器结构模型(2) 信息与软件工程学院 * 安全OS —— 微内核 User kernel Hardware Process Application Memory Micro-kernel File Net Display Request Return Safety Security 三层体系架构 信息与软件工程学院 * 仓库风格:黑板模型 信息与软件工程学院 * 共享数据 虚拟机体系架构 信息与软件工程学院 * 以牺牲运行效率为代价,优化应用的可移植性。 一个抽象计算机,有自己的抽象指令 解释执行抽象指令(应用),在实际计算机上运行 应用可在新环境下运行,不重新编码、编译 Basic、Java 虚拟机体系架构(2) 信息与软件工程学院 * 虚拟机体系架构(3):JVM架构 信息与软件工程学院 * 物理系统 虚拟指令 虚拟机 基于构件的架构 信息与软件工程学院 * 云计算体系架构 信息与软件工程学院 * 全新的基于互联网的超级计算理念和模式,实现需要多种技术结合,需要用软件实现将硬件资源进行虚拟化管理和调度,形成一个巨大的虚拟化资源池,把存储于个人电脑、移动设备和其他设备上的大量信息和处理器资源集中在一起,协同工作 计算资源都放到互联网(云)上。计算资源则包括计算机硬件资源(如计算机设备、存储设备、服务器集群、硬件服务等)和软件资源(如应用软件、集成开发环境、软件服务) 云计算体系架构(2) 信息与软件工程学院 * 云计算体系架构 信息与软件工程学院 * MVC模式 信息与软件工程学院 * 模型驱动的软件开发 信息与软件工程学院 * 传统设计方法 信息与软件工程学院 * 当面对一个新的业务需求时,总是从先建立数据表等结构开始 面向功能的结构化设计方法 面向数据流的结构化设计方法 面向对象设计方法 存在问题 信息与软件工程学院 * 系统的状态无法统一设计,导致每个程序员都可以直接操控系统的状态 —— 整个系统状态运行混乱 容易将实体表和关系混合,造成分析者视觉混乱,无法正确提炼系统核心实体 软件系统的编码架构以数据库为中心:沿用过程化编程风格,难于维护和拓展 系统负载集中在数据库服务器端:大型机集中式计算模式,非分布式计算模式 容易丧失多层结构引以为豪的中间层,回复到过去的两层结构,不利于软件重用。 模型驱动的软件架构 信息与软件工程学院 *
文档评论(0)