软件体系结构概念提取.doc

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

软件体系结构是系统的一个或多个结构,它包括:软件的组成元素(构件),这些(构件)元素的外部可见特性,以及这些元素(构件)之间的相互关系。 体系结构是一种高层设计,是一种前期的设计活动,是软件系统的本质属性。 结构是系统元素本身的集合 视图是结构的表示 构件-连接器视图,是最重要的视图,反映运行时模型 分解视图,反应静态的结构信息。 分配视图,投影到外部环境,又从软件/硬件方面分为实现视图(制品视图)和部署视图。 行为视图,考虑时间因素,追踪和控制系统,又分为基于消息、概要活动、单元素行为视图,以及转化为用例视图。 构件是软件系统的结构块单元,是软件功能设计和实现的承载体,每个构件都承担着一定的功能并发挥着一定的作用。构件可以看做是模块、类、对象等一个相关功能的集合。 连接是构件间建立和维护行为关联及信息传递的途径。 连接需要两方面的支持:1、连接发生和维持的机制,这是实现连接的物质基础;2、连接能够正确地、无二义、无冲突地进行信息交换的保证(规则,协议)。 连接的本质是实现连接机制和信息交换协议,简称机制和协议。 连接器:当构件间联系关系复杂时,需要建立专门的连接构件以调度和协调构件间的关联关系,实现构件间联系的特殊构件称为连接器。 构件间的联系:消息和信号的传递,功能和方法的请求或调用,数据的传送和转换,构件间特定关系的协调和维持等,所有涉及构件间信息、行为、特性的联系和依赖。 动态的,运行时的结构有:进程结构、并发结构、共享数据或存贮库、客户机-服务器。 进程结构由软件中的一组进程构成,该结构包含的关系是:并发、同步、互斥。 进程结构包含“调度机制”,调度工作中包含死锁避免机制。 软件元素一般是从“构件-连接器”的元素导出。 为什么软件体系结构是必要的? 1、表述系统的初始概要信息,为开发早期进行质量分析和评估提供帮助。 2、为系统实现提供约束条件。 3、支撑重用和软件生产线的实现。 4、为涉众之间的交流奠定基础。 5、决定如何组织团队和分配任务。 模式是某一相关问题的设计结论,是一个解决方案,是过程和实体。 风格是解决问题的一些方法特征,是解决方案的框架。其核心内容是:控制原则、质量属性。 风格与模式通常从两个方面分类: 数据和控制 风格与模式具体划分为:数据流系统、调用返回系统、独立构件系统、虚拟机系统、中央存储系统。 数据流系统:批处理、管道-过滤器风格 调用返回系统:面向对象、分层风格 独立构件系统:通信过程、事件驱动风格 虚拟机系统:翻译、基于系统规则风格 中央存储系统(仓库):数据库、超文本、黑板等风格 过程控制风格:开环,闭环 其它系统:C/S、B/S、WEB、P2P、BT等风格 模式确定了解决一个特定问题的基本结构,但是它还是没有给出完整详细的方案。 体系结构模式用在大粒度设计的开始,也就是解决方案的选择。 设计模式用在整个设计阶段。 编码级模式用在实现阶段。 体系结构风格定义了一个系统家族(一个词汇表和一组约束)。 词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。 过滤器风格例子:Unix Shell 过滤器组件:是处理单元。处理单元通过计算和增加信息来丰富数据,通过浓缩或摘录信息来提炼数据,通过以别的表示形式交付数据来转换数据。 是什么力量推动数据在管道中流动? 答:过滤器以循环的方式,从流水线中拉出其输入数据,并将其输出数据压入后续单元。 过滤器状态:1、停止状态;2、处理状态;3、等待状态。 管道-过滤器风格的特点: 1、过滤器组件是独立的; 2、除输入和输出外,每个过滤器不受任何其它过滤器运行的影响; 3、过滤器之间不共享任何信息; 4、每个过滤器不知道其上游或下游过滤器的ID号。 管道过滤器风格的优点: 1、系统易于升级:过滤器组件的重用、通过重组增加了灵活性; 2、支持并发:每个过滤器作为一个单独的执行任务,可以与其它过滤器并发执行。 管道过滤器风格的缺点: 1、共享状态信息昂贵、不灵活(处理阶段需要共享大量的全局数据,则应用该模式就低效) 2、不适于交互处理。(往往导致批处理的方式) 3、数据转换的额外开销。(考虑进行数值计算并使用unix管道的系统,必须在每个过滤器中把ASCII字符转换成实数或者将实现转换成ASCII字符。一个简单的过滤器,如两个数相加,它的绝大部分处理时间消耗在格式转换上) 面向对象风格:数据及其操作被封装成抽象数据类型(类、对象)。 面向对象风格特点:1、封装;2、继承;3、多态。 面向对象的封装性: 1、对象抽象使得组件和组件之间的操作以黑箱的方式进行。 2、封装性使得细节内容对外部得以良好的隐藏。对象之间的访问是通过方法调用来实现的。 3、考虑操作和属性的关联性,封装完成了相关功能和属性的包装,由对象对它们进行管理。 4、

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档