软件构架实践笔记

软件构架实践笔记

ID:19769123

大小:205.50 KB

页数:8页

时间:2018-10-06

软件构架实践笔记_第1页
软件构架实践笔记_第2页
软件构架实践笔记_第3页
软件构架实践笔记_第4页
软件构架实践笔记_第5页
资源描述:

《软件构架实践笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、软件架构、架构模式、参考模型、参考架构1、对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的关系组成。这里所说的某个元素的“外部可见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征、错误处理、共享资源的使用,等等。其他的定义包括:架构是一种高层设计。架构是系统的总体结构。架构是一个软件或系统的组件、组件之间的相互关系以及管理其设计和演变的原理和方针的结构。架构是组件和连接器。2、架构模式是对元素

2、和关系类型以及一组对其使用方式的限制的描述。3、参考模型是一种考虑数据流的功能划分。4、参考架构是映射到软件元素(它们相互协作,共同实现在参考模型中定义的功能)及元素之间数据流上的参考模型。5、软件架构、架构模式、参考模型、参考架构之间的关系:6、软件架构的重要性(1)、架构是涉众进行交流的手段。(2)、架构是早期设计决策的体现。(3)、架构是可传递、可重用的模型。7、架构定义中指出系统由多种结构构成的,下面列出一些常见的结构。软件结构关系适用环境分解是一个子模块;与之共享秘密资源分配、项目结构化和规划;信息隐藏、

3、封装;配置控制使用要求正确出现设计子集;设计扩展分层要求正确的出现、使用服务、提供抽象增量式开发;在“虚拟机”可移植性之上实现系统类是一个实例;共享访问方法在面向对象的设计系统中,从一个公共的模版中产生快速的、相近的实现客户机-服务器与之通信;依赖于分布式操作;关注点分离;性能分析;负载平衡进程与之并发运行、可能会与之并发运行;排除;优先于等调度分析;性能分析并发在相同的逻辑线程上运行确定存在资源争用,线程可以交叉、连接、被创建或被杀死的位置共享数据产生数据;使用数据性能;数据完整性;可修改性部署分配给;移植到性能

4、、可用性、安全性分析实现存储在配置控制、集成、测试活动工作分配分配到项目管理、最佳利用专业技术、管理通用性二、质量属性系统从设计、实现到部署的整个过程中考虑质量属性的实现。质量属性包括下列三类:(1)、系统的质量属性。(可用性、可修改性、性能、安全性、可测试性和易用性)(2)、受架构影响的商业属性。(上市时间、成本和收益、所希望的系统生命期的长短、目标市场、推出计划、与老系统的集成)(3)、与架构本身相关的一些质量属性。(概念完整性、正确性与完整性、可构建性)六个质量属性的战术列表:      战术与架构模式的关系

5、ActiveObjcet设计模式将方法执行从方法调用中分离出来,以增强并发,并简化对驻留在其自身控制线程中的对象的同步访问。该模式由6个元素组成:代理,它提供了允许客户对主动对象调用公共访问方法的接口;方法请求,它定义了用于执行主动对象的方法的一个接口;激活接口,它维持了挂起方法请求的一个缓冲器;调度程序,它决定接下来执行什么方法请求;附属,他定义可建模为主动对象的行为和状态;将来,它允许客户获得方法调用的结果。该模式的动机就是增强并发性——这是一个性能目标。因此其主要目的就是实现“引入并发“性能战术。然而,还要注

6、意该模式包含的其他战术。●信息隐藏(可修改性)。每个元素都选择了它将实现的责任,并将其实现隐藏在接口后面。●仲裁者(可修改性)。该代理充当着把变化缓冲到方法调用中的仲裁者。●绑定时间(可修改性)。主动对象模式假定对该对象的请求在运行时到达该对象。然而,并没有确定客户机与代理的绑定时间。●调度策略(性能)。调度程序实现一些调度策略。对设计师来说,分析过程包括理解嵌入在实现中的所有战术;设计过程包括在关于哪些战术最和将实现系统期望的目标方面,做出一个明智的选择。 架构模式和样式软件中架构模式与建筑物中的架构样式类似,它

7、由几个将他们组合起来以维持架构完整性的关键特性和规则组成。架构模式由以下几个因素确定:●一组元素类型(如数据存储库或计算数学函数的组件)●指出其相互关系的元素的拓扑布局。●一组语义限制(如管道——过滤器样式中的过滤器是纯数据转化器——他们以增量形式将其输入流转换为输出流,但并不控制上游流或下游元素)。●一组交互机制(如子例程调用、事件——调阅者、黑板)、他们确定元素将如何通过允许的拓扑进行协调。架构模式和战术之间是什么关系呢?正如已经说明的那样,我们把战术看作是设计的基本“构建块”,并根据该战术创建架构模式和策略。

8、三、设计架构几乎在我们遇到的所有成功的面向对象系统中都具有但失败的系统中缺少的两个特性是:存在一个强大的构架构想,应用管理良好的迭代式增量开发周期。功能、质量和商业需求的某个集合“塑造”了构架。我们把这些塑造需求称为“构架驱动因素”。构架设计必须按需求分析进行,但不需要在需求分析完成后在开始构架设计。实际上,在确定了关键的构架驱动因素后,就可以开始构架设计了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。