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

名词解释

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

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4