软件体系结构重点Word文件下载.docx

上传人:b****1 文档编号:3012835 上传时间:2023-05-01 格式:DOCX 页数:22 大小:240.45KB
下载 相关 举报
软件体系结构重点Word文件下载.docx_第1页
第1页 / 共22页
软件体系结构重点Word文件下载.docx_第2页
第2页 / 共22页
软件体系结构重点Word文件下载.docx_第3页
第3页 / 共22页
软件体系结构重点Word文件下载.docx_第4页
第4页 / 共22页
软件体系结构重点Word文件下载.docx_第5页
第5页 / 共22页
软件体系结构重点Word文件下载.docx_第6页
第6页 / 共22页
软件体系结构重点Word文件下载.docx_第7页
第7页 / 共22页
软件体系结构重点Word文件下载.docx_第8页
第8页 / 共22页
软件体系结构重点Word文件下载.docx_第9页
第9页 / 共22页
软件体系结构重点Word文件下载.docx_第10页
第10页 / 共22页
软件体系结构重点Word文件下载.docx_第11页
第11页 / 共22页
软件体系结构重点Word文件下载.docx_第12页
第12页 / 共22页
软件体系结构重点Word文件下载.docx_第13页
第13页 / 共22页
软件体系结构重点Word文件下载.docx_第14页
第14页 / 共22页
软件体系结构重点Word文件下载.docx_第15页
第15页 / 共22页
软件体系结构重点Word文件下载.docx_第16页
第16页 / 共22页
软件体系结构重点Word文件下载.docx_第17页
第17页 / 共22页
软件体系结构重点Word文件下载.docx_第18页
第18页 / 共22页
软件体系结构重点Word文件下载.docx_第19页
第19页 / 共22页
软件体系结构重点Word文件下载.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件体系结构重点Word文件下载.docx

《软件体系结构重点Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件体系结构重点Word文件下载.docx(22页珍藏版)》请在冰点文库上搜索。

软件体系结构重点Word文件下载.docx

–内向目标:

建立满足系统设计者需要以及易于系统实现、维护和扩展的系统构件构成。

7.SA的作用:

⏹交流的手段:

在软件设计者、最终用户之间方便的交流;

⏹可传递的、可复用的模型:

对一些经过实现证明的体系结构进行复用,从而提高设计的效率和可靠性,降低设计的复杂度。

⏹关键决策的体现:

–全面表达和深刻理解系统的高层次关系,使设计者在复杂的、矛盾的需求面前作出正确的选择;

–正确的体系结构是系统成功的关键,错误选择会造成灾难性后果;

–明确了对系统实现的约束条件;

–决定了开发和维护组织的组织结构;

–制约着系统的质量属性;

–在设计完成尚未开发之前,预测软件质量;

–在SA全局指导下进行系统设计的修改和扩展,使推理和控制更简单,局部的修改不会破坏整体的完整与一致性。

8.软件体系结构的观点:

⏹全局观(globalviewpoint)

–在软件开发过程中,应有一种从全局的角度对软件进行设计的“视图”,而非仅仅关注底层的算法细节;

⏹折中观(tradeoffviewpoint)

–用户提出的各类功能与非功能需求之间存在着大量的“矛盾”,无法同时“完美”的满足,必须要在彼此之间做出权衡;

⏹交流观(communicationviewpoint)

–参与软件研发的各成员需要有一个公共的“媒介”进行沟通,以应对需求的不明确、频繁变更、复杂度增加;

⏹复用观(reuseviewpoint)

–不同的软件系统之间是否存在整体风格上的相似性,通过利用已存在的“软件资产”,提高效率、降低成本;

8.构件:

构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储。

¢

任何在系统运行中承担一定功能、发挥一定作用的软件体都可看作是构件。

—程序函数、模块

—对象、类

—数据库

—文件

9.连接(Connection):

构件间建立和维护行为关联与信息传递的途径;

连接需要两方面的支持:

—连接发生和维持的机制——实现连接的物质基础(连接的机制);

—连接能够正确、无二义、无冲突进行的保证——连接正确有效的进行信息交换的规则(连接的协议)。

—简称“机制”(mechanism)和“协议”(protocol)。

10.连接的协议:

协议(Protocol)是连接的规约(Specification);

连接的规约是建立在物理层之上的有意义信息形式的表达规定

—对过程调用来说:

参数的个数和类型、参数排列次序;

—对消息传送来说:

消息的格式;

—对ODBC数据库连接来说:

SQL语言;

—对WebService连接而言:

SOAP或REST协议;

目的:

使双方能够互相理解对方所发来的信息的语义。

11.连接的种类:

同步和异步

12.连接件:

连接件(Connector):

表示构件之间的交互并实现构件之间的连接,如:

—管道(pipe)

—过程调用(procedurecall)

—事件广播(eventbroadcast)

—客户机-服务器(client-server)

—数据库连接(SQL)

—连接件也可看作一类特殊的构件,区别在于:

—一般构件是软件功能设计和实现的承载体;

—连接件是负责完成构件之间信息交换和行为联系的专用构件。

13:

SA建模的三个层次

图形化模型:

SA模型的多视图表示(Multi-viewgraphicalmodel)

–从不同的视角描述特定系统的体系结构,从而得到多个视图,并将这些视图组织起来以描述整体的SA模型;

形式化模型:

SA描述语言(Formalarchitecturedescriptionlanguage,ADL)

–在SA基本概念的基础上,选取适当的形式化或半形式化的方法来描述一个特定的体系结构;

文档化模型:

SA文档化(Documentation)

–记录和整理软件体系结构设计方案的各类细节。

14.SA的视图观

(Kruchten)4+1模型

统一建模语言UML

(Hofmesiter)4视图模型

(CMU-SEI)ViewsandBeyond模型

(ZIFA)Zachman框架

开放分布式处理参考模型(RM-ODP)

15.4+1视图:

逻辑视图:

描述系统的抽象概念与功能(类、对象、接口、模式等),主要图形包括classdiagrams,sequencediagrams,andcollaborationdiagrams等;

开发视图:

描述系统中的子系统、模块、文件、资源及其之间的关系,主要图形包括componentdiagrams等;

进程视图:

描述系统的进程及其之间的通信协作关系,主要图形包括activitydiagram,interactiondiagram等;

物理视图:

描述系统如何被安装、部署与配置在分布式的物理环境下,主要图形包括deploymentdiagram等。

用例视图:

描述系统的典型场景与功能,主要图形包括usecasediagram等。

16:

SA生命周期模型:

Phase1:

informaldescription(SA的非形式化描述)

Phase2:

specificationandanalysis(SA的规范描述与分析)

Phase3:

refinementandverification(SA的求精及其验证)

Phase4:

enactment(SA的实施)

Phase5:

evolutionandextension(SA的演化和扩展)

Phase6:

provision,evaluationandmetrics(SA的评价与度量)

Phase7:

termination(SA的终结)

17.软件体系结构风格的组成

⏹Asetofcomponenttypes(e.g.,datarepository,process,object)(一组构件类型)

⏹Asetofconnectortypes/interactionmechanisms(e.g.,subroutinecall,event,pipe)(一组连接件类型/交互机制)

⏹Atopologicallayoutofthesecomponents(这些构件的拓扑分布)

⏹Asetofconstraintsontopologyandbehavior(e.g.,adatarepositoryisnotallowedtochangestoredvalues,pipelinesareacyclic)(一组对拓扑和行为的约束)

⏹Aninformaldescriptionofthecostsandbenefitsofthestyle,e.g.:

“Usethepipeandfilterstylewhenreuseisdesiredandperformanceisnotatoppriority”(一些对风格的成本和收益的描述)

18.数据流风格的基本构建:

⏹Components:

dataprocessingcomponents(基本构件:

数据处理)

–Interfacesareinputportsandoutputports(构件接口:

输入端口和输出端口)

–Inputportsreaddata;

outputportswritedata(从输入端口读取数据,向输出端口写入数据)

–Computationalmodel:

readdatafrominputports,compute,writedatatooutputports(计算模型:

从输入端口读数,经过计算/处理,然后写到输出端口)

19.管道过滤器的基本定义

⏹语境:

数据源源不断的产生,系统需要对这些数据进行若干处理(分析、计算、转换等)。

⏹解决方案:

–把系统分解为几个序贯的处理步骤,这些步骤之间通过数据流连接,一个步骤的输出是另一个步骤的输入;

–每个处理步骤由一个过滤器构件(Filter)实现;

–处理步骤之间的数据传输由管道(Pipe)负责。

⏹每个处理步骤(过滤器)都有一组输入和输出,过滤器从管道中读取输入的数据流,经过内部处理,然后产生输出数据流并写入管道中。

20.基本构成

Filters—processdatastreams(构件:

过滤器,处理数据流)

–Afilterencapsulatesaprocessingstep(algorithmorcomputation)(一个过滤器封装了一个处理步骤)

–Datasourceanddatasinkareparticularfilters(数据源点和数据终止点可以看作是特殊的过滤器)

⏹Connectors:

Apipeconnectsasourceandasinkfilter(连接件:

管道,连接一个源和一个目的过滤器)

–Pipesmovedatafromafilteroutputtoafilterinput(转发数据流)

–Dataisastreamof“objects”(数据是特定类型的“对象”流)

⏹Topology:

Connectorsdefinedataflowgraph(连接器定义了数据流图,形成拓扑结构)

21.过滤器:

⏹Incrementallytransformsomeofthesourcedataintosinkdata(目标:

将源数据变换成目标数据)

⏹Streamtostreamtransformation(从“数据流”􀃆

“数据流”的变换)

–enrichdatabycomputationandaddinginformation(通过计算和增加信息来丰富数据)

–refinebydistillingdataorremovingirrelevantdata(通过浓缩和删减来精炼数据)

–transformdatabychangingitsrepresentation(通过改变数据表现方式来转化数据)

–decomposedatatomultiplestreams(将一个数据流分解为多个数据流)

–mergemultiplestreamsintoonestream(将多个数据流合并为一个数据流)

22.过滤器的特称:

–nocontextinprocessingstreams(无上下文信息)

–nostatepreservationbetweeninstantiations(不保留状态)

–noknowledgeofupstream/downstreamfilters(对其他过滤器无任何了解)

–collectionscanbeusedtobufferthedatapassedthroughpipes:

files,arrays,dictionaries,trees,etc.(可使用数据缓冲区临时保存数据流)

•蓄水池

23.数据流的分类:

拉式和推式

⏹Question:

whatistheforcethatmakedataflow?

(是什么力量推动数据在管道中流动?

⏹Threechoice,allwithforceemanatingfromfilters:

–Push:

datasourcepushesdataindownstreamdirection(推式:

前面的过滤器把新产生的数据推入管道)

–Pull:

datasinkpullsdatafromupstreamdirection(拉式:

随后的过滤器从管道中拉出所需数据)

–Push/pull:

afilterisactivelypullingfromupstream,computing,andpushingdownstream(推拉式:

过滤器以循环的方式,从管道中拉出其输入数据,并将其处理产生的数据压入后续管道)

24.过滤器的分类:

主动和被动

⏹Activefilter:

driversthedataflowonthepipes.(主动过滤器:

驱动数据流动,pull+push)

⏹Passivefilter:

isdrivenbythedataflowonthe(input/output)pipes.(被动过滤器:

被管道中的输入或输出数据流所驱动)

⏹Attention:

系统中至少有一个主动过滤器(可以来自外部环境,如用户输入)

25.过滤器的状态

⏹停止状态:

表示过滤器处于待启动状态,当外部启动过滤器后,过滤器处于处理状态。

⏹处理状态:

表示过滤器正处理输入数据队列中的数据。

⏹等待状态:

表示过滤器的输入数据队列为空,此时过滤器等待,当有新的数据输入时,过滤器处于处理状态。

26.管道过滤器的优点

⏹使得系统中的构件具有良好的隐蔽性和高内聚、低耦合的特点;

⏹允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;

⏹支持软件复用:

–只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;

⏹系统维护和增强系统性能简单:

–新的过滤器可以添加到现有系统中来,旧的可以被改进的过滤器替换掉;

⏹允许对一些如吞吐量、死锁等属性的分析;

⏹支持并行执行:

–每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行。

27.缺点

⏹通常导致进程成为批处理的结构

–这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换;

⏹不适合处理交互的应用

–当需要增量地显示改变时,这个问题尤为严重;

⏹因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

–绝大部分处理时间消耗在格式转换上

28.批处理与管道-过滤器的比较

⏹相似点:

–Decomposetaskintofixedsequenceofcomputations(把任务分解成为一系列固定顺序的计算单元)

–Interactonlythroughdatapassedfromonetoanother(彼此间只通过数据传递交互)

不同点:

BatchSequential

Pipe-and-Filter

Ø

total(整体传递数据)

coarsegrained(构件粒度较大)

highlatency(延迟高,实时性差)

noconcurrency(无并发)

incremental(增量)

finegrained(构件粒度较小)

resultsstartsprocessing(实时性好)

concurrencypossible(可并发)

29.主程序自过程的基本构成

⏹Component(构件:

主程序、子程序)

–Mainprogramandsubroutines,hierarchicallydecomposingaprogram

⏹Connector(连接器:

调用-返回机制)

–Call-returnmechanism,eachcomponentgetcontrolanddatafromitsparentandpassittochildren.

⏹Topology(拓扑结构:

层次化结构)

–Hierarchicalstructure

本质:

将大系统分解为若干模块(模块化),主程序调用这些模块实现完整的系统功能

30.主程序子过程优缺点:

⏹Advantage:

–Thishasprovedtobeahighlysuccessfuldesignmethodology.Ithasallowedthedevelopmentoflargeprograms(100,000linesormoreofsourcecode).(已被证明是成功的设计方法,可以被用于较大程序)

⏹Disadvantages:

–However,asprogramsizeincreasesbeyondthispoint(100,000lines),theapproachperformspoorly.(程序超过10万行,表现不好)

–Weobservethatcodedevelopmentbecomestooslowandthatitbecomesincreasinglydifficulttotestthesoftwareandguaranteeitsreliability.(程序太大,开发太慢,测试越来越困难)

30.四大原则:

⏹四大原则:

–模块独立性:

高内聚、低耦合(highcohesionandlowcoupling)

–模块规模要适中:

过大:

分解不充分,难理解;

太小:

开销过大、接口复杂

–模块复用度要好:

高扇入、低扇出;

–作用域与控制域原则:

模块的作用域要包含在控制域之中。

31.OO的基本原理:

⏹(ADT:

一种数学规约,包含一组数据以及作用于这组数据上的操作)

–ADTisakindofdataabstraction.(ADT是一种对数据的抽象)

–Theactualimplementationisnotdefined,anddoesnotaffecttheuseoftheADT.(虽然ADT具体的实现并没有被定义,但不会影响ADT的使用)

32.ADT的优点:

ADT的实现对用户隐藏)

⏹Onlytheinterfaceispublished.(仅有接口被发布)

⏹ThismeansthattheADTcanbeimplementedinvariousways,butaslongasitadherestotheinterface,userprogramsareunaffected.(ADT可有多种实现方式,只要与接口一致,用户程序可不受影响)

33.OO的优缺点:

优点:

复用和维护:

利用封装和聚合提高生产力

反映现实世界

容易分解一个系统

缺点:

管理大量的对象:

怎样确立大量对象的结构

必须知道对象的身份

继承引起复杂度,关键系统中慎用

在管道-过滤器系统中,一个过滤器无需知道其他过滤器的任何信息

34.为何称独立构件风格

⏹这种风格的主要特点是:

事件的触发者并不知道哪些构件会被这些事件影响,相互保持独立。

–这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用;

–各个构件之间彼此无之间的连接关系,各自独立存在,通过对事件的发布和注册实现关联;

⏹降低构件之间的耦合度,是SA领域研究者始终孜孜不倦追求的目标。

35.事件系统的连接机制:

event-procedurebindings(连接器:

事件-过程绑定)

–Proceduresareregisteredwithevents(过程<

事件处理器,事件的接收和处理方>

向特定的事件进行注册);

–Componentscommunicatebyannouncingeventsat“appropriate”times(构件<

事件源>

发布事件);

–whenaneventisannouncedtheassociatedproceduresare(implicitly)invoked(当某些事件被发布时,向其注册的过程被隐式调用);

–Orderofinvocationisnon-deterministic(调用的次序是不确定的);

Insometreatments,connectorsareevent-eventbindings(在某些情况下,一个事件也可能触发其他事件,形成事件链).

这种连接机制称为“事件-事件绑定”(Event-eventbinding)。

36.事件如何被分发到已注册的模块?

⏹:

*两种策略

–EventManagerwithseparateddispatchermodule(带有分离的派谴模块的事件管理器)

–EventManagerwithoutacentraldispatchermodule

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2