系统架构师下午案例分析历年必考总结Word下载.doc

上传人:wj 文档编号:4000715 上传时间:2023-05-02 格式:DOC 页数:18 大小:266.50KB
下载 相关 举报
系统架构师下午案例分析历年必考总结Word下载.doc_第1页
第1页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第2页
第2页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第3页
第3页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第4页
第4页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第5页
第5页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第6页
第6页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第7页
第7页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第8页
第8页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第9页
第9页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第10页
第10页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第11页
第11页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第12页
第12页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第13页
第13页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第14页
第14页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第15页
第15页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第16页
第16页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第17页
第17页 / 共18页
系统架构师下午案例分析历年必考总结Word下载.doc_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

系统架构师下午案例分析历年必考总结Word下载.doc

《系统架构师下午案例分析历年必考总结Word下载.doc》由会员分享,可在线阅读,更多相关《系统架构师下午案例分析历年必考总结Word下载.doc(18页珍藏版)》请在冰点文库上搜索。

系统架构师下午案例分析历年必考总结Word下载.doc

MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。

(2)使用Hibernate能降低或者消除SQL语句开发工作量,Hibernate提供了方法完成持久层操作,程序员不需要对SQL的熟练掌握,便可完成任务。

(3)Hibernate提供了对象状态管理的功能,使开发者不再需要理会底层数据库系统的细节,而MyBatis在这一块没有文档说明,用户需要对对象自己进行详细的管理。

3.3.数据流的组成和作用

数据流:

数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。

外部实体:

代表系统之外的实体,可以是人、物或其他软件系统。

加工(处理):

加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。

数据存储:

表示信息的静态存储,可以是文件、文件的一部分、数据库的元素等。

4.对ESB的定义进行描述,给出ESB的五个主要功能

ESB是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。

ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。

--ESB全称为EnterpriseServiceBus,即企业服务总线。

它是传统中间件技术与XML、Web服务等技术结合的产物。

ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。

ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合

ESB的5个主要功能:

(1)服务位置透明性;

(2)传输协议转换;

(3)消息格式转换;

(4)消息路由;

(5)消息增强;

(6)安全性;

1)服务的MetaData管理:

在总线范畴内对服务的注册命名及 

寻址进行管理。

  2)传输服务:

确保通过企业总线互连的业务流程间的消息的正确交付,还包括基于内容的路由功能。

  3)中介:

提供位置透明的路由和定位服务;

提供多种消息传递形式;

支持广泛使用的 

传输协议。

  4)多服务集成方式:

如JCA,Web服务,Messaging,Adaptor等. 

  5)服务和事件管理支持:

调用服务的记录、测量和监控数据;

提供事件检测、触发和分布功能;

 ESB中最常提到的两个功能是消息转换和消息路由。

一条总线一个时刻,只允许一个设备接收,但允许多个设备发送

5.项目计划应该包括什么内容

(1)项目背景

(2)项目经理、项目经理的主管领导、客户方联系人、客户方的主管领导,项目领导小组(项目管理团队)和项目实施小组人员

(3)项目的总体技术解决方案

(4)所选择的项目管理过程及执行水平

(5)对这些过程的工具、技术和输入输出的描述

(6)选择的项目的生命周期和相关的项目阶段

(7)项目最终目标和阶段性目标

(8)进度计划

(9)项目预算

(10)变更流程和变更控制委员会

(11)对于内容、范围和时间的关键管理评审,以便于确定悬留问题和未决决策

6.基于DNS的负载均衡与基于反向代理的负载均衡

基于DNS的负载均衡是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。

反向代理负载均衡。

反向代理负载均衡是将来自Internet上的连接请求以反向代理的方式动态地转发给内部网络上的多个节点进行处理,从而达到负载均衡的目的。

6.数据库分区可采用水平分区和垂直分区两种方式

本系统应采用水平分区,因为社交网络数据库的数据表记录数量非常庞大,而且记录的访问,大多集中于本地区域,所以水平分区能极大提高处理效率。

7.引入主从复制机制给系统带来的好处

主从复制机制使得同样的数据,存在多个副本,这样让用户查询数据时,可以选择该数据最近的副本进行访问,提高效率,降低资源使用时的冲突。

8.请结合已知信息从缓存架构、缓存有效性及缓存数据类型等方面分析使用Memcached代替数据库查询缓存的原因

Memcached相比数据库查询缓存:

缓存架构:

数据库缓存只是将查询结果进行缓存,适用面很窄,而Memcached是将数据库中的表进行缓存,对于在这些表之上的操作均可适用。

缓存有效性:

Memcached缓存时效较长,只要未更新,就属于有效状态,而数据查询缓存时效较短(具体时效与配置有关),所以在此方面Memcached有优势。

缓存数据类型:

Memcached缓存数据为表级,而数据库查询缓存为元组级。

9.项目计划书的内容

项目提出的背景和必要性 

、国内外市场分析、项目主要开发和建设内容 

、项目实施的技术方案 

、项目实施的现有基础 

、项目组织机构和人员安排 

、、项目实施进度计划 

、项目资金需求及来源、项目经济和社会效益分析 

、项目风险分析及应对措施 

10.要缩短项目的工期,主要有两种方法:

赶工:

对成本和进度进行权衡,确定如何尽量少增加费用的前提下最大限度地缩短项目所需要的时间,称为赶进度也称赶工。

快速跟进:

调整逻辑关系,通过对各种逻辑关系并行确定来缩短项目周期。

在进行项目设计中,当风险不大时,通过精心安排而使项目的前后阶段相互搭接以加快项目进展速度的做法叫快速跟进。

4.公钥加密与简单密码加密

(1)基于口令的认证方式实现简单,但由于口令复杂度及管理方面的原因,易受到认证攻击;

而在基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相比更为安全。

(2)按照需求描述,在完成用户身份鉴别后,需依据用户身份进一步对业务数据进行安全保护,且受保护数据中包含用户私有的终端机数据文件,在基于口令的认证方式中,用户口令为用户和认证服务器共享,没有用户独有的直接秘密信息,而在基于公钥的认证方式中,可基于用户私钥对私有数据进行加密保护,实现更加简便。

(3)基于公钥体系的认证方式协议和计算更加复杂,因此其计算复杂度要高于基于口令的认证方式,但业务环境的总用户数据在100人以内,用户规模不大,运行环境又为局域网环境,因此基于公钥体系的认证方式可以满足平台效率要求。

5.加密解密过程

应采用流加密方式。

因为需求中提及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率。

数据加密与解密过程如下:

其加密过程为:

首先生成一个对称密钥,使用用户公钥加密这个对称密钥后存储在文件头,然后用生成的对称密钥加密文件数据存储。

其解密过程为:

用户首先使用自己的私钥解密被加密的对称密钥,再用该对称密钥解密出数据原文。

6. 

目前数据库管理系统提供的基本数据加密支持主要有以下两种:

(1)加解密API:

数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。

(2)透明加密:

安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。

加解密API方式的灵活性强,但构建和管理复杂;

而透明加密方式管理简单,应用程序负担轻,但灵活性较差。

用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。

7.关系型数据库的弊端与NOSQL数据库比较

(1)用户执行读写操作时,响应时间均变得很慢;

(2)随着系统功能的扩充,原有数据格式发生变化,又出现新的数据格式,维护困难;

(3)数据容量很快超过系统原有的设计上限,数据库扩容困难;

(4)软件系统不断出现宕机,整个系统可用性较差。

其原因主要是:

(1)用户响应时间慢。

大型社交网络系统要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。

关系数据库应付上万次SQL查询还勉强可以,但是应付上万次SQL写数据请求,硬盘I/O就已经无法承受了。

特别是涉及到多表连接操作,会导致响应变慢。

(2)数据格式变化。

大型社交网络系统随着用户的使用,会不断地增加新的功能,导致原有数据格式发生变化,甚至出现新的数据格式。

但关系数据库中采用元组方式组织数据,难以使用新型数据格式,难以维护。

(3)数据容量超过设计上限。

对于大型社交网络系统,往往会在很短时间内产生海量数据。

关系数据库多采用中央数据存储,使得数据容量受限于前期设计的上限,很难实现数据容量的横向扩展。

(4)系统可用性差:

关系数据库采用中央数据存储,容易成为系统的性能瓶颈,单点故障很容易导致系统崩溃,负载过高往往导致系统出现宕机现象。

针对问题

(1),NoSQL数据库支持高并发数据访问,性能较高。

针对问题

(2),NoSQL数据库的数据存储结构松散,能够灵活支持多种类型的数据格式。

针对问题(3),NoSQL数据库能够支持海量数据的存储,且易于横向扩展。

针对问题(4),NoSQL数据库基于分布式数据存储,不存在单点故障和性能瓶颈,系统可用性高。

【问题2】该系统采用NoSQL数据库时可能存在的问题有:

(1)NoSQL数据库的现有产品不够成熟,大多数产品处于初创期。

(2)NoSQL数据库并未形成一定的标准,产品种类繁多,缺乏官方支持。

(3)NoSQL数据库不提供对SQL的支持,学习和应用迁移成本较高。

(4)NoSQL数据库支持的特性不够丰富,现有产品提供的功能比较有限。

8.设计模式试题。

【说明】

某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。

项目组经过讨论后决定采用面向对象方法开发该系统。

在设计建模阶段需要满足以下设计要求:

(1)W公司经常进行促销活动。

根据不同的条件(如订单总额、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。

实现每种促销活动的代码量很大,且会随促销策略不同经常修改。

系统设计中需要考虑现有的促销和新的促销,而不用经常地重写控制器类代码。

(2)该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。

所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。

系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。

项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:

适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。

(6分)

设计模式按照其应用模式可以分为三类:

创建型、结构型和行为型,请用200字以内文字说明三者的作用。

(9分)

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

【问题3】

(10分)

针对题目中所提出的设计要求

(1)和

(2),项目组应该分别选择何种设计模式?

请分别用200字以内文字说明具体的解决方案。

试题答案:

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

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

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

创建型模式:

构造器模式、原型模式。

结构型模式:

适配器模式、外观模式、代理模式。

行为型模式:

命令模式、中介模式、状态模式和策略模式。

(1)策略模式

解决方案:

在具有公共接口的独立类中定义每个计算。

可以利用该模式创建各种促销类,它们从同一个超类继承。

每个类都有相同名称的标准接口方法,用于根据订单编号计算将要折扣的金额总数。

计算每个促销的内部代码对促销类来说完全不同(3分)。

(2)适配器模式

解决方案:

增加一个类作为适配器,转换类的接口到客户端类期望的另一个接口。

实现一个适配器类,这个类为系统的其他部分提供了一个不变的方法供调用,为了集成不同商品供应商提供的税率计算类,编写一个适配器类的子类,包含调用购买类所需的代码。

该子类将系统的调用映射到某个供应商的税率计算类。

如果要更换供应商,那么只需要写一个新的适配器子类,其他保持不变。

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

设计模式是前人经验的总结,它使人们可以方便地复用成功的设计和架构。

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

设计模式根据目的和用途不同,可以分为创建型(Creational)模式、结构型(Structural)模式和行为型(Behavioral)模式三种。

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

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

创建型模式对类的实例化过程进行了抽象,能够使得软件模块做到与对象的创建和组织无关。

创建型模式隐藏了对象是如何被创建的和组合在一起的,以达到使整个系统独立的目的。

创建型模式包括工厂方法模式、抽象工厂模式、原型模式、单例模式和构造器模式等。

结构型模式描述如何将类或对象组合在一起形成更大的结构。

结构型模式描述两种不同的事物,即类与类的实例。

结构型模式包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式等。

行为型模式是对在不同的对象之间划分责任和算法的抽象,它不仅是关于类和对象的,而且是关于它们之间的相互作用的。

行为型模式包括职责链模式、命令模式、解释器模式、迭代器模式、中介模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式等。

设计要求

(1)中不同的促销方法有不同的实现代码,在不同促销活动中需要能够替换实现代码,适合采用策略模式。

策略模式是一种对象的行为型模式,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换。

策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的行为型模式。

设计要求

(2)中不同商品供应商提供的税率计算类需要提供统一的方法调用接口,适合采用适配器模式。

适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。

适配器模式既可以作为类结构型模式,可以作为对象结构型模式。

在类结构型模式中,通过使用一个具体类将适配者适配到目标接口中;

在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。

所属试卷:

2012年下半年系统架构设计师考试下午真题(权威解析+标准答案)

2条回答

请问老师:

第三个问题税率计算类为什么不能用中介者模式?

题目中要求尽量少修改类和新建类,中介者不用新建类,好象比适配器更适合?

中介模式:

系统中的上级类可以通过一个中介类调用所有不同供应商的税率计算类,这样各种税率计算类管理由中介类负责,供应商发生变化时税率计算类也变化,只需修改中介类,上级类不用修改,也不用创建新类

machine 

2014-10-1622:

04:

34 

评价(0)(0)(0)引用

答:

在考试时,解决方案往往是通过分析案例中给出特点,与模式要解决的问题进行匹配得到的。

如果要进行的功能是相同的,只是接口不同,则用适配器。

如果没有提到各个部件的功能,只是要解决他们之间的解耦通信的问题,则用中介者。

中介者:

用一个中介对象来封装一系列的对象交互。

中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

适配器:

将一个类的接口转换成客户希望的另外一个接口。

Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

9.软件架构风格

某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。

为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。

软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求:

(1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。

(2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖拽和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。

(3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。

具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。

针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道-过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。

公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。

(12分)

请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。

(13分)

在对软件系统架构进行设计时,要对架构需求进行分析,针对特定需求选择最为合适的架构风格,因此实际的软件系统通常会混合多种软件架构风格。

请对核心需求进行分析,说明为了满足需求

(2)和(3),分别应采用何种架构风格,并概要说明采用相应架构风格后的架构设计过程。

软件架构风格是指描述特定软件系统组织方式的惯用模式。

组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。

从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。

在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道-过滤器架构风格则对用户的交互式数据处理支持有限。

从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。

在这种情况下,采用以数据存储为中心的架构风格,以数据格式解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。

管道-过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。

从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。

以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式转换提供各种支持。

管道-过滤器架构风格通常只能支持有限度的数据格式,并且在数据格式转换方面的灵活性较差。

为了满足需求

(2),应该采用解释器架构风格。

具体来说,需要:

①为可视化编程元素及其拖拽关系定义某种语言,并描述其语法与语义;

②编写解释器对该语言进行解释;

③生成对应的脚本语言程序。

为了满足需求(3),应该采用隐式调用架构风格。

具体来说,首先需要定义“断点在调试过程中命中”这一事件,并实现当断点命中后的屏幕定位函数。

集成开发环境维护一个事件注册表结构,将该事件与屏幕定位函数关联起来形成注册表中的一个记录项。

在调试过程中,集成开发环境负责监听各种事件,当“断点在调试过程中命中”这一事件发生时,集成开发环境查找事件注册表,找到并调用屏幕定位函数,从而实现脚本语言编辑界面与调试代码的自动定位。

10.软件架构风格

系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

敏感点是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。

权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。

11.数据库反规范化

规范化设计后,数据库设计者希望牺牲部分规范化来提高性能,这种从规范化设计的回退方法称为反规范化技术。

采用反规范化技术的益处:

降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率。

可能带来的问题:

数据的重复存储,浪费了磁盘空间;

可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。

(1)增加冗余列:

在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。

(2)增加派生列:

在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。

(3)重新组表:

如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2