系统架构设计师下午2012下半年Ⅰ

系统架构设计师下午2012下半年Ⅰ
系统架构设计师下午2012下半年Ⅰ

[真题] 系统架构设计师下午2012下半年Ⅰ

案例分析题

试题一

阅读以下关于软件架构风格的说明,回答下列问题。

【说明】

某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求:

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

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

(3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。

针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道.过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。

第1题:

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

参考答案:

软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道.过滤器架构风格则对用户的交互式数据处理支持有限。从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。管道。过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式

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

详细解答:

第2题:

在对软件系统架构进行设计时,要对架构需求进行分析,针对特定需求选择最为合适的架构风格,因此实际的软件系统通常会混合多种软件架构风格。请对核心需求进行分析,说明为了满足需求(2)和(3),分别应采用何种架构风格,并概要说明采用相应架构风格后的架构设计过程。________

参考答案:

为了满足需求(2),应该采用解释器架构风格。具体来说,需要:①为可视化编程元素及其拖拽关系定义某种语言,并描述其语法与语义;②编写解释器对该语言进行解释;③生成对应的脚本语言程序。为了满足需求(3),应该采用隐式调用架构风格。具体来说,首先需要定义“断点在调试过程中命中”这一事件,并实现当断点命中后的屏幕定位函数。集成开发环境维护一个事件注册表结构,将该事件与屏幕定位函数关联起来形成注册表中的一个记录项。在调试过程中,集成开发环境负责监听各种事件,当“断点在调试过程中命中”这一事件发生时,集成开发环境查找事件注册表,找到并调用屏幕定位函数,从而实现脚本语言编辑界面与调试代码的自动定位。

详细解答:

试题二

阅读以下关于分布式系统设计的说明,回答下列问题。

【说明】

某软件公司拟开发一套电信领域的分布式系统,该系统后台多个功能模块同时运行时的计算负载较大,且需要控制不同的特定电信硬件设备,由于硬件体积和I/O端口冲突等原因,这些设备需要分散安装在多个不同计算机系统中。该系统上线运行后将为企业最终用户提供7×24小时的不间断服务,而用户的单次接入服务往往需要后台多个模块共同协作完成。基于上述原因,该系统后台软件模块需分布在局域网内的多台计算机上。

项目组决定基于ISO的开放分布进程(ODP)规范来进行系统架构的设计与开发,近期项目组召开了多次会议,对架构设计阶段的关键问题进行了讨论分析。

第3题:

ODP从5个标准的视点组织分析系统的架构,这些视点描述了同一系统的不同重要方面,请根据图2-1中不同视点所关注的核心内容,将备选的架构视点填入图中的(1)~(5)。

备选答案:技术选择架构、企业业务架构、分布式工程架构、计算接口架构、

逻辑信息架构________

参考答案:

(1)企业业务架构(2)逻辑信息架构(3)计算接口架构(4)分布式工程架构(5)技术选择架构

详细解答:

本问题考查考生对ODP架构视点的理解程度。ISO定义的ODP参考模型为分布式计算进程提供了一个基本框架,它定义了分布式系统中包括开放性、整体性、灵活性、可塑性、联合性、可操作管理性、优质服务、安全性和透明性等在内的重要性质。其体系结构视点把抽象的符号或图表(如LJML图表)运用到具体的体系结构开发任务中,每个视点有具体的建模目标和系统相关者。ODP从5个标准的视点组织分析了系统的架构,描述了同一系统的不同重要方面,这些视点包括企业业务架构、逻辑信息架构、计算接口架构、分布式工程架构和技术选择架构。企业业务架构从IT的角度,对企业的业务结构、企业机构与业务的关系、企业内部的关系以及企业与外部机构的关系进行整理定义。该架构视点关注的核心内容包括业务目标、业务对象和业务策略等。逻辑信息架构标识出系统必须知道什么,这种架构通过一个对象模型来表达,强调定义系统状态的属性。该架构视点关注的核心内容包括信息、对象、信息联合和信息行为等。计算接口架构定义顶层的应用程序接口,这些是完全工程化的子系统边界的接口,这些接口的架构控制对于一个支持变化和控制复杂性的稳定的系统结构来说,是非常重要的。该架构视点关注的核心内容包括子系统的一致性、应用程序接口和接口行为等。分布式工程架构定义了底层结构的需求,而独立于所选择的技术,它很好地解决了包括物理位置、系统规模可变性和通信服务质量等在内的复杂系统策略。该架构视点关注的核心内容包括软件分配、过程分配和服务质量等。技术选择架构确定了实际的技术选择,所有其他视点都独立于这些决定,一个系统的选择过程包括初始概念机制的确认、具体机制的标识及最终实际机制的选择。该架构视点关注的核心内容包括概念性机制、具体的机制和实际的机制等。基于上述分析,图2—1中的(1)一(5)应分别填写企业业务架构、逻辑信息架构、计算接口架构、分布式工程架构和技术选择架构。

第4题:

在技术选择架构规划时,王工认为系统应基于现有分布式基础设施(分布式中间件)来构建,因为这样可以充分利用现有基础设施提供的各种支撑,在更短时间内构造出质量更高的分布式系统:而李工则认为可基于基本的进程间通信机制

自主开发系统的支撑平台,这样可以避免对特定中间件的依赖,项目组经过认

真讨论,最终采用了王工的方案。请用400字以内文字,从构件管理支持、互

操作支持以及公共服务支持三个方面说明现有分布式基础设施为构建分布式系

统所提供的基本支撑。________

参考答案:

(1)构件管理支持:现有分布式基础设施一般通过构件容器为构件提供基本的运行环境;具体功能一般包括管理构件的实例及其生命周期、管理构件的元信息等。(2)互操作支持:现有分布式基础设施均提供了高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统、程序设计语言等方面的异构性;基于互操作支持,开发人员在开发与调用分布式对象时,均不需自己编写处理底层通信的代码。(3)公共服务支持:现有分布式基础设施通常将针对分布式软件的通用支持集成于一身,以公共服务的形式提供给应用程序:其提供的常见公共服务包括命名服务、事务服务、安全服务、持久性服务等。

详细解答:

本问题考查考生对现有分布式基础设施的理解。随着软件系统规模与复杂度的不断提高,软件开发过程中复杂度高、开发周期长、可靠性保证难等突出问题并没有得到根本缓解,而分布式软件面临更大的挑战,分布式软件所运行的网络环境具有明显的分布性、开放性、演化性、异构性、并发性等特征,因此分布式软件必须解决互操作、数据交换、分布性、可行性等一系列更复杂的问题。现有的分布式基础设施典型地为三层/多层结构的分布式软件系统提供各种开发支撑,因为三层结构的分布式软件的核心为中间层,因此支撑主要集中在对中间层开发的支撑上。现有基础设施为分布式软件系统提供的基本支持与分布式软件所运行的网络环境密切相关,具体可归为提供构件运行环境、提供互操作机制与提供公共服务三个方面,基于分布式基础设施提供的支持,可以在更短时间构造出质量更高的分布式系统。(1)提供构件运行环境:现有分布式基础设施均提供构件化的基本支持,支持方便开发与使用符合特定规范的构件(分布式对象)。中间件一般通过构件容器为构件提供基本的运行环境,具体功能一般包括管理构件的实例及其生命周期、管理构件的元信息等。(2)提供互操作机制:因为分布式软件跨越了多台计算机,因此跨越网络的交互是每个分布式系统必须解决的首要问题,现有分布式基础设施均集成了早期远程过程/方法调用中间件的功能,提供了很强的高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统等方面的异构性。基于中间件的互操作支持,开发人员在开发与调用分布式对象时,均不需自己编写处理底层通信的代码。(3)提供公共服务:除了互操作的支持外,现有分布式基础设施将早期各种中间件中针对分布式软件的通用支持集成于一身,以公共服务的形式提供给应用程序。公共服务又称为系统级服务,指由中间件(应用服务器)实现的、应用程序使用的软件系统中共性程度高的功能成分。与应用程序中开发人员开发的构件实现的功能不同,公共服务通常不实现应用系统中具体业务逻辑,而是为具体业务逻辑的实现提供共性的支持,而开发人员开发的构件则实现具体的业务逻辑。常见了公共服务包括命名服务、事务服务、安全服务、持久性服务等。

第5题:

由于系统后台模块的分布式特性,后台分布式对象之间的互操作机制是需要考

虑的核心问题之一。图2-2所示是当前分布式基础设施中支持分布式对象互操

作的基本机制,请将相应部件名称填入图中(1)~(2);基于图2-2给出的结

构,用300字以内文字说明完成一次分布式对象调用的详细步骤。________

参考答案:

(1)存根/桩(2)框架或(1)代理(2)存根一次远程调用的过程如下:①客户程序将调用请求发送给客户端桩,对于客户程序来说,桩就是服务程序在客户端的代理。②客户端桩负责将远程调用请求进行编组并发送给通信总线。③调用请求经通信总线传送到服务端框架。④服务端框架将调用请求解组并分派给真正的远程对象实现(服务程序)。⑤服务程序完成客户端的调用请求,将结果返同给服务端框架。⑥服务端框架将调用结果编组并发送给通信总线。⑦调用结果经通信总线传送到客户端桩。⑨客户端桩将调用结果解组并返回给客户程序,客户程序得到调用结果。

详细解答:

本问题考查考生对现有分布式对象互操作机制的理解。各种互操作通信协议,包括RPC、IIOP、DCOM通信协议、JRMP、RMI/IIOP等,均可以帮助应用程序完成编组与解组等跨越网络通信的底层工作。这些高层通信协议尽管具体的实现细节不尽相同,但是在实现方式上与开发模式上均采用了RPC中相同的通信模型与类似的开发模式,它们采用的通信模型称为存根/框架(也称为桩/框架或代N/存根)结构。在该结构中,由客户端桩(Stub)替客户端完成与服务端程序交互的具体底层通信工作,客户程序中的远程对象引用实际上是对本地桩的引用;而服务端框架(Skeleton)负责替服务端完成与客户端交互的具体底层通信工作。由于客户端桩与服务端框架分别位于客户端与服务端程序的进程内,因此开发人员开发客户端与服务端程序时只需分别与本进程内的桩与框架构件交互即可实现与远端的交互,而负责底层通信的客户端桩与服务端框架在开发过程中自动生成而非由开发人员编写,从而为开发人员省去底层通信相关的开发工作。在存根/框架机制的支撑下,客户程序与分布式对象之间按照以下8个步骤完成一次远程调用:①客户程序将调用请求发送给客户端桩,对于客户程序来说,桩就是服务程序在客户端的代理。②客户端桩负责将远程调用请求进行编组并发送给通信总线。③调用请求经通信总线传送到服务端框架。④服务端框架将调用请求解组并分派给真正的远程对象实现(服务程序)。⑤服务程序完成客户端的调用请求,将结果返回给服务端框架。⑥服务端框架将调用结果编组并发送给通信总线。

⑦调用结果经通信总线传送到客户端桩。⑧客户端桩将调用结果解组并返回给客户程序,客户程序得到调用结果。

试题三

请详细阅读有关嵌入式软件架构设计方面的描述,回答下列问题。

【说明】

在嵌入式系统中,软件采用开放式架构已成为新的发展趋势。软件架构设计的优劣将直接影响软件的重用和移植能力。

某软件公司主要从事宇航领域的嵌入式软件研发工作。经二十多年的发展,其软件产品已被广泛应用于各种航天飞行器中。该公司积累了众多成熟软件,但由于当初没有充分考虑软件的架构,原有软件无法被再利用,为适应嵌入式软件技术发展需要,该公司决策层决定成立宇航嵌入式软件开放式架构研究小

组,为公司完成开放式架构的定义与设计,确保公司软件资源能得到充分利用。

研究小组查阅了大量的国外资料和标准,最终将研究重点集中在了SAE AS4893《通用开放式架构(GOA)框架》标准,图3-1给出了GOA定义的架构图。

第6题:

请用300字以内的文字简要说明开放式架构的四个基本特点。________

参考答案:

开放架构应具有以下4个基本特点:①可移植性。各种计算机应用系统可在具有开放架构特性的各种计算机系统间进行移植,不论这些计算机是否同种型号、同种机型。②可互操作性。如计算机网络中的各结点机都具有开放架构的特性,则该网上各结点机间可相互操作和资源共享。⑨可剪裁性。如某个计算机系统是具有开放架构特性的,则在该系统的低档机上运行的应用系统应能在高档机上运行,原在高档机上运行的应用系统经剪裁后也可在低档机上运行。④易获得性。在具有开放架构特性的机器上所运行的软件环境易于从多方获得,不受某个来源所控制。

详细解答:

本问题主要考查开放架构的基本特点。开放架构于20世纪80年代初提出,与开放系统概念的提出和实现密切相关。它的发展是为了适应更大规模地推广计算机的应用和计算机网络化的需求,现仍处于继续发展和完善之中。开放架构具有应用系统的可移植性和可剪裁性、网络上各结点机间的互操作性和易于从多方获得软件的体系结构。开放架构有四个基本特点:①可移植性。各种计算机应用系统可在具有开放架构特性的各种计算机系统间进行移植,不论这些计算机是否同种型号、同种机型。②可互操作性。如计算机网络中的各结点机都具有开放架构的特性,则该网上各结点机间可相互操作和资源共享。

③可剪裁性。如某个计算机系统是具有开放架构特性的,则在该系统的低档机上运行的应用系统应能在高档机上运行,原在高档机上运行的应用系统经剪裁后也可在低档机上运行。④易获得性。在具有开放架构特性的机器上所运行的软件环境易于从多方获得,不受某个来源所控制。

第7题:

如图3—1所示,GOA框架规定了软件、硬件和接口的结构,以在不同应用领域

中实现系统功能。GOA框架规定了一组接口,其重要特点是建立了关键组件及

组件间接口关系,这些接口的确定可用于支持软件的可移植性和可升级性,以

满足功能的增加和技术的更新要求。除操作系统服务与扩展操作系统之间的接

口(3X)外,GOA将其他接口分为两类:即直接接口(iD(i=1,2,3,…))和逻辑

接口(iL(i=1,2,3,…)),直接接口定义了信息传输方式;逻辑接口定义了对等数据交换的要求,逻辑接口没有定义真正的信息传输方式,其传输发生在一

个或多个直接接口。根据图3-1所标注的接口在框架中的具体位置,请填写表

3-1的(1)~(8)处空白。________

参考答案:

详细解答:

本问题主要考查SAE.AS4893《通用开放式架构(GOA)框架》标准的理解与掌握。考生需要在对题干描述以及示意图进行认真解读的基础上填写空白。根据题干描述,GOA框架规定了软件、硬件和接口的结构,以在不同应用领域中实现系统功能。GOA框架规定了一组接口,其重要特点是建立了关键组件及组件间接口关系,这些接口的确定可用于支持软件的可移植性和可升级性,以满足功能的增加和技术的更新要求。除操作系统服务与扩展操作系统之间的接口(3X)外,GOA将其他接口分为两类:即直接接口(iD(i=1,2,3,…))和逻辑接口(iL(i=1,2,3,…)),直接接口定义了信息传输方式;逻辑接口定义了对等数据交换的要求,逻辑接口没有定义真正的信息传输方式,其传输发生在一个或多个直接接口。根据上述提示,可以看出:4D的功能是为任何处理机中的服务功能提供各应用软件互操作服务的接口(应用到系统服务的直接接口)。1L的功能是一组对等的物理资源之间数据交换接口/协议的要求组成的接口,它能实现通信链路物理资源访问(物理资源逻辑接口)。3D的功能是一组软件(操作系统)访问硬件资源的服务接口。该组接口为软件与硬件资源之间定义了一个边界(系统服务到资源访问直接接口)。4L的功能是提供在任何处理机中应用软件与其他应用软件之间的接口。也包括不同系统间的应用软件之间的接口(应用逻辑接口)。3L的功能是在同一个或不同的处理机之间,为处理机中的系统服务提供逻辑服务和远程服务的接口(系统服务逻辑接口)。2L 的功能是根据对等信息/数据交换要求。在同一处理机或不同处理机间,资源访问服务之间的对等操作服务的接口(资源访问服务逻辑接口)。2D的功能是:由服务于硬件指令机制和寄存器使用的资源访问服务组成的接口(资源服务到物理资源直接接口)。

试题四

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

【说明】

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

(1)w公司经常进行促销活动。根据不同的条件(如订单总额、商品数

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

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

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

第8题:

设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200

字以内文字说明三者的作用。________

参考答案:

创建型模式主要用于创建对象,为设计类实例化新对象提供指南。结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。

详细解答:

设计模式是前人经验的总结,它使人们可以方便地复用成功的设计和架构。当人们在特定的环境下遇到特定类型的问题,采用他人已经使用过的一些成功的解决方案,一方面可以降低分析、设计和实现的难度,另一方面可以使系统具有更好的可复用性和灵活性,随着面向对象技术的发展和广泛应用,设计模式已经成为系统架构设计师所需掌握的基本技能之一。设计模式根据目的和用途不同,可以分为创建型(Creational)模式、结构型(Structural)模式和行为型(Behavioral)模式三种。创建型模式主要用于创建对象,为设计类实例化新对象提供指南;结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南;行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。

第9题:

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

型模式中。________

参考答案:

创建型模式:构造器模式、原型模式。结构型模式:适配器模式、外观模式、代理模式。行为型模式:命令模式、中介模式、状态模式和策略模式。

详细解答:

创建型模式对类的实例化过程进行了抽象,能够使得软件模块做到与对象的创建和组织无关。创建型模式隐藏了对象是如何被创建的和组合在一起的,以达到使整个系统独立的目的。创建型模式包括工厂方法模式、抽象工厂模式、原型模式、单例模式和构造器模式等。结构型模式描述如何将类或对象组合在一起形成更大的结构。结构型模式描述两种不同的事物,即类与类的实例。结构型模式包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式等。行为型模式是对在不同的对象之间划分责任和算法的抽象,它不仅是关于类和对象的,而且是关于它们之间的相互作用的。行为型模式包括职责链模式、命令模式、解释器模式、迭代器模式、中介模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式等。

第10题:

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

参考答案:

(1)策略模式解决方案:在具有公共接口的独立类中定义每个计算。可以利用该模式创建各种促销类,它们从同一个超类继承。每个类都有相同名称的标准接口方法,用于根据订单编号计算将要折扣的金额总数。计算每个促销的内部代码对促销类来说完全不同(3分)。(2)适配器模式解决方案:增加一个类作为适配器,转换类的接口到客户端类期望的另一个接口。实现一个适配器类,这个类为系统的其他部分提供了一个不变的方法供调用,为了集成不同商品供应商提供的税率计算类,编写一个适配器类的子类,包含调用购买类所需的代码。该子类将系统的调用映射到某个供应商的税率计算类。如果要更换供应商,那么只需要写一个新的适配器子类,其他保持不变。

详细解答:

设计要求(1)中不同的促销方法有不同的实现代码,在不同促销活动中需要能够替换实现代码,适合采用策略模式。策略模式是一种对象的行为型模式,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的行为型模式。设计要求(2)中不同商品供应商提供的税率计算类需要提供统一的方法调用接口,适合采用适配器模式。适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,可以作为对象结构型模式。在类结构型模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。

试题五

请详细阅读有关数据架构方面的描述,回答下列问题。

【说明】

某软件公司欲开发一个基于Web 2.0的大型社交网络系统。就该系统的数据架构而言,李工决定采用公司熟悉的数据架构,使用通用的商用关系型

数据库,系统内部数据采用中央集中方式存储。

该系统投入使用后,初期用户数量少,系统运行平稳。6个月后,用户数出现了爆炸式增长,系统暴露出诸多问题,集中表现在:

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

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

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

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

经过多次会议讨论,公司的王工建议采用NoSQL数据库来替代关系数据库,以解决上述问题。但李工指出NoSQL数据库出现时间不长,在使用上可能存在风险。公司技术人员对NoSQL数据库产品进行了认真测试,最终决定采用NoSQL数据库来替代现有的数据库系统。

第11题:

分别解释产生问题(1)~(4)的原因。________

参考答案:

其原因主要是:(1)用户响应时间慢。大型社交网络系统要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强可以,但是应付上万次SQL写数据请求,硬盘I/O就已经无法承受了。特别是涉及到多表连接操作,会导致响应变慢。

(2)数据格式变化。大型社交网络系统随着用户的使用,会不断地增加新的功能,导致原有数据格式发生变化,甚至出现新的数据格式。但关系数据库中采用元组方式组织数据,难以使用新型数据格式,难以维护。(3)数据容量超过设计上限。对于大型社交网络系统,往往会在很短时间内产生海量数据。关系数据库多采用中央数据存储,使得数据容量受限于前期设计的上限,很难实现数据容量的横向扩展。(4)系统可用性差:关系数据库采用中央数据存储,容易成为系统的性能瓶颈,单点故障很容易导致系统崩溃,负载过高往往导致系统出现宕机现象。

详细解答:

本问主要考查对题干(1)~(4)出现问题的分析与理解情况,考生一定要紧紧围绕大型社交网络的特点,即海量用户、大量实时操作等特征进行论述。

第12题:

请针对问题(1)~(4),分别指出NoSQL数据库的哪些特点促使公司最终采用了NoSQL数据库。________

参考答案:

针对问题(1),NoSQL数据库支持高并发数据访问,性能较高。针对问题(2),NoSQL数据库的数据存储结构松散,能够灵活支持多种类型的数据格式。针对问题(3),NoSQL数据库能够支持海量数据的存储,且易于横向扩展。针对问题(4),NoSQL数据库基于分布式数据存储,不存在单点故

障和性能瓶颈,系统可用性高。

详细解答:

本问题承接上面的问题,主要考查如何结合实际场景,描述如何采用NoSQL 数据库解决上述问题。注意需要有的放矢,不要发散。

第13题:

请指出该系统采用NoSQL数据库时可能存在的问题。________

参考答案:

该系统采用NoSQL数据库时可能存在的问题有:(1)NoSQL数据库的现有产品不够成熟,大多数产品处于初创期。(2)NoSQL数据库并未形成一定的标准,产品种类繁多,缺乏官方支持。(3)NoSQL数据库不提供对SQL的支持,学习和应用迁移成本较高。(4)NoSQL数据库支持的特性不够丰富,现有产品提供的功能比较有限。

详细解答:

本问主要考查考生对NoSQL数据库缺点的理解。需要注意必须围绕题干中系统建设的特点和要求进行论述。

系统架构设计师(高级)复习精华[绝对精品]

2017系统架构:系统架构师是怎样炼成的 坦率的讲,除了少数对开发程序极其热爱并愿意为之奋斗终身的编程者来说,对于大多数开发人员,写代码只是他们未来获得职业提升的一个必不可少的积累阶段,在做开发的时间里,他们会积极学习各种知识,经验,培养自己的商业头脑,包括扩展自己各方面的资源,这些积累会为他们未来成为管理者或创业打下牢固的基础。 成为架构设计师是广大开发者职业发展道路之一,架构师究竟是个什么样的职业?需要具 备什么基本能力?如何才能成为一个优秀的架构设计师以及架构设计师需要关注哪些容? 针对有关问题,本期我们为您采访了(微软认证专家,系统分析员,希赛顾问团顾问,中国 计算机学会会员) 友邦,他会就相关问题与大家分享他的看法。 “在我工作的六年多时间里,除了第一年是纯粹编码以外,其余时间都在做和架构设计有 关的工作,当然也还一直在写各种各样的代码。”友邦认为架构设计可能看起来很神秘,新 入门或没有架构设计经验的程序员刚开始的时候会有种不知所措的感觉,但其实架构设计是 件很容易的事,它只是软件系统开发中的一个环节而已,整个软件系统的开发和维护以及变 更还涉及到很多事情,包括技术、团队、沟通、市场、环境等等。 同时,友邦表示,虽然架构设计是件容易的事情,但也不是大多数没有架构设计经验的程 序员想象中的画画框图那么简单。把几台服务器一摆,每一台服务器运行什么软件分配好, 然后用网络连接起来,似乎每个企业级应用都是如此简间单单的几步。但现实生活中的软件 系统实实在在可以用复杂大系统来形容,从规划、开发、维护和变更涉及到许许多多的人和事。架构设计就是要在规划阶段都把后面的事情尽量把握进来,要为稳定性努力,还要为可维护性、扩扩展性以及诸多的性能指标而思前想后。除了技术上的考虑,还要考虑人的因素,包括人员的组织、软件过程的组织、团队的协作和沟通等。 另外,架构设计还需要方法论的指导。友邦强调,这些方法论的思路包括,至上而下的分 析,关注点分离,横向/纵向模块划分等。有时候觉得架构设计决策就像是浏览Google Earth,实际上反映的是一种自上而下的决策过程。对问题的分解是软件思维的基本素质,可以有横向分解、纵向分解以及两者的结合。能不能有效快速准确的分解问题,是软件开发人员需要 首先训练的项目。另外,架构设计中图形化的工具非常有用,它能把系统的结构和运作机制 以图形化的方式表达出来。也正因为这样才有了架构设计就是画框图的误会。再者,架构设计是一个工程性质的工作,对当事人的实际从业经验要求较高。只有对市场上的各种技术有 较全面的了解之后才有可能设计出一个尽可能满足各种设计约束的架构。 在谈到架构师需要具备的能力上,友邦认为架构师首先必须具有丰富的开发经验,是个技 术主管。因为他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。另外,需要对面向过程、面向对象、面向服务等设计理念有深刻的理解,可以快速的察觉出实现中的问题并提出相应的改进(重构)方案(也就是通常说的反模式)。这些都需要长期的开发实践才能真正的体会到,单从书本 上很难领会到,就算当时理解了也不一定能融会到实践中去。

2014年系统架构设计师真题及答案

2014年下半年系统架构设计师考试上午真题(标准 参考答案) 卷面总分:75.0 分 答题时间:150 分钟 测试次数:1475 次 平均得分:54.8 分 是否需要批改:否 单项选择题 每题的四个选项中只有一个答案是正确的,请将正确的选项选择出来。 1 某计算机系统中有一个CPU、一台输入设备和一台输出设备,假设系统中有四个作业T1、T2、T3和T4,系统采用优先级调度,且T1的优先级>T2的优先级>T3 的优先级>T4的优先级。每个作业具有三个程序段:输入I i 、计算C i 和输出 P i (i=1,2,3,4),其执行顺序为I i →C i →P i 。这四个作业各程序段并发执行的前驱 图如下所示。图中①、②、③分别为(),④、⑤、⑥分别为()。 A.I 2、C 2 、C 4 B.I 2、I 3 、C 2 C.C 2、P 3 、C 4 D.C 2、P 3 、P 4 A.C 2、C 4 、P 4 B.I 2、I 3 、C 4 C.I 3、P 3 、P 4 D.C 4、P 3 、P 4 [选择问题 1 的答案] ?A ?B ?C ?D [选择问题 2 的答案] ?A ?B

?C ?D ? ? 2 某文件系统文件存储采用文件索引节点法。假设磁盘索引块和磁盘数据块大小均为1KB,每个文件的索引节点中有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中iaddr[0]~iaddr[5]为直接地址索引,iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引。如果要访问icwutil.dll文件的逻辑块号分别为0、260和518,则系统应分别采用()。该文件系统可表示的单个文件最大长度是()KB。 A.直接地址索引、一级间接地址索引和二级间接地址索引 B.直接地址索引、二级间接地址索引和二级间接地址索引 C.一级间接地址索引、一级间接地址索引和二级间接地址索引 D.一级间接地址索引、二级间接地址索引和二级间接地址索引 A.518 B.1030 C.16514 D.65798 [选择问题 1 的答案] ?A ?B ?C ?D [选择问题 2 的答案] ?A ?B ?C ?D ? ? 3 设关系模式R(U,F),其中u为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统(Armstrong公理系统)中的合并规则是指()为F所蕴涵。 A.若A→B,B→C,则A→C B.若,则X→Y

高级系统架构设计师上午模拟试题及答案解析(11)

高级系统架构设计师上午模拟试题及答案解析(11) (1~2/共50题)选择题 以下嵌入式处理器类型中不具备内存管理单元(MMU)的是______,嵌入式操作系统______可以运行在它上面。 第1题 A.PowerPC750 B.ARM920T C.Cortex-M3 D.MIPS32 24K 第2题 A.Linux B.VxWorks653 C.μC/OS-Ⅱ D.Windows CE 下一题 (3/50)选择题 第3题 若某航空公司的飞机订票系统有n个订票终端,系统为每个订票终端创建一个售票终端的进程。假设P i (i=1,2,…,n)表示售票终端的进程,H j (j=1,2,…,m)表示公共数据区,分别存放各个航班的现存票数,Temp为工作单元。P i 进程的工作流程如下图所示,a、b和c 处将执行P操作和V操作,则图中a、b和c应分别填入______。 图片 售票终端进程工作流程图A.P(S)、V(S)和V(S) B.P(S)、P(S)和V(S) C.V(S)、P(S)和P(S) D.V(S)、V(S)和P(S) 上一题下一题 (4/50)选择题 第4题 通常情况下,电子政务业务分为3个领域。在如下图所示的电子政务业务模型中,(Ⅰ)、(Ⅱ)、(Ⅲ)空缺处的内容分别为______。 图片 电子政务业务模型A.政务业务办理系统、办公自动化系统、政务信息发布系统 B.政务信息发布系统、政务业务办理系统、办公自动化系统 C.政务业务办理系统、政务信息发布系统、办公自动化系统 D.办公自动化系统、政务信息发布系统、政务业务办理系统 上一题下一题 (5/50)选择题 第5题 以下关于自顶向下开发方法的叙述中,正确的是______。 A.自顶向下过程因为单元测试而比较耗费时间 B.自顶向下过程可以更快地发现系统性能方面的问题 C.相对于自底向上方法,自顶向下方法可以更快地得到系统的演示原型 D.在自顶向下的设计中,如发现了一个错误,通常是因为底层模块没有满足其规格说明(因

(完整版)2017年下半年系统架构设计师案例分析

全国计算机技术与软件专业技术资格(水平)考试2017年下半年系统架构设计师下午试卷I (考试时间14:00~16:30 共150 分钟) 1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。 2.在答题纸的指定位置填写准考证号、出生年月日和姓名。 3.答题纸上除填写上述内容外只能写解答。 4.本试卷共5道题,试题一是必答题,试题二至试题五选答1 道。每题25 分,满分75 分。 5.解答时字迹务必清楚,字迹不清时,将不评分。 6.仿照下面例题,将解答写在答题纸的对应栏内。 例题 2017 年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(1)月(2)日。 因为正确的解答是“11 月 4 日”,故在答题纸的对应栏内写上“11”和“4”(参看下表)。

试题一 阅读以下关于软件架构评估的叙述,在答题纸上回答问题1和问题2. 【说明】 某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如下: (a) 系统用户分为高级管理员、数据管理员和数据维护员等三类; (b) 系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御; (c) 正常负载情况下,系统必须在0.5 秒内对用户的查询请求进行响应; (d) 对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计; (e) 系统的用户名不能为中文,要求必须以字母开头,长度不少于5个字符; (f) 更改系统加密的级别将对安全性和性能产生影响; (g) 网络失效后,系统需要在10 秒内发现错误并启用备用系统; (h) 查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有1024*768的分辨率,40帧/秒的速率; (i) 在系统升级时,必须保证在10 人月内可添加一个新的消息处理中间件; (j) 系统主站点断电后,必须在3 秒内将请求重定向到备用站点; (k) 如果每秒钟用户查询请求的数量是10 个,处理单个请求的时间为30 毫秒,则系统应保证在1秒内完成用户的查询请求; (l) 对桥梁信息数据库的所有操作都必须进行完整记录; (m) 更改系统的Web 界面接口必须在4 人周内完成; (n) 如果"养护报告生成"业务逻辑的描述尚未达成共识,可能导致部分业务功能模块规则的矛盾,影响系统的可修改性 (O) 系统必须提供远程调试接口,并支持系统的远程调试。 在对系统需求,质量属性描述和架构特性进行分析的基础上,系统的架构师给出了三个候选的架构设计方案,公司目前正在组织系统开发的相关人员对系统架构进行评估。 【问题1】(12 分) 在架构评估过程中,质量属性效用树(utility tree) 是对系统质量属性进行识别和优先级

2018年下半年系统架构设计师考试论文真题(完整版)

2018年下半年系统架构设计师考试论文真题(专业 解析) 1、 论软件开发过程RUP及其应用 RUP (Rational Unified Process)是IBM公司一款软件开发过程产品, 它提出了一整套以UML为基础的开发准则,用以指导软件开发人员以UML为基 础进行软件开发。RUP汲取了各种面向对象分析与设计方法的精华,提供了一 个普遍的软件过程框架,可以适应不同的软件系统、应用领域、组织类型和项目规模。 问题内容: 请围绕“论软件开发过程RUP及其应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。 2.详细论述软件开发过程产品RUP所包含的4个阶段以及RUP的基本特征。 3.结合你所参与管理和开发的软件项目,详细阐述RUP在该项目中的具体实施 内容,包括核心工作流的选择、制品的确定、各个阶段之间的演进及迭代计划 以及工作流内部结构的规划等。 2、 论软件体系结构的演化 软件体系结构的演化是在构件开发过程中或软件开发完毕投入运行后, 由于用户需求发生变化,就必须相应地修改原有软件体系结构,以满足新的变 化了的软件需求的过程。体系结构的演化是一个复杂的、难以管理的问题。 问题内容: 请围绕“论软件体系结构的演化”论题,依次从以下三个方面进行论述。 1. 概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2. 软件体系结构的演化是使用系统演化步骤去修改系统,以满足新的需求。简要论述系统演化的6个步骤。 3. 具体阐述你参与管理和开发的项目是如何基于系统演化的6个步骤完成软件体系结构演化的。 3、 论面向服务架构设计及其应用

系统架构设计师下午2012下半年Ⅰ

[真题] 系统架构设计师下午2012下半年Ⅰ 案例分析题 试题一 阅读以下关于软件架构风格的说明,回答下列问题。 【说明】 某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求: (1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。 (2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖曳和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。 (3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。 针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道.过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。 第1题: 请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。________ 参考答案: 软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道.过滤器架构风格则对用户的交互式数据处理支持有限。从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。管道。过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式

2012下半年系统架构设计师下午试题Ⅱ分析与解答

2012年下半年系统架构设计师下午试题Ⅱ分析与解答 (总分75, 考试时间120分钟) 试题一论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。 请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。 试题一写作要点 一、论文中要具体介绍项目的背景与总体需求、系统所采用的技术路线以及你所承担的实际工作。 二、采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。 1.架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。 (1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求。 (2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。 (3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。 2.架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将己标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。 3.架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。 4.在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否

软考系统架构设计师(高级)学习笔记汇总

2011年软考系统架构设计师学习笔记第一章 1.1.1 系统架构师的概念 现代信息系统“架构”三要素:构件、模式、规划;规划是架构的基石,也是这三个贡献中最重要的。 架构本质上存在两个层次:概念层,物理层。 1.2.1 系统架构师的定义 负责理解、管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计并澄清关键技术细节。 主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。 要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标和资源代价。 1.2.2 系统架构师技术素质 对软件工程标准规范有良好的把握。 1.2.3 系统架构师管理素质 系统架构师是一个高效工作团队的创建者,必须尽可能使所有团队成员的想法一致,为一个项目订制清晰的、强制性的、有元件的目标作为整个团队的动力; 必须提供特定的方法和模型作为理想的技术解决方案; 必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。 1.2.4 系统架构师与其他团队角色的协调 系统分析师,需求分析,技术实现 系统架构师,系统设计,基于环境和资源的系统技术实现 项目管理师,资源组织,资源实现 由于职位角度出发产生冲突制约,不可能很好地给出开发规范,搭建系统实现的核心架构,并澄清技术细节,扫清主要难点。 所以把架构师定位在项目管理师与系统分析师之间,为团队规划清晰的目标。 对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。 1.3 系统架构师知识结构 需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,那些是无效的。 1.4 从开发人员到架构师 总结自己的架构模式,深入行业总结规律。 几天的培训不太可能培养出合格的软件架构师,厂商的培训和认证,最终目的是培养自己的市场,培养

2009下半年系统架构设计师上午试题及参考答案

2009下半年系统架构设计师上午试题及参考答案 ● 计算机系统中硬件层之上的软件通常按照三层来划分,如下图所示,图中 ①②③分别表示(1)。 (1)A.操作系统、应用软件和其他系统软件 B.操作系统、其他系统软件和应用软件 C.其他系统软件、操作系统和应用软件 D.应用软件、其他系统软件和操作系统 题目出处:《系统架构设计师教程(第2版)》第1页。 参考答案: B ●某计算机系统中有一个CPU、一台扫描仪和一台打印机。现有三个图像任务,每个任务有三个程序段:扫描Si,图像处理Ci和打印Pi (i=1,2,3)。下图为三个任务各程序段并发执行的前驱图,其中,(2)可并行执行,(3)的直接制约,(4)的间接制约。 (2)A.“C1S2”,“P1C2S3”,“P2C3” B.“C1S1”,“S2C2P2”,“C3P3” C.“S1C1P1”,“S2C2P2”,“S3C3P3” D.“S1S2S3”,“C1C2C3”,“P1P2P3” (3)A. S1受到S2和S3、C1受到C2和C3、P1受到P2和P3 B. S2和S3受到S1、C2和C3受到C1、P2和P3受到P1 C. C1和P1受到S1、C2和P2受到S2、C3和 P3受到S3 D. C1和S1受到P1、C2和S2受到P2、C3和S3受到P3 (4)A. S1受到S2和S3、C1受到C2和C3、P1受到P2和P3 B. S2和S3受到S1、C2和C3受到C1、P2和P3受到P1 C. C1和P1受到S1、C2和P2受到S2、C3和P3受到S3 D. C1和S,受到P1、C2和S2受到P2、C3和S3受到P3

参考答案: (2)A (3)C (4)B ● 在数据库设计的需求分析阶段应完成包括(5)在内的文档。 (5)A.E-R图 B.关系模式 C.数据字典和数据流图 D.任务书和设计方案 题目出处:《系统架构设计师教程(第2版)》第48~54页。 参考答案: C ● 设有职务工资关系P(职务,最低工资,最高工资),员工关系EMP(员工号,职务,工资),要求任何一名员工,其工资值必须在其职务对应的工资范围之内,实现该需求的方法是(6)。 (6)A.建立“EMP.职务”向“P.职务”的参照完整性约束 B.建立“P.职务”向“EMP.职务”的参照完整性约束 C.建立EMP上的触发器程序审定该需求 D.建立P上的触发器程序审定该需求 题目出处:《系统架构设计师考试全程指导》第48页。 参考答案: C ● 设关系模式R(U, F),其中R上的属性集U={A, B, C, D, E},R上的函数依赖集F={A→B,DE→B,CB→E,E→A,B→D}。(7)为关系R的候选关键字。分解(8)是无损连接,并保持函数依赖的。 (7)A. AB B. DE C. CE D. CB (8)A. p={R1(AC),R2(ED),R3(B)} B. p={R1(AC),R2(E),R3(DB)} C. p={R1(AC),R2(ED),R3(AB)} D. p={R1,(ABC),R2(ED),R3(ACE)} 题目出处:《系统架构设计师考试全程指导》第2.3.3节。《系统架构设计师教程(第2版)》第2.2.3节。 参考答案: (7)C (8)D

高级系统架构设计师下午试题模拟 含详细答案

系统架构设计师考试下午I模拟2 案例分析题 阅读以下软件架构设计的问题,在答题纸上回答问题。 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。 1在线交易平台必须在1秒内完成客户的交易请求。 2该平台必须保证客户个人信息和交易信息的安全。 3当发生故障时,该平台的平均故障恢复时间必须小于10秒。 4由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。 针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。 1、软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举6种不同的软件质量属性名称,并解释其含义。 2、请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。 阅读以下关于结构化软件系统建模的叙述,在答题纸上回答问题。 希赛公司拟开发一个商业情报处理系统,使公司能够针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的没计思路。 3小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。 4小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图所示。 项目组经讨沦确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图的数据流图中存在的错误。 3、流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。 4、请分析指出图所示的数据流图中存在的错误及其原因,并针对图的1层数据流图绘制出情报分类

系统架构设计师下午(Ⅱ)模拟5

[模拟] 系统架构设计师下午(Ⅱ)模拟5 论文 一、论基于CBSD的软件架构设计与应用 第1题: 基于构件的软件开发(Component-Based Software Development,CBSD)是一种基于分布对象技术,强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS(Commercial-Off-The-Shelf)构件,也可以是通过其他途径获得的构件(如自行开发)。CBSD体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大中型软件系统所需要的维护负担,从而降低软件开发的费用。 请围绕“基于CBSD的软件架构设计与应用”论题,依次从以下3个方面进行论述。 1、概要叙述你参与管理和开发的软件项目及你在其中所承担的主要工作。 2、简要介绍基于构件的软件开发过程模型,具体论述你在所管理和开发的软件工程项目中选择了哪种典型的构件平台并说明理由,如何具体实施的,最终实际效果如何。 3、论述你在该项目实施过程中遇到的问题及解决的办法,以及你进一步应用软件复用技术的有关设想。 参考答案: 1、简要介绍你参与规划、设计和实施的大中型信息系统软件工程项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与设计和实施的信息系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。 2、构件(Component)是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。构件是一个独立发布的功能部分,可以通过其接口访问它的服务。软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体。软件构件需承载有用的功能,并遵循某种构件模型。可复用构件是指具有可复用价值的构件。商用成品构件(Commercial Off-The-Shelf,COTS)是指由第三方开发的满足一定构件标准的,可组装的软件构件。基于构件的软件工程(CBSE)不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求。基于构件的软件的开发过程包括两个并发的子过程,一个是领域工程,另一个是基于构件的开发。领域工程完成一组可复用构件的标示、构造、分类和传播;基于构件的开发完成使用可复用构件构造新的软件系统。基于构件的软件开发过程(CBSD)模型如图6-11所示。

软考系统架构设计师考试试题举例

软考系统架构设计师考试试题举例 系统架构设计师是软考中的一门高级资格考试,其考试题型有哪些,下面小编就三种不同类型的选题分别举例,希望考生们对考试题型的了解能有一定的帮助。 一选择题 1.在TCP/IP协议分层结构中,SNMP是在(1)协议之上的(2)请求/响应协议。在ISO/OSI/RM基础上的公共管理信息服务/公共管理信息协议CMIS/CMIP是一个完整的网络管理协议族,网络管理应用进程使用OSI参考模型的(3)。 (1) (2)A.异步 B.同步 C.主从 D.面向连接 (3)A.网络层B.传输层C.表示层D.应用层 2.软件产品线主要由(4)和产品集合两部分组成。 (4)A.构件库 B.核心资源 C.体系结构 D.开发组织 二案例分析问答题 阅读以下关于软件体系结构方面的叙述,回答问题1和问题2。 某集团公司要开发一个网络财务程序,使各地员工能在互联网络上进行财务处理和报销。在设计该财务程序的体系结构时,项目组产生了分歧: (1)张工程师认为应该采用客户机/服务器(C/S)结构。各分公司财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机。如果员工在外地出差,需要报销帐务的,也需要安装这个客户端才能进行。 (2)李工程师认为应该采用浏览器/服务器(BS)结构,各分公司及出差员工直接通过Windows操作系统自带的IE浏览器就可以连接到总公司的财务部主机。 经过项目组的激烈讨论,最终选用了C/S和B/S混合结构。 [问题1] 请用200字以内的文字简要讨论C/S结构与B/S结构的区别及各自的优点和缺点。 [问题2] 请用200字以内的文字说明如何设计C/S和B/S混合结构,这样设计有什么好处

系统架构设计师模拟题及答案解析第十八套

系统架构设计师模拟题及答案解析第十八套单项选择题 1、需求工程活动产生软件运行特征的规约,指明软件和其他系统元素的接口并建立 ______ A.数据流图和数据字典 B.程序流程图 C.体系结构模型 D.软件必须满足的约束条件 2、有两种需求定义的方法一严格定义和原型定义,在关于这两种方法的描述中,不正确的是______。 A.严格定义方法假定所有的需求都可以预先定义 B.严格定义方法假定软件开发人员与用户之间的沟通存在障碍 C.原型定义方法认为需求分析中不可避免地要出现很多反复 D.原型定义方法强调用户在软件开发过程中的参与和决策 3、软件需求分析产生软件操作特征的规格说明,指明软件和其他系统元素的接口,建立软件必须满足的约束。下面对于软件需求分析的描述,不正确的是______。 A.分析员研究系统规约和软件项目计划,并在系统语境内理解软件和复审,从而生成计划软件范围的估算 B.需求分析使得系统工程师能够刻画出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束 C.经过仔细的需求分析活动,分析员能够得到详细的系统规约 D.需求分析能够为软件设计者提供可被翻译成数据、体系结构、界面和过程设计的模型 4、质量功能部署(QFD.是一种将客户要求转化成软件需求的技术。OFD的目的是最大限度地提升软件工程过程中客户的满意度。为了这个目标,OFD确认了3类需求,常规需求、______和意外需求。 A.期望需求 B.基础需求 C.显式需求 D.功能需求 5、需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系

统“做什么”的问题。______并不是需求分析的实现步骤之一 A.获得当前系统的物理模型 B.抽象出当前系统的逻辑模型 C.建立目标系统的逻辑模型 D.确定目标实现的具体技术路线 6、某网软件开发团队欲开发一套管理信息系统,在项目初期,用户提出了软件的一些基本功能,但是没有详细定义输入、处理和输出需求。在这种情况下,该团队在开发过程应采用______。 A.瀑布模型 B.增量模型 C.原型开发模型 D.快速应用程序开发(RAD. 7、基于构件的开发(CBD.模型,融合了______模型的许多特征。该模型本质是演化的,采用迭代方法开发软件。 A.瀑布 B.快速应用开发(RAD. C.螺旋 D.形式化方法 统一软件开发过程是一种基于面向对象技术的软件开发过程,其特点是“用例驱动,以架构为核心,迭代并增量”。统一软件开发过程定义了4种通用的开发阶段,它们按照过程顺序分别是:起始阶段、8、构建阶段和9,其中在构建阶段主要产生的文档有10。 8、A.分析阶段B.细化阶段C.设计阶段D.交付阶段 9、A.分析阶段B.细化阶段C.设计阶段D.交付阶段 10、A.初始用户手册B.用例模型C.项目计划D.设计模型 11、敏捷软件过程强调:让客户满意和软件尽早增量发布;小而高度自主的项目团队;非正式的方法;最小化软件工程工作产品,以及整体精简开发。______不是采用这种软件开发过程的原因。 A.难以提前预测哪些需求是稳定的和哪些需求会变化 B.对于软件项目开发来说,设计和实现可以做到基本分离 C.从制订计划的角度来看,分析、设计、实现和测试并不容易预测 D.可执行原型和部分实现的可运行系统是了解用户需求和反馈的有效媒介

2016年系统架构设计师考试 考点

软件产品线体系机构 什么是软件产品线?软件产品线在软件开发过程中有什么作用? 定义:软件产品线是一个产品的集合,这些产品共享一个公共的、可管理的特征集,这些特征集能够满足选定市场或任务领域的特定需求。这些系统遵循一个预描述的方式,是在公共的核心资源上开发的。 作用:软件产品线是一个是非适合专业软件开发组织的软件开发方法,能有效提高软件生产率和质量、缩短软件开发时间、降低总开发成本; 主要组成部分:核心资源和产品集合。 核心资源:包括产品线中所有产品共享的产品线体系结构,新设计开发的或通过现有系统再工程得到的、需要在整个产品线中系统化重用的软件构件。 产品线开发的4个技术特点:过程驱动、特定领域、技术支持及体系结构为中心。 软件产品线包括哪些过程?如何实现软件产品线创建与演化?软件产品线演化是指什么?如何实现演化? 过程模型:双生命周期模型(领域工程+应用工程);SEI模型(核心资源开发+产品开发+管理)和三生命周期(企业工程+领域工程+应用工程)模型; 4种建立方式:用演化方式还是革命方式+基于现有产品还是开发全新产品线 (1)将现有产品演化为产品线 (2)用软件产品线替代现有产品集 (3)全新软件产品线演化 (4)全新软件产品线开发 演化:指的是由于各种原因引起产品线所进行的改动而变成新的产品线; 产品线的演化包括:核心资源的演化、产品的演化和产品的版本升级; 框架的定义及特征 定义:框架是由开发人员定制的应用系统的骨架,是整个系统或子系统的可重用设计,由一组抽象构件和构建实例间的交互方式组成; 特征:反向控制;可重用性;扩展性;模块化或构件化; 软件产品线体系结构定义、特点及个性实现机制 定义:软件产品线体系结构是只一个软件开发组织为一组相关应用或产品建立的公共体系结构。特点:同领域模型一样,软件产品线体系结构中也可分为共性部分和个性部分;共性部分是产品线中所有产品在体系结构上的共享部分,是不可改变的。个性部分是指产品线体系结构可以变化的部分;产品线体系结构设计的目的尽量扩展产品线中所有产品共享的部分,同时提供一个尽量灵活的体系结构变化机制; 个性实现机制:继承;扩展和扩展点;参数化;配置和模块互连语言;自动生成;编译时不同实现的选择; 页15 共页1 第 例题:希赛公司各种网络安全防火墙系统,引入产品线开发方法,问题如下: 1.公司是否适合使用软件产品线方法,并说明理由 适合软件产品线开发方法;公司的产品特点为:各种防火墙系统属于一种产品集合,具有很多共性,同时,每种不同的防火墙又具有自己本身的个性特点;

2011年下半年系统架构设计师上午试题

全国计算机技术与软件专业技术资格(水平)考试 2011年下半年 系统架构设计师 上午试卷 (考试时间 9 : 00~11 : 30 共150分钟) 请按下述要求正确填写答题卡 1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规2B 铅笔在你写入的准考证号下填涂准考证号。 2. 本试卷的试题中共有75个空格,需要全部解答,每个空格1分,满分75分。 3. 每个空格对应一个序号,有A、B、C、D四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。 4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。解答时用正规2B 铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。 例题 ● 2011年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(88) 月 (89) 日。(88)A.12 B.11 C.10 D.9 (89)A.9 B.10 C.11 D.12 因为考试日期是“11月12日”,故(88)选B,(89)选D,应在答题卡序号88 下对B 填涂,在序号89 下对D 填涂(参看答题卡)。

●操作系统为用户提供了两类接口:操作一级和程序控制一级的接口,以下不属于操作一级的接口是(1)。 (1) A.操作控制命令 B.系统调用 C.菜单 D.窗口 ●进程Pl、P2、P3、P4和P5的前趋图如下: 若用PV操作控制进程P1~P5并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,进程间同步所使用的信号量标注在上图中的边上,且信号量S1~S5的初值都等于零,初始状态下进程P1开始执行。下图中a、b和c处应分别填写(2);d和e处应分别填写(3),f 和g处应分别填写(4)。 (2) A.V(S1)V(S2)、P(S1)和v(S3)V(S4) B.P(S1)V(S2)、P(S1)和P(S2)V(S1) C.V(S1)V(S2)、P(S1)和P(S3)P(S4) D.P(S1)P(S2)、V(S1)和P(S3)V(S2) (3) A.P(S1)和V(S5) B.V(S1)和P(S5) C.P(S2)和V(S5) D.V(S2)和P(S5) (4) A.P(S3)和V(S4)V(S5) B.P(S3)和P(S4)P(S5) C.V(S3)和V(S4)V(S5) D.V(S3)和P(S4)P(S5) ●某企业工程项目管理数据库的部分关系模式如下所示,其中带实下划线的表示主键,虚下划线的表示外键。 供应商(供应商号,名称,地址,电话,账号) 项目(项目号,负责人,开工日期) 零件(零件号,名称,规格,单价)

2017年系统架构设计师案例分析试题加答案(1)

2017年系统架构设计师案例分析试题加答案(1) 系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。 阅读以下关于软件系统架构选择的说明,回答问题。 希赛公司欲针对Linux操作系统开发一个KWIC(KevWordinContext)检索系统。该系统接收用户输入的查洵关键字,依据字母顺序给出相关帮助文档并根据帮助文档内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 1、在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

2、请完成表中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。 3、规划图是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)~(4)。 参考答案 1、软件架构风格是拙述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。

系统架构设计师论文范文

架构风格数字图书馆类的应用 摘要:随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。本人有幸作为系统架构设计师参与了某大学图书馆数字化信息系统建设过程。由于在数字化图书馆信息系统中后台馆藏信息管理系统负责实时管理图书和读者信息,和数据库交互频繁,所以对数据库处理功能、安全性、数据处理响应速度等方面要求较高。而客户端主要查询信息,要求简单、使用方便、易于安装维护。结合各种体系结构的优缺点,我们决定采用客户/服务器(C/S)和浏览器/服务器(B/S)混合的体系结构来开发。 本文详细介绍三层结构的功能分配和物理分布,描述三层结构设计的过程,讨论在设计实施过程中碰到的一些问题以及解决的方法,最后说明采用三层结构带来的效果,以及可以改进的地方。 正文:随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某大学图书馆为了更好的服务读者,提高图书馆的管理水平和服务水平,已经启动了数字图书馆工程。本人有幸作为系统架构设计师参与了该项目。 该数字图书馆工程主要包括:后台馆藏信息管理系统、对外信息Web发布系统,交互式检索网、非纸质资源下载、新书通报、订购征询、以及读者信息管理系统等。 后台馆藏信息管理系统负责实时管理图书和读者信息,和数据库交互频繁,所以对数据库处理功能、安全性、数据处理响应速度等方面要求较高。而客户端主要查询信息,要求简单、使用方便、易于安装维护。

根据我们做出的需求分析以及各种体系结构的优缺点,我决定采用客户/服务器(C/S)和浏览器/服务器(B/S)混合的体系结构来开发。对于后台馆藏信息管理系统的需求,需要对数据进行更新处理,采用C/S 结构可以更快更好的开发且数据处理速度更快,而且安全性在一定程度上也容易控制,可以更好的满足要求。对于读者的查询需求,我们采用B/S模式。采取这样的结构可以很好的满足用户需求,且容易开发和维护,节约开发成本。由于都是在windows 平台上使用,因此在开发工具的选择上,我们使用Delphi来开发后台馆藏信息管理部门的客户端和中间件,使用FrontPage来开发网页,连接在其内部网上提供查询服务。中间件我们采用COM+进行逻辑处理,数据层使用SQL Server。 以下详细介绍三层结构的功能分配和物理分布,描述三层结构设计的过程,讨论在设计实施过程中碰到的一些问题以及解决的方法,文章最后说明采用三层结构带来的效果,以及可以改进的地方。 对于客户端,B/S 结构仅提供查询功能,使用浏览器(例如Internet Explorer),学校各系部读者都可以通过内部网使用,读者也可以利用Internet 通过外网访问。C/S 结构提供日常操作和管理界面,承担着整个系统的数据录入及数据维护工作,使用Delphi 开发,它是系统数据的入口,使用频繁,安装在图书馆出口、和图书馆后台馆藏信息管理中心;中间件和数据库以及Web 服务器都放在该大学的计算机中心,便于维护管理。中间件负责根据客户端要求从数据库中取得数据,并在进行处理后提交到客户端显示;后台使用SQLServer 数据库,数据集中在数据库服务器进行管理,方便数据管理和分析,保证数据安全。 对于C/S 和B/S 结构,我们分别使用不同的工具来开发客户端。C/S 结

相关文档
最新文档