资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件架构,(,Software Architecture,),第,五,章 架构,设计的,5,视图法,软件架构师要做的工作:,满足性能、持续可用性方面的需求,深入研究软件运行情况、制定设计决策,这些需求为:“运行期质量属性”,满足可扩展性、可重用等需求,需要研究开发期间的情况,制定相应决策,这些需求为:“开发期质量属性”,架构师必须规划组成软件的所有模块,为他们分配不同职责,使这些模块可以通过协作完成功能需求。,基于多视图的方法,可以帮助架构设计师完成上述工作。,架构设计的五视图法,五视图法的概要,它包含了,逻辑架构、开发架构、运行架构、物理架构、数据架构。,五架构的不同设计试图,所重点针对的需求不同。,实践中的五视图方法,架构设计应注意的两个问题,多个架构之间的同步,架构视图的数量问题,案例:再谈设备调试系统,根据需求和委托方的紧密配合,最终确定可以总括地用表表示:,开发架构设计:设备调试系统的开发架构,开发架构设计:设备调试系统的开发架构,运行架构设计:设备调试系统的运行架构,软件架构,(,Software Architecture,),第六章 从概念性架构到实际架构,关于概念性架构的描述,概念性构架通过主要的设计元素及它们之间的关系描述系统,概念性构架符合“软件架构”的定义,从“架构,=,组件,+,交互”角度而言,概念性架构包含概念性组件以及它们之间的抽象交互机制,概念性组件往往是粗粒度的,概念性架构包括一些高层次的选择,对未来软件系统的质量和功能都起着关键形响,概念性架构重点在点明关键机制,复杂系统的设计往往不能一蹴而就,分层架构设计的例,MySQL,的概念性架构,此架构设计明确了,MySQL,包含的设计元素,查询引擎、事务控制器、缓冲管理器、恢复管理器和存储管理器,设计元素分为三层,这些设计元素之间的依赖关系遵守分层架构模式的规定,既层间的依赖关系是单向的,(,必须,),,并没有跨层依赖,(,可选,),。,分布式技术的应用促进了分层架构的发展。但是经典的分层架构是指逻辑层,(layer),,而现在的纷纷不是应用的分层架构也指物理层,(Tier).,逻辑层:功能和职责的组织单元,物理层:支持分布式部署的组织单元,J2ee,概念性架构,可见其关注的是分布式部署的物理层概念及它们之间的交互,概念性架构,抓大局、不拘小节,注重的角度不同,逻辑层、物理层、设计元素的组合等等,实际架构,概念性架构高度抽象,使同一类的许多软件产品的概念性架构是趋同的。,实际架构与概念性架构不同,概念性架构往往与具体技术应用、具体平台选择无关。,领域,技术,概念性架构,实际架构,从概念性架构到实际架构,概念性架构是不可实现的,开发人员在概念性架构下无法实施开发工作。,从概念性架构到实际架构需要运用很多具体的设计技术,才能开发出能够为具体开发提供更多指导的实际架构,网络管理系统案例:从分层架构开始,分层架构,最为流行的架构模式,是思维的开始,既在分层架构的基础上进行深入,(,细化设计,),和调整往往是架构设计的关键,MVC,架构,MVC(Modal View,Controler,),,是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用,MVC,应用程序被分成三个核心部件:,M,是指数据模型,,V,是指用户界面,,C,则是控制器。使用,MVC,的目的是将,M,和,V,的实现代码分离,从而使同一个程序可以使用不同的表现形式。,比如一批统计数据你可以分别用柱状图、饼图来表示。,C,存在的目的则是确保,M,和,V,的同步,一旦,M,改变,,V,应该同步更新。,最初,三层架构,在分层的基础上,引入,MVC,架构,
展开阅读全文