




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件体系结构概述软件体系结构概述提纲背景与发展历史软件体系结构软件体系结构的作用体系结构风格体系结构模式设计模式体系结构设计方法体系结构描述语言提纲背景与发展历史3/83背景软件危机的表现成本、进度、质量软件危机的原因需求、规模、复杂度如何克服软件危机软件工程:过程、方法与工具3/83背景软件危机的表现软件体系结构的出现软件体系结构是软件系统的新概念软件工程中一个新兴的研究课题为了应对日益复杂的系统的设计与构造问题,描述大型复杂系统结构的需要对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已变得明显重要得多为了理解、构造大型、复杂的软件系统的更有效的方法,作为设计抽象的自然演化而出现并发展的。软件体系结构在软件开发过程中的位置:需求分析之后,软件设计之前。软件体系结构的出现软件体系结构是5/83软件体系结构的定义许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画;软件体系结构(SoftwareArchitecture)对子系统、软件系统组件以及他们之间关系的描述。子系统和组件一般定义在不同的视图内,以显示软件系统的相关功能属性和非功能属性。5/83软件体系结构的定义许多专家学者从不同角度和不同侧面对软件体系结构的定义WiKiThesoftwarearchitectureofaprogramorcomputingsystemisthestructureorstructuresofthesystem,whichcomprisesoftwarecomponents,theexternallyvisiblepropertiesofthosecomponents,andtherelationshipsbetweenthem.Thetermalsoreferstodocumentationofasystem'ssoftwarearchitecture.Documentingsoftwarearchitecturefacilitatescommunicationbetweenstakeholders,documentsearlydecisionsabouthigh-leveldesign,andallowsreuseofdesigncomponentsandpatternsbetweenprojects./wiki/Software_architecture软件体系结构的定义WiKihttp://en.wikiped7/83软件体系结构的定义PerryandWolf,1992:Asetofarchitectural(or,ifyouwill,design)elementsthathaveaparticularform.PerryandWolfdistinguishbetweenprocessingelements,dataelements,andconnectingelements,andthistaxonomybyandlargepersiststhroughmostotherdefinitionsandapproaches.软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。7/83软件体系结构的定义PerryandWolf,18/83软件体系结构的定义GarlanandShaw,1993:...beyondthealgorithmsanddatastructuresofthecomputation;designingandspecifyingtheoverallsystemstructureemergesasanewkindofproblem.Structuralissuesincludegrossorganizationandglobalcontrolstructure;protocolsforcommunication,synchronization,anddataaccess;assignmentoffunctionalitytodesignelements;physicaldistribution;compositionofdesignelements;scalingandperformance;andselectionamongdesignalternatives."软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。8/83软件体系结构的定义GarlanandShaw,9/83软件体系结构的定义西门子的Soni、Nord和Hofmeister指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。概念体系结构ConceptualArchitecture组件、连接器、性能应用问题的分解和划分。模块体系结构ModuleArchitecture子系统、模块、引入(Import)、引出(Exports)、模块的界面、管理、控制和一致性等代码体系结构CodeArchitecture文件、目录、库、包含(includes)、软件的配置管理、系统建造等运行体系结构ExecutionArchitecture任务、线程、进程、性能、调度、动态分配和不同执行系统之间的接口等9/83软件体系结构的定义西门子的Soni、Nord和Hof10/83软件体系结构的定义HayesRoth则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。DavidGarlan和DewnePerry于1995年在IEEE软件工程学报上又采用如下的定义:软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。1997年,Bass,Ctements和Kazman在《软件构架实践》一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,"软件外部的可见特性"是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。10/83软件体系结构的定义HayesRoth则认为软件体11/83软件体系结构的定义软件体系结构的研究正在发展,软件体系结构的定义不断演化精简GarlanandShaw的定义为:体系结构=组件+连接(件)+设计约束Architecture=Components+Relationship(Connectors)+Constrains11/83软件体系结构的定义软件体系结构的研究正在发展,软件组件组件(component)组件可以理解为软件系统的一个组成部分。组件通过一定接口组成复杂的软件系统。从系统构成角度:在系统运行中承担一定功能、发挥一定作用的软件体从程序设计角度:模块、类、对象、函数或者一个相关功能集合组件组件(component)组件组件分类(作用)控制组件:负责系统运行管理协调组件:负责组件间协作关系连接组件:负责组件间链接作用和转换服务提供组件:为其他组件提供特定服务功能信息控制组件 :负责安全检查和信息转接传递构造组件:完成对象的产生和撤销组件组件分类(作用)14/83组件的实现形式组件无行为能力 简单数据有行为能力 内部结构+操作行为组件的基本实现形式就是对象层次模型中组件的概念是在基本的组件形式上经过复合和概念提升而产生的e.g.数组、树;注册表;浏览器14/83组件的实现形式组件15/83组件的表达形式具有操作接口定义的抽象数据类型描述组成内部数据结构及其操作对外提供的操作方法集合按照访问目的对操作方法进行划分,得到组件的多个操作接口接口:Interface(Java)15/83组件的表达形式具有操作接口定义的抽象数据类型描述16/83组件的类别概念层次基础组件、中层组件、高层组件应用
通用组件、专用组件功能
数据服务组件、功能服务组件、逻辑处理组件、界面组件、控制组件、连接组件、体系结构组件等运行特性
调度和非调度组件、中断和非中断组件、多客户服务组件。16/83组件的类别概念层次17/83组件的特性组件的接口特性完备性 使用者可以用它完成组件应该能够完成的一切工作。最小性 组件接口或界面中任一操作,都不能由其他操作组合而实现。正交性 设法使两个不同的操作交叉重复部分达到最小。方便性 提供用户欢迎的操作。可能会破坏最小性和正交性要求效率 接口操作的执行效率17/83组件的特性组件的接口特性18/83组件的特性组件的运行特性中断处理 实时系统:消息机制/中断处理并行调度 考虑进程的产生、撤销、通信和调度管理多用户服务 组件具有事件触发和多线程运行的能力18/83组件的特性组件的运行特性19/83组件的特性组件的远程服务特性提供数据和功能服务网络的分布计算环境的要求19/83组件的特性组件的远程服务特性20/83组件的特性组件的关联特性:组件与相关联组件所建立的联系和联系的方式
e.g.向其他组件请求信息或服务动态/静态处理联系连接的实现形式影响组件的设计与实现e.g.同步调用/异步调用20/83组件的特性组件的关联特性:组件与相关联组件所建立的21/83组件的特性组件的动态特性运行调度 运行环境资源的分配和多任务的并行执行生存期管理 组件运行实例的产生和撤销,包括由组件负责的其他类型组件的产生和撤销。21/83组件的特性组件的动态特性22/83连接连接(Relationship)组件与组件之间建立和维持行为关联和信息传递的途径连接的本质在于: 实现机制和信息交换协议,简称机制和协议机制 连接得以发生和维持的机制
e.g.参数调用方式/串口通讯协议 连接的规约,是正确进行信息交换的规则,是实现有意义连接的保证22/83连接连接(Relationship)23/83连接的特性连接的方向性连接的角色 连接双方的地位(调用方和被调用方)连接的激发 引起连接行为的方式连接的响应特性
“从动方”对连接请求的处理特性。 实时性、时间、方式(同步/异步)、并发处理的能力。23/83连接的特性连接的方向性24/83连接件(Connector)实现组件之间联系的特殊机制或特殊组件。连接组件与一般组件一般组件:软件功能设计和实现的承载体连接件:负责完成组件之间信息交换和行为联系的专用组件24/83连接件(Connector)实现组件之间联系的特殊属性约束功能属性(functionalproperty)用来处理系统功能性的特定方面,并且通常与特定的功能需求相关。非功能属性(non-functionalproperty)定义了没有被功能属性描述覆盖的系统特征。包括:易修改性,互操作性,效率,可靠性,可测试性,可重用性属性约束功能属性(functionalproperty)26/83软件体系结构的重要性软件体系结构便于涉众交流
涉众包括客户、用户、项目经理、系统构架师、程序员、测试人员等;涉众分别关注应用系统体系结构的不同特征;软件体系结构便成为涉众表述自己的需求,协商找寻一个合理开方案的研究对象,并进行交流的手段。26/83软件体系结构的重要性软件体系结构便于涉众交流27/83软件体系结构的重要性软件体系结构是软件开发过程中的管理明确了对系统实现的约束条件,能够支持系统的质量属性实现。可行性分析时避免方向性错误制定工程进度和投资计划的依据,决定了开发组织的组织结构,保障项目顺利进行的关键软件开发过程的关键里程碑27/83软件体系结构的重要性软件体系结构是软件开发过程中的软件体系结构的重要性软件体系结构支持复用产品线构件(库)软件框架软件体系结构是需求和代码之间的桥梁,为开发提供了建设的蓝图,也是测试、维护和升级的依据。软件体系结构的重要性软件体系结构支持复用软件体系结构风格软件体系结构风格(architecturalstyle)定义了avocabularyofcomponentsandconnectortypesasetofconstraintsonhowtheycanbecombined.Maybeoneormoresemanticmodelsthatspecifyhowtodetermineasystem’soverallpropertiesfromthepropertiesofitsparts.e.g.
Client/Server软件体系结构风格软件体系结构风格(architectural软件体系结构风格主程序与子过程(MainProgram/Subroutine)数据抽象与面向对象组织(DataAbstractionandObject-OrientedOrganization)管道-过滤器(PipesandFilters)事件驱动与隐式调用(Event-Based,ImplicitInvocation)层次系统(LayeredSystems)黑板系统(Blackboard)过程控制(ProcessControl)解释器/虚拟机(Interpreters)客户/服务器(Client/Server)微核(MicroKernal)COM/DCOM组件软件体系结构风格主程序与子过程(MainProgram/S软件体系结构模式软件体系结构设计中,抽象出了许多常见的系统构建模式(Pattern),这些系统构建模式(也称为体系结构模式),是软件系统设计人员,在长期开发某类型软件过程中,摸索到该类软件的一些规律性的东西,经过提炼总结,得到的具有普遍性的构建模式。通过对这些模式的分析讨论可以比较它们各自的优缺点,从而在开发软件系统时选择合适的体系结构。
软件体系结构模式软件体系结构设计中,抽象出了许多常见的系统构软件体系结构模式MVC模式管道过滤器模式PAC模式层次模式元层次模式软件体系结构模式MVC模式33/83软件体系结构的风格与模式相同点:一个体系结构风格定义了一个由组件和连接类型描述的词汇集合,和一个如何将这些组件和连接类型结合的约束集合。体系结构模式也认为软件体系结构是由组件及它们之间的连接构成的,但更强调它是软件设计活动的产物。设计模式通常更关注两方面的问题:一是每个模式规定了一个特定的结构,即构成组件的空间配置,也就是组件和它们关系的静态约束;二是每个模式规定了它运行时的行为,即模式的参与者是如何协作、如何组织和如何通信的,它反映了模式的动态行为。
33/83软件体系结构的风格与模式相同点:34/83软件体系结构风格与模式不同点:体系结构风格只描述应用系统的整体结构框架,而软件体系结构模式存在于规模不同的范畴中。体系结构风格之间相互独立,但模式依赖于它所包含的更小的模式,依赖于相互作用的模式以及包含它的更大的模式。和体系结构风格相比,模式更加面向具体问题。体系结构风格一般以不依赖于实际设计环境的观点来表现设计技巧;而模式则非常具体地表示了设计问题,并针对设计问题提出解决方案。34/83软件体系结构风格与模式不同点:设计模式(designpattern)Descriptionofcommunicatingobjectsandclassesthatarecustomizedtosolveageneraldesignprobleminaparticularcontext.设计模式(designpattern)Descripti设计模式Command模式Bridge模式Composite模式Decorator模式Strategy模式设计模式Command模式体系结构设计方法框架(framework)可以看作是部分完整的子系统。为一个系统族定义体系结构并提供创建它们的基本构造块。它也定义了具体功能特性需要改进的地方。体系结构设计方法框架(framework)软件体系结构视图(view)代表一个软件体系结构的某个方面,用以强调体系结构的特定属性。如:全局视图,概念视图,模块视图,代码视图,执行视图软件体系结构视图(view)代表一个软件体系结构的某个方面,39/83体系结构描述语言ADL(ArchitectureDescriptionLanguage)早期主要使用非形式化的、用方框和连线描述体系结构的方法,不能清楚地表述设计的含义【即:没有通过理论抽象与统一的形式化描述】,因此不能形式化地分析一致性、完整性和正确性。
对体系结构进行描述和规范的方法;对体系结构的理论认识的形式化描述。形式化理论的重点:通过形式化语言,对结构设计给出准确的描述。ADL为软件体系结构特征既提供了概念性框架,也提供了描述的具体语法,同时提供解析、显示、编译、分析或者仿真体系结构描述的工具。39/83体系结构描述语言ADL(Architecture40/83体系结构文档化只有对体系结构文档化,程序员和系统分析员等才能更好地理解体系结构,从而完成对体系结构地设计。体系结构文档化的过程就是用一个或者多个视图来描述一个系统结构的过程。文档化的好处:软件开发过程中各种角色之间交流设计思想的媒介进行上层分析的基础,在此基础上可以验证体系结构设计方案,精炼或改变必要的方案让别人理解系统的第一手资料40/83体系结构文档化只有对体系结构文档化,程序员和系统分41/83小结软件体系结构概念软件开发过程中的作用及重要性软件体系结构风格软件体系结构模式设计模式软件体系结构设计方法软件体系结构描述语言41/83小结软件体系结构概念软件体系结构概述软件体系结构概述提纲背景与发展历史软件体系结构软件体系结构的作用体系结构风格体系结构模式设计模式体系结构设计方法体系结构描述语言提纲背景与发展历史44/83背景软件危机的表现成本、进度、质量软件危机的原因需求、规模、复杂度如何克服软件危机软件工程:过程、方法与工具3/83背景软件危机的表现软件体系结构的出现软件体系结构是软件系统的新概念软件工程中一个新兴的研究课题为了应对日益复杂的系统的设计与构造问题,描述大型复杂系统结构的需要对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已变得明显重要得多为了理解、构造大型、复杂的软件系统的更有效的方法,作为设计抽象的自然演化而出现并发展的。软件体系结构在软件开发过程中的位置:需求分析之后,软件设计之前。软件体系结构的出现软件体系结构是46/83软件体系结构的定义许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画;软件体系结构(SoftwareArchitecture)对子系统、软件系统组件以及他们之间关系的描述。子系统和组件一般定义在不同的视图内,以显示软件系统的相关功能属性和非功能属性。5/83软件体系结构的定义许多专家学者从不同角度和不同侧面对软件体系结构的定义WiKiThesoftwarearchitectureofaprogramorcomputingsystemisthestructureorstructuresofthesystem,whichcomprisesoftwarecomponents,theexternallyvisiblepropertiesofthosecomponents,andtherelationshipsbetweenthem.Thetermalsoreferstodocumentationofasystem'ssoftwarearchitecture.Documentingsoftwarearchitecturefacilitatescommunicationbetweenstakeholders,documentsearlydecisionsabouthigh-leveldesign,andallowsreuseofdesigncomponentsandpatternsbetweenprojects./wiki/Software_architecture软件体系结构的定义WiKihttp://en.wikiped48/83软件体系结构的定义PerryandWolf,1992:Asetofarchitectural(or,ifyouwill,design)elementsthathaveaparticularform.PerryandWolfdistinguishbetweenprocessingelements,dataelements,andconnectingelements,andthistaxonomybyandlargepersiststhroughmostotherdefinitionsandapproaches.软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。7/83软件体系结构的定义PerryandWolf,149/83软件体系结构的定义GarlanandShaw,1993:...beyondthealgorithmsanddatastructuresofthecomputation;designingandspecifyingtheoverallsystemstructureemergesasanewkindofproblem.Structuralissuesincludegrossorganizationandglobalcontrolstructure;protocolsforcommunication,synchronization,anddataaccess;assignmentoffunctionalitytodesignelements;physicaldistribution;compositionofdesignelements;scalingandperformance;andselectionamongdesignalternatives."软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等。8/83软件体系结构的定义GarlanandShaw,50/83软件体系结构的定义西门子的Soni、Nord和Hofmeister指出,软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。概念体系结构ConceptualArchitecture组件、连接器、性能应用问题的分解和划分。模块体系结构ModuleArchitecture子系统、模块、引入(Import)、引出(Exports)、模块的界面、管理、控制和一致性等代码体系结构CodeArchitecture文件、目录、库、包含(includes)、软件的配置管理、系统建造等运行体系结构ExecutionArchitecture任务、线程、进程、性能、调度、动态分配和不同执行系统之间的接口等9/83软件体系结构的定义西门子的Soni、Nord和Hof51/83软件体系结构的定义HayesRoth则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。DavidGarlan和DewnePerry于1995年在IEEE软件工程学报上又采用如下的定义:软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。1997年,Bass,Ctements和Kazman在《软件构架实践》一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,"软件外部的可见特性"是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。10/83软件体系结构的定义HayesRoth则认为软件体52/83软件体系结构的定义软件体系结构的研究正在发展,软件体系结构的定义不断演化精简GarlanandShaw的定义为:体系结构=组件+连接(件)+设计约束Architecture=Components+Relationship(Connectors)+Constrains11/83软件体系结构的定义软件体系结构的研究正在发展,软件组件组件(component)组件可以理解为软件系统的一个组成部分。组件通过一定接口组成复杂的软件系统。从系统构成角度:在系统运行中承担一定功能、发挥一定作用的软件体从程序设计角度:模块、类、对象、函数或者一个相关功能集合组件组件(component)组件组件分类(作用)控制组件:负责系统运行管理协调组件:负责组件间协作关系连接组件:负责组件间链接作用和转换服务提供组件:为其他组件提供特定服务功能信息控制组件 :负责安全检查和信息转接传递构造组件:完成对象的产生和撤销组件组件分类(作用)55/83组件的实现形式组件无行为能力 简单数据有行为能力 内部结构+操作行为组件的基本实现形式就是对象层次模型中组件的概念是在基本的组件形式上经过复合和概念提升而产生的e.g.数组、树;注册表;浏览器14/83组件的实现形式组件56/83组件的表达形式具有操作接口定义的抽象数据类型描述组成内部数据结构及其操作对外提供的操作方法集合按照访问目的对操作方法进行划分,得到组件的多个操作接口接口:Interface(Java)15/83组件的表达形式具有操作接口定义的抽象数据类型描述57/83组件的类别概念层次基础组件、中层组件、高层组件应用
通用组件、专用组件功能
数据服务组件、功能服务组件、逻辑处理组件、界面组件、控制组件、连接组件、体系结构组件等运行特性
调度和非调度组件、中断和非中断组件、多客户服务组件。16/83组件的类别概念层次58/83组件的特性组件的接口特性完备性 使用者可以用它完成组件应该能够完成的一切工作。最小性 组件接口或界面中任一操作,都不能由其他操作组合而实现。正交性 设法使两个不同的操作交叉重复部分达到最小。方便性 提供用户欢迎的操作。可能会破坏最小性和正交性要求效率 接口操作的执行效率17/83组件的特性组件的接口特性59/83组件的特性组件的运行特性中断处理 实时系统:消息机制/中断处理并行调度 考虑进程的产生、撤销、通信和调度管理多用户服务 组件具有事件触发和多线程运行的能力18/83组件的特性组件的运行特性60/83组件的特性组件的远程服务特性提供数据和功能服务网络的分布计算环境的要求19/83组件的特性组件的远程服务特性61/83组件的特性组件的关联特性:组件与相关联组件所建立的联系和联系的方式
e.g.向其他组件请求信息或服务动态/静态处理联系连接的实现形式影响组件的设计与实现e.g.同步调用/异步调用20/83组件的特性组件的关联特性:组件与相关联组件所建立的62/83组件的特性组件的动态特性运行调度 运行环境资源的分配和多任务的并行执行生存期管理 组件运行实例的产生和撤销,包括由组件负责的其他类型组件的产生和撤销。21/83组件的特性组件的动态特性63/83连接连接(Relationship)组件与组件之间建立和维持行为关联和信息传递的途径连接的本质在于: 实现机制和信息交换协议,简称机制和协议机制 连接得以发生和维持的机制
e.g.参数调用方式/串口通讯协议 连接的规约,是正确进行信息交换的规则,是实现有意义连接的保证22/83连接连接(Relationship)64/83连接的特性连接的方向性连接的角色 连接双方的地位(调用方和被调用方)连接的激发 引起连接行为的方式连接的响应特性
“从动方”对连接请求的处理特性。 实时性、时间、方式(同步/异步)、并发处理的能力。23/83连接的特性连接的方向性65/83连接件(Connector)实现组件之间联系的特殊机制或特殊组件。连接组件与一般组件一般组件:软件功能设计和实现的承载体连接件:负责完成组件之间信息交换和行为联系的专用组件24/83连接件(Connector)实现组件之间联系的特殊属性约束功能属性(functionalproperty)用来处理系统功能性的特定方面,并且通常与特定的功能需求相关。非功能属性(non-functionalproperty)定义了没有被功能属性描述覆盖的系统特征。包括:易修改性,互操作性,效率,可靠性,可测试性,可重用性属性约束功能属性(functionalproperty)67/83软件体系结构的重要性软件体系结构便于涉众交流
涉众包括客户、用户、项目经理、系统构架师、程序员、测试人员等;涉众分别关注应用系统体系结构的不同特征;软件体系结构便成为涉众表述自己的需求,协商找寻一个合理开方案的研究对象,并进行交流的手段。26/83软件体系结构的重要性软件体系结构便于涉众交流68/83软件体系结构的重要性软件体系结构是软件开发过程中的管理明确了对系统实现的约束条件,能够支持系统的质量属性实现。可行性分析时避免方向性错误制定工程进度和投资计划的依据,决定了开发组织的组织结构,保障项目顺利进行的关键软件开发过程的关键里程碑27/83软件体系结构的重要性软件体系结构是软件开发过程中的软件体系结构的重要性软件体系结构支持复用产品线构件(库)软件框架软件体系结构是需求和代码之间的桥梁,为开发提供了建设的蓝图,也是测试、维护和升级的依据。软件体系结构的重要性软件体系结构支持复用软件体系结构风格软件体系结构风格(architecturalstyle)定义了avocabularyofcomponentsandconnectortypesasetofconstraintsonhowtheycanbecombined.Maybeoneormoresemanticmodelsthatspecifyhowtodetermineasystem’soverallpropertiesfromthepropertiesofitsparts.e.g.
Client/Server软件体系结构风格软件体系结构风格(architectural软件体系结构风格主程序与子过程(MainProgram/Subroutine)数据抽象与面向对象组织(DataAbstractionandObject-OrientedOrganization)管道-过滤器(PipesandFilters)事件驱动与隐式调用(Event-Based,ImplicitInvocation)层次系统(LayeredSystems)黑板系统(Blackboard)过程控制(ProcessControl)解释器/虚拟机(Interpreters)客户/服务器(Client/Server)微核(MicroKernal)COM/DCOM组件软件体系结构风格主程序与子过程(MainProgram/S软件体系结构模式软件体系结构设计中,抽象出了许多常见的系统构建模式(Pattern),这些系统构建模式(也称为体系结构模式),是软件系统设计人员,在长期开发某类型软件过程中,摸索到该类软件的一些规律性的东西,经过提炼总结,得到的具有普遍性的构建模式。通过对这些模式的分析讨论可以比较它们各自的优缺点,从而在开发软件系统时选择合适的体系结构。
软件体系结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地毯定制合同范本
- 现代大型高炉三维料面建模与布料决策方法研究
- 金属-氧化亚铜异质结构的可控合成及其光催化性能研究
- 去氢骆驼蓬碱及其与顺铂协同抑制卵巢癌的机制研究与临床意义探索
- 材料模板采购合同范本
- 基于模型探究微藻-细菌协同脱氮优化策略
- 买驾照合同范本
- 2025年中国塑胶广告板市场调查研究报告
- 2025年中国凝血弹性描记仪市场调查研究报告
- 2025年中国冷却器芯垫市场调查研究报告
- 2025年湖南中医药高等专科学校高职单招职业技能测试近5年常考版参考题库含答案解析
- 2025新人教版英语七年级下单词英译汉默写表(小学部分)
- 控股集团公司组织架构图.docx
- 高炉煤气安全知识的培训
- 2008 年全国高校俄语专业四级水平测试试卷
- 需求供给与均衡价格PPT课件
- 最常用2000个英语单词_(全部标有注释)字母排序
- 在银行大零售业务工作会议上的讲话讲解学习
- 古代传说中的艺术形象-
- 水电站大坝土建安装工程悬臂模板施工手册
- 首都经济贸易大学本科毕业论文格式模板范文
评论
0/150
提交评论