系统架构设计师 模拟试题 系统架构设计师模拟题3.docx
《系统架构设计师 模拟试题 系统架构设计师模拟题3.docx》由会员分享,可在线阅读,更多相关《系统架构设计师 模拟试题 系统架构设计师模拟题3.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、系统架构设计师模拟题3【简答题】某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:(1)在线交易平台必须在1s内完成客户的交易请求。(2)该平台必须保证客户个人信息和交易信息的安全。(3)当发生故障时,该平台的平均故障恢复时间必须小于10s。(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。【问题1】软件质量属性是影响软件架构设计的重要因素。请用
2、200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。【问题2】请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。1、【问题1】常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functio
3、nality)和互操作性(Inter-operation)等。这些质量属性的具体含义是:(1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。(2)可用性是系统能够正常运行的时间比例。(3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。(4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。(5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。(6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。(7)可变性是指体系结构经扩充或变更成为新
4、体系结构的能力。(8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。(9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。(10)功能性是系统所能完成所期望工作的能力。(11)互操作性是指系统与外界或系统与系统之间的相互作用能力。【问题2】(1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。(2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主
5、要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。(3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。答案:解析:本题考查考生对于质量属性及质量属性实现策略的掌握情况。【问题1】常见的软件质量属
6、性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。这些质量属性的具体含义是:(1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。(2)可用性是系统能够正常运行的时间比例。(3)可靠性是指软件
7、系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。(4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。(5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。(6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。(7)可变性是指体系结构经扩充或变更成为新体系结构的能力。(8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。(9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。(10)功能性是系统所能完成所期望工作的能力。(11)互操作性
8、是指系统与外界或系统与系统之间的相互作用能力。【问题2】本题主要结合实际案例,考查实现各种质量属性的策略。(1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。(2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。(3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主
9、要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。【简答题】【说明】RMO是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。RMO公司决定由其技术部成立专门的项目组
10、负责CRSS的开发和维护工作。项目组在仔细调研和分析了系统需求的基础上,确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过"局部数据库+缓存"的读写分离结构实现,具有较好的运行性能和可扩展性。项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。【问题1】请用300字以内的文字,说明张工和刘工提出的数据架构的基本思想。【问题2】 在刘工建议的基础上,为了避免CRSS系统的单点故障,请用200字以内文字简要说明如
11、何建立CRSS的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。【问题3】RMO公司销售区域将在未来五年大面积扩展,其潜在客户数量也会因此大幅度增加,所以良好的可扩展性是CRSS系统所必需的质量属性。请分别说明在集中式和分布式数据架构下,可以采用哪些方法提升系统的可扩展性。1、【问题1】(1)张工提出的集中式数据架构是由一个处理器、与它相关联的数据存储设备以及其他外围设备组成,它被物理地定义到单个位置。系统提供数据处理能力,用户可以在同样的站点上操作,也可以在地理位置隔开的其他站点上通过远程终端来操作。系统及其数据管理被某个或中心站点集中控制。(2)刘工提出的分布式数据架构使用多
12、个计算机系统上的多个局部数据库系统构成,数据可以在多个不同的局部数据库中进行传送,由不同的数据库管理系统软件进行管理,运行在多种不同的计算机上,支持多种不同的操作系统。这些机器位于(或分布在)不同的地理位置并通过多种通信网络连接在一起。企业数据可以分布在不同的计算机上,一个应用程序可以操作位于不同地理位置的机器上的数据。【问题2】读写分离架构利用了数据库的复制技术,将数据的读和写分布在不同的处理节点上,从而达到提高可用性和扩展性的目的。CRSS的分布式数据库系统需要由多个局部数据库系统、多个热备份数据库系统和多个数据缓存组成。局部数据库负责数据的写入,多个热备份数据库系统用以解决单点故障的问题
13、,数据缓存负责为应用提供所读取的数据。(1)读取数据:应用访问缓存,如果命中则返回,否则从局部数据库系统中读取数据并将数据加载到缓存后返回。(2)添加数据:采用延迟加载策略,应用将数据直接写入局部数据库。(3)更改数据:应用更改局部数据库中的数据,将缓存中的数据标记为失效。(4)删除数据:应用删除局部数据库中的数据,将缓存中的数据标记为失效。【问题3】张工提出的集中式数据架构通过向上扩展(Scale Up)提升系统的可扩展性。具体的实现方式包括硬件扩容(增加CPU数量、内存容量、磁盘数量)和硬件升级(更换为高端主机或高速磁盘等)。 刘工提出的分布式数据架构通过向外扩展(Scale O
14、ut)提升系统的可扩展性。具体的实现方式包括数据复制、数据垂直切分(或/和)水平切分、缓存和全文搜索。答案:解析:本题考查考生对于软件系统数据架构建模的掌握情况。数据架构定义了信息系统中文件和数据库的分布结构。数据架构建模是以数据为中心,建模业务数据类型和结构,以及设计满足应用需求的数据库系统。传统以主机为中心的信息系统开发中,利用单个的数据库系统实现数据的集中式存储,物理上所有的数据位于同一个位置,构成的是一种集中式的数据架构;现代基于网络的分布式系统开发中,很少有组织会将其全部的数据存储在单个的数据库中,通常需要多个数据库系统组成,数据在这些数据库系统之间可以传送,由多个不同的数据库管理系
15、统控制,构成的是一种分布式的数据架构。【问题1】集中式数据架构中,一个或多个局域网中的客户共享一个单独计算机系统中的单个数据库。系统提供数据处理能力,用户可以在同样的站点上操作,也可以在地理位置隔开的其他站点上通过远程终端来操作。系统及其数据管理被某个或中心站点集中控制。单个数据库服务器结构的主要优点就是简单、易维护开发及运行成本低;但由于所有的客户直接请求服务器,容易发生性能瓶颈,如果服务失败,单个服务器不能提供备份和恢复,所有依赖的应用程序都将不能工作。分布式数据架构中,使用多个计算机系统以及用户能够访问远程系统的数据,数据可以在多个不同的数据库中进行传送,由不同的数据库管理系统软件进行管
16、理,运行在多种不同的计算机上,支持多种不同的操作系统。这些机器位于(或分布在)不同的地理位置并通过多种通信网络连接在一起。企业数据可以分布在不同的计算机上,一个应用程序可以操作位于不同地理位置的机器上的数据。多个数据库服务器结构的主要优点就是系统的容错能力和对广域网容量的需求有所降低,可以采用多种策略提升整个系统的服务质量;由于多个数据库系统分布在不同的网络节点上,位于不同位置的数据之间需要同步和协作,系统结构复杂、运行成本高并且维护困难。在实际应用系统的数据架构建模中,应根据不同的应用需求选择集中式或分布式的数据架构。本题中由于RMO要扩展其销售区域,其潜在客户数量也会因此大幅度增加,所以良
17、好的可扩展性是CRSS系统所必需的质量属性;并且由于其销售区域扩大后,系统中的数据会存储于不同的地理位置,所以采用分布式数据架构最为合理。【问题2】读写分离架构应用非常广泛,很多网站采用数据库+缓存的方式来实现。通过缓存层来承载大量的读访问,如广泛采用的Mencached,其自身往往不具备持久层存储的功能,通常和数据库一起组成分布式的数据架构,由数据库负责数据持久化存储和写入功能,缓存负责承载大量的并发访问,从而提高了系统的数据处理效率。要避免数据访问的单点故障,通常采用主数据库热备份的方式来实现。所以,要实现题目要求的分布式数据架构,需要多个局部数据库系统、多个热备份数据库系统和多个数据缓存
18、组成。 读写分离结构中,应用读取数据时访问缓存,如果没有命中所需数据,则从主数据库中读取数据并写入缓存;对于新增、修改和删除操作,需要采用延迟加载的策略,新增时只修改主数据库,修改和删除时除了修改主数据库中的内容,还需要将缓存中的数据标记为失效。【问题3】传统的集中式数据架构中由于只有单个的数据库系统,所以要满足可扩展性的要求,更多的只能通过硬件的方式来实现。具体的实现方式包括硬件扩容(增加CPU/内存容量/磁盘数量)和硬件升级(更换高端主机或高速磁盘等)。基于网络的分布式数据架构中由多个数据库系统共同组成,可以通过更改和优化数据分布来满足系统可扩展性的要求。具体的实现方式包括数据复
19、制、数据垂直切分(或/和)水平切分、缓存和全文搜索。【简答题】某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:(1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);(2)应用软件应与硬件无关,便于软硬件的升级;(3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;(4)宇航设备可靠性要求高,系统要有故障处理能力。公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。【问题1】用150字
20、以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)(4),说明架构中各层内涵。【问题2】在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。请说明两种操作系统的主要差异,完成表3-1中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。表
21、3-1 两种操作系统的主要差异【问题3】故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。1、【问题1】TLS结构框架的主要特点:(1)应用软件仅与操作系统服务相关,不直接操作硬件。(2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。(3)模块支持层将硬件抽象成标准操作。(4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。TLS结构框架的各层内涵是:(1)应用层主要完成宇航设备的具体工作,由多个功
22、能任务组成,各功能任务间的隔离由操作系统层实现。(2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。(3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。【问题2】两种操作系统的差异见下表。选择类似于Linux的嵌入式操作系统。理由如下:(1)Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。(2)Linux操作系统调度的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统架构设计师 模拟试题 系统架构设计师模拟题3 系统 架构 设计师 模拟 试题
限制150内