软件设计与体系结构-复习试题

软件设计与体系结构-复习试题
软件设计与体系结构-复习试题

名词解释

1.设计模式一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

2.软件体系结构(Software Architecture)软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。软件体系结构由组件、连接件和属性组成。

3.软件体系结构风格(Software Architecture Style)软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型约束指出系统中构件和连接件的组合方式,体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

4.软件产品线产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的。

5.体系结构描述语言体系结构描述语言(ADL)是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。

6.软件重用指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识。通常,可重用的元素也称作软构件,可重用的软构件越大,重用的粒度越大。

7.构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和实现代码的复合体。

8.构件组装构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。

9.体系结构配置体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义。

10.易用性易用性关注一个用户完成需要的工作的容易程度以及系统提供的用户支持的种类,包括:学习系统特性。如果用户对某一特定系统或者系统的特定方面不熟悉,系统应该怎样使得学习变得容易?高效地使用系统。系统在帮助用户更高效操作方面能做些什么?11.场景(scenarios)场景可以看做是那些重要系统活动的抽象,它使4个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。

12.MVC MVC是模型(Model),视图(View)和控制(Controller)三个单词的缩写。MVC 模式的目的就是实现Web系统的职能分工。Model是应用对象,所有的操作都在这里实现,它若需要取得视图中的对象或更新视图,需通过控制器来进行处理。View是模型在屏幕上的表示,模型在进行操作后,其结果是通过视图显示的。Controller用于管理用户与视图发生的交互,定义用户界面对用户输入的响应方式。一旦用户需要对模型进行处理,不能直接执行模型,而必须通过控制器间接实现的。

13.C2体系结构风格C2体系结构风格可以概括为通过连接件绑定在一起的、按照一组规则运作的并行构件网络。

14.SOA 即service-oriented architecture,面向服务架构。它是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接

口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。Framework 是整个或部分系统的可重用设计,从设计模式角度来看,框架为大粒度的可复用的部件。从体系结构角度来看,框架是一个领域体系结构。

15.DSSA Domain Specific Software Architecture:特定领域软件体系结构。建立一种基于体系结构的方法,这需要对体系结构,其一般性构件和互联,以及客户的需求按何种方式由构件来集成都要达成共识。

简答题

1.什么是体系结构描述语言?它与程序语言以及UML有哪些区别与联系?

ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。

跟其他语言的比较:

◎构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;

◎抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;

◎重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;

◎组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;

◎异构能力:ADL允许多个不同的体系结构描述关联存在;

◎分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。

2.管道过滤器风格结构特点

①使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;

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

③支持软件重用;

④系统维护和增强系统性能简单;

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

⑥支持并行执行。

但是,这样的系统也存在着若干不利因素。

①通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。

②不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。

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

3.什么是设计模式?它与风格、框架有什么区别与联系?

设计模式是对通用设计问题的重复解决方案。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

软件框架是整个或部分系统的可重用设计。模式比框架更加抽象,框架是模式的特例化。设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟,利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用。通常成熟的框架包含了多种设计模式,一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式。

设计模式与风格两者为近义词,通常情况下可以互相通用,风格主要是指大的,宏观的设计。模式既可宏观,又可微观。

4.软件体系结构测试的内容与准则是什么?

内容:构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、可达,相关端口是否可连接,体系结构风格是否可满足。

准则:测试覆盖所有的构件及各个构件的接口。各个连接件的接口、构件之间的直接连接、构件之间的间接连接。

5.什么是软件危机,软件危机的具体表现有哪些?

软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

软件危机的表现:①软件成本日益增长;②开发进度难以控制;③软件质量差④软件维护困难。

6.说明Web服务的体系结构模型?它的三个核心协议分别是什么?

Web服务的体系结构模型:Web服务是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。

三个构成元素为:Serverice Broker、Service Provider、Service Requester

三个核心协议:①简单对象访问协议SOAP;②统一描述、发现和集成协议UDDI;③Web服务描述语言WSDL。

7.简述接口对于构件的重要意义。

只能通过构件的接口来使用构件中定义的操作。构件可以让它的接口被其他构件使用,以使其他构件可以使用这个构件中定义的操作。提供服务的构件提供了导出接口,访问服务的构件使用了导入接口。

8.类图在UML中有何重要作用?

为开发人员提供这种模仿现实世界的表达方式。让分析员使用客户所采用的术语和客户交流,促使客户说出所要解决的问题的重要细节。

9.阐述用例对于系统开发人员来说的价值。

用例是用来从用户的观察角度收集系统需求的一项技术,便于分析员与客户和用户交流,使系统更符合用户的需求。

10.简述如何在实际工作中发现类。

在与客户的交谈中,要注意客户用来描述业务实体的名词术语。这些名词可作为领域模型中的类。还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。他们的回答将告诉你这些类的职责。

11.简述B/S架构的优点。

基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

12.C/S系统中客户端应用程序有哪些主要任务?

①提供用户与数据库的交互界面;

②向数据库服务器提交用户请求并接受来自数据库服务器的信息;

③利用客户端应用程序对存在于客户端的数据执行应用逻辑要求。

13.什么软件体系结构风格?

软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。

14.简述MVC,介绍各自的作用和用途。

MVC是模型(Model),视图(View)和控制Controller)是三个单词的缩写。MVC模式的目的就是实现Web系统的职能分工。

Model是应用对象,所有的操作都在这里实现,它若需要取得视图中的对象或更新视图,需通过控制器来进行处理。

View是模型在屏幕上的表示,模型在进行操作后,其结果是通过视图显示的。

Controller用于管理用户与视图发生的交互,定义用户界面对用户输入的响应方式。一旦用户需要对模型进行处理,不能直接执行模型,而必须通过控制器间接实现的。

15.软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?

软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

体系结构是风险承担者进行交流的手段。它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。同时,软件体系结构是可传递和可重用的模型。

填空题

1、软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。

2、软件工程包括3个要素:方法、工具和过程。

3、软件重用过程中需要重用的开发组织结构予以支持,它包括:构件开发组、构件应用组、协调组三组成员组成。

4、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构件层、通用类构件层、业务构件层、表现层。

5、软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。

6、软件体系结构的生命周期模型主要分为需求分析阶段、建立软件体系结构阶段、设计阶段和实现阶段。

7、软件体系结构应建立于传统的软件开发过程的需求分析和软件设计阶段之间。

8、三层C/S结构风格是由表示层、功能层和数据层构成的。

9、消息总线对消息过滤提供了转换和阻塞两种方式。

10、正交软件体系结构由组织层和线索的构件构成。

11、C/S体系结构服务器主要负责有效的管理系统的资源,主要负责数据库安全性的要求、数据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则和数据库的备份与恢复。

12、层次系统最广泛的应用是分层通信协议。

13、软件体系结构的描述方法主要有图形表达工具、模块内连接语言、基于软构件的系统描述语言和软件体系结构描述语言。

14、ADL是一种在底层语义模拟支持下的形式化语言。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。

15、可重用的体系结构描述框架可以从需求视点、设计视点、实现视点和测试视点四个视点出发描述体系结构。

16、Wright支持对构件之间交互的形式化和分析。

17、典型的ADL在充分继承和吸收传统程序设计语言的精确性和严格性特点的同时,还应该具有构造、抽象、重用、组合、异构和分析推理等多种能力和特性。组合能力指的是ADL 使得其描述的每一个系统元素都有其自己的局部结构。

18、体系结构的动态性分为“交互式动态性”、“结构化动态性”、“体系结构动态性”三类。

19、基于构件的动态体统结构模型(CBDSAM)支持运行系统的动态更新。该模型分为三层,分别是应用层、中间层和体系结构层。

20、对动态软件体系结构的形式化描述通常有图形化方法、进程代数方法、逻辑描述方法三种方法。

21、一个完整的Web服务包括3种逻辑构件:服务提供者、服务代理和服务请求。

答:

22、Web服务栈的五层标准为:发现服务层、描述层、消息格式层、编码格式层、传输协议层。

23、Web服务开发生命周期分为:构建、部署、运行、管理四个阶段。

24、OOAD、EA和BPM分别从基础设计层、应用结构层和业务组织层3个层次上为SOAD

25、MVC模式的中的M,V,C分别对应Model、View、Controller三个单词。

26、ABSD的全称是:Architecutre Based Software Development,即基于架构的开发方法。

27、ABSD方法取决于决定系统的体系结构驱动,所谓体系结构驱动,是指构成体系结构的业务、质量、功能需求的组合。

28、设计模式的基本成分包括模式名称、问题、解决方案、效果。

29、软件体系结构的可靠性风险分析方法有动态方法和构建依赖图(CDG)。

30、实现完整测试的典型方法是利用测试准则定义测试需求,进而生成测试用例.参照相关研究工作,可定义构件或连接件内部消息的传递路径、构件或连接件内部端口的执行顺序路径等测试路径。

31、构建依赖图是用于在体系结构级进行可靠性分析的概率模型。

32、一个复杂的系统通常包括顺序、并行计算、容错和客户/服务器等常用的结构风格模型。

33、SAAM方法是最早形成文档并得到广泛使用的软件体系结构分析方法,最初用来分析体系结构的可修改性的。

34、体系结构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。

35、可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。包括可维护性、可扩展性、结构重组、可移植性4个方面。

36、SAAM评估方法可以对许多许多质量属性及系统功能进行快速评估。

37、软件重用是为了解决软件危机。

38、软件体系结构的开发是大型软件系统开发的关键环节。

39、软件体系结构设计的主要目的是满足对软件的质量需求。

40、MVC模型的基本工作原理是基于观察者模式,实现是基于命令模式。

综合题:

1.请简述并画出“4+1”视图模型

答案:“4+1”视图模型即从5个不同的视角(逻辑视图,进程视图,物理视图,开发视图和场景视图)来描述软件体系结构。每个视图之关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。

2.体系结构演化

3. 试简述一下软件产品线的双生命周期模型 现有系

统需求领域分析领域工程

领域设计领域实现

新系统

需求需求分析应用工程系统设计系统实现

新系统

领域可重用构

件和生成器

领域体系领域需求模型

软件体系结构期末考试

北京工业大学2014 - 2015学年 第二学期模拟试题 考试课程:软件体系结构I 考试日期:2015年5 月20日 学院:软件学院专业:软件工程 学号:姓名:成绩: 一填空题(共30 空,每空 1 分) 1. 软件或程序是由软件工程人员设计与开发,使计算设备发挥计算潜能,________ 的逻辑层次组织。 2. 软件体系结构(Software Architecture)-- 是软件产品设计的思想和系统的蓝图;是 对软件产品_______的规划和_______的设置;是定义软件系统组件(Components)或构建块(Building Blocks)的重要工具;用于 -- 实现对一个软件系统的构成进行_________的划分 -- 所形成和采用的工程化规范,是指导软件后续过程方方面面组成的模型。 3.软件开发中的面临若干问题:1)软件固有的复杂性;2)软件开发的随意性;3)周期 长,代价高,质量低的问题;软件体系结构设计是软件产品及大型信息系统工程实现中最重要的环节和关键技术之一,解决从软件的__________到系统实现(代码)的有效和平坦过渡。 4.软件产品的工业化生产:是指建立流水线型的软件产品生产线,是指按_____、标准 化的规范和规则(软件生产规范)来编写和实现各种各样的适应于多环境的软件___,通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达到期望的软件产品。 5.体系结构设计方法的发展中,软件程序开发经历了如下的阶段 -- 功能分解法 (计算任务) -- 结构化程序设计 (以数据为中心) -- _________________ -- _________________ -- 基于 SOA 的程序设计 (以服务为中心)。 6. 一个现代软件产品生产过程如下图表示,请在带___________的方框中,填上相应的组 件名称

软件体系结构考试参考试题

壹 . 名词解释(参考斯佳分享的名词解释文档) 1.ADL(Architecture Description Language) 体系结构描述语言 2. SOA(Service-Oriented Architecture) 面向服务架构 3. DSSA (Domain Specific Software Architecture) 特定领域软件体系结构 4.CORBA(Common Object Request Broker Architecture) 公共对象请求代理体系结构 5. UML(Unified Modeling Language) 统一建模语言 6.XML(Extensible Markup Language ) 可扩展标记语言 7.B/S(Browser/Server) 浏览器/服务器C/S(Client/Server) 客户端/服务器 8.HMB(Hierarchical [?ha??'rɑ:k?kl] message bus) 层次消息总线 9.SA (Software Architecture) 软件体系结构 10.OMG(Object Management Group) 对象管理组织 11.SOAP(Simple Object Access Protocol) 简单对象访问协议 12.WSDL(Web Services Description Language) web服务描述语言 13.SOAD(Service Oriented Analysis And Design) 面向服务的分析与设计 14.DCOM(Distributed Component Object Model) 分布式对象组件模型 https://www.360docs.net/doc/952769784.html, (Module Interconnection Language) 模块内连接语言 贰 . 判断题 1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。答案:√ 依据页码:P4 2、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。 答案:√ 依据页码:P28 5、构件可以由其他复合构建和原子构件通过连接而成。() 答案:√ 依据页码:P37 6、体系的核心模型由5种元素组成:构件、连接体、配置、端口和角色() 答案:√ 依据页码:P37 7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、连接件和配置是最基本的元素() 答案:√ 依据页码:P37 8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务() 答案:X 依据页码:P32、33 9、构件、连接件以及配置是体系结构的核心模型最基本的元素() 答案:√ 根据页码:P37

软件体系结构考试要点

考试题型 一、填空(每题1分,共10分) 二、名词解释(每题2分,共20分) 1、B/S 2、C/S 3、HMB 4、DSSA 5、ADL 6、XML 7、ATAM 8、Web Service 9、MTTF10、SOAP 11、WSDL 12、UDDI 13、SAAM 14、MVC 15、Artifact-Driven 16、Use-Case-Driven 17、Domain-Driven 18、Pattern-Driven 19、构件20、连接件21.、MTBF 22、敏感点23、权衡点24、直接场景25、间接场景26、质量属性效用树27、XML Schema 三、问答题(40分) 1、构件描述模型有哪几种? 2、理解并比较构件分类的三种方法:关键字分类法、刻面分类法和超文本组织方法, 它们是如何组织的?如何在其中检索构件?每种方法各有什么优缺点? 3、了解软件体系结构的四个发展阶段。 4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成? 5、至少掌握三种经典软件体系结构风格。 6、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。 7、请对MVC风格体系结构进行介绍,并说明该风格的优缺点。 8、在正交软件体系结构中,什么是完全正交结构?在实际使用时是不是必须严格遵 守结构正交?使用正交软件体系结构有什么优点? 9、层次系统结构和基于消息的层次系统结构有什么区别? 10、体系结构描述语言与程序设计语言有什么区别? 11、ACME中定义了哪七种体系结构实体?ACME中的表述和表述映射,类型和风格是什么含义?

12、了解基于XML的软件体系结构描述语言。 13、简要介绍Krutchten的“4+1”视图模型。 14、设计模式的基本成分有哪几个?请简单介绍其各个基本成分。 15、为什么要评估软件体系结构?从哪些方面评估软件体系结构? 16、软件体系结构评估的主要方法有哪三种?请简单解释每种方法。 17、SAAM和ATAM评估方法的基本步骤分别是什么? 18、Web服务有哪些核心技术,这些技术是如何在Web服务中发挥作用的。 四、看图答题(30分) 1、请根据P38图3-5介绍黑板系统的组成。 2、请根据P59图3-26解释HMB风格的构件模型。 3、请根据P60图3-27解释消息总线的属性和服务。 4、请根据P147图5-2介绍体系结构设计方法的元模型。 5、请根据P167图6-1简要介绍基于体系结构的软件开发过程的各个步骤。并说明各个步骤的必要性何在?或者说,它们在软件生命周期中都起到了什么作用? 6、请根据P207图8-1分析服务提供者、服务请求者和服务注册中心三者的作用,以及它们之间的工作流程。 7、请根据P229图8-11介绍UDDI的具体工作步骤。

软件建模和设计试题

一.名词解释: 1.在软件工程中,对客观世界的问题领域进行抽象,并用某描述方法表示的结果称为模型。模型是现实系统的简化,它是抓住现实系统的主要方面而忽略次要方面的一种抽象,是对问题的书面上的、图形或文字的、无歧义的描述。人们常常在正式构造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握。 https://www.360docs.net/doc/952769784.html,e Case(用例):在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。一个Use Case表达了用户对系统的一项需求,也就是系统的一项责任或功能。 3.架构风格指一组原则。可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系架构风格定义了一个系统家族,即一个体系架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。 4.类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类通过接口与外界发生关系。 5.软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 二、 1.面向对象建模的大致过程如下: 用UML进行面向对象建模首先要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为

软件设计与体系结构期末复习整理解读

1面向对象编程中是如何体现封装性的? 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。 2重载和重写的含义 重载是发生在一个类中,方法名相同,参数不同 重写(覆盖)是子类继承父类,子类可以通过重写的方法隐藏继承的方法 3 什么是接口回调,过程细节是什么? 概念:把可以实现某一接口的类创建的对象的引用赋给该接口声明接口变量,那么该接口变量可以调用被类实现(重写)的接口方法。 4试举例说明什么是组合关系和依赖关系 组合(关联)关系:A类中成员变量是用B类声明的对象。公司--职员 依赖关系:A类中某个方法的参数是用B类声明的对象,或某个方法返回的数据类型是B类的对象 5抽象类和接口,区别是什么?如何应用 抽象类:抽象类中有抽象方法;抽象类中不能用new运算符创建对象;抽象类的对象做商转型对象 接口:(1)接口中只可以有public权限的抽象方法,不能有非抽象方法; (2)接口由类去实现,即一个类如果实现一个接口,那么他必须重写接口中的抽象方法 (3)接口回调 区别:接口中只有常量,不能有变量;抽象类中既可以有常量也可以有变量; 抽象类中也可以有非抽象方法,接口不可以。 应用:定义抽象方法:public abstract void 方法名(); 在子类实现抽象方法:public void 方法名(){} 接口:public interface 接口名{}接口只负责定义规则,不负责任何实现;实现交给实现接口的类 (6)面向对象的六条基本原则包括: 开闭原则,里式代换原则,单一职责,依赖倒转、迪米特法则(接口隔离)。 (7)什么是设计模式? 设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 (8)什么是框架?框架与模式的区别有哪些? 框架是针对某个领域,提供用于开发应用系统的类的集合。 区别:层次不同、范围不同、相互关系

软件体系结构复习题

判断题 1.软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高 软件系统的开发质量与效率,降低开发成本的目的。 2.开发视图主要支持系统的功能需求,即系统提供给最终用户的服务。 3.软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其 中,构件、连接件和配置是最基本的元素。 4.构件可以由其他复合构建和原子构件通过连接而成。 5.正交软件体系结构由组织层和线索的构件构成。 6.软件产品线的建立通常有4种方式,其划分依据有两种。 7.体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软 件设计之前进行。 8.ATAM评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由 设计师确定体系结构方法,由分析小组捕获并进行分析。 9.WSDL是可扩展的,使得在通信时无论使用何种消息格式或网络协议,都可 以对端点及其消息进行描述。 10.10.ABSD方法是基于体系结构的设计方法,它描述了系统的主要设计元素及 其关系。 11.11.可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构 件的查找。 12.12.超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检 索技术。 13.软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始 终跨越时间和实现的属性。 14.体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色() 15.开发视图主要支持系统的功能需求,即系统提供给最终用户的服务 16.构件、连接件以及配置是体系结构的核心模型最基本的元素() 17.HMB风格不支持系统自顶向下的层次化分解,因为它的构件比较简单() 18.基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广 播一个或多个事件。。 19.线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成 整个系统中相对独立的一部分功能。 20.层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照 递增的步骤进行分解,同时支持功能增强,但是不支持重用。 21.在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。 22.Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对 分布式同步系统建模。 23.体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软 件设计之前进行。 24.基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语 言。 25.需求语言与ADL的区别在于后者描述的是问题空间,而前者则扎根于解空间 中。 26.基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结 构层。

软件体系结构试题免费版本

软件体系结构考试试题 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 )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 14、静态工厂的核心角色是(a) A.抽象产品 B.具体产品 C.静态工厂 D.消费者 15、下列关于静态工厂与工厂方法表述错误的是:( a ) A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码 B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中 C.不能形成静态工厂的继承结构 D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。 16、在观察者模式中,表述错误的是( c ) A.观察者角色的更新是被动的。 B.被观察者可以通知观察者进行更新 C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。 D.以上表述全部错误。 17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( d ) A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移动到C 中,从而解决A和B 行为不完全一致的问题。 B.将B到A的继承关系改组成委派关系。 C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系

计算机体系结构期末考试知识点与答案

体系结构复习重点.doc 1..诺依蔓计算机的特点 答:·若依曼计算机的主要特点如下: 存储程序方式。指令和数据都是以字的方式存放在同一个存储器中,没有区别,由机器状态来确定从存储器读出的字是指令或数据。 指令串行执行,并由控制器集中加以控制、 单元定长的一维线性空间的存储器 使用低级机器语言,数据以二进制形式表示。 单处理机结构,以运算器作为中心。 其实,他最大的特点就是简单易操作。 2. T(C)=所描述的三个层次(8页) 答:3个层次为控制器、算术逻辑部件、基本逻辑部件 3. 计算机系统结构的分类(5页) 4. 计算机系统中的数据表示(38页) 5. 指令系统设计的原则 答:指令系统的设计原则是,应特别注意如何支持编译系统能高效、简易地将源程序翻译成目标代码。 首先是正交性:又称分离原则或互不相干原则。即指令中各个有不同含义的字段之间,在编码时应互相独立、互不相关。 规整性:对相似的操作数做出相同的规定。 可扩充性:要保留一定余量的操作码空间,为以后的扩展所用。 对称性:为了使编译能更加方便,通常希望操作具有对称性。 6. 流水操作中的相关 答:流水操作过程中会出现一下的3个相关:资源或结构相关、数据相关、和控制相关。 资源相关是指当有多条指令进入流水线后在同一机器周期内争用同一功能部件所发生的冲突。 数据相关:这是由于流水线中的各条指令的重叠操作使得原来对操作数的访问顺序发生了变化,从而导致了数据相关的冲突。 控制相关主要是转移指令引起的,比起数据相关来,他会使流水线丧失更多的性能。 7. 向量机中对向量的各种运算可以采用的加工方式(149页) 答:向量机中对向量的各种运算可以采用不同的加工方式,但比较有效的加工方式

软件体系结构期末复习题概述

《软件体系结构》期末复习题 简答题: 1、软件体系结构建模的种类有: 结构模型、框架模型、动态模型、过程模型、功能模型。 2、“4+1”视图模型从5个不同的视角包括: 逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。 连接件:表示构件之间的交互。 配置:表示构件和连接件的拓扑逻辑和约束。 端口:表示构件和外部环境的交互点。 角色:定义了该连接交互的参与者。 4、画出“4+1”视图模型图,分析各部分的原理和功能。 5、软件体系结构风格: 是描述某一特定应用领域中系统组织方式的惯用模式。 6、软件体系结构 (Software Architecture) 软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。软件体系结构由组件、连接件和属性组成。 7、分层系统的优点有: 1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解; 2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层; 3)支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。这样,就可

以定义一组标准的接口,而允许各种不同的实现方法。 8、分层系统的缺点有: 1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来; 2)很难找到一个合适的、正确的层次抽象方法。 9、 B/S体系结构的优点有什么? 答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。 2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。 10、B/S体系结构的缺点有什么? 答:1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。 2)B/S体系结构的系统扩展能力差,安全性难以控制。 3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。 4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。 11、DSSA 答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构 11、软件体系结构的动态性主要分为: 交互式动态性、结构化动态性、体系结构动态性等三类。 12、请画出基于构件的动态系统结构模型画。 13、软件产品线 产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的 14、SOA 即service-oriented architecture,面向服务架构。它是一个组件模型,它 将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接 口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于 实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的 系统中的服务可以以一种统一和通用的方式进行交互。 14、RIA

软件体系结构复习题及答案

概述部分 1、请分析软件危机的主要表现和原因。 表现: a)软件成本日益增加:开发、部署与应用成本高 b)开发进度难以控制:不能按期完成 c)软件质量差:错误率高,不能满足用户的需求,没有生命力 d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误 原因: 1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高 2、请说明软件规模与复杂度对软件过程的影响及解决方法。 软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。 3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束) 软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 4、请简述软件重用的含义和意义。可重用元素包括哪些种类? 软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过 程。(含义) 可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。 (种类) 可重用的元素越大,我们就说重用的粒度(Granularity)越大。 软件重用是软件产业工业化、工程化的重要手段。软件重用对提高生产率,降低 开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。 (意义) 5、请简述常用的构件实现模型及其意义。

实现模型: 1.CORBA 2.EJB https://www.360docs.net/doc/952769784.html, / DCOM / COM+ 意义: 这些模型通常都定义了构件的实现方式、接口定义、访问方法等。符合这些标准的任何构件都有很高的重用能力。 描述部分 6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。 数据视图

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

1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。答案:√ 依据页码:P4 2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。答案:√依据页码:P7 3、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。 4、答案:√依据页码:p8 5、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。 答案:√ 依据页码:P28 5、构件可以由其他复合构建和原子构件通过连接而成。() 答案:√ 依据页码:P37 6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色() 答案:√ 依据页码:P37 7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、连接件和配置是最基本的元素() 答案:√ 依据页码:P37 8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务() 答案:X 依据页码:P32、33 9、构件、连接件以及配置是体系结构的核心模型最基本的元素() 答案:√

10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。 答案:× 依据页码:P81 11、正交软件体系结构由组织层和线索的构件构成。 答案:√ 依据页码:P70 12、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。 答案:√ 依据页码:P53 13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。() 答案:√ 依据页码:P70 14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。 答案:× 参考页码:P55 15、相交关系R是一个等价关系。 答案:√ 16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。答案:√ 依据页码:104 17、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式同步系统建模。 答案:×

计算机体系结构 习题与答案

第二章习题(P69-70) 一、复习题 1.简述冯?诺依曼原理,冯?诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心? 答:冯?诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。这3条合称冯?诺依曼原理 冯?诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。 (P51-P54) 2.简述计算机体系结构与组成、实现之间的关系。 答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。计算机实现,是计算机组成的物理实现, 就是把完成逻辑设计的计算机组成方案转换为真实的计算机。计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。 (P47-P48) 3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构? 答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。 (P55) 4.简述RISC技术的特点? 答:从指令系统结构上看,RISC 体系结构一般具有如下特点: (1) 精简指令系统。可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令; (2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种; (3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长; (4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。 (P57-58) 5.有人认为,RISC技术将全面替代CISC,这种观点是否正确,说明理由? 答:不正确。与CISC 架构相比较,RISC计算机具备结构简单、易于设计和程序执行效率高的特点,但并不能认为RISC 架构就可以取代CISC 架构。事实上,RISC 和CISC 各有优势,CISC计算机功能丰富,指令执行更加灵活,这些时RISC计算机无法比拟的,当今时代,两者正在逐步融合,成为CPU设计的新趋势。 (P55-59) 6.什么是流水线技术? 答:流水线技术,指的是允许一个机器周期内的计算机各处理步骤重叠进行。特别是,当执行一条指令时,可以读取下一条指令,也就意味着,在任何一个时刻可以有不止一条指令在“流水线”上,每条指令处在不同的执行阶段。这样,即便读取和执行每条指令的时间保持不变,而计算机的总的吞吐量提高了。 (P60-62) 7.多处理器结构包含哪几种主要的体系结构,分别有什么特点? 答:多处理器系统:主要通过资源共享,让共享输入/输出子系统、数据库资源及共享或不共享存储的一组处理机在统一的操作系统全盘控制下,实现软件和硬件各级上相互作用,达到时间和空间上的异步并行。 SIMD计算机有多个处理单元,由单一的指令部件控制,按照同一指令流的要求为他们

软件体系结构期末考试试题

软件体系结构-设计模式练习题1 1.面向对象分析与设计中的(1)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(2)是指子类应当可以替换父类并出现在父类能够出现的任何地方。 (1) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 (2) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 2.(3)限制了创建类的实例数量,而(4)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 (3) A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy) D.单例模式(Singleton) (4) A.命令模式(Command) B.适配器模式(Adapter) C.策略模式(Strategy) D.单例模式(Singleton) 3. (5)设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图,已知类State 为抽象类,则类(6)的实例代表了Context 对象的状态。 (5) A.单件(Singleton) B.桥接(Bridge) C.组合(Composite) D.状态(State) (6) A. Context B. ConcreteStateA C. Handle D. State

4.某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“Component”角色相对应的类是(7) ,与“Composite”角色相对应的类是(8) 。 (7) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany (8) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany 5.某软件公司正在设计一个通用的嵌入式数据处理平台,需要支持多种数据处理芯片之间的数据传递与交换。该平台的核心功能之一要求能够屏蔽芯片之间的数据交互,使其耦合松散,并且可以独立改变芯片之间的交互过程。针对上述需求,采用(9)最为合适。 (9) A. 抽象工厂模式 B. 策略模式 C. 中介者模式D. 状态模式 6.某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理中的撤销和重做等动作,为了实现该功能,采用(10)最为合适。 (10) A. 单例模式B. 命令模式 C. 访问者模式 D. 适配器模式 7.某互联网公司正在设计一套网络聊天系统,为了限制用户在使用该系统时发表不恰当言论,需要对聊天内容进行特定敏感词的过滤。针对上述功能需求,采用(11)能够灵活配置敏感 词的过滤过程。 (11) A. 责任链模式 B. 工厂模式 C. 组合模式 D. 装饰模式

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

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.什么是软件工程?构成软件工程的要素是什么? 软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。软件工程的要素由方法、工具和过程组成。方法支撑过程和工具,而过程和工具促进方法学的研究。 2.什么是软件生存周期?软件开发过程模型与软件生存周期之间是何关 系? 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程叫软件生存周期。软件开发过程模型表示软件开发中各个活动的安排方式,出来软件开发各个活动之间关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为

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

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 )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 1、软件体系结构建模的种类有: 结构模型、框架模型、动态模型、过程模型、功能模型。 2、“4+1”视图模型从5个不同的视角包括: 逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。 连接件:表示构件之间的交互。 配置:表示构件和连接件的拓扑逻辑和约束。 端口:表示构件和外部环境的交互点。 角色:定义了该连接交互的参与者。 4、画出“4+1”视图模型图,分析各部分的原理和功能。 5、软件体系结构风格: 是描述某一特定应用领域中系统组织方式的惯用模式。

6、软件体系结构 (Software Architecture) 软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。软件体系结构由组件、连接件和属性组成。 7、分层系统的优点有: 1)支持基于抽象程度递增的系统设计,使设计者能够把一个复杂系统按递增的步骤进行分解; 2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层; 3)支持重用。只要提供的服务接口定义不变,同一层的不同实现能够交换使用。这样,就能够定义一组标准的接口,而允许各种不同的实现方法。 8、分层系统的缺点有: 1)并不是每个系统都能够很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来; 2)很难找到一个合适的、正确的层次抽象方法。 9、 B/S体系结构的优点有什么? 答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

软件体系结构期末试题答案

精品文档服务器性常见的Web17)。(17)A. 1.以下关于系统性能的叙述中,不正确的是(服 务器的主要性能指标有最大WebB. 能评估方法有基准测试、压力测试和可靠性测试评价/对运行 系统进行性能评估的主要目的是以更好的性能并发连接数、响应延迟和吞吐量C. D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈价格比更新系统 需要实现在系统之间快速传递可定制格式的数2某公司欲对其内部的信息系统进行集成,据包, 并且当有新的数据包到达时,接收系统会自动得到通知。另外还要求支持数据重传,远程过)A. (21)的集成方式。(21以确保传输的成功。针对这些集成需求,应该采用 消息传递 D. 程调用 B. 共享数据库C. 文件传输 ”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧中采用“4+13 在RUP逻C. B. 进程视图 27)。(26)A. 实现视图重于(26),系统工程师侧重于(部署D. C. 逻辑视 图)A. 实现视图 B. 进程视图 D. 辑视图部署视图( 27 视图 方法描述其不同账户之间的关系,设计出的类图如.某银行系统采用Factory Method4”Product; 与“33”角色相对应的类是() Method下所示。其中与Factory 中的“Creator )33。((34)角色相对应的类是)(34 Checking D. SavingsB. A. Bank Account C. A. Bank B. Checking C. Account 面向对A. 35 是一个独立可交付的功能单元,外界通过接口访问其提供的服务。()5.基于构 件开发C. Subroutine)B. (Object)模块化程序设计中的子程序(象系统中的对象 Package)Component中的构件()D. 系统模型中的包( 是一种典型的、原始的31)(6 软件的横向重用是指重用不同应用领域中的软件元素。 设计模式标准函数库构件对象)(横向重用机制。31A. B. C. D. 精品文档. 精品文档 描述系统设计蓝图以保证系统提供适当的功能;)在基于构件的软件开发中,(367. B. 用来了解系统的性能、吞吐率等非功能性属性。(36)A. 逻辑构件模型37()逻辑构 件模)A. D. 系统交互模型(37组件接口模型物理构件模型C. 系统交互模型 D. 物理构件模型C. 组件接口模型型 B. )的状38)基于CORBA基础设施定义了四种构件标准。其中,(8.对象管理组织(OMG服C. B. 加工构件态信息是由构件自身而不是由容器维护。(38)A. 实体构件会话构件 D. 务构件业务数据的综合计算分通常需要将任务分配到不同的逻辑计算层。9分布式系统开发中, 数 D. C.数据处理层)。(39A. 表示逻辑层 B. 应用逻辑层析任务属于(39) 据层时,应将数据层和数据处理层放置于服)(4010 在客户机/服务器系统开发中,采用B. A. 表示逻辑层和表示层放置于客户机。(40)分布式表示结构务器,应用逻辑层、分布式数据

相关文档
最新文档