现代软件工程(七)软件体系结构.PPTVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代软件工程(七)软件体系结构

软件体系结构讲座 第七章 软件体系结构 主讲人: 谭 良 基本的软件体系结构风格 ----仓库系统(repositories) 软件部件 表示当前状态的中心数据结构 一组相互独立的处理中心数据的部件 部件交互方式 根据输入数据流的事务处理类型决定执行哪个处理过程 根据中心数据结构的当前状态触发进行执行 传统的数据库系统 黑板系统 基本的软件体系结构风格 ----仓库系统(repositories) 黑板 (共享数据) 知识源 知识源 知识源 知识源 直接存取:知识源不断改变黑板的状态。 按照与应用程序相关的层次 组织的问题求解数据 独立、分离的与应用程序 相关的知识及其处理单元 黑板状态驱动控制: 使用特定的知识。 提 纲 1. 什么是软件体系结构? 2. 为什么要研究软件体系结构? 3. 软件体系结构的研究角度; 4. 基本的软件体系结构风格; 5. 基于体系结构的软件开发模式; 6. 异构体系结构; 7. 软件体系结构的当前研究热点。 ? 什么是软件体系结构? Dewayne Perry和Alexander Wolf于1992年正式提出软件体系结构的概念:软件体系结构是具有一定形式的结构化元素。 结构化元素包括:进程元素、数据元素和连接元素。 Mary Shaw和David Garlan于1993年提出:软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。 设计和说明总体系统结构作为一个新问题正式提出来了。 什么是软件体系结构? Dewayne Perry和David Galan于1995年IEEE软件工程学报上定义:软件体系结构是一个程序/系统各部件的结构、它们之间的相互关系、进行设计的原则和随时间演进的指导方针。 南加州大学软件工程中心的Barry Boehm指出:一个软件体系结构包括:(1)一个软件和系统部件、互联及约束的集合;(2)一个系统需求说明的集合;(3)一个基本原理用以说明这一部件、互联和约束能够满足系统的需求。 什么是软件体系结构? 1997年,Bass,Clements和Kazman在《使用软件体系结构》一书中的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件部件、软件部件的外部可见特性及其相互关系。 “外部可见特性”是指软件部件提供的服务、性能、特性、错误处理、共享资源使用等。 这一定义强调软件体系结构必须从系统中抽象出某些信息。 什么是软件体系结构? 对软件体系结构定义的总结分析: 软件体系结构定义了软件部件(Component),包括部件间交互的定义,特别强调省略和部件相互关系无关的内容信息(content information)。 软件体系结构并不说明什么是部件、什么是部件的相互关系。 每一个软件系统都有自身的体系结构,即由软件部件及其相互关系组成。 软件体系结构中每一部件的行为是体系结构的一部分,反映部件间如何进行交互。 软件体系结构的基本元素是部件,部件的描述信息包括: (1)计算功能:部件所实现的整体功能; (2)额外功能特性:描述部件的执行效率、处理能力、环境假设和整体特性; (3)结构特性:描述部件如何与其他部件集成在一起,以构成系统信息; (4)家族特性:描述了相同或相关部件之间的关系。 什么是软件体系结构? 表1: 普通部件及其支持的相互作用 软件体系结构讲座提纲 1. 什么是软件体系结构? 2. 为什么要研究软件体系结构? 3. 软件体系结构的研究角度; 4. 基本的软件体系结构风格; 5. 基于体系结构的软件开发模式; 6. 异构体系结构; 7. 软件体系结构的当前研究热点。 ? 为什么要研究软件体系结构? 1. 系统体系结构的发展是与计算机抽象技术的发展同步的; 2. 大规模复杂软件系统的性能与质量对软件工程技术提出了新的要求; 3. 软件体系结构研究的重要性。 为什么要研究软件体系结构? ----计算机抽象技术的发展 抽象数据类型 数据结构与算法 软件结构研究的开始 高级程序设计语言 程序族 软件体系结构 汇编语言、宏替换;高级语言编译器、数据类型。 程序=数据结构+算法(算法抽象) 软件划分与构造,方便系统的开发与维护。(模块抽象) 数据类型抽象、封装、信息隐藏、多态性等。 一个家族的程序,在信息隐藏和软件结构设计上具有相同的模式。(设计模式抽象) 软件体系结构可以看作是要把程序族中的成员的结构化信息组织起来,使系统在体系结构级达到重用。(体系结构抽象) 为什么要研究软件体系结构? ----软件工程技术发展的要求 程序设计阶段 早期软件工程阶段 手工作坊 软件危机 1.软件开发无计划性; 2.软件需求不充分; 3.软件开发过程无规范; 4.软件开发产品无评测手段。 如何更多、更好

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档