软件设计与体系结构复习整理题目及答案

合集下载

软件设计与体系结构考试

软件设计与体系结构考试

第一章1. 软件危机的概念、产生的原因、解决方法。

答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

产生软件危机的原因:1.用户需求不明确2.缺乏正确的理论问题3.软件规模越来越大4.软件复杂度越来越高解决方法:通过运用软件工程,用工程、科学和数学的原则与方法来研制维护计算机软件的有关技术及管理,实现软件开发。

2. 构件的概念、分类。

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

简单来说,构件是具有一定功能的,能够独立工作或是能同其他构件装配起来的程序体。

P4构件的分类:(1)独立而成熟的构件该类构件得到实际运行环境的多次检验,隐藏了所有接口,用户只需规定好的命令进行操作。

(2)有限制的构件该构件提供接口,指出了试用的条件和前提,在装配时,产生资源冲突、覆盖等影响,在使用时需要加以测试。

(3)适用性构件该构件进行包装或使用接口技术,对不兼容性、资源冲突等进行了处理,可以直接使用。

(4)装配的构件该构件在安装时,已经装配在OS,数据库管理系统或信息系统不同层面上,使用胶水代码可以直接连接使用。

(5)可修改的构件该构件可以版本替换,要对原构件修改错误、增加新功能,则可以利用“包装”或写接口来实现构件替换。

3. 构件重用的步骤P10答:构件重用的步骤为:1.检索与提取构件2.理解与评论构件3.修改构件4.构件组装4. 软件体系结构的定义、意义答:软件体系结构是为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构的意义:P201.体系结构是风险承担者进行交流的手段2.体系结构是早期设计决策的体现3.软件体系结构是可传递和可重用的模型1. 4+1视图模型的含义和图示答:4+1视图模型含义:从5个不同的视角(逻辑视图、进程视图、物理视图、开发视图和场景视图)来描述软件体系结构,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的全部内容。

软件体系结构 习题答案

软件体系结构 习题答案

软件体系结构习题答案软件体系结构习题答案1. 什么是软件体系结构?软件体系结构是指软件系统的整体结构和组织方式,它描述了软件系统中各个组件之间的关系以及它们的功能和行为。

软件体系结构通常包括多个层次,从整体到细节逐渐展开,以便更好地理解和设计软件系统。

2. 为什么软件体系结构很重要?软件体系结构对于软件系统的开发和维护具有重要意义。

它可以提供一个框架,指导软件开发者进行系统设计和实现。

良好的软件体系结构可以提高软件系统的可维护性、可扩展性和可重用性,同时降低开发和维护的成本。

3. 软件体系结构有哪些常见的模式?常见的软件体系结构模式包括分层模式、客户端-服务器模式、发布-订阅模式、模型-视图-控制器模式等。

每种模式都有其特定的应用场景和优缺点,开发者可以根据具体需求选择合适的模式。

4. 什么是分层模式?分层模式是一种常见的软件体系结构模式,将软件系统划分为多个层次,每个层次负责不同的功能。

通常包括表示层、业务逻辑层和数据访问层。

这种模式可以提高系统的可维护性和可扩展性,同时降低各个层次之间的耦合度。

5. 客户端-服务器模式是什么?客户端-服务器模式是一种常见的软件体系结构模式,将软件系统划分为客户端和服务器两部分。

客户端负责用户界面和用户交互,而服务器负责处理客户端的请求并提供相应的服务。

这种模式可以实现分布式计算和资源共享,提高系统的可伸缩性和可靠性。

6. 发布-订阅模式是什么?发布-订阅模式是一种常见的软件体系结构模式,用于实现消息传递和事件通知。

发布者将消息发布到一个或多个主题,而订阅者可以选择订阅感兴趣的主题并接收相关的消息。

这种模式可以实现解耦和灵活的通信方式,适用于分布式系统和异步通信。

7. 模型-视图-控制器模式是什么?模型-视图-控制器(MVC)模式是一种常见的软件体系结构模式,用于实现用户界面和业务逻辑的分离。

模型负责处理数据和业务逻辑,视图负责显示用户界面,而控制器负责协调模型和视图之间的交互。

(完整word版)软件体系结构试题库(软件工程)试题和答案(word文档良心出品)

(完整word版)软件体系结构试题库(软件工程)试题和答案(word文档良心出品)

一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。

答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。

答案:√5、构件可以由其他复合构建和原子构件通过连接而成。

()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。

其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。

答案:×11、正交软件体系结构由组织层和线索的构件构成。

答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。

()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。

答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。

答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。

答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。

答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。

答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。

答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的()答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的。

软件体系结构习题答案

软件体系结构习题答案
答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:
支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
(1)
(2)
(3)应用层:处于最底层,包括构件链接,构件接口和执行中间层:包括连接件配置,构件配置,构件描述及执行体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在
b/s风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。优点(1)基于b/s体系结构的软件,
系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于c/s体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、sis和dssa分别用在哪些场合?
答:1.dssa只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结
构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.dssa的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。

软件体系结构期末试题整理 配套答案

软件体系结构期末试题整理 配套答案

1. C.2 D. 消息传递3 C. 逻辑视图 D. 部署视图4.A,B5. C 6. C. 标准函数库 7 A,B8. D9.B10.D11 。

A12. 某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。

针对该目标,公司应该采用(48) 架构风格最为合适。

(48)A. 管道-过滤器 B. 隐式调用 C. 主程序-子程序 D. 解释器D13 AD14 D15 A1. 分别描述两个质量属性的场景图。

下面场景表现了网上个人银行查询系统的性能。

下面场景表现了网上个人银行查询系统的修改性。

场景可以用文本表示,也可以用图形表示。

2.请描述构架设计的ADD 方法中对模块求精的5个步骤。

答题要点:a. 从具体的质量场景和功能需求集合中选择构架驱动因素。

b. 选择满足构架驱动因素的构架模式。

c. 实例化模块并根据用例分配功能,使用多个视图进行表示。

d. 定义子模块的接口。

e. 验证用例和质量场景并对其进行求精,使它们成为子模块的限制。

3. 描述A TAM 方法的步骤。

)试图同时登陆系统 网上个人银行查询系统平均响应时间5秒正常运行 请求被处理 希望改变操作界面代码只修改界面代码或配置文件 维护时 用户 修改不产生副作用,在2小时内完成500用户户ATAM方法的表述商业动机的表述构架的表述对构架方法进行分类生成质量属性效用树分析构架方法集体讨论并确定场景优先级再次分析构架方法结果的表述4. 选取两个质量属性以表格形式生成质量属性效用树效用树的表格形式如下表所示。

质量属性属性求精场景场景用文字描述,并要标明场景的优先级和实现的难易。

系统的质量属性有多种,请列举其中六种:可用性、可修改性、性能、安全、可测试性、易用性、可移植、可重用、可集成(任选六个)。

试题三参考答案(共15分)【问题1】(4分)U1:移动元素U2:调整元素大小(U1和U2的答案可以互换)(1) <<extend>> (2) << extend>>【问题2】(8分)C1:创建工具C2:选择工具C3:线条工具C4:矩形工具C5:椭圆工具C6:线条C7:矩形C8:椭圆注:C3~C5的答案可以互换;C6~C8的答案可以互换。

软件体系结构考试试题库软件工程考试试题和答案

软件体系结构考试试题库软件工程考试试题和答案

一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的;答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找;答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性;答案:√5、构件可以由其他复合构建和原子构件通过连接而成;答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色;其中,构件、连接件和配置是最基本的元素答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单;答案:×11、正交软件体系结构由组织层和线索的构件构成;答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能;答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用;答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具;答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行;答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言;答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层;答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层;答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的;答案:X31、利用设计模式可以方便地重用成功的设计和结构;答案:√33、在模式目录中,每个模式描述的多少与别的模式无关;答案:√36、在体系结构级进行风险评估是更有利于开发阶段的前期评估;答案:×39、评估方法质量属性中安全性不包括完整性;答案:×41、软件体系结构评估只针对一个体系结构,不可以针对一组体系结构;答案:×43、软件重用长期以来一直是软件工程界不断追求的目标;答案:√二、填空题1、软件元素包括程序代码、设计文档、设计过程、需求分析文档、测试用例甚至领域知识;答案:程序代码、测试用例、设计文档、设计过程、需求分析文档2、软件重用过程中需要重用的开发组织结构予以支持,它包括:_构建开发组_____、_构建应用组______、_协调组________3、三组成员组成;4、答案:构件开发组、构件应用组、协调组;5、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构建层、通用类构建层、业务类构建层、表现层;答案:系统构件层、通用类构件层、业务构件层、表现层5、软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型;答案:结构模型,动态模型;8、软件体系结构的生命周期模型主要分为需求分析阶段,建立软件体系结构阶段设计阶段和实现阶段;答:设计阶段9、软件体系结构应建立于传统的软件开发过程的_需求分析_______和_软件设计_______阶段之间;答案:需求分析、软件设计11、三层C/S结构风格是由__表示层_______、__功能层_______和_数据层_________构成的;答案:表示层、功能层、数据层12、消息总线对消息过滤提供了___转换_____和___阻塞________两种方式;答案:转换、阻塞13、正交软件体系结构由__组织层__和__线索的构建___构成;答案:组织层、线索的构件14、C/S体系结构服务器主要负责有效的管理系统的资源主要负责_数据库安全性的要求________、__数据库访问并发性的控制_______、_数据库前端的客户应用的全局数据完整性规则________和数据库的备份与恢复_________;答案:数据库安全性的要求、数据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则、数据库的备份与恢复16、软件体系结构的描述方法主要有图形表达工具、模块内连接语言、基于软构件的系统描述语言和软件体系结构描述语言;答案:图形表达工具、模块内连接语言、软件体系结构描述语言17、ADL是一种在底层语义模拟支持下的形式化语言;基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持;答案:表示、演化、细化18、可重用的体系结构描述框架可以从需求、设计、实现和测试四个视点出发描述体系结构;答案:需求视点、设计视点、实现视点、测试视点20、典型的ADL在充分继承和吸收传统程序设计语言的和特点的同时,还应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性;能力指的是ADL使得其描述的每一个系统元素都有其自己的局部结构;答案:精确性、严格性,组合21、体系结构的动态性分为“_________”“_________”“_________”三类;答案:交互式动态性、结构化动态性、体系结构动态性22、基于构件的动态体统结构模型CBDSAM支持运行系统的动态更新;该模型分为三层,分别是应用层、_________和________________;答案:中间层、体系结构层23、体系结构的动态性主要分为几类:_________、_________、___________;答案:交互式动态性,结构化动态性、体系结构化动态性;24、对动态软件体系结构的形式化描述通常有______、_______、_________三种方法;答案:图形化方法、进程代数方法、逻辑描述方法25、一个完整的Web服务包括3种逻辑构件:______、______、_______;答案:服务提供、服务代理、服务请求29、MVC模式的中的M,V,C分别对应______、_______、_________三种单词;答案:Model,View,Controller32、设计模式的基本成分包括______________、___________、___________、__________;答案:模式名称、问题、解决方案、效果;39、体系结构评估中,一般采用刺激,环境,和_____三方面来对场景进行描述;答案:响应40、可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力;包括可维护性、可扩展性、、可移植性4个方面;答案:结构重组;42、软件重用是为了解决_____答案:软件危机43、________的开发是大型软件系统开发的关键环节;答案:软件体系结构44、领域工程阶段的主要任务有_____、______和______三个阶段;答案:领域分析、领域设计、领域实现45、软件体系结构设计的主要目的是满足对软件的_____;答案:质量需求三、选择题1、软件危机的原因不包括:A、用户需求不明确B、缺乏正确的理论指导C、软件规模越来越大D、软件复杂度越来越低答案:D2、下列选项中,哪个不是重用组织框构中的主要组成成员:A.协调组B.构件应用组C.构件需求组D.构件开发组答案:C3、常用的软件体系结构评估的方法不包括:A体系结构权衡分析法B.软件体系结构分析法C系统体系结构分析法D中间设计的积极评审答案:C4、下列选项中,不是软件危机的原因的是:CA、用户需求不明确B、缺乏正确的理论指导C、软件规模越来越小D、软件的复杂度越来越高P25、不属于软件体系结构的核心模型的最基本的元素是A构件B连接件 C配置D角色答案:D6、选项中不属于“4+1”试图模型的是:A逻辑视图B物理视图C连接视图D开发视图答案:C7、下列说法错误的一项的是A:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务B:开发视图也称模块视图,主要侧重于软件模块的组织和管理C:进程视图侧重与系统的运行特性,主要关注一些功能性需求,例如系统的性能和可用性;D:物理视图主要考虑如何吧软件映射到硬件上,它不需要要考虑到系统性能、规模、可靠性等;答案:D8、Kruchten在1995提出了“4+1”模型,从5个不同的视角来描述软件体系结构,其中“4”不包括的视图是A逻辑视图B开发视图C物理视图D场景视图答案:D9、下列哪个选项是描述系统的静态结构A.逻辑视图和开发视图B.进程视图和物理视图C.开发视图和物理视图D.开发视图和进程视图答案:A11、正交软件体系结构的有点有A结构清晰,易于理解B易修改,可维护性强C可移植性强,重用程度大D以上都是答案:D12、C/S系统中,服务器的以下任务中哪一个是错的A数据库一致性要求B数据库访问并发性控制C数据库前端的客户应用程序的全局数据完整性规则D数据库的备份与恢复13、下列哪个不是黑板系统的组成部分A.知识源B.黑板数据结构C.控制D.内存答案:D14、与C/S体系结构相比,B/S体系结构也有许多不足之处一下说法正确的是AB/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理能力BB/S体系结构的系统扩展能力差,但是安全性比较容易控制C采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的高于C/S体系结构DB/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,利于在线事务处理OnlineTransactionProcessing,OLTP应用;答案:A15、以下不是正交软件体系结构优点的是A.结构清晰,易于理解B.已修改,可维护性强C.可移植性强,重用粒度大D.很大很复杂答案:D16、以下关于软件体系结构描述方法说法错误的是A.图形表达工具在软件设计中占据主导地位;B.由于软件设计语言和模块内连接语言具有严格的语义基础,因此它们能支持较小的软件单元进行描述;C.基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统;D.软件体系结构描述语言是参照传统程序设计语言的设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构描述语言;答案:B20、下列选项中关于ADL与其他语言的比较说法中错误的是A.ADL与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中B.ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注C.ADL与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同D.ADL集中在构件的表示上;29、下面哪个不属于设计模式方法分类ACoad的面向对象模式B代码模式C框架应用模式D遗传算法答案:D30、一般来说,模式有以下四个基本成分:、问题、解决方案、效果;A.模式名称B.时间C.地点D.思想答案:A31、软件体系结构的文档要求与软件开发项目中的其他文档是相似的,下列哪项属于体系结构文档化过程的主要输出结果A体系结构需求规格说明B体系结构概要设计说明C体系结构详细设计说明D体系结构总体框架说明答案:A33、在设计模式目录下,以下哪种设计模式是关于类的A.答案:A36、在体系结构中,应用于当前环境中有多个构建同时运行的情况,主要用来提高系统性能的结构风格是A、顺序结构风格B、并行/管道—过滤器结构风格C、容错结构风格D、调用—返回结构风格答案:B39、评估方法质量属性中可修改性不包括;A.可维护性B;可扩展性C.完整性D.可移植性答案:C40、是场景中解释或描述风险承担者怎样金发与系统的交互部分;A.刺激B.环境C.响应D.互操作答案:A41、软件评估中关注大可修改性包含可维护性,可扩展性,和结构重组4个方面;A;可用性B;可移植性C;可变性D;互操作性答案:B43、一下哪个不是领域工程阶段的主要任务;A、领域设计B需求分析C、领域分析D、领域实现答案:B四、名词解释1、软件危机答案:是指计算机软件的开发和维护过程中所遇到的一系列严重问题2、软件重用答案:是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程;3、构件组装4、答案:构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件;5、构件答案:是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体;7、场景scenarios:答:场景可以看做是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象;9、软件体系结构答案:软件体系结构是一个设计,它包括所建立系统中的各元素构件和连接件的描述、元素之间的交互、指导装配的范例和对范例的约束;10、软件体系结构风格答案:软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式;13、C2体系结构风格答案:C2体系结构风格可以概括为通过连接件绑定在一起的、按照一组规则运作的并行构件网络;14、COBRBA接口池答案:COBRBA接口池包括分布计算机环境中所有可用的服务器对象的接口表示它使动态搜索可用服务器的接口,动态构造请求及参数成为可能;17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块;18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图;体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义;19、构造能力:答案:构造能力指的是ADL能力使用较小的独立体系结构元素来建造大型软件系统;20、ADL:答案:ADL是这样一种形式化语言,他在底层语义模型的支持下,为软件系统的概念结构建模提供了具体语法和概念模型;21、软件体系结构的动态性答案:软件系统在运行时刻的体系结构变动;29、需求答案:用户对目标软件系统在功能、行为、性能、设计约束等方面的期望31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现;33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案;38、可修改性答案:可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力;通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性;可修改性包括:1可维护性2可扩展性3结构重组4可移植性40、基于场景的评估方法;答:场景是一系列有序地使用或修改系统的步骤;这种评估方式分析软件体系结构对场景也就是对系统的使用或修改活动的支持程度,从而判断该体系结构对这一场景所代表的质量需求的满足程度; 基于场景的评估方式涉及的基本活动包括确定应用领域的功能和软件体系结构之间的映射,设计用于体现待评估质量属性的场景以及分析软件体系结构对场景的支持程度;五、问答题1、纵观软件体系结构技术的发展过程,从最初的“无结构”设计到现行的基于体系结构的软件开发,可以认为经历了哪四个阶段答案:1“无体系结构”设计阶段;以汇编语言进行小规模应用程序开发为特征2萌芽阶段;出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征3初期阶段;出现了从不同侧面描述系统的结构模型,以UML为典型代表4高级阶段;以描述系统的高层抽象结构为中心,不关心集体的建模细节,划分了体系结构模型与软件结构的界限,该阶段以Kruchten,提出了“4+1”模型为标志,由于概念尚不统一,描述规范也不能达成一致认识,因此在软件开发实践中软件体系结构上布恩那个发挥重要作用;2、试述下可重用技术对构件库组织方法的几点要求:答案:1支持构件库的各种维护动作,如增加、删除以及修改构件,尽量不要影响构件库的结构;2不仅要支持精确匹配,还要支持相似构件的查找;3不仅能进行简单的语法匹配,而且还能够查找在功能或行为方面等价或相似的构件;4对应用领域具有较强的描述能力和较好的描述精度;5库管理员和用户容易使用3、简要概产生软件危机的原因4、答案:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高;5、软件体系结构的定义众多,你是如何理解软件体系结构的软件体系结构在软件系统中有何作用6、答案:1软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成;软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理;2体系结构是风险承担者进行交流的手段;它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计;同时,软件体系结构是可传递和可重用的模型;6、体系结构的生命周期模型分为哪几个阶段答案:1、需求分析阶段2、建立软件体系结构阶段3、设计阶段4、实现阶段7、软件体系结构是必需,软件体系结构的生命周期分为哪几个阶段答:软件体系结构的生命周期可以分为需求分析阶段、建立软件体系结构阶段、设计阶段、实现阶段四个阶段;8、请简述软件体系结构的生命周期;答:以自然语言进行软件结构的非形式化描述,接着运用合适的形式化数学理论模型对上一阶段的非形式化描述进行规范定义,从而得到软件形式结构的形式化规范描述;对设计好的软件体系结构进行验证和求精,直到不需要进行求精验证时,转入软件体系结构的实施;在此阶段将软件结构实施于系统设计中,并将其结构的构件和连接件有机组织在一起;判断软件体系结构是否需要扩展,演化;需要从则重复以上步骤,否则对该体系结构进行评价、度量,转入终结阶段;11、试阐述与C/S体系结构相比,B/S体系结构的不足之处;答案:1、B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;2、B/S体系结构的系统扩展能力差,安全性难以控制;3、采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远的地低于C/S体系结构;4、B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用;12、C/S系统中客户端应用程序有哪些主要任务答案:1、提供用户与数据库的交互界面2、向数据库服务器提交用户请求并接受来自数据库服务器的信息3、利用客户端应用程序对存在于客户端的数据执行应用逻辑要求;14、请简述三层C/S结构的优点答案:1、允许合理的划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为合理清晰,能提高系统和软件的可维护性和可扩展性;2、允许更灵活的选用相应的平台和硬件系统使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且具有可升级性和开放性3、可并行开发,各层可选择各自最适合语言使之高效开发,从而达到较高的性价比4、允许利用功能层有效的隔离开表示层和数据层,未授权的用户难以通过如黑客手段访问数据层,同时也更加合理和有效的控制18、在C2中,连接件和构件是如何工作的答案:连接件负责构建之间消息的传递,而构件维持状态,执行操作并通过两个名字分别为top和buttom的端口和其他的构件交换信息;每个接口包含一种可发送的消息和一组可接受的消息,构件之间的消息要么是请求其他构件执行某个操作的请求消息,要么是通知其他构件自身执行某个操作或状态发生改变的通知消息;构件之间的消息交换不能之间进行,而只能通过连接件来完成;29、设计模式的基本成分有哪4条答案:1、模式名称2、问题3、解决方案4、效果31、软件工程的研究主要有哪三个方向答案:1、软件过程分析和建模;2、软件过程支持;3、软件过程评估和改进;32、简述一下演化开发阶段的八个步骤答案:需求变动归类;制订体系结构演化计划修改、增加或删除构件;更新构件的相互作用;产生演化后的体系结构迭代;对以上步骤进行确认,进行阶段性技术评审;对所做的标记进行处理;33、设计模式可以分为几类答案:创建型、结构型、行为型;1.什么是体系结构描述语言它与程序语言以及UML有哪些区别与联系ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架;基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持;其三个基本元素是:构件、连接件、体系结构配置;跟其他语言的比较:◎构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;◎抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;◎重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;◎组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;◎异构能力:ADL允许多个不同的体系结构描述关联存在;◎分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析;2.管道过滤器风格结构特点1使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;2允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;3支持软件重用;4系统维护和增强系统性能简单;5允许对一些如吞吐量、死锁等属性的分析;6支持并行执行;但是,这样的系统也存在着若干不利因素;1通常导致进程成为批处理的结构;这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换;2不适合处理交互的应用;当需要增量地显示改变时,这个问题尤为严重;3因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性;4.什么是设计模式它与风格、框架有什么区别与联系设计模式是对通用设计问题的重复解决方案;软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式;软件框架是整个或部分系统的可重用设计模式比框架更加抽象框架是模式的特例化设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用通常成熟的框架包含了多种设计模式一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式设计模式与风格两者为近义词,通常情况下可以互相通用风格主要是指大的,宏观的设计;模式既可宏观,又可微观;7.什么是软件危机,软件危机的具体表现有哪些软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象;软件危机的表现:软件成本日益增长开发进度难以控制软件质量差。

软件体系结构试题库(软件工程)试题和答案

一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。

答案:√3、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。

答案:√4、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。

答案:√5、构件可以由其他复合构建和原子构件通过连接而成。

()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。

其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。

答案:×11、正交软件体系结构由组织层和线索的构件构成。

答案:√12、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。

答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。

()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。

答案:×15、相交关系R是一个等价关系。

答案:√16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。

答案:√17、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式同步系统建模。

答案:×并发系统建模18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。

软件体系结构试题(试题+答案)

1、设计模式一般用来解决什么样的问题( a)A.同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是( c )A.继承B.封装C.里氏代换 D都不是3、Open-Close原则的含义是一个软件实体( a )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。

A.创建型B.结构型 C行为型 D.以上都可以5、要依赖于抽象,不要依赖于具体。

即针对接口编程,不要针对实现编程,是( d ) 的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。

A, 委派 B.继承 C创建 D.以上都不对复用方式:继承和组合聚合(组合委派)7、设计模式的两大主题是( d )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展8、单子模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是( b )A.工厂模式 B观察者 C适配器以上都是10、“不要和陌生人说话”是( d )原则的通俗表述A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解11、构造者的的退化模式是通过合并( c )角色完成退化的。

A.抽象产品 B产品 C创建者 D使用者12、单子(单例,单态)模式类图结构如下:下列论述中,关于”0..1”表述的不正确的是( d )A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例C.0表示单例类中可以没有任何实例D.0表示单例类可以提供其他非自身的实例13、对象适配器模式是( a )原则的典型应用。

软件架构与设计模式章节复习试题答案(大学期末复习资料)

第2章习题与参考答案1.某基于Java的C/S系统的“登录功能”通过如下登录类(Login)实现,请指出设计存在的问题,并基于单一职责原则进行重构。

答案:功能太过于集成,严重违反类的单一原则。

就一个类而言,应该仅有一个引起它变化的原因。

2. 某图形界面系统提供了各种不同形状的按钮,客户端代码可针对这些按钮进行编程,用户可能会改变需求要求使用不同的按钮,原始设计方案如图所示,请指出设计存在的问题,并基于开闭原则对该系统进行重构。

答案:客户端的一个方法直接调用加法类,当需要变更,如想添加一个减法类时就得改变加法类中代码(用switch语句实现),这就违背了“开闭原则”,应该进行重构。

3. 某系统需要实现对重要数据(如用户密码)的加密处理,在数据操作类(DataOperator)中需要调用加密类中定义的加密算法,系统提供了两个不同的加密类,CipherA和CipherB,它们实现不同的加密方法,在DataOperator中可以选择其中的一个实现加密操作。

请指出设计存在的问题,并基于里氏代换原则进行重构。

答案:因为如果需要更换一个加密算法类或者增加并使用一个新的加密算法类,如将CipherA改为CipherB,则需要修改客户类Client和数据操作类DataOperator的源代码,违背了开闭原则。

现使用里氏代换原则对其进行重构,使得系统可以灵活扩展,符合开闭原则。

子类型必须能够替换掉它们的父类型。

4. 某系统提供一个数据转换模块,可以将来自不同数据源的数据转换成多种格式,如可以转换来自数据库的数据(DatabaseSource)、也可以转换来自文本文件的数据(TextSource),转换后的格式可以是XML文件(XMLTransformer)、也可以是XLS文件(XLSTransformer),原始设计方案如图所示,请指出设计存在的问题,并基于依赖倒转原则进行重构。

答案:因为该系统可能需要增加新的数据源或者新的文件格式,每增加一个新类型的数据源或者新类型的文件格式,客户类MainClass都需要修改源代码,以便使用新的类,这样就违背了开闭原则。

软件体系结构(考试习题集含答案)

1、面向对象得方法优势体现在( ABD )A.简化软件开发过程B.支持软件复用C.提高软件运行效率D.改善软件结构2.用户界面设计中得三条“黄金规则”就是( ABC )A.使系统处于用户控制之中B.减少用户得记忆负担C.保持界面得一致性D.保证用户得易学性3.用户界面得分析与设计过程就是迭代得,其中包括得活动就是( ABCD )A.用户、任务以及环境得分析与建模B.界面设计C.界面实现D.界面确认4.界面确认需要注意三个方面( ABC )A.界面正确完成了用户得任务,适应用户得任务变化B.易学性与易用程度C.用户得接受程度D.用户得习惯5.用户界面分析时通常采用得信息获取方式包括( ABCD )A.用户会谈B.销售人员信息采集C.市场分析D.用户支持人员信息收集6.( C )把完成一个特定功能得动作序列抽象为一个过程名与参数表A.数据抽象B.动作抽象C.过程抽象D.类型抽象7.( A)把一个数据对象得定义抽象为一个数据类型名A.数据抽象B.动作抽象C.过程抽象D.类型抽象8.软件体系结构设计需要考虑以下( ABCD )A.适用性B.结构稳定性C.可扩展性D.可复用性9.模块设计时应该考虑(AB )A.模块功能独立B.模块信息得隐藏C.模块接口得简单D.模块实现简单10.一个完整得软件设计得主要活动包括有( ABCD )A.体系结构设计B.界面设计C.模块/子系统设计、D.数据模型、过程/算法设计等11.模块化就是指把一个复杂得问题分割成若干个可管理得小问题后,更易于理解,模块化正就是以此为依据得,在划分模块得过程中应该考虑到( ABC )A.模块得可分解性、可组装型B.模块得可理解性、连续性、C.模块保护D.尽可能低分割模块,使得问题得难度降到最1.什么就是软件工程?构成软件工程得要素就是什么?软件工程就是将系统化得、规范得、可度量得方法应用于软件得开发、运行与维护过程,即将工程化应用于软件开发与管理之中,对所选方法得研究。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、各种性能指标的定义及如何到达各种性能指标的方法ppt1-8 119页-124页 ①性能:吞吐量Throughput 、响应时间Response Time 、Deadlines②实现吞吐量:Peak & Average Many system have low average but high peak throughput requirements③实现响应时间: Guaranteed & Average E.g. 95% of responses in sub-4 seconds, and all within 10 seconds④Dealines :Deadlines often associated with batch jobs in IT systems2、常用的中间件有那几种类型(四种)分类:Business Process Orchestrators 业务流程协调器Message Brokers 消息代理Application Servers 应用服务器Transport面向消息的中间件,分布式对象系统(1)CORBA---公用对象请求代理(调度)程序体系结构,它在对象间建立客户-服务器的关系,这样一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是Business Process OrchestratorsMessage BrokersApplication ServersTransport Message-Oriented Middleware,Distributed Objects SystemsJ2EE, CCM, .NET BizTalk, WebSphere Message Broker, SonicMQ BizTalk, TIBCO StaffWare, ActiveBPEL通过一个网络访问。

(常见的对象请求代理架构)(2)Basic Message-oriented middleware---- MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。

(面向消息的中间件)(3)J2EE---- J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的问题。

(4)Message brokers----消息代理是一种在数据源与目的地之间移动数据使信息处理流畅的软件技术,数据源与目的地包括已有的应用、文件、数据库、对象、硬拷贝输出及Web 客户端等。

(消息代理)(5)Business process orchestrators----“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。

(业务过程代理)3、什么是软件架构(好几种定义,但是主要点是结构,元素,关系,接口)PPT 第4页架构是一个系统的基本组织,体现在它的组件,它们之间的相互关系和环境,其设计原则和进化论程序或计算系统的软件架构是系统的结构或结构,由软件元素,这些元素的外部可见的属性,它们之间的关系(软件架构)超过计算的算法和数据结构;设计和指定的总体系统结构作为一种新的问题出现。

结构性问题包括组织和全球生产总值(gdp)控制结构;协议进行通信,同步和数据访问;分配的功能设计元素;物流;设计元素构成;扩展和性能,设计方案中选择它是关于软件设计:所有的架构是软件设计,但不是所有的设计都是软件架构。

设计过程的一个部分;简单地说,架构关注“一旦系统建立后就很难或是不可能改变的问题”:质量属性,例如安全性,性能;非功能性需求,像开销,硬件配置。

【百度答案】软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。

软件架构是一个系统的草图。

软件架构描述的对象是直接构成系统的抽象组件。

各个组件之间的连接则明确和相对细致地描述组件之间的通讯。

在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。

在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现系统的软件体系结构是建立一个对系统来说所需要的结构,包括软件元素,它们之间的关系,以及两者的性质。

4、什么是架构风格PPT1-8 36页⏹An Architectural Style defines a family of systems in terms of a pattern ofstructural organization. It determines:❑the vocabulary of components and connectors that can be used in instances of that style,❑ a set of constraints on how they can be combined. For example, one might constrain:⏹the topology of the descriptions (e.g., no cycles).⏹execution semantics (e.g., processes execute in parallel).描述软件的基本结构组织或纲要,提供事先定义好的子系统,制定好责任并将它们组织在一起的法则和指南。

| 答案2:也叫架构模式,一个架构风格描述软件系统里的基本的结构组织或纲要。

架构风格提供一些事先定义好的子系统,指定他们的责任并给出把他们组织在一起的法则和指南。

一个架构模式常常可以分解成很多个设计模式的联合使用。

MVC模式就属于架构模式。

软件系统有哪几类结构?模块、组件和连接器、配置。

模块分配具体的职责,是工作的基础;我们调用运行时结构组件和连接器结构,在我们的使用中,组件始终是运行时实体;分配结构描述从软件结构映射到系统的环境,组织、发展、安装、执行;元素是一类模块(类、层或功能的划分等),模块与其他模块相关联通过概括化或专业化的关系;元素运行组件如服务、同行、客户、服务器、过滤器等,连接器是组件间的通信工具;5、有那些常见架构风格(1)管道和过滤器架构风格PPT 40页适用于需要定义一系列的执行规则数据的独立运算。

组件在输入时读数据流,在输出时产生数据流。

优点:易于理解、支持重用、容易保持或增强、允许某些专业分析、支持并发执行缺点:转换特性导致其不擅长处理交互系统、书写自己的过滤器时,过度地解析或不解析导致性能损失和更加复杂举例:unix的shell脚本、传统编译器组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了。

. 连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。

(2)面向对象风格 PPT49页适用于主要问题是识别和保护信息的相关主体。

数据代理和它们相关的操作封装在一个抽象数据类型里面。

优点:可以改变实施而不影响客户,可以设计作为独立的交互代理的集合的系统缺点:一个对象与另一个对象进行交互时第一个对象必须知道第二个对象的身份。

对象引起的副作用。

举例:java,c#开发的系统组件:对象连接器:功能和过程调用(方法)(3)隐式调用风格应用于涉及到组件的松耦合集,其中的每一个都执行一些操作,还可能允许其他的操作。

尤其对必须很快重新配置的应用很有用改变服务的供应商可能的或是不可能的能力不是直接的引用过程一个组件能发表一个或多个事件在系统中的其他组件能够在事件中注册一个兴趣通过与事件和过程结合当一个事件被声明后,广播系统(连接器)自己引用已经注册的事件的所有过程所有声明的事件“隐式”造成了过程在其他模块的调用优点:为重用提供强大支持、简化系统演化缺点:当一个系统广播一个事件时,不知道其他哪些组件会响应,不知道依赖于响应被调用的顺序,不知道响应什么时候结束举例:数据库管理系统中执行完整性约束(触发器)(4)客户-服务器风格 PPT64页适用于涉及到分布式的数据和跨越一系列的组件的处理优点:数据分布简单明确、位置透明、混合和匹配异构平台、易于添加新服务器或升级现有服务器。

缺点:没有名称和服务的中央寄存器—很难找到什么服务是没用的举例:文件服务器、数据库服务器、对象服务器组件:服务器:标准独立的组件提供特别的服务,如打印,数据管理等。

客户端:组件调用服务器提供的服务。

连接器:网络,允许客户端访问远程服务器。

(5)分层风格 PPT72页适用于涉及到分布式的能够分层的组织的类的服务,每层给它的上一层提供服务,同时作为下一层的客户端,只有仔细地从内层选择选择过程,才能用于他们临近的外层。

优点:设计(基于提高抽象层次)、改善(一个层的功能改变最多影响两个层)、重用(相同层的不同实现可以交替使用)缺点:并不是所有的系统都可以很容易的实现分层,性能需求可能迫使底层实现高级功能的耦合。

举例:分层通信协议、操作系统组件:典型的过程的集合。

连接器:典型的在有限的可见性下的过程调用(6)仓库风格 PPT80页适用于主要问题是建立、增加和维护复杂信息的主体部分,信息一定要能够用很多种方式操作。

经常需要长期的存在。

优点:有效存储大量数据、共享式模式模型、集中式管理缺点:必须先达成一个数据模型、很难分配数据、数据升级很昂贵举例:信息系统、编程环境、图形编辑器、人工智能知识基础、逆向工程系统组件:主要的数据结构能够表示出系统的正确状态操作主要数据结构的独立组件的集合连接器:典型地过程调用或是直接内存访问(7)解释程序风格 PPT87页适用于执行解决方案的最合适的语言或是机器不是直接可用的。

优点:模拟无实现的硬件、促进跨多种平台的应用程序或语言可移植性缺点:举例:编程语言编译器、基于规则的系统、脚本语言组件:包括一个状态机,有一个执行引擎和三个记忆状态:当前的执行引擎的状态程序被翻译当前的被翻译的程序的状态连接器:过程调用直接内存访问(8)过程控制风格 PPT94页适用于目的是维护特殊过程的输出属性在给定参考值的情形下优点:缺点:举例:实时系统软件用来控制(核电站、汽车巡航控制)组件:过程定义包括操作一些过程变量的机制控制算法决定如何去操作过程变量连接器:数据流关系过程变量:被控制的变量的值是系统能控制的输入变量能够检测过程的输入操纵变量的值能够被控制器改变设置断点是一个控制变量所需要的值传感器获得过程变量与控制有关的值6、架构师需要的核心技能是什么(1)涉众之间的交流(2)技术知识(3)软件工程学(4)风险管理7、什么是架构视图PPT 15页一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了此方面无关的实体。

相关文档
最新文档