专注在线职业教育23年
下载APP
小程序
希赛网小程序
导航

预约成功后,不错过重要时期

点击预约

2016年系统架构设计师考试下午试题加答案(七)

责编:长颈鹿 2016-11-03

>>>>>2016下半年软考考前串讲网络班特惠开班!讲师解析知识点,赠送历年真题!


      2016年下半年系统架构设计师考试将于11月12日举行。考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

      阅读以下关于面向对象系统建模的叙述,回答问题。

      某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨沦后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求。

      W公司经常进行促销活动。根据不同的条件(如订单总额、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略的不同经常修改。系统设汁中需要考虑现有的促销和新的促销,而不用经常重写控制器类代码。

      该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。

      项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。

      51、设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200字以内文字说明三者的作用。

      52、请将项目组已经掌握的设计模式按照其作用分别归类到创建型、结构型和行为型模式中。

      53、针对题目中所提出的设计要求(1)和(2),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。

      参考答案

      51、创建型模式主要用于创建对象,为设计类实例化新对象提供指南。

      结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。

      行为型模式主要用于描述类或对缘的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。

      [解析]本题主要考查系统建模技术中的设计模式。

      设计模式是前人经验的总结,它使人们可以方便地复用成功的设计和架构。当人们在特定的环境下遇到特定类型的问题,采用他人已经使用过的一些成功的解决方案,一方面可以降低分析、设计和实现的难度,另一方面可以使系统具有更好的可复用性和灵活性,随着面向对象技术的发展和广泛应用,设计模式已经成为系统架构设计师所需掌握的基本技能之一。

      设计模式根据目的和用途不同,可以分为创建型(Creational)模式、结构型(Structural)模式和行为型(Behavioral)模式三种。创建型模式主要用于创建对象,为设计类实例化新对象提供指南;结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南;行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。

      52、创建型模式:构造器模式、原型模式。结构型模式:适配器模式、外观模式、代理模式。

      行为型模式:命令模式、中介模式、状态模式和策略模式。创建型模式对类的实例化过程进行了抽象,能够使得软件模块做到与对象的创建和组织无关。创建型模式隐藏了对象是如何被创建的和组合在一起的,以达到使整个系统独立的目的。创建型模式包括工厂方法模式、抽象工厂模式、原型模式、单例模式和构造器模式等。

      结构型模式描述如何将类或对象组合在一起形成更大的结构。结构型模式描述两种不同的事物,即类与类的实例。结构型模式包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式等。

      行为型模式是对在不同的对象之间划分责任和算法的抽象,它不仅关于类和对象,而且关于它们之间的相互作用。行为型模式包括职责链模式、命令模式、解释器模式、迭代器模式、中介模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式等。

      53、(1)策略模式

      解决方案:在具有公共接口的独立类中定义每个计算。可以利用该模式创建各种促销类,它们从同一个超类继承。每个类都有相同名称的标准接口方法,用于根据订单编号计算将要折扣的金额总数。计算每个促销的内部代码对促销类来说是完全不同的。

      (2)适配器模式

      解决方案:增加一个类作为适配器,转换类的接口到客户端类期望的另一个接口。实现一个适配器类,这个类为系统的其他部分提供了一个不变的方法供调用,为了集成不同商品供应商提供的税率计算类,编写一个适配器类的子类,包含调用购买类所需的代码。该子类将系统的调用映射到某个供应商的税率计算类。如果要更换供应商,那么只需要写一个新的适配器子类,其他保持不变。中不同的促销方法有不同的实现代码,在不同促销活动中需要能够替换实现代码,适合采用策略模式。策略模式是一种对象的行为型模式,定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的行为型模式。

      设计要求(2)中不同商品供应商提供的税率计算类需要提供统一的方法调用接口,适合采用适配器模式。适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在类结构型模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关阅读
查看更多

加群交流

公众号

客服咨询

考试资料

每日一练