正确答案: A
根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程
题目:软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。以下关于软件架构的描述,错误的是()
解析:软件架构是降低成本、改进质量、按时和按需交付产品的关键因素,软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等,软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动,软件架构能够指导设计人员和实现人员的工作。一般在设计软件架构之初,会根据用户需求,确定多个候选架构,并从中选择一个较优的架构,并随着软件的开发,对这个架构进行微调,以达到最佳效果。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]设计模式(Design Pattem)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。下面关于设计模式所倡导的基本原则的描述,错误的是()
优先使用继承,而不是组合
解析:设计模式所倡导的基本原则如下。①开闭原则:一个软件实体应当对扩展开放,对修改关闭。在设计一个模块时,应当使这个模块可以在不被修改的情况下被扩展。关键在于抽象,抽象层要预见所有可能的扩展,因此,抽象层在任何扩展情况下都不会改变,即对修改关闭。同时,由于从抽象层导出一个或多个新类,可以有不同的实现,改变系统的行为,此即为对扩展开发。简而言之,抽象层对修改关闭,通过扩展实现改变系统行为。②里氏代换原则:任何基类可以出现的地方,子类一定可以出现。③依赖原则:要依赖于抽象,而不是具体实现。也可以这样说,要针对接口编程,不要针对实现编程。④接口分离原则:应当为客户端提供尽量小的单独的接口,而不是提供大的接口。⑤组合复用原则:要尽量使用组合,而不是继承关系达到复用目的。⑥迪米特法则:又叫最少知识法则,就是说一个对象应当对其他对象有尽可能少的了解。
[单选题]软件架构贯穿于软件的整个生命周期,但在不同阶段对软件架构的关注力度并不相同,在()阶段,对软件架构的关注最多。
设计与实现
解析:本题主要考查软件架构对软件开发的影响和在生命周期中的关注力度。软件架构贯穿于软件的整个生命周期,但在不同的阶段对软件架构的关注力度并不相同。其中需求分析阶段主要关注问题域;设计阶段主要将需求转换为软件架构模型;软件实现阶段主要关注将架构设计转换为实际的代码;软件部署阶段主要通过组装软件组件提高系统的实现效率。其中,设计与实现阶段在软件架构上的工作最多,也最重要,因此关注力度最大。
[单选题]某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成,具有类XML的语法结构。用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程具有可扩展能力。针对这种需求,公司采用()最为恰当。
访问者模式
解析:根据题目的描述,可以看出本题的核心在于对某个具有固定结构的活动节点需要多种处理能力,且处理能力可扩展,也就是说要求在不改变原来类结构(活动节点)的基础上增加新功能。对照4个选项,发现访问者模式最符合要求。
[单选题]某公司欲开发一个在线交易系统,在架构设计阶段公司的架构师识别出3个核心质量属性场景。其中“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与(1)质量属性相关,通常可采用(2)架构策略实现该属性;“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与(3)质量属性相关,通常可采用(4)架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与(5)质量属性相关,通常可采用(6)架构策略实现该属性。
解析:本题主要考查考生对质量属性的理解和质量属性实现策略的掌握。对于题干描述:“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得劐响应”,主要与性能这一质量属性相关,实现该属性的常见架构策略包括增加计算资源、减少计算开销、引入并发机制、采用资源调度等。“当系统由于软件故障意外崩溃后,需要在o.s小时内恢复正常运行”主要与可用性质量属性相关,通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与安全性质量属性相关,通常可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。
[单选题]Windows操作系统在图形用户界面处理方面采用的核心架构风格是(1)风格。Java语言宣传的"一次编写,到处运行"的特性,从架构风格上看符合(2)风格的特点。
解析:Windows操作系统在图形用户界面处理方面采用的是典型的"事件驱动"的架构风格。首先注册事件处理的是回调函数,当某个界面事件发生时(如键盘敲击、鼠标移动等),系统会查找并选择合适的回调函数处理该事件。Java语言是一种解释型语言,在Java虚拟机上运行,这从架构风格上看是典型的"虚拟机"风格,即通过虚拟机架构屏蔽不同的硬件环境。
[单选题]如图8-43(a)所示的UML类图描绘的是设计模式中的(1)模式。如图8-43(b)所示的UML类图描述了该模式的一种应用,其中与图8-43(a)中的"Abstraction"对应的类是(2)。
解析:Command模式将一个请求封装为一个对象,从而将不同的请求对数化并进行排队或登记,以支持撤销操作。Bridge模式将类的抽象概念和它的实现分离开来,使它们可以相互独立地变化。Composite模式将对象组成树结构来表示局部和整体的层次关系,客户可以统一处理单个对象和对象组合。Proxy模式给另一个对象提供一个代理或定位符号,以控制对它的访问。因此,UML类图描绘的是Bridge模式。我们把图8-43(b)和图8-43(a)进行对比,不难得出,与图8-43(a)中的"Abstraction"对应的类是DataAccess。
[单选题]某服务器软件系统对可用性(Availability)、性能(Performance)和可修改性(Modification)的要求较高,(1)设计策略能提高该系统的可用性,(2)设计策略能够提高该系统的性能,(3)设计策略能够提高该系统的可修改性。
解析:本题主要考查质量属性以及实现质量属性的一般策略,不同策略主要针对一个或多个软件质量属性,其中Ping/Echo主要提高系统的可用性;限制访问主要提高系统的安全性;运行时注册主要提高系统的可修改性;接口.实现分离主要提高系统的可修改性;主动冗余提高系统的可靠性;队列调度主要提高系统的性能;信息隐藏主要提高系统的可修改性;记录,回放主要提高系统的可测试性,等等。