【软考系统架构设计师】系统架构设计师模考试题
第一部分 上午综合知识部分
第二部分 下午案例分析部分
案例分析模拟试题一
体系结构评估是整个体系结构设计中,非常重要的一个环节,体系结构评估可以针对一个体系结构,也可以针对一组体系结构。在体系结构评估过程中,评估人员所关注的是系统的质量属性。 【问题1】(6分) 所有评估方法所普遍关注的质量属性有__(1),性能,可用性,(2),(3)__,可修改性,可变性,互操作性。 【问题2】(4分) (4)和(5)是关键的体系结构决策。(4)是一个或多个构件(和/或构件之间的关系)的特征,研究(4)可使设计人员或分析员明确在搞清楚如何实现质量目标是应注意什么。(5)是影响多个质量属性的特征。 【问题3】(8分) 用以下选项中的内容填充空(6)-(9)。 A.项目经理 B.软件系统架构设计师 C.设计人员或程序员 D.维护人员 E.安全专家 F.客户 G.最终用户 H.领域代表 I.系统购买者 J.所实现的系统使用者 【问题4】(7分) 目前架构评估方法主要有SAAM与ATAM,请说明使用这两种方法进行架构评估的步骤或阶段
风险承担者 | 定义 | 所关心的问题 |
---|
(6) | 负责软件系统结构以及在相互竞争的质量需求间进行权衡的人 | 对其他风险承担者提出的质量需求的缓解和调停 | 开发人员 | (7) | 体系结构描述的清晰与完整,各部分的内聚性与受限耦合,清楚的交互机制 | (8) | 负责配置资源,保证开发进度 | 体系结构层次清晰,便于组建小组,任务划分结构,进度标识和最后期限等 | 客户 | (9) | 开发进度,总体预算,系统的有用性,满足需求的情况 |
-
【问题1我的解答】 安全性,可靠性,功能性; -
【问题1标准答案】 同上 -
【问题2我的解答】 4)敏感点 5)权衡点 -
【问题2标准答案】 同上 -
【问题3我的解答】 6)B.软件系统架构设计师 7)C.设计人员或程序员 8)A.项目经理 9)G.最终用户 -
【问题3标准答案】 6)B.软件系统架构设计师 7)C.设计人员或程序员 8)A.项目经理 9)I.系统的购买者 -
【问题4我的解答】 SAAM首先问题描述,然后需求分析,单个场景的评估,多个场景的评估,质量属性的权衡与折中,架构决策。 ATAM是问题描述,需求分析,作成质量效用树,质量属性的权衡与折中,架构决策。 -
【问题4标准答案】 SAAM分析评估体系结构的过程包括五个步骤:即场景开发,体系结构描述,单个场景评估,场景交互,总体评估; ATAM被分成了九个步骤:分别是描述ATAM方法;描述业务动机,描述体系结构,确定体系结构方法,生成质量属性效用树,分析体系结构方法,讨论和分级场景,分析体系结构方法,描述评论结果
案例分析模拟试题二
企业信息集成是解决信息孤岛问题的需要,由于信息孤岛的现象广泛存在,所以企业信息集成也为企业所重视。 企业集成的水平在很大程度上取决于企业内部各种系统,应用或服务的集成化运行水平,良好的软件支持工具可以帮助企业加快实现企业系统集成。作为支持企业集成化运行的使能工具,企业集成平台的主要功能是为企业中各种数据,系统,过程等多种对象的协同运行提供各种公共服务及运行时的支撑环境,从而降低实现企业内部的信息孤岛集成的复杂度,提高应用间集成的有效性,将信息系统实施规划中确定的企业中各种应用系统,服务,人员,信息资源及数字化设备的协同关系物化到集成化运行的可执行系统中去。 【问题1】(10分) 1.EAI一般包括(1),数据集成,控制集成,(2),其中(1)的主要作用是把各种应用系统的界面集成起来,统一入口,使用户能够对集成系统产生一个整体的感觉。(3)能为实现整体的业务目标,要定义,关联和管理不同的业务过程,并通过相应的信息系统中实现所需要的信息交换,从而降低成本,更高效地实现客户目标。并可以进行B2B集成。 2.数据集成主要有数据联邦,数据复制和基于接口的数据集成三种模式。其中(4)是指不同的应用共同访问一个全局虚拟数据库管理系统为不同的应用提供全局信息服务,(5)是指不同的应用系统之间利用适配器来实现相互调用以达到集成的目标。 【问题2】(7分) 请简述应用系统之间开发一对一专用接口方式进行集成的优缺点 【问题3】(8分) 面向服务的集成经常会用到WebService技术对遗留系统进行集成。以下为面向服务的系统集成结构图,请使用以下词根据自己的理解补充(1)-(4)。 A.ARP B.SOAP C.WSDL D.DCOM E.客户端 F.适配器 G.服务提供者 H.扩展开发接口
- 【问题1我的解答】
1)界面集成 2)业务流程集成 3)控制集成 4)数据联邦 5)基于接口的数据集成 - 【问题1标准答案】
1)界面集成 2)业务流程集成 3)业务流程集成 4)数据联邦 5)基于接口的数据集成 - 【问题2我的解答】
应用系统之间开发一对一专用接口方式进行集成可以实现相互调用以达到集成的目标。但该方法在面对一对多,多对多的通信时,无法满足要求。 - 【问题2标准答案】
优点:直观,当企业应用数量比较少时容易实现 缺点: 1.工作量大 2.系统维护费用高,系统升级与扩展困难 3.不利于标准化,由于接口数量多,给系统管理造成了比较大的困难 4.一般只能解决应用系统之间的数据集成问题,难以用来支持过程集成和应用集成之间的协调 来集成一个系统需要新适配一个接口,维护的工作量大 每一个接口不同,给标准化接口也带来运维的困难。 - 【问题3我的解答】
1)客户端(E) 2)SOAP(B) 3)服务提供者(G) 4)扩展开发接口(H) - 【问题3标准答案】
1)客户端(E) 2)SOAP(B) 3)服务提供者(G) 4)适配器(F) - 【知识扩展】
- 数据集成主要有以下三种方式:
- 数据联邦
不同的应用共同访问一个全局虚拟数据库,通过全局数据库管理系统为不同的应用提供全局信息服务,实现不同的应用和全局数据源之间的信息共享和数据交换,其具体实现由客户端应用,全局信息服务和若干个局部数据源三部分组成。 - 数据复制模式
通过底层应用复制源之间的一致性复制来实现(访问不同数据库的)不同应用之间的信息共享和互操作,其实现的关键必须能够提供在两个或多个数据库之间实现数据转换和传输的基础结构。(以屏蔽不同数据库间数据模型的差异)。 - 基于接口的数据集成模式
不同的应用系统之间利用适配器(或接口代理)提供的应用编程接口来实现相互调用。应用适配器或接口代理通过其开放或私有接口将业务信息从其所封装的具体应用系统中提取出来,进而实现不同的应用系统之间业务数据的共享与互交换。接口调用的方式可以采用同步调用方法,也可以采用基于消息中间件的异步方法来实现。 1)界面集成 把各应用系统的界面集成起来,统一入口,使用户能够对集成系统产生统一整体的感觉。 2)数据集成 是应用集成和业务过程集成的基础。可以提供企业之间的信息共享能力。在集成以前要对数据进行统一标识,分类并进行元数据建模。这三个步骤完成之后,就可以实现企业范围内的数据共享和数据分布了。 3)应用集成 这一水平的集成目的是指将多个应用系统进行绑定,使之像一个实时运行的系统一样接受信息输入和产生数据输出。实现多个系统功能的叠加。应用集成广泛应用于B2B集成,在后继服务应用基础上建立的客户关系管理系统,集成多个应用的Web门户等,在ERP应用实施后,也要经常进行与新的应用系统的集成。 4)过程集成(业务流程集成) 为实现整体的业务目标,要定义,关联和管理不同的业务过程,并通过相应的业务信息系统中实现所需要的信息交换,从而降低成本,更有效的实现客户目标。BPI的要素包括了过程管理,过程建模和工作流。
案例分析模拟试题三
某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。 张工建议重新开发整个系统,采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用Redis来解决问题。在经过充分讨论,该公司最终决定采用刘工的方案。 【问题1】(9分) 在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓存的基本概念。 表4-1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表4-1中的空(1)~ (6)。 【问题2】(8分) 刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。 为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请说明基本的Redis与原有关系数据库的数据同步方案。 【问题3】(8分) 请给出Redis分布式存储的2种常见方案和Redis集群切片的几种常见方式。
- 【问题1标准答案】
- 分布式数据库缓存是指在高并发的环境下,为了减轻数据库的压力和提高系统的响应时间,在数据库系统和应用系统之间增加独立缓存系统。
- | MemCache | Redis |
---|
数据类型 | 简单的key/value结构 | (1)key/value,list,set,hash,sorted | 持久性 | (2)不支持 | 支持 | 分布式存储 | (3)不支持 | 多种方式,主从,聚簇,Sentinel | 多线程技术 | 支持 | (4)不支持 | 内存管理 | (5)有 | 无 | 事务支持 | (6)不支持 | 有限支持 |
- Memcache没有持久化功能,所以掉电数据会全部丢失,而且无法直接恢复,这存在可靠性问题。
- Memcache不支持事务,所以操作过程中可能产生数据的不一致性。
- 同步方案:
读取数据时,先读取Redis中的数据,如果Redis没有,则从原数据库中读取,并同步更新Redis中的数据。写回时,写入到原数据库中,并同步更新至Redis中
- 【问题3标准答案】
- Redis常见的分布式存储方案是
- 主从模式Master/Slave
- 哨兵模式Sentinel
- 集群模式Cluster
- 客户端分片
即在客户端就通过Key的hash值对应到不同的服务器 - 中间件实现分片
在应用软件和Redis中间,例如Twemproxy,Codis等,由中间件实现服务到后台Redis节点的路由分派。 - 客户端服务端协作分片
RedisCluster,客户端可以采用一致性Hash,服务端提供错误节点的重新定向服务Slot上。不同Slot对应到不同的服务器。
|