正确答案:
题目:某公司欲开发一个在线交易系统,在架构设计阶段公司的架构师识别出3个核心质量属性场景。其中“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与(1)质量属性相关,通常可采用(2)架构策略实现该属性;“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与(3)质量属性相关,通常可采用(4)架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与(5)质量属性相关,通常可采用(6)架构策略实现该属性。
解析:本题主要考查考生对质量属性的理解和质量属性实现策略的掌握。对于题干描述:“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得劐响应”,主要与性能这一质量属性相关,实现该属性的常见架构策略包括增加计算资源、减少计算开销、引入并发机制、采用资源调度等。“当系统由于软件故障意外崩溃后,需要在o.s小时内恢复正常运行”主要与可用性质量属性相关,通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与安全性质量属性相关,通常可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]JavaEE是Java领域内企业级应用开发的框架与标准。下面关于采用JavaEE架构的描述,不正确的是()
不同的应用系统对底层支持系统的要求可能不同,因此每次开发时应该针对不同的应用需求对底层系统进行二次开发,提供支持接口
解析:JavaEE以前称为J2EE,可以帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(SOA)和Web2.0应用程序。JavaEE定义了分布式环境中多层应用系统的架构,是多种Java技术的混合体,具有典型的3层结构:表现层、业务逻辑层和基础设施层。在实际应用中,基础设施层应该要保持稳定,要严格区分业务逻辑层和表现层,尤其应该注意不要在表现层中混杂业务代码。
[单选题]基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。以下关于ABSD的叙述中,错误的是()
使用ABSD方法,设计活动的开始意味着需求抽取和分析活动可以终止
解析:基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,并且设计活动的开始并不意味着需求抽取和分析活动可以终止,而是应该与设计活动并行。ABSD方法有3个基础:第一个基础是功能分解,在功能分解中使用已有的基于模块的内聚和耦合技术;第二个基础是通过选择体系结构风格来实现质量和商业需求;第三个基础是软件模板的使用。ABSD方法是一个自顶向下,递归细化的过程,软件系统的架构通过该方法得到细化,直到能产生软件构件的类。
[单选题]某软件开发公司负责开发一个Web服务器服务端处理软件,其核心部分是对客户端请求消息的解析与处理,包括HTTP报头分离、SOAP报文解析等功能。该公司的架构师决定采用成熟的架构风格指导整个软件的设计,以下()架构风格,最适合该服务端处理软件。
管道.过滤器
解析:根据题干描述,Web服务器服务端的核心功能是数据处理,由于Web服务在数据传输方面具有协议分层的特征,即底层协议会包装上层协议(HTTP协议体中包含整个SOAP消息内容),因此需要数据内容的逐步分解与分阶段处理。比较选项中的架构风格,由于管道,过滤器的架构风格支持分阶段数据处理,因此特别适合该服务端处理软件的要求。
[单选题]软件的分层式体系结构把软件系统划分为4层,这4层结构自顶向下分别是()
应用软件、业务构件、中间件、系统软件
解析:软件的分层式体系结构把软件系统划分为4层,这4层结构自顶向下分别是应用软件、业务构件、中间件和系统软件。
[单选题]结构模板能够帮助分析员建立一个逐层细化的层次结构。结构环境图(Architect ure Context Diagram,ACD)位于层次结构的顶层。在从ACD导出的()中给出了各个专门子系统和重要(数据与控制)信息流。
结构流程图(AFD)
解析:结构模板能帮助系统分析员建立一个细节的层次结构。结构环境图ACD则位于层次结构的顶层,建立了待实现系统与系统运行环境之间的信息边界。ACD定义了:①系统使用的所有信息的外部产生者。②由系统建立的所有信息的外部使用者。⑧通过接口进行通信或实施维护与自测试的所有实体。专门子系统定义在从ACD导出的结构流程图(Architect ure Flow Diagram,AFD)中。信息流穿越ACD的各个区域,可用于引导系统工程师开发AFD。AFD给出了各个专门子系统和重要的(数据与控制)信息流。结构模板把子系统处理划分成5个处理区域。每个子系统可以包含一个或多个系统元素(如硬件、软件、人),它们是系统工程师分配给子系统的。
[单选题]在客户机/服务器系统开发中,采用()时,应将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机。
分布式数据结构
解析:客户机/服务器系统开发时可以采用不同的分布式计算架构:分布式表示架构是将表示层和表示逻辑层迁移到客户机,应用逻辑层、数据处理层和数据层仍保留在服务器上;分布式数据架构是将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机;分布式数据和应用架构数据层和数据处理层放置在数据服务器上,应用逻辑层放置在应用服务器上,表示逻辑层和表示层放置在客户机上。
[单选题]某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段,公司的系统分析师识别出了如下3个关键需求:图像处理软件需要记录用户在处理照片时所有动作,并能够支持用户动作的撤销与重做等行为。图像处理软件需要根据当前正在处理的照片的不同特征选择合适的处理操作,处理操作与照片特征之间具有较为复杂的逻辑关系。图像处理软件需要封装各种图像处理算法,用户能够根据需要灵活选择合适的处理算法;软件还要支持高级用户根据一定的规则添加自定义处理算法。在系统设计阶段,公司的架构师决定采用设计模式满足上述关键需求中对系统灵活性与扩展性的要求。具体来说,为了支持灵活的撤销与重做等行为,采用(1)最为合适:为了封装图像操作与照片特征之间的复杂逻辑关系,采用(2)最为合适;为了实现图像处理算法的灵活选择与替换,采用(3)最为合适。
解析:本题主要考查设计模式知识。题干描述了某软件公司一款图像处理软件的需求分析与设计过程,并明确指出采用设计模式实现关键需求对系统灵活性与扩展性的要求。针对需求1,为了支持灵活的撤销与重做等行为,采用命令模式最为合适,因为命令模式可以将一个请求封装为一个对象.从而使你可用不同的请求对客户进行参数化,还可以对请求排队,或记录请求日志,以及支持可撤销的操作。针对需求2,为了封装图像操作与照片特征之间的复杂逻辑关系,采用状态模式最为合适,因为状态模式将每一个条件分支放入一个独立的类中,这样就可以根据对象自身的情况将对象的状态作为一个对象,这一对象可以不依赖于其他对象而独立变化;针对需求3,为了实现图像处理算法的灵活选择与替换,采用策略模式最为合适,因为策略模式定义一系列的算法,把它们封装起来,并且使它们可相互替换,使得算法可独立于使用它的客户而变化。
[单选题]如图8-40(a)所示的UML类图描绘的是设计模式中的(1)模式。如图8-40(b)所示的UML类图描述了该模式的一种应用,其中与图8-40(a)中的"Creator"对应的类是(2)。
解析:Command模式将一个请求封装为一个对象,从而将不同的请求对数化并进行排队或登记,以支持撤销操作。FactoryMethod模式定义一个创建对象的接口,但由子类决定需要实例化哪一个类。Composite模式将对象组成树结构来表示局部和整体的层次关系。客户可以统一处理单个对象和对象组合。ClassAdapter模式将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作。
[单选题]正确识别风险点、非风险点、敏感点和权衡点是进行软件架构评价的关键步骤。其中(1)是实现一个特定质量属性的关键特征,该特征为一个或多个软件构件所共有。"改变加密的级别可能会对安全性和性能都产生显著的影响",这是一个对系统(2)的描述。
解析:本题主要考查软件架构评价的理解和应用。正确识别风险点、非风险点、敏感点和权衡点是进行软件架构评价的关键步骤。其中敏感点是实现一个特定质量属性的关键特征,该特征为一个或多个软件构件所共有。系统权衡点会影响一个或多个属性,并对于多个属性来说都是敏感点。基于该定义,可以看出"改变加密的级别可能会对安全性和性能都产生显著的影响"正是一个对系统权衡点的描述。