这门课与UML建模,程序设计方法学一样,都是站在比较高的角度来看整个软件结构。并不是对算法,或者语言的关注。如果以后有志于成为软件架构师,就应该好好学这门课。现在我把自己整理的这门课的资料与大家分享。

二、名词解释(每题2分,共20分)
1、B/S(期中)    
答:浏览器/服务器风格,是三层应用结构的一种实现方式。
具体结构:浏览器/Web服务器/数据库服务器。

2、C/S(期中)   
答:客户/服务器风格,是基于资源不对等,且为共享而提出来的,定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络 。

3、HMB     
答:层次消息总线的软件体系结构风格(Hierarchical Message Bus—based Style)。HMB风格基于层次消息总线,支持构件的分布和并发,构件之间通过消息进行通信。

4、DSSA   
答:特定领域的软件体系结构(Domain Specific Software Architecture)就是在一个特定的领域中为一组应用提供组织结构参考的标准软件体系结构。

5、ADL(期中)    
答:软件体系结构描述语言(Architecture Description Language)是一种形式化语言,它在底层语义模型的支持下,为软件的概念体系结构建模提供了具体语法和框架。

6、XML   
答:可扩展标记语言(Extensible Markup Language),XML是W3C制定的作为Internet上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言(Meta)。

7、ATAM   
答:体系结构权衡分析方法(Architecture Tradeoff Analysis Method),它是针对系统所使用或修改活动的支持程度,来判断该体系结构针对这一场景所代表的质量需求的满足程度的体系结构评估方法。

8、Web Service  
答:Web服务(Web Service)是一种新的面向服务的体系结构,其中定义了一组标准协议,用于接口定义、方法调用、基于Internet的结构注册以及各种应用的实现。

9、MTTF    
答:平均失效前时间(Mean Time To Failure)指软件在失效前正常工作的平均统计时间。

10、SOAP   
答:简单对象访问协议(Simple Object Access Protocol),SOAP是一个基于XML的在松散分布式环境中交换结构化信息的轻量级协议,它为在一个松散的、分布式环境中使用XML交换结构化的和类型化的信息提供了一种简单的机制。

11、WSDL  
答:Web服务描述语言(Web Services Description Language)。定义了一套基于XML的语法,用来将Web Services描述为能够进行消息交换的服务访问点的集合。

12、UDDI   
答:(Universal Description Discovery Integration) 统一描述、发现和集成协议。是一套基于Web的分布式的Web Services信息注册中心的实现标准规范,同时也包含一组访问协议的实现标准,使得企业能将自身的Web Services注册上去,并让别的企业能够发现并访问这些Web Services。

13、SAAM  
答:(Software Architecture Analysis Method) 软件体系结构分析方法是最早精心设计并形成文档并得到广泛使用的软件体系结构分析方法 ,它最初是为了评估体系结构的可修改性而设计。

14、MVC   
答:(Model-View-Controller style)模型—视图---控制器 风格。主要处理软件用户界面开发中所面临的问题。MVC风格将交互式应用划分为3种构件:视图、模型和控制器,允许为一个模型建立多个视图。

15、Artifact-Driven    
答:制品驱动的体系结构设计方法从方法的制品描述中提取体系结构描述。它的例子包括广为流行的面向对象分析和设计方法OMT和OAD。

16、Use-Case-Driven
答:用例驱动的体系结构设计方法主要从用例导出体系结构抽象。统一过程使用的就是一种用例驱动的体系结构设计方法。

17、Domain-Driven   
答:领域驱动,体系结构是从领域模型导出的,领域模型是在领域分析阶段开发的。

18、Pattern-Driven  
答:模式驱动,该方法从模式导出体系结构抽象

19、构件(期中)  
答:构件是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统。

20、连接件(期中)
答:Connectors 是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。

21.、MTBF
答:(Mean Time Between Failure)平均无故障时间,是指相邻两次故障之间的平均工作时间,也称为平均故障间隔,它反映了产品的时间质量,是体现产品在规定时间内保持功能的一种能力。

22、敏感点
答:是指会由于体系结构元素的修改而发生显著变化的系统模型参数。

23、权衡点  
答:与多个敏感点有关的体系结构元素。

24、直接场景
答:直接场景指当前体系结构不经修改即可支持的场景。

25、间接场景
答:不能直接被当前体系结构支持,为了满足间接场景,需对体系结构进行某种修改。

26、质量属性效用树
答:以树的形式表现质量属性的细化。根是效用,接下来是质量属性层,再下一层是质量属性具体描述分类,最后一层是具体的场景。

三、问答题(40分)
1、构件描述模型有哪几种?
答:3C模型、REBOOT模型、青鸟构件模型。

2、理解并比较构件分类的三种方法:关键字分类法、刻面分类法和超文本组织方法,它们是如何组织的?如何在其中检索构件?每种方法各有什么优缺点?
答:
(1)关键字分类法:是一种最简单的构件库组织方法,其基本思想是:根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构;
如何检索:系统在图形用户界面上将构件库的关键字树形结构直观的展示给用户,用户通过对树形结构的逐级浏览寻找需要的关键字并提取相应的构件;
优点是简单,易于实现。缺点是在某些场合没有应用价值,因为用户往往无法用构建库中已有的关键字描述期望的构件功能或行为,对库的浏览也容易使用户迷失方向;

(2)刻面分类法:主要思想来源于图书馆学,在刻面分类机制中,定义若干用于刻画构件特征的“面”,每个面包含若干概念,这些概念表述构件在面上的特征。刻面可以描述构件执行的功能,被操作的数据,构件应用的语境或任意其他特征;
如何检索:构造查询、检索构件、对构件进行排序;
优点是易于实现相似构件的查找。缺点是查询时比较麻烦;

(3)超文本组织方法:其主要思想是所有构件必须辅以详尽的功能或行为说明文档;说明中出现的重要概念或构件以网状链接方式相互连接;检索者在阅读文档的过程中可按照人类的联想思维方式任意跳转到包含相关概念或构件的文档;全文检索系统将用户给出的关键字说明文档中的文字进行匹配,实现构件的浏览式检索;
如何检索:用户首先给出一个或数个关键字,系统在构件的说明文档中进行精确或模糊的语法匹配,匹配成功后,向用户列出相应的构建说明;
优点是超文本组织方法为构造构件和重用构件提供了友好,直接的多媒体方式。由于网状结构比较自由,松散,因此,超文本组织方法比前两种方法更易于修改构件库的结构。缺点是在某些情况下用户难以在超文本浏览过程中正确选取构件;

3、了解软件体系结构的四个发展阶段。
答:
(1)“无体系结构”设计阶段:开发主要采用汇编语言,规模较小;
(2)萌芽阶段:主要采用解耦固化的开发技术;
(3)初级阶段:主要采用面向对象的开发技术。从多种角度对系统建模(如UML);
(4)高级阶段:该阶段以Kruchten提出的“4+1”模型为标志。软件开发的中心是描述系统的高层抽象类型;

4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?(期中)
答:软件体系结构定义为构件,连接件和约束。构件是可预制和可重用的软件部件,是组成体系结构的基本计算单元或数据存储单元;连接件也是可预制和可重用的软件部件,是构件之间的连接单元;构件和连接件之间的关系用约束来描述。这样即可以把软件体系结构写成:体系结构=构件+连接件+约束。

5、至少掌握三种经典软件体系结构风格。
答:
仓库风格和黑板风格
仓库风格的体系结构由两种构件组成:中央数据结构和独立构件集合。
黑板体系结构由三部分组成:知识源、黑板数据结构、控制器
黑板体系结构是仓库体系结构的特殊化,便于共享大量数据,也便于扩展共享的黑板数据结构。
MVC风格
将模型与视图、控制器分开,从而允许为一个模型建立多个视图。将各方面问题分解开来考虑,简化了系统设计,保证了系统的可扩展性。
C2风格
由构件和连接件两种元素组成。构件可实现应用需求,并能将任意复杂度的功能封装在一起。所有构件之间的通信是通过以连接件为中介的异步消息交换机制来实现的。

6、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。
答:二层C/S体系结构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。优点:
(1)C/S体系结构具有强大的数据操作的事务处理能力,模型思想简单,易于人们理解和接受;(2)对软硬件的变化有极大的适应性和灵活性,易于对系统进行扩充和缩小;
(3)将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用;
缺点:
(1)开发成本较高;
(2)客户端程序设计复杂;
(3)信息内容和形式单一;
(4)用户界面风格不一,使用繁杂不易推广;
(5)软件移植困难;
(6)软件维护和升级困难;
(7)新技术不能轻易应用;

三层CS在上面的基础上进行了改造,并增加了一个应用服务器。
优点:
(1)允许合理的划分三层结构的功能,能提高系统和软件的可维护性和可扩展性;
(2)具有良好的可升级性和开放性;
(3)应用的各层可以并行开发,可以选择各自最适合的开发语言;
(4)为严格的安全管理奠定了坚实的基础;

B/S风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。
优点:
(1)基于B/S体系结构的软件,系统安装,修改和维护全在服务器端解决;
(2)提供了异种机,异种网,异种应用服务的联机,联网;
缺点:
(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力;
(2)在数据查询等响应速度上,要远远低于C/S体系结构;
(3)系统扩展能力差,安全性难以控制;

7、请对MVC风格体系结构进行介绍,并说明该风格的优缺点。
答:模型-视图-控制器风格常被称为MVC风格,主要处理软件用户界面开发中所面临的问题。将模型与视图、控制器分开,从而允许为一个模型建立多个视图
具有如下优点:
(1)将各方面问题分解开来考虑,简化了系统设计,保证了系统的可扩展性;
(2)改变界面不影响应用程序的功能内核,使得系统易于演化开发,可维护性好;
(3)易于改变,甚至可以在运行时改变,提供了良好的动态机制;
缺点:主要是仅局限在应用软件的用户界面开发领域中。

8、在正交软件体系结构中,什么是完全正交结构?在实际使用时是不是必须严格遵守结构正交?使用正交软件体系结构有什么优点?(期中)
答:如果线索是相互独立的,即不同线索中的构件之间没有相互调用,那么这个结构就是完全正交的。在实际使用时不是必须严格遵守结构正交。
优点:
(1)结构清晰,易于理解;
(2)易修改,可维护性强;
(3)可移植性强,重用粒度大;

9、层次系统结构和基于消息的层次系统结构有什么区别?
答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不把一些低级或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
消息总线是系统的连接件、负责消息的分派、传递和过滤以及处理结果的返回。消息是构件之间通信的唯一方式。由于构件通过总线进行连接,并不要求各个构件具有相同的地址空间或局限在一台机器上,因此该风格可以很好的刻画分布式开发系统,以及CORBA.DCOM和EJB规范的系统。

10、体系结构描述语言与程序设计语言有什么区别?
答:ADL与其他的语言比较具有以下能力:
(1)构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;
(2)抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注他们的抽象特性,而不管其具体的实现细节;
(3)重用能力:ADL使得组成软件系统的构件,连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;
(4)组合能力:ADL使得其描述的每一系统元素都有其自己的布局结构,这种描述布局结构的特点使得ADL支持软件系统的动态变化组合;
(5)异构能力:ADL允许多个不同的体系结构描述关联存在;
(6)分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析;

11、ACME中定义了哪七种体系结构实体?ACME中的类型和风格是什么含义?
答:七种体系结构实体:构件、连接件、系统、端口、角色、表述和表述映射。
体系结构描述一个重要能力就是能够定义系统的风格或族。风格允许我们定义领域特定或应用特定的设计词汇,以及如何使用这些词汇的约束,在ACME中,设计师可以定义三种类型,分别是属性类型、结构类型和风格。

12、了解基于XML的软件体系结构描述语言。
答:由于XML在体系结构描述上的许多优点,已经开发出不同的基于XML的体系结构描述语言,如XADL 2.0 、XBA、XCOBA。
XADL 2.0:具有很好的扩展性,不是为了描述某一模型而建立的单一语言,而是对模型描述的集合;
XBA:把XML应用于软件体系结构的描述。利用XML的可扩展性,对现有的各种ADL进行描述及定义;
XCOBA:可以动态的反映系统在运行时体系结构的相关信息,支持系统的精华和演化,支持基于构件的软件开发方法和实现异构构件之间的通信;

13、简要介绍Krutchten的“4+1”视图模型。
答:Krutchten “4+I“视图模型从5个不同的视角包括逻辑视图,开发视图,进程视图,物理视图和场景视图来描述软件体系结构。
(1)逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务;
(2)开发视图要考虑软件内部的需求,如软件开发的容易性,软件的重用和软件的通用性;
(3)过程视图侧重于系统的运行特性,主要关注一些非功能性的需求;
(4)物理视图主要考虑如何把软件映射到硬件上,解决系统拓扑结构,系统安装,通讯等问题 ;
(5)场景,通过它可以将各种视图联系起来,描述不同视图构件之间是如何作用的;

14、设计模式的基本成分有哪几个?请简单介绍其各个基本成分。
答:设计模式的四个基本成分:名称,问题,解决方案,后果。名称通常用来描述一个设计问题,它的解法和后果,由1~2个词组成。问题告诉我们什么时候使用设计模式、解释问题及其背景。解决方案是描述设计的基本要素,它们的关系、各自的任务以及相互之间的合作。后果描述应用设计模式后的结果和权衡。

15、为什么要评估软件体系结构?从哪些方面评估软件体系结构?
答:
原因:
软件体系结构反映了系统最初始的设计决策,对同样一个问题,在初始阶段纠正所带来的花费和在测试或部署阶段纠正导致的开销不在一个数量级;
评估是挖掘隐形需求并将其补充到设计中的最后机会;
体系结构是开发过程的中心,不良体系结构会带来糟糕的结果;
从以下几方面进行评估:
(1)性能是指系统的影响能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数;
(2)可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力;
(3)可用性是系统能够正常运行的时间比例;
(4)安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力;
(5)可修改性是指能够快速的以较高的性能代价比对系统进行变更的能力;
(6)功能性是系统所能完成所期望的工作的能力;
(7)可变性是指体系结构经扩充或变更而成为新体系结构的能力;
(8)可集成性是指系统能与其他系统协作的程度;
(9)互操作性是指与其他环境或者系统本身相互作用的能力;

16、软件体系结构评估的主要方法有哪三种?请简单解释每种方法。
答:(1)基于调查或检查表的评估方式:比较灵活,可以用来评估多种质量属性,也可以在体系结构设计的多个阶段进行。但是由于评估的结果很大程度来自评估人员的主观推测,因此不同的评估人员可能会产生不同的甚至是截然不同的结果,而且评估人员的对领域的熟悉程度、是否具有丰富的相关经验也将是评估结果的重要因素;
(2)基于场景的评估方式:这种体系结构评估方式分析软件体系结构对场景也就是对系统的使用或改变活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度;
(3)基于度量的评估方式:涉及三个基本活动:首先需要建立质量属性和度量之间的映射原则,即确定怎样从度量结果推出系统具有什么样的质量属性;然后从软件体系结构文档中获取度量信息;最后根据映射原则分析推导出系统的某些质量属性。基于度量的评估方式提供更为客观和量化的质量评估;

17、SAAM和ATAM评估方法的基本步骤分别是什么?
答:SAAM步骤:
场景生成;
体系结构描述;
场景的分类和优先级确定;
间接场景的单独评估;
对场景关联的评估;
形成总体评估;

ATAM步骤:
介绍ATAM;
介绍商业动机;
介绍体系结构;
识别体系结构方法;
生成质量属性效用树;
分析体系结构方法;
头脑风暴和设定场景优先级;
分析体系结构方法;
提供评估结果;

18、Web服务有哪些核心技术,这些技术是如何在Web服务中发挥作用的。
答:Web服务技术核心基于可扩展标记语言XML的标准。包括SOAP、WSDL、UDDI。
SOAP:采用HTTP作为底层通信协议,以RPC作为一致性的调用途径,用XML作为数据传输格式,允许服务提供者和服务请求者通过防火墙在Internet环境下进行交互;
WSDL:定义了一套基于XML的语法,用来将Web Services描述为能够进行消息交换的服务访问点的集合;
UDDI:基于Web的分布式的Web Services信息注册中心的实现标准规范,同时也包含一组访问协议的实现标准,使得企业能将自身的Web Services注册上去,并让别的企业能发现并访问这些Web Services;

四、看图答题(30分)
1、请根据P38图3-5介绍黑板系统的组成。

答:
(1)知识源:特定应用程序知识的独立散片;
(2)黑板数据结构:反映应用程序求解状态的数据;
(3)控制器:控制(即对知识源的调用)是由黑板的状态决定的;

2、请根据P59图3-26解释HMB风格的构件模型。(期中)

答:在图3-26所示的构件模型中,左上方是构件的接口部分,一个构件可以支持多个不同的接口,每个接口定义了一组输入和输出的消息,刻画了构件对外提供的服务以及要求的环境服务,体现了该构件同环境的交互。右上方是用带输出的有限状态自动机刻画的构件行为,构件接收到外来消息后,根据当前所处的状态对消息进行响应,并可能导致状态的变迁。下方是复合构件的内部结构定义,复合构件时由更简单的子构件通过局部消息总线连接而成。消息总线为整个系统和各个层次的构件提供了统一的集成机制。

3、请根据P60图3-27解释消息总线的属性和服务。(期中)

答:消息总线属性:构件实例表,构件-消息响应登记表,消息过滤表。服务:消息登记,消息分派,消息传递,消息过滤。该图的描述中,构件1向消息总线登记感兴趣的消息,形成构件消息响应登记表,消息总线根据收到的消息的类型和构件——消息响应登记表的信息,定位传递该消息给相应的响应者,并负责返回处理结果。必要时,如果所接受的消息不是消息总线感兴趣的消息时,消息总线还可以对这些消息进行过滤和阻塞。
构件只对消息本身感兴趣,并不关心消息是如何产生的,消息的发出者和接收者不必知道彼此的情况。这使得构件之间的耦合度低,构件重用性好,构件的更换更容易。在一般的互联接口定义的系统中,构件之间的连接是在要求的服务和提供的服务之间进行固定的匹配,而在HMB中,构件对外来消息进行响应后,可能会引起状态的变迁。因此,一个构件在收到同样的消息后,在不同时刻所处的不同状态下,可能会有不同的响应。

4、请根据P147图5-2介绍体系结构设计方法的元模型。

答:元模型是对各种体系结构设计模型的抽象。图中用圆角矩形表示概念,用连线表示概念之间的关联,用菱形符号表示3~4个概念之间的关联。
客户:表示那些关心体系结构设计的系统相关人员;
需求规格说明:描述了所要开发的体系结构的系统需求;
制品:表示某一方法的制品描述;
解决方案抽象:定义了子结构的概念表示;
体系结构描述:定义了体系结构的规格说明;
领域知识:用于表示在解决某一问题中所用的知识范围;

5、请根据P167图6-1简要介绍基于体系结构的软件开发过程的各个步骤。并说明各个步骤的必要性何在?或者说,它们在软件生命周期中都起到了什么作用?

答:本过程由以下步骤组成:
(1)导出体系结构需求:体系结构需求由开发组织创建,并受技术环境和体系结构设计师个人经验的影响。该步骤的输出有3个:列举功能需求;列举特定体系结构需求;列举质量场景集合,它为体系结构需求提供具体测试;
(2)设计体系结构:一个体系结构设计师在开发体系结构时,先做出一些设计决定,然后通过考虑不同的体系结构构造和视图来对这些设计决定进行分析。体系结构设计是一个迭代的过程,首先做出某些决策并进行分析,然后重新考虑并重新作决定,直到设计达到封闭;
(3)文档化体系结构:体系结构的文档是为支持程序设计人员和分析人员而设计的。它是加深各种系统相关人员之间通信交流程度的有效工具,并能从中导出体系结构需求。创建并维护体系结构文档是长期性的软件体系结构取得 成功的关键因素之一;
(4)分析体系结构:确定潜在的风险,验证所给出的设计能够处理所提出的质量需求,之所以要求外部评估人员的参与,是为了确保能够毫无偏见地进行检查,并保证评估结果的可信性;
(5)实现体系结构:当把一个体系结构转变成代码,要考虑到各种常用的软件工程和项目管理知识:详细设计、编码实现、测试、配置管理等;
(6)维护体系结构:对于体系结构来说,良好的文档、良好的发布和良好的维护都非常重要。如果缺少任何一方面的活动,那么体系结构将不可避免地偏离其初始原则;

6、请根据P207图8-1分析服务提供者、服务请求者和服务注册中心三者的作用,以及它们之间的工作流程。

答:
作用:
(1)服务提供者:发布自己的服务,并且对服务请求进行响应;
(2)服务注册中心:注册已发布的Web Services,对其进行分类,并提供搜索服务;
(3)服务请求者:利用服务注册中心查找所需的服务,然后使用该服务;
工作流程:服务提供者托管可通过网络访问的软件模块,定义Web Services的服务描述并把它发布到服务注册中心;服务请求者使用查找操作来从服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web Services实现或同它交互。

7、请根据P229图8-11介绍 UDDI的具体工作步骤。

答:
(1)软件公司、标准化组织和程序员定义了企业如何在UDDI中注册的规划后,开始向UDDI注册中心发布这些规则的描述信息。这些规则被称为技术模型;
(2)企业向UDDI注册中心注册关于该企业及其提供的Web Services的描述;
(3)UDDI注册中心会给每个实体指定一个在相关程序中唯一的标识符,从而可以随时了解所有这些实体的当前情况;
(4)电子交易场所和搜索引擎等其他类型的客户和商务应用程序使用UDDI注册中心来发现他们感兴趣的Web Services;
(5)其他的企业就可以调用这些服务,方便、迅速地进行商务应用程序的动态集成;

一.填空题(10分)——自己整理
构件描述模型:
3C模型、REBOOT模型、青鸟构建模型。
构件分类方法:
关键字分类法、刻面分类法、超文本组织法。
软件体系结构的发展历程:
“无体系结构”设计阶段、萌芽阶段、初级阶段、高级阶段。
经典软件体系结构风格:
管道—过滤器风格;
数据抽象和面向对象风格;
基于事件的隐式调用风格;
层次系统风格;
仓库风格和黑板风格;
MVC风格;
解释器风格;
C2风格;
典型的软件体系结构描述语言:
UniCon
C2
Wright
ACME
基于XML的体系结构描述语言:
XADL 2.0
XBA
XCOBA
“4+1”模型由5个视图组成:
逻辑视图
过程视图
物理视图
开发视图
场景
设计模式的基本成分:
模式名称、问题、解决方案、后果。
体系结构设计方法:
制品驱动的方法;
用例驱动的方法;
领域驱动的方法;
模式驱动的方法;
软件体系结构评估普遍关注的质量属性:
性能
可靠性
可用性
安全性
可修改性
功能性
可变性
可集成性
互操作性
软件体系结构评估的主要方式:
基于调查问卷或检查表的评估方式;
基于场景的评估方式;
基于变量的评估方式;
软件体系结构定义:
软件体系结构={构件,连接件,约束}
Web Services体系结构基于三种角色:
服务提供者、服务注册中心、服务请求者。
SOA(面向服务的体系结构)是一个Web Services的体系结构,共有三种角色:服务提供者、服务注册中心、服务请求者。
3C模型:
Concept:概念
Content:内容
Context:语境
软件体系结构描述方法:(期中)
图形表达工具
模块内连接语言
基于软构件的系统描述语言
ADL
软件体系结构描述框架标准

github主页:https://github.com/chenyufeng1991  。欢迎大家访问!

软件体系结构基本概念汇总相关推荐

  1. 软件体系结构期末总复习

    大纲 写在前面的话 软件体系结构基本概念汇总(18分) 软件架构风格 经典风格 (1)层次架构特点: (2)三层架构: (3)客户服务器架构: 胖客户瘦服务器 瘦客户胖服务器 (4)事件驱动架构 (5 ...

  2. 软件体系结构的风格(转载)

    在上两篇文章中,我们介绍了软件体系结构的概念.现状及发展方向,读者可能会觉得"软件体系结构太抽象.太理论化,没有什么实际的东西".然而,任何实践都必须接受理论的指导,如果抛弃理论基 ...

  3. 【note】《软件体系结构》知识整理(1-5章)

    第 1 章 软件体系结构概论 1.1 从软件危机谈起 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题 1.1.1 软件危机的表现 软件成本日益增长 开发进度难以控制 软件质量差 软件 ...

  4. 软件体系结构1~5章知识点整理

    欢迎大家进入我们的个人博客网站一起交流讨论.http://codeingshuang.com 目录 绪论 第一章 软件工程和软件设计概述 第二章 软件模型和描述 第三章 软件体系结构建模和UML 第四 ...

  5. 【系统分析师之路】第十三章 软件体系结构

    [系统分析师之路]第十三章 软件体系结构 软件架构这章节主要的考点有:软件架构的概念,4+1视图,五种软件架构风格(数据流,调用返回,虚拟机,构件,仓库),2层3层CS架构,BS架构,产品线,中间件, ...

  6. 软件设计与体系结构简答题汇总

    假设系统中有三个类,分别为类 A .类 B 和类 C .在现有的设计中,让类 A 直接依赖类 B ,如果要将类 A 改为依赖类 C ,必须通过修改类 A 的代码来达成,请问这样的设计符合开闭原则吗( ...

  7. 软件体系结构概念视图_主题301:概念,体系结构和设计

    软件体系结构概念视图 在你开始前 了解这些教程可以教给您什么以及如何从中获得最大收益. 关于本系列 Linux Professional Institute (LPI)在三个级别上对Linux系统管理 ...

  8. 软件体系结构的基本概念与作用

    1.什么是软件体系结构 软件体系结构 = 构件+连接件+约束 .其中,连接件是一类特殊的构件,是将构件连接在一起的软件构造体.约束是指按照什么标准或要求将构件连接起来.三者的关系可以表述为:按照系统的 ...

  9. 软件体系结构期末笔记

    0 软件体系结构概论 软件体系结构产生背景 规模增长 需求增加 满足需求 维护问题 软件重用的定义 在开发新的系统软件时对已有软件的重新使用,该软件可以是已存在的软件,也可以是专门设计的可重用构件. ...

最新文章

  1. python调用命令行获取pid_python 使用标准库根据进程名获取进程的pid
  2. 使用 IPsec 与组策略隔离服务器和域-第 7 章 IPsec 疑难解答
  3. Tensorflow federal learning 安装
  4. 懒人修仙传ce修改方法_专访|《凡人修仙传》原著作者忘语:“韩老魔”原型是我...
  5. deeplung代码实现测试是卡住情况说明
  6. php7 jpgraph,JpGraph4.0.2中文乱码以及在php7.0版本无法显示的解决办法
  7. MATLAB中给图像加高斯噪声时imnoise的方差参数问题
  8. PHP获取汉字笔画数功能
  9. Windows10磁盘分区和扩展
  10. 阿里开源数据同步工具--DataX
  11. Frsky X9D Plus遥控器和 Frisky R8 Pro接收机对频
  12. 音视频入门系列-视频封装格式篇(TS)
  13. eplan中断点编号_eplan中断点怎么关联
  14. 【对数几率回归】matlab实现
  15. 网络策略(networkpolicy随笔记)
  16. win7右键计算机没有注册类,win7系统提示没有注册类别如何解决
  17. 如何消除win10文件右上角的蓝色箭头
  18. 加菲猫台词 (请对号入座-:))
  19. guest additions
  20. 【北航数模】21中青杯 B题 港珠澳大桥桥梁设计与安全策略 A题汽车组装车间流水线问题

热门文章

  1. 华师大陈默老师的育儿讲
  2. 前端三剑客之HTML初体验
  3. 质子交换膜燃料电池流场设计(节选自课程设计作业)
  4. 快来直播:“东方甄选”火爆影射直播新趋势——为知识买单
  5. 进化算法可以不再需要计算集群,开普敦大学的新方法用一块GPU也能刷新MNIST记录...
  6. STM32F10xxx中文板参考手册PDF(内有英文版链接)
  7. airpods pro是按压还是触摸_外媒曝AirPods Pro出现广泛故障:触摸和佩戴识别失效...
  8. 光引发剂 907/UV光固化引发剂/阳离子光引发剂320/水性无味引发剂
  9. 人工智能行业调查研究报告(算法导论调查研究报告)
  10. NLP-Task1:基于机器学习的文本分类