正确答案:
题目:软件质量属性通常需要采用特定的设计策略实现。例如,(1)设计策略能提高该系统的可用性,(2)设计策略能够提高该系统的性能,(3)设计策略能够提高该系统的安全性。
解析:本题考查提高质量属性的常见手段。提高可用性的手段包括:命令/响应机制、心跳机制、异常处理机制、冗余机制等。提高性能的手段包括:引入并发、维持数据或计算的多个副本、增加可用资源、控制采样频度、限制执行时间、固定优先级调度等。提高安全性的手段包括:身份认证、限制访问、检测攻击、维护完整性等。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]服务组件体系结构(Service Component Architecture,SCA)是基于面向服务体系结构(Service Oriented Architecture,SOA)的思想描述服务之间组合和协作的规范。以下关于SCA的叙述,不正确的是()
SCA加强组件的接口与传输协议的关联,提高组件的内聚性
解析:服务组件体系结构(SCA)是一个规范,它描述用于使用SOA构建应用程序和系统的模型。它可简化使用SOA进行的应用程序开发和实现工作。SCA提供了构建粗粒度组件的机制,这些粗粒度组件由细粒度组件组装而成。SCA将传统中间件编程从业务逻辑分离出来,从而使程序员免受其复杂性的困扰。它允许开发人员集中精力编写业务逻辑,而不必将大量的时间花费在更为底层的技术实现上。SCA方法的优势包括:简化业务组件开发;简化作为服务网络构建的业务解决方案的组装和部署;提高可移植性、可重用性和灵活性;通过屏蔽底层技术变更来保护业务逻辑资产;提高可测试性。SCA服务组件与传统组件的主要区别在于:服务组件往往是粗粒度的,而传统组件以细粒度居多;服务组件的接口是标准的,主要是WSDL接口,而传统组件常以具体API形式出现;服务组件的实现与语言是无关的,而传统组件常绑定某种特定的语言;服务组件可以通过组件容器提供QoS的服务,而传统组件完全由程序代码直接控制。
[单选题]某公司欲开发一个在线交易系统,在架构设计阶段公司的架构师识别出3个核心质量属性场景。其中“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与(1)质量属性相关,通常可采用(2)架构策略实现该属性;“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与(3)质量属性相关,通常可采用(4)架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与(5)质量属性相关,通常可采用(6)架构策略实现该属性。
解析:本题主要考查考生对质量属性的理解和质量属性实现策略的掌握。对于题干描述:“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得劐响应”,主要与性能这一质量属性相关,实现该属性的常见架构策略包括增加计算资源、减少计算开销、引入并发机制、采用资源调度等。“当系统由于软件故障意外崩溃后,需要在o.s小时内恢复正常运行”主要与可用性质量属性相关,通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与安全性质量属性相关,通常可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。
[单选题]某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段,公司的系统分析师识别出了如下3个关键需求:图像处理软件需要记录用户在处理照片时所有动作,并能够支持用户动作的撤销与重做等行为。图像处理软件需要根据当前正在处理的照片的不同特征选择合适的处理操作,处理操作与照片特征之间具有较为复杂的逻辑关系。图像处理软件需要封装各种图像处理算法,用户能够根据需要灵活选择合适的处理算法;软件还要支持高级用户根据一定的规则添加自定义处理算法。在系统设计阶段,公司的架构师决定采用设计模式满足上述关键需求中对系统灵活性与扩展性的要求。具体来说,为了支持灵活的撤销与重做等行为,采用(1)最为合适:为了封装图像操作与照片特征之间的复杂逻辑关系,采用(2)最为合适;为了实现图像处理算法的灵活选择与替换,采用(3)最为合适。
解析:本题主要考查设计模式知识。题干描述了某软件公司一款图像处理软件的需求分析与设计过程,并明确指出采用设计模式实现关键需求对系统灵活性与扩展性的要求。针对需求1,为了支持灵活的撤销与重做等行为,采用命令模式最为合适,因为命令模式可以将一个请求封装为一个对象.从而使你可用不同的请求对客户进行参数化,还可以对请求排队,或记录请求日志,以及支持可撤销的操作。针对需求2,为了封装图像操作与照片特征之间的复杂逻辑关系,采用状态模式最为合适,因为状态模式将每一个条件分支放入一个独立的类中,这样就可以根据对象自身的情况将对象的状态作为一个对象,这一对象可以不依赖于其他对象而独立变化;针对需求3,为了实现图像处理算法的灵活选择与替换,采用策略模式最为合适,因为策略模式定义一系列的算法,把它们封装起来,并且使它们可相互替换,使得算法可独立于使用它的客户而变化。
[单选题]某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段,公司的系统分析师识别出了如下3个关键需求:图像处理软件需要记录用户在处理照片时所有动作,并能够支持用户动作的撤销与重做等行为。图像处理软件需要根据当前正在处理的照片的不同特征选择合适的处理操作,处理操作与照片特征之间具有较为复杂的逻辑关系。图像处理软件需要封装各种图像处理算法,用户能够根据需要灵活选择合适的处理算法;软件还要支持高级用户根据一定的规则添加自定义处理算法。在系统设计阶段,公司的架构师决定采用设计模式满足上述关键需求中对系统灵活性与扩展性的要求。具体来说,为了支持灵活的撤销与重做等行为,采用(1)最为合适:为了封装图像操作与照片特征之间的复杂逻辑关系,采用(2)最为合适;为了实现图像处理算法的灵活选择与替换,采用(3)最为合适。
解析:本题主要考查设计模式知识。题干描述了某软件公司一款图像处理软件的需求分析与设计过程,并明确指出采用设计模式实现关键需求对系统灵活性与扩展性的要求。针对需求1,为了支持灵活的撤销与重做等行为,采用命令模式最为合适,因为命令模式可以将一个请求封装为一个对象.从而使你可用不同的请求对客户进行参数化,还可以对请求排队,或记录请求日志,以及支持可撤销的操作。针对需求2,为了封装图像操作与照片特征之间的复杂逻辑关系,采用状态模式最为合适,因为状态模式将每一个条件分支放入一个独立的类中,这样就可以根据对象自身的情况将对象的状态作为一个对象,这一对象可以不依赖于其他对象而独立变化;针对需求3,为了实现图像处理算法的灵活选择与替换,采用策略模式最为合适,因为策略模式定义一系列的算法,把它们封装起来,并且使它们可相互替换,使得算法可独立于使用它的客户而变化。