软件构架o实践笔记.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  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文档。上传文档
查看更多
一、软件架构、架构模式、参考模型、参考架构 1、对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的关系组成。 这里所说的某个元素的“外部可见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征、错误处理、共享资源的使用,等等。 其他的定义包括:架构是一种高层设计。架构是系统的总体结构。架构是一个软件或系统的组件、组件之间的相互关系以及管理其设计和演变的原理和方针的结构。架构是组件和连接器。 2、架构模式是对元素和关系类型以及一组对其使用方式的限制的描述。 3、参考模型是一种考虑数据流的功能划分。 4、参考架构是映射到软件元素(它们相互协作,共同实现在参考模型中定义的功能)及元素之间数据流上的参考模型。 5、软件架构、架构模式、参考模型、参考架构之间的关系: 6、软件架构的重要性 (1)、架构是涉众进行交流的手段。 (2)、架构是早期设计决策的体现。 (3)、架构是可传递、可重用的模型。 7、架构定义中指出系统由多种结构构成的,下面列出一些常见的结构。 软件结构 关系 适用环境 分解 是一个子模块;与之共享秘密 资源分配、项目结构化和规划;信息隐藏、封装;配置控制 使用 要求正确出现 设计子集;设计扩展 分层 要求正确的出现、使用服务、提供抽象 增量式开发;在“虚拟机”可移植性之上实现系统 类 是一个实例;共享访问方法 在面向对象的设计系统中,从一个公共的模版中产生快速的、相近的实现 客户机-服务器 与之通信;依赖于 分布式操作;关注点分离;性能分析;负载平衡 进程 与之并发运行、可能会与之并发运行;排除;优先于等 调度分析;性能分析 并发 在相同的逻辑线程上运行 确定存在资源争用,线程可以交叉、连接、被创建或被杀死的位置 共享数据 产生数据;使用数据 性能;数据完整性;可修改性 部署 分配给;移植到 性能、可用性、安全性分析 实现 存储在 配置控制、集成、测试活动 工作分配 分配到 项目管理、最佳利用专业技术、管理通用性 二、质量属性 系统从设计、实现到部署的整个过程中考虑质量属性的实现。质量属性包括下列三类: (1)、系统的质量属性。(可用性、可修改性、性能、安全性、可测试性和易用性) (2)、受架构影响的商业属性。(上市时间、成本和收益、所希望的系统生命期的长短、目标市场、推出计划、与老系统的集成) (3)、与架构本身相关的一些质量属性。(概念完整性、正确性与完整性、可构建性) 六个质量属性的战术列表: ? ? ? ? ? ? 战术与架构模式的关系 Active Objcet设计模式将方法执行从方法调用中分离出来,以增强并发,并简化对驻留在其自身控制线程中的对象的同步访问。 该模式由6个 元素组成:代理,它提供了允许客户对主动对象调用公共访问方法的接口;方法请求,它定义了用于执行主动对象的方法的一个接口;激活接口,它维持了挂起方法 请求的一个缓冲器;调度程序,它决定接下来执行什么方法请求;附属,他定义可建模为主动对象的行为和状态;将来,它允许客户获得方法调用的结果。 该模式的动机就是增强并发性——这是一个性能目标。因此其主要目的就是实现“引入并发“性能战术。然而,还要注意该模式包含的其他战术。 ● 信息隐藏(可修改性)。每个元素都选择了它将实现的责任,并将其实现隐藏在接口后面。 ● 仲裁者(可修改性)。该代理充当着把变化缓冲到方法调用中的仲裁者。 ● 绑定时间(可修改性)。主动对象模式假定对该对象的请求在运行时到达该对象。然而,并没有确定客户机与代理的绑定时间。 ● 调度策略(性能)。调度程序实现一些调度策略。 对设计师来说,分析过程包括理解嵌入在实现中的所有战术;设计过程包括在关于哪些战术最和将实现系统期望的目标方面,做出一个明智的选择。 ? 架构模式和样式 软件中架构模式与建筑物中的架构样式类似,它由几个将他们组合起来以维持架构完整性的关键特性和规则组成。架构模式由以下几个因素确定: ● 一组元素类型(如数据存储库或计算数学函数的组件) ● 指出其相互关系的元素的拓扑布局。 ● 一组语义限制(如管道——过滤器样式中的过滤器是纯数据转化器——他们以增量形式将其输入流转换为输出流,但并不控制上游流或下游元素)。 ● 一组交互机制(如子例程调用、事件——调阅者、黑板)、他们确定元素将如何通过允许的拓扑进行协调。 架构模式和战术之间是什么关系呢?正如已经说明的那样,我们把战术看作是设计的基本“构建块”,并根据该战术创建架构模式和策略。 三、设计架构 几乎在我们遇到的所有成功的面向对象

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档