【系统架构师】-选择题(七)

1、分布性问题强调系统或系统中构件在一个分布的环境中相互通信的方式。解决分布性问题最普通的设计模式是(Proxy代理模式),CORBA是其一个范例。

2、下图所示的UML类图描绘的是设计模式中的(Bridge桥接)模式。

抽象与实现相分离,使他们可以独立变化。

3、某面向对象系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、带有黑色边框或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类,Decorate装饰设计模式可以实现该目的。

外观(Facade)模式:为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。

装饰(Decorate)模式:当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。

单例(Singleton)模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

模板方法(Template Method)模式:在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。

4、采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的“Invoker”角色相对应的类是(MenuItem),与“Concrete Command”角色相对应的类是(Open)。

它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。也支持可撤销的操作。

5、股票交易中,股票代理(Broker)根据客户发出的股票操作指示进行股票的买卖操作,设计如下所示类图。该设计采用 (命令模式) 模式将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。其中, (Operation) 声明执行操作的接口。该模式属于 (行为型对象) 模式,该模式适用于: (抽象出待执行的动作以参数化某对象) 。

6、某企业内部现有的主要业务功能已封装成为Web服务。为了拓展业务范围,需要将现有的业务功能进行多种组合,形成新的业务功能。针对业务灵活组合这一要求,采用(解释器)架构风格最为合适。

所有做自定义规则、灵活组合的都适用与虚拟机风格

虚拟机风格分为规则系统、解释器

其中,规则系统常用于专家系统,解释器用于自定义组合

7、在一个典型的电子商务应用中,三层架构(即表现层、商业逻辑层和数据访问层)常常是架构师的首选。常见的电子商务应用——网上书城的主要功能是提供在线的各种图书信息的查询和浏览,并且能够订购相关图书。用户可能频繁地进行书目查询操作,网站需要返回众多符合条件的书目并且分页显示;网站管理员需要批量对相关书目信息进行修改,并且将更新信息记录到数据库。针对前一个应用要求,架构师在数据访问层设计时,最可能考虑采用(在线访问模式与离线数据模式相结合);针对后一个应用要求,架构师最可能考虑采用(离线数据模式)。

1)如果查询返回的数据量并不是很大,同时也不频繁,则可以考虑采用在线访问的模式;

2)如果返回的数据量较大(例如返回众多符合条件的书目并且分页显示)而且较为频繁,则可以考虑在线访问模式和离线模式相结合,

3)通过离线数据的缓存来提高查询的性能。

网站管理员可能需要批量对相关书目信息进行修改,并且需要将更新信息返回至数据库。此类数据应用的特点表现为:与数据库交互的次数并不频繁,但是每次的数据量相对较大;同时,也希望能够使得本地操作有较好的交互体验。针对这种情况,往往适合采用离线数据访问的模式,DTO模式也是不错的选择。

4)如果该网上书城应用系统采用的是IBM WebSphere平台,则可以使用SDO技术,或者使用Java中的CachedRowSet技术;

5)如果采用的是基于微软的应用系统平台,则可以采用ADO.NET技术。

8、在MVC(模型/视图/控制器)模式中

模型:应用问题域中包含的抽象领域知识

视图:应用问题域中包含的抽象领域知识呈现给用户的方法,一个模型可以用于多个视图;

控制器:用户界面对用户输入的响应方式。

9、下图UML关系描述:关联关系

1)在图形上,把关联画成一条连接相同类或不同类的实线

通过一个指示走向的单向箭头修饰关联,可以显示地描述导航的方向。

2)导航方向为A→B,说明可以从类A的实例导航到类B的实例,类A中必然包含一个对类B的实例的引用。

3)图上“C”表示的是关联一端的角色名称。

10、某大型移动通信运营商欲开发一个新的应用系统以替换原有系统。在需求分析阶段,为尽快从已有系统文档资料和用户处获取整体系统需求,采用(抽样)的方法捕获需求最为合适。

常见的需求获取方式有用户访谈、问卷调查、抽样和联合需求计划等

11、ABSD方法是一个自顶向下,递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。

12、软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,按照软件架构风格,     物联网系统属于 (层次型) 软件架构风格。

1)感知层:负责信息采集和物物之间的信息传输。

2)网络层:利用无线和有线网络对采集的数据进行编码、认证和传输。

3)应用层:实现应用。

13、在架构评估中,场景是从(风险承担者)的角度对与系统交互的描述,一般采用(刺激、环境、响应)三方面来对场景进行描述。

14、在三层C/S架构中,(表示层)是应用的用户接口部分,负责与应用逻辑间的对话功能;(功能层)是应用的本体,负责具体的业务处理逻辑。

(1)表示层。表示层是系统的用户接口部分,担负着用户与系统之间的对话功能。它用于检查用户从键盘等输入的数据,显示输出的数据。

(2)功能层。功能层也称为业务逻辑层,是将具体的业务处理逻辑编入程序中。

(3)数据层。数据层相当于二层C/S架构中的服务器,负责对DBMS的管理和控制。

相关推荐

  1. ABSD-系统架构

    2024-04-30 04:36:01       10 阅读
  2. 系统架构】-选择题(十五)

    2024-04-30 04:36:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-30 04:36:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-30 04:36:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-30 04:36:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-30 04:36:01       20 阅读

热门阅读

  1. 如何拥有自己的私有docker仓库

    2024-04-30 04:36:01       16 阅读
  2. 思科Cisco2960 交换机 多端口配置VLAN

    2024-04-30 04:36:01       13 阅读
  3. 垃圾分类子项目2 - 加入舵机控制

    2024-04-30 04:36:01       11 阅读
  4. C++在用GCC编译实现1亿阶乘

    2024-04-30 04:36:01       11 阅读
  5. python数字大小写转换程序

    2024-04-30 04:36:01       12 阅读
  6. 【python3】显式变量类型 typing

    2024-04-30 04:36:01       13 阅读
  7. C#虚方法的使用场景

    2024-04-30 04:36:01       9 阅读
  8. MySQL慢SQL如何排查

    2024-04-30 04:36:01       12 阅读
  9. 数学小报4 - 三次方程的求根公式 Quadratic Formula

    2024-04-30 04:36:01       9 阅读