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

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

名词解释

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.什么是设计模式?它与风格、框架有什么区别与联系?

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

相关文档
最新文档