假设以后有志于成为软件架构师,就应该好好学这门课。
二、名词解释(每题2分,共20分)1、B/S(期中)答:浏览器/server风格,是三层应用结构的一种实现方式。详细结构:浏览器/Webserver/数据库server。2、C/S(期中)答:客户/server风格,是基于资源不正确等,且为共享而提出来的,定义了工作站怎样与server相连,以实现数据和应用分布到多个处理机上。C/S体系结构有三个主要组成部分:数据库server、客户应用程序和网络。
3、HMB答:层次消息总线的软件体系结构风格(HierarchicalMessageBus—basedStyle)。HMB风格基于层次消息总线。支持构件的分布和并发,构件之间通过消息进行通信。4、DSSA答:特定领域的软件体系结构(DomainSpecificSoftwareArchitecture)就是在一个特定的领域中为一组应用提供组织结构參考的标准软件体系结构。
5、ADL(期中)答:软件体系结构描写叙述语言(ArchitectureDescriptionLanguage)是一种形式化语言。它在底层语义模型的支持下,为软件的概念体系结构建模提供了详细语法和框架。
10、SOAP答:简单对象訪问协议(SimpleObjectAccessProtocol)。SOAP是一个基于XML的在松散分布式环境中交换结构化信息的轻量级协议,它为在一个松散的、分布式环境中使用XML交换结构化的和类型化的信息提供了一种简单的机制。11、WSDL答:Web服务描写叙述语言(WebServicesDescriptionLanguage)。
定义了一套基于XML的语法,用来将WebServices描写叙述为可以进行消息交换的服务訪问点的集合。12、UDDI答:(UniversalDescriptionDiscoveryIntegration)统一描写叙述、发现和集成协议。是一套基于Web的分布式的WebServices信息注冊中心的实现标准规范,同一时候也包括一组訪问协议的实现标准,使得企业能将自身的WebServices注冊上去,并让别的企业可以发现并訪问这些WebServices。
13、SAAM答:(SoftwareArchitectureAnalysisMethod)软件体系结构分析方法是最早精心设计并形成文档并得到广泛使用的软件体系结构分析方法。它最初是为了评估体系结构的可改动性而设计。14、MVC答:(Model-View-Controllerstyle)模型—视图---控制器风格。主要处理软件用户界面开发中所面临的问题。MVC风格将交互式应用划分为3种构件:视图、模型和控制器。同意为一个模型建立多个视图。15、Artifact-Driven答:制品驱动的体系结构设计方法从方法的制品描写叙述中提取体系结构描写叙述。它的样例包含广为流行的面向对象分析和设计方法OMT和OAD。16、Use-Case-Driven答:用例驱动的体系结构设计方法主要从用例导出体系结构抽象。统一过程使用的就是一种用例驱动的体系结构设计方法。
17、Domain-Driven答:领域驱动,体系结构是从领域模型导出的,领域模型是在领域分析阶段开发的。
18、Pattern-Driven答:模式驱动,该方法从模式导出体系结构抽象19、构件(期中)答:构件是指语义完整。语法正确和有可重用价值的单位软件,是软件重用过程中能够明白辨识的系统。20、连接件(期中)答:Connectors是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。
22、敏感点答:是指会因为体系结构元素的改动而发生显著变化的系统模型參数。
23、权衡点答:与多个敏感点有关的体系结构元素。24、直接场景答:直接场景指当前体系结构不经改动就可以支持的场景。25、间接场景答:不能直接被当前体系结构支持。为了满足间接场景。需对体系结构进行某种改动。26、质量属性效用树答:以树的形式表现质量属性的细化。根是效用,接下来是质量属性层,再下一层是质量属性详细描写叙述分类,最后一层是详细的场景。三、问答题(40分)1、构件描写叙述模型有哪几种?答:3C模型、REBOOT模型、青鸟构件模型。
5、至少掌握三种经典软件体系结构风格。答:仓库风格和黑板风格仓库风格的体系结构由两种构件组成:中央数据结构和独立构件集合。
黑板体系结构由三部分组成:知识源、黑板数据结构、控制器黑板体系结构是仓库体系结构的特殊化,便于共享大量数据,也便于扩展共享的黑板数据结构。
MVC风格将模型与视图、控制器分开。从而同意为一个模型建立多个视图。
将各方面问题分解开来考虑,简化了系统设计。保证了系统的可扩展性。C2风格由构件和连接件两种元素组成。构件可实现应用需求,并能将随意复杂度的功能封装在一起。全部构件之间的通信是通过以连接件为中介的异步消息交换机制来实现的。
6、试分析和比較B/S,二层C/S和三层C/S。指出各自的长处和缺点。
在实际使用时不是必须严格遵守结构正交。长处:(1)结构清晰,易于理解。(2)易改动。可维护性强;(3)可移植性强。重用粒度大;9、层次系统结构和基于消息的层次系统结构有什么差别?答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务。并作为客户向下层请求服务。分层系统的长处:支持基于抽象程度递增的系统设计;支持功能增强。支持重用。分层系统的缺点:并非每一个系统都能够非常easy的划分为分层的模式,甚至即使是层次化的。出于性能的考虑,也不得不把一些低级或高级的功能综合起来。非常难找到一个合适的、正确的层次抽象方法。
右上方是用带输出的有限状态自己主动机刻画的构件行为。构件接收到外来消息后。依据当前所处的状态对消息进行响应。并可能导致状态的变迁。
下方是复合构件的内部结构定义。复合构件时由更简单的子构件通过局部消息总线连接而成。消息总线为整个系统和各个层次的构件提供了统一的集成机制。
3、请依据P60图3-27解释消息总线的属性和服务。(期中)答:消息总线属性:构件实例表,构件-消息响应登记表,消息过滤表。服务:消息登记,消息分派,消息传递,消息过滤。该图的描写叙述中,构件1向消息总线登记感兴趣的消息。形成构件消息响应登记表。消息总线依据收到的消息的类型和构件——消息响应登记表的信息。定位传递该消息给对应的响应者。并负责返回处理结果。必要时。假设所接受的消息不是消息总线感兴趣的消息时,消息总线还能够对这些消息进行过滤和堵塞。
构件仅仅对消息本身感兴趣。并不关心消息是怎样产生的,消息的发出者和接收者不必知道彼此的情况。这使得构件之间的耦合度低。构件重用性好,构件的更换更easy。在一般的互联接口定义的系统中,构件之间的连接是在要求的服务和提供的服务之间进行固定的匹配,而在HMB中,构件对外来消息进行响应后。可能会引起状态的变迁。因此,一个构件在收到相同的消息后,在不同一时候刻所处的不同状态下。可能会有不同的响应。4、请依据P147图5-2介绍体系结构设计方法的元模型。