软件体系结构复习重点要点
软件体系结构(老师划重点版)
软件体系结构(老师划重点版)软件体系结构复习资料Chapter 11.软件重用技术可以减少软件开发过程中大量的重复性工作,这样就能提高软件生产率、降低开发成本、缩短开发周期。
2.软件构件是语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上他是语义描述、通信接口和实现代码的复合体。
简单的说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体。
3.可重用技术对构件库组织方法的要求是:不仅要支持精确匹配、还要支持相似构件的查找。
4.超文本方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
5.件体系结构充当一个理解系统构件和他们之间关系的框架,特别是那些始终跨越时间和实现的属性。
Chapter 26.软件体系结构的模型分为五种:结构模型、框架模型、动态模型、过程模型和功能模型,最常用的是结构模型和动态模型。
7.“4+1视图模型“从5个不同的视角:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。
8.逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
开发视图也可以成为模块视图,主要侧重于软件模块的组织与管理。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。
物理视图主要考虑如何把软件映射的硬件上,它通常要考虑系统性能、规模和可靠性等。
场景可以看做是那些重要系统活动的抽象,他是四个视图有效的联系起来,从某种意义上说场景是最重要的需求抽象。
从以上分析可知,逻辑视图和开发视图描述软件的静态结构,进程视图和物理视图描述系统的动态结构。
9.软件体系结构的核心模型有五种元素构成:构件、连接件、配置、端口和角色,其中构件、连接件和配置是最近本的元素。
构件时具有某种功能的可重用的软件模板单元,表示系统中最重要的计算元素和计算存储。
构件有两种:符合构件和原子构件,符合构件有其他符合构件和原子构件通过连接而成。
中南大学软件体系结构重点
第一章软件体系结构概述(5分)一、软件体系结构的定义●国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。
●软件体系结构= 构件+ 连接件+ 约束二、软件体系结构的优势●容易理解●重用●控制成本●可分析性第二章软件体系结构风格(10分)一、软件体系结构风格定义●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。
An architectural style defines a family of systems in terms of a pattern of structuralorganization.●体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。
词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
An architectural style defines a vocabulary of components and connector types, and aset of constraints on how they can be combined.二、常见的体系结构风格●管道和过滤器➢每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
➢过滤器风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。
●数据抽象和面向对象组织➢数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中。
➢这种风格的构件是对象或者说是抽象数据类型的实例。
➢对象通过函数和过程的调用来进行交互。
●基于事件的隐式调用➢构件不直接调用一个过程,而是触发或广播一个或多个事件。
➢事件的触发者并不知道哪些构件会被这些事件影响。
●分层系统➢组织成一个层次结构。
➢每一层都为上一层提供了相应的服务,并且接受下一层提供的服务。
●仓库系统➢构件:中心数据结构(仓库)和一些独立构件的集合。
软件体系结构知识点完整
1、构件就是核心与基础,重用就是必需得手段。
2、软件重用就是指在两次或多次不同得软件软件开发过程中重复使用相同或相近软件元素得过程。
3、软件元素包括程序代码、设计文档、设计过程、需求分析文档甚至领域知识。
4、把可重用得元素称作软构件,简称为软构件。
5、可重用软件元素越大,就说重用得粒度越大。
6、构件就是指语义完整、语法正确与有可重用价值得单位软件,就是软件重用过程中可以明确辨识得系统;结构上,它就是语义描述、通信接口与代码实现得复合体。
7、面向对象技术达到类级重用,以类为封装得单位。
8、构件模型就是对构件本质特征得抽象描述。
三个主要流派,分别就是OMG(对象管理组织)得CORBA(通用对象请求代理结构)、Sun得EJB与Microsoft得DOM(分布式构件对象模型)。
9、获取构件得四个途径:(1)从现有构件中获得符合要求得构件,直接使用或作适应性修改,得到可重用构件。
(2)通过遗留工程,将具有潜在重用价值得构件提取出来,得到可重用构件。
(3)从市场上购买现成得商业构件,即COTS构件。
(4)开发符合要求得构件。
10、构件分类方法三大类:关键字分类、刻面分类法、超文本组织方法11、构件检索方法:基于关键字得检索、刻面检索法、超文本检索法与其她检索方法。
12、减少构件修改得工作量,要求工作人员尽量使构件得功能、行为与接口设计更为抽象画、通用化与参数化。
13、构件组装技术:基于功能得组装技术、基于数据得组装技术与面向对象得组装技术。
14、软件体系结构得定义:软件体系结构为软件系统提供了一个结构、行为与属性得高级抽象,由构成系统得元素得描述、这些元素得相互作用、指导元素集成得模式以及这些模式得约束组成。
软件体系结构不仅指定了系统得组织结构与拓扑结构,并且显示了系统需求与构成系统得元素之间得对应关系,提供了一些设计决策得基本原理。
软件体系结构得意义:(1)体系结构就是风险承担者进行交流得手段;(2)体系结构就是早期设计决策得体现--①软件体系结构明确了对系统实现得约束条件②软件体系结构决定了开发与维护组织得组织结构③软件体系结构制约着系统得质量属性④通过研究软件体系结构可能预测软件得质量⑤软件体系结构使推理与控制更改更简单⑥软件体系结构有助于循序渐进得原型设计⑦软件体系结构可以作为培训得基础;(3)软件体系结构就是可传递与可重用得模型。
软件设计与体系结构知识点
1.软件设计的特征(1)软件设计的开端是出现某些新的问题需要软件来解决,这些需要促使设计工作的开始,并成为整个设计工作最初的基础(2)软件设计的结果是给出一个方案,它能够用来实现所需的、可以解决问题的软件,方案的描述可能是文字、图表,甚至数学符号、公式等组成的文档或模型(3)软件设计包含一系列的转换过程,即把一种描述或模型转换为另一种描述或模型,转换后的形态可能更加具体,或更接近于实现(4)产生新的想法或思路对软件设计非常重要,因为设计也是一个创造性的过程,不同的问题或需求总会存在各自的特点,即使同样的问题在不同时期和环境下也会存在区别,因此设计不会是一成不变的(5)软件设计的过程是不断解决问题和实施决策的过程,因为整个设计是解决一个大的问题,在设计过程中将会分解成众多小问题,涉及真需要一次解决这些小的问题,并在出现多种方案或策略时进行决策,选择其中最合适的(6)软件设计也是一个满足各种约束的过程,因为软件可能在性能、运行环境、开发时间、成本、人员技术水平等各个方面存在约束,设计必须在满足这些约束的情况下给出最佳的设计方案(7)大多数的软件实际是一个不断演化的过程,因为需求在一开始很可能是不完整或不精确的,在设计过程中还会不断发生变化并逐步稳定下来,因此设计需要根据需求的变化而不断演化。
2.软件设计的要素( 1 ) 目标描述 ( 2 ) 设计约束 ( 3 ) 产品描述 ( 4 ) 设计原理 ( 5 ) 开发规划 ( 6 ) 使用描述3.软件设计体系的定义( 1 )软件设计体系结构是软件系统的结构,包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系( 2 )软件体系结构是软件系统的基本组织,包含构建、构件之间、构件与环境之间的关系,以及相关的设计与演化原则4.软件设计的主要活动( 1 ) 软件设计计划 ( 2 ) 体系结构设计 ( 3 ) 界面设计 ( 4 ) 模块/子系统设计 ( 5 ) 过程/算法设计( 6)数据模型设计5.体系结构“4+1 ”多视图建模( 1 )逻辑视图:该视图关注功能需求,即系统应该为最终用户提供什么服务,它与应用领域精密相关( 2 )进程视图:该视图捕获设计中关于并发和同步的内容,重视一些非功能需求,例如性能、可扩展性等,定义了运行实体和它们的属性。
【软件体系结构】 复习
第一章1. 体系结构发现、演化、重用体系结构发现解决如何从已经存在的系统中提取软件的体系结构,属于逆向工程范畴。
由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变动,称之为软件体系结构演化。
体系结构重用属于设计重用,比代码重用更抽象。
由于软件体系结构是系统的高层抽象,反映了系统的主要组成元素及其交互关系,因而较算法更稳定,更适合于重用。
2.基于软件体系结构的软件开发方法:问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现3.评价软件体系结构的方法权衡分析方法(ATAM方法),软件体系结构分析方法(SAAM方法),中间设计的积极评审(ARID方法)第二章1. 建模结构模型:研究结构模型的核心是体系结构描述语言。
以体系结构的构件,连接件和其他概念来刻画结构。
并力图通过结构来反映系统的重要语义内容。
框架模型:与结构模型类似,但不太侧重细节,而侧重于整体结构。
动态模型:是对结构和框架模型的补充,研究系统大颗粒的行为性质。
过程模型:研究构造系统的步骤和过程,结构是遵循某些过程脚本的结果。
功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。
功能模型可以看作是一种特殊的框架模型。
4+1视图模型:逻辑视图、进程视图、物理视图、开发视图和场景视图逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。
这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。
在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图开发视图通过系统输入输出关系的模型图和子系统图来描述。
进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。
物理视图主要考虑如何把软件映射到硬件上。
逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。
软件体系结构复习资料
软件体系构造知识点:第一章:1.什么是软件体系构造答:软件体系构造=构件+连接件+约束软件体系构造是具有一定形式的构造化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进展加工,数据构件是被加工的信息,连接构件把体系构造的不同局部组组合连接起来。
这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中根本上得到保持。
2.软件体系构造形式化方法答:1.根据对目标软件系统进展说明的方式:(1)面向模型的方法。
在这个方法中,对目标软件系统的说明是为其构造一个模型,该模型的构成成分是一些具有特性的数据抽象,如域,元组等(2)面向性质的方法。
这种方法是直接给出目标软件系统的一组特性来描述目标软件系统。
通常是目标软件系统必须满足的形式公理,其形式化说明仅描述目标软件系统的性质,而不涉及实现方法。
2.根据表达能力的形式方法可分为以下五大类(1)基于模型的方法(2)代数方法(3)过程代数方法(4)基于逻辑的方法(5)基于网络的方法3.软件质量定义、软件质量模型答:,软件质量是软件符合明确表达的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。
可划分为三组,分别反响用户在使用软件产品时的三种观点。
正确性、强健性、效率、完整性、可用性、风险〔产品运行〕;可理解性、可维修性、灵活性、可测试性〔产品修改〕;可移植性、可再用性、互运行性〔产品转移〕。
第二章:4.Kruchten 4+1模型描述软件体系构造Kruchten 4+1模型建立在体系构造的Perry&Wolf定义和Berry Boehm定义的根底上,采用多视图模型的方法描述软件体系构造。
该模型由5个视图构成,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系构造的全部容。
程序员软件管理系统工程师拓扑通集成者信性能可扩展性体系构造的概念在每个视图里面都可以独立应用,并不是所有的软件体系构造都需要完整的4+1视图。
软件体系结构考试要点
一、名词解释1、B/S浏览器/效劳器,是三层应用结果的一种实现方式。
具体构造:浏览器/Web效劳器/数据库效劳器2、C/S 客户/效劳器,是基于资源不等,且为共享而提出来的,定义了工作站如何及效劳器相连,以实现数据和应用分布到多个处理机上。
两层C/S构造:效劳器〔后台〕负责数据管理和数据处理,客户机(前台)完成及用户的交互任务。
三层C/S体系构造怎么刚加了一个应用效劳器,它将应用功能分为表示层、功能层和数据层,在三层C/S构造中,最重要的是中间件。
C/S体系构造有三个主要组成局部:数据库效劳器、客户应用程序和网络3、HMB:层次消息总线的软件体系构造风格〔Hierarchical Message Bus—based Sytle〕。
4、DSSA:特定领域的软件体系构造〔domain specific software architecture〕就是在一个特定的领域中位一组应用提供组织构造参考的标准软件体系构造。
5、ADL:软件体系构造描述语言(Architecture desciription Language)是一种形式化语言,它在底层语义模型的支持下,为软件的概念体系构造建模提供了具体语法和框架。
6、XML:可扩展标记语言〔extensible markup language〕,XML是W3C制定的作为Internet 上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言〔Mete〕。
7、ATAM:体系构造权衡分析方法〔architecture tradeoff analysis method〕,它是针对系统所使用或修改活动的支持程度,来判断该体系构造针对这一场景所代表的质量需求得满足程度的体系构造评估方法。
8、Web Service:Web效劳〔Web Service〕是一种新的面向效劳的体系构造,其中定义了一组标准协议,用于接口定义、方法调用、基于Internet的构造注册以及各种应用的实现。
软件体系结构知识点概要
第一章软件体系构造概论1 什么是软件危机?重要特点、体现形式、方略软件危机:是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题软件危机旳体现形式:1)软件成本旳日益增长:相反,计算机硬件伴随技术旳进步、生产规模旳扩大,价格却在不停旳下降,这样一来,软件成本在计算机中占有旳比例越来越大2)开发进度难以控制:顾客需求变化等多种意想不到旳状况层出不穷,常常令软件开发过程很难保证按预定旳计划实现,给项目计划和论证工作带来很大旳困难3)软件质量差4)软件维护困难软件危机旳成因:1 顾客需求不明确2 缺乏对旳旳理论指导3 软件规模越来越大4软件复杂度越来越高怎样克服软件危机(方略):用工程旳措施进行软件生产旳也许性,即应用现代工程旳概念、原理、技术和措施进行计算机软件旳开发、管理和维护软件工程是用工程、科学和数学旳原则与措施研制、维护计算机软件旳有关技术及管理措施。
软件工程包括三要素:措施、工具和过程2软件构件旳概念构件是指语义完整、语法对旳和有可重用价值旳单位软件,是软件重用过程中可以明确辨识旳系统;构造上,它是语义描述、通讯接口和实现代码旳复合体。
简朴地说,构件是具有一定功能,可以独立工作或能同其他构件装配起来协调工作旳程序体,构件旳使用同它旳开发、生产无关。
构件模型是对构件本质特性旳抽象描述3构件重用旳概念构件开发旳目旳是重用,为了让构件在新旳软件项目中发挥作用,库旳使用者必须完毕如下工作:检索与提取构件,理解与评价构件,修改构件,最终将构件组装到新旳软件产品中4软件重用旳定义软件重用是指在两次或多次不一样旳软件开发过程中,反复使用相似或相近软件元素旳过程。
软件元素(即软构件)包括:程序代码、测试用例、设计文档、设计过程、需求分析文档、领域知识等。
5 管理重用旳措施(列举,不用扩展)有效进行软件重用旳业界经验总结(1)关注特定领域旳软件资源(2)对旳命名软件资源(3)谨慎考虑与否具有重用旳必要(4)迭代演进可重用旳资源(5)保持一致性要比遵照行业原则更重要(6)进行代码审查(7)没有自动化旳回归测试套件,就不要公布可重用旳软件资源(8)理解业务需求之后再去说服他人(9)尽量与开发团体一起创立可重用旳软件资产(10)从生产支持人员那里获取可重用资源旳需求6软件体系构造旳概念概念:软件体系构造为软件系统提供了一种构造、行为和属性旳高级抽象,由构成系统旳元素旳描述、这些元素旳互相作用、指导元素集成旳模式以及这些模式旳约束构成。
软件体系结构重点
1.软件理论包括:–计算模型与可计算理论、算法理论基础、算法设计与分析、程序设计语言理论基础、程序设计语言设计及其编译技术、数理逻辑、数据抽象与基本数据类型的实现技术等。
对软件工程而言,充满了方法论的内容:–如何分析、如何设计、如何编程、如何测试、如何维护、…;–软件模型与软件系统的“质量”在很大程度上依赖于开发者本身的经验与水平。
因为缺乏对软件开发过程的理论层面的刻画,没有将数目众多的方法论总结提升为理论,故而只能是“工程”。
2.体系结构”的共性一组基本的构成要素——构件–这些要素之间的连接关系——连接件–这些要素连接之后形成的拓扑结构——物理分布–作用于这些要素或连接关系上的限制条件——约束–质量——性能3.软件体系结构(SA):–提供了一个结构、行为和属性的高级抽象–从一个较高的层次来考虑组成系统的构件、构件之间的连接,以及由构件与构件交互形成的拓扑结构–这些要素应该满足一定的限制,遵循一定的设计规则,能够在一定的环境下进行演化。
–反映系统开发中具有重要影响的设计决策,便于各种人员的交流,反映多种关注,据此开发的系统能完成系统既定的功能和性能需求4.体系结构= 构件+ 连接件+ 拓扑结构+ 约束+ 质量5.目标:提高软件质量–功能属性(functional properties):能够完成用户功能性需求;–非功能性属性(non-functional properties):能够以用户要求的性能标准,合理、高效的实现各类功能性需求。
6.软件体系结构关注的是:如何将复杂的软件系统划分为模块、如何规范模块的构成和性能、以及如何将这些模块组织为完整的系统。
⏹主要目标:建立一个一致的系统及其视图集,并表达为最终用户和软件设计者需要的结构形式,支持用户和设计者之间的交流与理解。
⏹分为两方面:–外向目标:建立满足最终用户要求的系统需求;–内向目标:建立满足系统设计者需要以及易于系统实现、维护和扩展的系统构件构成。
软件体系结构-知识点概要
第一章软件体系结构概论1 什么是软件危机?主要特点、表现形式、策略软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题软件危机的表现形式:1)软件成本的日益增长:相反,计算机硬件随着技术的进步、生产规模的扩大,价格却在不断的下降,这样一来,软件成本在计算机中占有的比例越来越大2)开发进度难以控制:用户需求变化等各种意想不到的情况层出不穷,常常令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来很大的困难3)软件质量差4)软件维护困难软件危机的成因:1 用户需求不明确2 缺乏正确的理论指导3 软件规模越来越大4软件复杂度越来越高如何克服软件危机(策略):用工程的方法进行软件生产的可能性,即应用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理和维护软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。
软件工程包括三要素:方法、工具和过程2软件构件的概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。
简单地说,构件是具有一定功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。
构件模型是对构件本质特征的抽象描述3构件重用的概念构件开发的目的是重用,为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:检索与提取构件,理解与评价构件,修改构件,最后将构件组装到新的软件产品中4软件重用的定义软件重用是指在两次或多次不同的软件开发过程中,重复使用相同或相近软件元素的过程。
软件元素(即软构件)包括:程序代码、测试用例、设计文档、设计过程、需求分析文档、领域知识等。
5 管理重用的方法(列举,不用扩展)有效进行软件重用的业界经验总结(1)关注特定领域的软件资源(2)正确命名软件资源(3)慎重考虑是否具备重用的必要(4)迭代演进可重用的资源(5)保持一致性要比遵循行业标准更重要(6)进行代码审查(7)没有自动化的回归测试套件,就不要发布可重用的软件资源(8)理解业务需求之后再去说服别人(9)尽可能与开发团队一起创建可重用的软件资产(10)从生产支持人员那里获取可重用资源的需求6软件体系结构的概念概念:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
《软件系统设计与体系结构复习重点纲
第1章软件体系结构概论软件危机:是指计算机软件的开发和维护过程中所遇到的一系列严重问题.危机的表现:软件成本日益增长、开发进度难以控制、软件质量差、软件维护困难.消除软件危机的方法:软件工程,软件工程三要素:方法、工具和过程。
成因:用户需求不明确、缺乏正确的理论指导、软件规模越来越大、软件复杂度越来越高.软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相近元素的过程。
软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。
构件:是指语义完整、语法正确和有可用性价值的单位软件。
构件分类方法:关键字分类法、刻面分类法和超文本组织方法.构件重用的过程:检索与提取构件、理解与评价构件、修改构件、构件组装。
构件重用内容:需求重用、设计重用、代码重用和组织机构重用3.掌握软件体系结构的定义、软件体系结构的意义及发展史、软件体系结构研究内容软件体系结构定义:software architecture,是具有一定形式的结构化元素,即构件的集合,包括处理构件,数据构件和连结构件。
意义:1体系结构是风险承担者进行交流的手段2是早期设计决策的体现3是可传递和可重用的模型体现原因:1 明确了对系统实现的约束条件 2 构决定了开发和维护组织的组织结构3制约着系统的质量属性4通过研究软件体系结构可能预测软件的质量5使推理和控制更改更简单6有助于循序渐进的原型设计7可以作为培训的基础四个发展阶段:1“无体系结构”设计阶段:以汇编语言进行小规模应用程序开发为特征2萌芽阶段:出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征3初期阶段:出现了从不同侧面描述系统的结构模型,以UML为典型代表4高级阶段:以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模型与传统软件结构的界限,该阶段以Kruchten提出的“4+1"模型为标志第2章软件体系结构建模软件体系结构模型的种类:结构模型、框架模型、动态模型、过程模型和功能模型,最常用的是结构模型和动态模型.“4+1"模型:逻辑视图、进程视图、物理视图、开发视图和场景视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构构成 组件 连接器 模式的类型 体系结构模式、设计模式、基础模式 常见非功能属性 易修改性、可移植性、互操作性、可靠性、可复用性、效率
第3章 软件体系结构模式
体系结构模式 管道-过滤器(Pipe-Filter) 分层 知识库(黑板) MVC PAC 客户-服务器 COM/DCOM/COM+ 代理者(Broker) 微核(Microkernel) 映像(Reflection)
3.1 Pipe-Filter
推入式管线的动态行为分析 场景
数据源(Data Source)为主动式;过滤器Filter1的数据处理函数为f1, Filter2的数据处理函数为f2,且两者为被动拉出式;数据池为被动式。
行为
1. 数据源在控制流控制下将数据推入Filter1。 2. Filter1接到数据后,调用f1处理数据,并将结果推入Filter2。 3. Filter1接到数据后,调用f1处理数据,并将结果推入数据池。
2018/10/5
软件体系结构
7
3.2 分层 适用于复杂系统的结构层次化的组织方法。 静态结构
由多个层次组成。 每个层次只和自己紧邻的上下两层进行交互。 每个层次向其上层提供服务,同时作为客户调用其下层的功能。
3.3 知识库(黑板)
适用于无确定性求解策略的系统。 静态结构
3.5 PAC
以相互协作的PAC agent代理组成的层次形式来定义的交互式软件系统 结构。 PAC agent内部结构:
表示(Presentation) 提供agent的可视行为。
抽象(Abstraction) 维护agent的数据模型,提供对这些数据的处理功能。 控制(Control) 连接表示P和抽象A,并提供与其它agent的通信功能
DCOM分布式组件对象模型,是COM模型在网络环境下的版本。
COM+是COM的扩展版本,COM+组件间采用松散耦合的消息机制。
3.8 代理者Broker
静态结构构成
client
client proxy broker client proxy
server server proxy
client 隐藏细节
bridge
broker 隔离
server proxy 隐藏细节
server
3.9微核
微核结构模式是适应性系统的一种体系结构。 静态结构
3.9微核
结构组成:Biblioteka 微核(Microkernel):实现了组件通信或资源管理等核心机制和服务。 内部服务器(Internal Server):又称为子系统。内部服务器扩展了微核 提供的功能,并仅由微核组件访问。 外部服务器(External Server):在微核的基础上实现应用领域功能视图。 适配器(Adapter):客户与外部服务器的适配接口。 客户(client):与外部服务器相关联的应用程序。提供访问外部服务器 的服务接口。
黑板组件:中心数据仓库。保存系统初始输入数据、问题求解过程中的局部解 和中间结果。 知识库:求解问题的知识子系统。 控制组件:负责监测黑板上信息和状态的变化,并根据变化决定采取动作。
3.4
MVC
适用于交互式的系统
静态结构
模型Model:系统处理问题逻辑的内在抽象。封装了问题的核心数据、业务逻 辑和功能的计算模型。 视图View:显示模型的数据和逻辑关系以及系统的状态等信息,并以特定方式 显示给用户。 控制Controller:处理用户和系统的交互操作。
结构分解
交互式 分布式
适应性
3.1 Pipe-Filter
适用于数据流式系统的体系结构模式。 静态结构
数据源、管道、过滤器、数据池。 组件激活方式 被动拉出(pull)、被动推入(push) 主动式
管线pipeline结构 – 如果管道-过滤器结构中过滤器严格限为单输入、单输出类型,则称为 管线pipeline或流水线。
组装-部分 容器-内容 集合-成员
静态结构
“整体-部分”结构图
4.2
主控-从属
主控-从属结构是一种适用于系统任务分解和组织的模式。 主控组件将任务分配给多个同等的从属组件,并根据各个从属组件的处理 结果汇总计算出最终结果。
聊城大学计算机学院
期末复习
软件体系结构
第1章 软件危机
软件的特点 逻辑、抽象、复杂、重复生产难、易复制...
软件危机
开发和维护过程中遇到的一系列严重问题。 常见表现形式 软件生命周期 阶段划分:软件定义、软件开发、软件维护。
2
第2章 软件体系结构概念
3.10 映像 又称为元层次体系结构。为适应动态改变软件系统的结构和行为提供了一种机 制。
静态结构构成
元层次(Meta Level) 基本层次(Base Level) 元对象协议(MOP)
软件体系结构
第 4章
设计模式
4.1 整体-部分
适用于复杂组件被分解成多个小组件,或者是由现存小组件组成。 三种组织关系类型
3.6
客户-服务器
线程池调度
3.6
客户-服务器
客户-分配器-服务器结构 分配器提供名字服务。允许客户用名字指定服务器,而不需要提供 服务器的地址信息,从而实现服务器位置的透明化。
3.7 组件对象模型
COM组件对象模型是一种基于面向对象的二进制可执行组件间互联和通 信模型,是一种可组装可执行代码的结构标准。
2018/10/5
软件体系结构
6
3.1 Pipe-Filter
混合式管线动态行为分析 场景
过滤器Filter1的数据处理函数为f1,为被动式;Filter2为主动式,Filter2 的数据处理函数为f2;数据源和数据池为被动式。
行为
1. Filter2在控制流控制下向Filter1发出拉出数据请求,Filter1中无数据, Filter2被挂起等待。 2. Filter1从数据请求后,从数据源中拉出数据并调用f1处理数据,Filter2被 激活拉出数据。 3. Filter2接到数据后,调用f2处理数据,并将结果推入数据池。