如图1所示的UML类图描绘的是设计模式中的______模式。如图2所示的UML类图描述了该模式的一种应用,其中与第一个图中的“Abstraction”对应的类是______。
图1 某设计模式的UML类图
单选题
- A.Composite(组合)
- B.Proxy(代理)
- C.Bridge(桥接)
- D.Command(命令)
单选题
- A.DataAccess
- B.AccountDM
- C.CustomerDM
- D.DataAccessImpl
【正确答案】
A
【答案解析】[解析] 如图1所示的UML类图描绘的是设计模式中的Bridge(桥接)模式,它将抽象部分与现实部分分离,使得它们两部分可以独立地变化。其中,类Abstraction是一个抽象类,用于定义抽象类的接口,维护一个AbstractionImpl(实现抽象类)的对象。在图2所描述的应用中,与类Abstraction相对应的是类DataAccess。
Command(命令)模式的设计意图是,将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。
Composite(组合)模式的设计意图是,将对象组合成树型结构以表示“部分—整体”的层次结构。
Proxy(代理)模式的设计意图是,为其他对象提供一种代理以控制对这个对象的访问。
单选题
某面向对象系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、带有黑色边框或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类,______设计模式可以实现该目的。
- A.外观(Facade)
- B.装饰(Decorate)
- C.单例(Singleton)
- D.模板方法(Template Method)
【正确答案】
B
【答案解析】[解析] 外观(Facade)模式的设计意图是:为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。
装饰(Decorate)模式的设计意图是:当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。
单例(Singleton)模式的设计意图是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
模板方法(Template Method)模式的设计意图是:在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。
本试题所给出的场景限定了能够增加的类的数量。可以通过新增加三个类,分别继承组件类并实现给组件增加黑色边框、滚动条以及增加黑色边框和滚动条功能,由于文本显示类和图片显示类都属于组件类,因此新增加的三个类能够给文本显示对象和图片显示对象增加额外的显示功能,该实现手段采用的就是装饰(Decorate)模式。
单选题
Software Architecture Evaluation
Model(SAEM)是一种软件架构的评估模型,以下关于该模型的叙述中,错误的是______。
- A.在SAEM中,从开发人员和用户两个角度考虑体系结构的描述,并应用于系统设计阶段
- B.SAEM将质量需求、度量标准和体系结构的内部属性与最终的系统联系起来
- C.SAEM的一个特别之处在于为了评估现存系统的体系结构,可以使用这个系统自身
- D.SAEM认为体系结构开发过程限制了内部属性,所以度量过程的结果作为某种形式的反馈可以改进体系结构
【正确答案】
C
【答案解析】[解析] 软件体系结构评估模型(Software Architecture Evaluation Model,SAEM)以标准软件评估过程(ISOIEC 9216)为基础选择质量模型,并提出一个概念框架,把质量需求、度量标准和体系结构的内部属性与最终的系统联系起来。
①特定目标:SAEM为软件体系结构的质量评估和最终系统的质量预测创建了基础。
②评估技术:SAEM试图以目标——问题度量标准(Goal Question Metric)技术为基础,定义质量度量标准。该度量标准的目标是判定某一属性是否与系统的质量规格说明中所指定的值相符合。
③质量属性:质量规格说明分为内部和外部两类。外部质量表现了用户的观点,内部质量表现了开发人员的观点。内部属性由特殊元素和固有属性组成。特殊元素,如功能元素和数据元素,指示了质量特征;固有属性,如大小、模块化程度、复杂度、耦合和聚合,是开发过程的产物。在内部属性及其值之间建立相对重要性是必要的,QFD是完成这一任务的适当技术。
④风险承担者:从质量需求到内部属性的映射过程中,用到了专家的知识和开发组织积累的数据。
⑤体系结构描述:在SAEM中,从两个角度考虑体系结构的描述,一个是从开发人员的角度,另一个是从用户的角度,并应用于系统设计阶段。
⑥方法的活动:在SAEM中,从两个角度考虑体系结构的描述,认为软件体系结构既是开发过程的一个产品,又是系统开发过程中的媒介。体系结构开发过程限制了内部属性,所以度量过程的结果作为某种形式的反馈可以改进体系结构。
⑦现存知识库的可重用性:SAEM没有考虑知识库的可重用性。
基于场景的体系结构在工程SBAR(Scenario Based Architecture Reengineering)中的作用不仅在于体系结构设计,还在于对一个系统的详细体系结构进行基于场景的软件质量评估。这种方法的一个特别之处在于为了评估现存系统的体系结构,可以使用这个系统自身。SBAR使用软件体系结构的详细设计。
单选题
特定领域软件架构(DSSA)是一个特定的问题领域中由领域模型、参考需求和参考架构等组成的开发基础架构。以下关于DSSA所具备的特征描述中,错误的是______。
- A.对整个领域能有合适程度的抽象
- B.具备该领域固定的、典型的在开发过程中的可重用元素
- C.一个严格定义的问题域或解决域
- D.具有易用性,使其可以用于领域中某个特定应用的开发
【正确答案】
D
【答案解析】[解析] 特定领域软件架构(DSSA)是一个特定的问题领域中由领域模型、参考需求和参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。通常情况下,DSSA应该具备以下4个方面的特征:①一个严格定义的问题域或解决域;②具有普遍性,使其可以用于领域中某个特定应用的开发;③对整个领域能有合适程度的抽象;④具备该领域固定的、典型的在开发过程中的可重用元素。据此,选项D的说法有误。
单选题
识别风险点、非风险点、敏感点和权衡点是ATAM方法中的关键步骤。针对某个应用系统所做的架构设计中,如果对某些机密消息的处理有严格的时间延迟要求,则加密级别将成为一个______。
【正确答案】
D
【答案解析】[解析] 敏感点和权衡点是关键的体系结构决策。敏感点是一个或多个构件(或构件之间的关系)的特性。研究敏感点有助于架构师在如何实现某个系统质量目标时明确应注意什么。
权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可能提高系统的安全性,但可能要耗费更多的处理时间,而导致系统性能会降低。如果对某些机密消息的处理有严格的时间延迟要求,则加密级别将成为一个权衡点。