[计算机软件及应用]软件体系结构——刘兴1.ppt

[计算机软件及应用]软件体系结构——刘兴1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]软件体系结构——刘兴1

软件体系结构 刘兴 计算机学院软件工程系 软件体系结构内容 1概述 2软件体系结构风格 3企业架构师和设计师、企业软件架构简介 4案例研究 5设计模式与软件架构 6软件体系结构方法论 7软件体系结构的分析与评估 8流行的软件体系结构 1概述 我们要学的这个是什么玩意? 我们为什么要学这个玩意? 我们将来会怎么干? 其他人是怎么玩的? 1概述 它是一种简单的、清楚的、完善的方式形成的 软件工程师需要一种更好的视角来理解软件,并试图找到一种新的方法来构建更复杂的大型软件系统 SA (software architecture) 一个程序到复杂系统软件的距离是十年 1概述-需求开发的主要困难 1概述-软件危机的原因 软件规模越来越大 随着软件应用范围的增广,软件规模愈来愈大。大型软件项目需要组织一定的人力共同完成,而多数管理人员缺乏开发大型软件系统的经验,而多数软件开发人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。 软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。 1概述-软件危机的原因 软件复杂度越来越高 软件不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。软件产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。 所谓“复杂问题”的概念是相对的,一旦人们采用先进的组织形式、开发方法和工具提高了软件开发效率和能力,新的、更大的、更复杂的问题又摆在人们的面前。 1.1what is SA ? 这种全局结构的设计和规划问题包括 全局组织结构;全局控制结构;通信和同步以及数据存取协议;规定设计元素的功能;设计元素的组合;物理分布;规模和性能;演化的维度;设计方案的选择等。 1随着软件系统的规模和复杂性不断增加,系统的全局结构的设计和规划变得比算法的选择以及数据结构的设计更加重要。 2人们普遍认为,为系统设计一个合适的体系结构是系统取得长远的成功的关键因素。 3非形式化的。 1.1what is SA ? 形式化还是非形式化 : 首先,软件工程师在长期的实践中已经拥有了一套共享的,语义丰富的词典,它由软件系统的习惯用语,模式,软件系统组织结构风格组成。 通过识别一个管道过滤器体系结构风格的实例,一个软件工程师传达了这样的事实:这个系统的主要功能就是进行数据流的转换,系统的主要功能由各种独立实体的过滤器分别来实现,系统的响应时间和吞吐量能用一种直接的方式计算出来。 1.1what is SA ? 1.1what is SA ? 其次,体系结构的描述的作用好像一个框架,系统属性在这个框架下进行扩充,并且,它在考察一个系统实现其整体需求的能力中扮演了非常重要的作用。 (软件体系结构是非常抽象的,可以理解更大范围的,系统级的关注点,比如吞吐量,通信模式,执行控制结构,可伸缩性,以及系统演化的扩展方式,提供一个自然的框架。) 1.1what is SA ? 软件系统的体系结构定义系统由计算构件和构件之间的相互作用组成。构件可以是客户机和服务器、数据库、过滤器或者是在一个分层系统中的层。构件之间的相互作用在这个设计层次上可以是简单和相似的,比如过程调用,共享变量的访问。但是它们也可以是复杂和语义丰富的。比如客户机-服务器协议(client-server protocols)数据库存取协议(database-accessing protocols),异步事件多点传送(asynchronous event multicast)和管道数据流(piped streams) 1.1what is SA ? 软件设计层次 体系结构级:系统性能与构件之间的整体联系。这个级别的构成元素是模块,模块通过各种方式互连,通过操作算子将子系统组装成一个系统。 代码级:这个级别的设计问题包括算法和数据结构;其构成元素是编程语言原语。 执行级:这个级别的设计问题包含存储器的映射、数据格式配置、堆栈和寄存器的分配。 软件各级抽象 1.1定义 Dewayne Perry和A1exander Wo1f 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。 处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。 这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。 1.1定义 Mary Shaw和David Garlan 软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。 体系结构问题包括总体组织和全

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档