1、系统架构设计师-案例分析(三)及答案解析(总分:99.99,做题时间:90 分钟)一、B简答题/B(总题数:8,分数:100.00)希赛公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。如图所示给出了该系统的简化示意图。下表描述了各种系统输入的含义。 *B定速巡航控制系统输入说明/B输入名称 作用系统开关 开启/关闭巡航控制系统引擎开关 开启/关闭洗车引擎(引擎开启时,巡航控制系统处于就绪状态)车轮脉冲 车轮每转一次,相应地发出一次脉冲刹车 当刹车被踩下时,定速巡航控制系统会临时恢复到人工控制增/减速 增加或减慢当前车速(仅在定速巡航控制系统处于开启的状态下可用
2、)恢复速度 恢复原来保持的车速(仅在定速巡航控制系统处于开启的状态下可用)时钟 每毫秒定时脉冲公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。 在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。(分数:12.99)(1).在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用 200 字以内的文字说明:什
3、么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。(分数:4.33)_(2).用户需求没有明确给出该系统如何根据输入集合计算输出。请用 300 字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。(分数:4.33)_(3).实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。(分数:4.33)_某银行开通了网上银行业务,其网上贷款业务流程如下:客户在网上填写姓名、电子邮件地址、贷款类型、贷款金额、身份证号、通讯地址等信息,提
4、交贷款申请。在指定的时间内,客户会收到银行的电子邮件,通知贷款是否被批准。银行根据客户提交的信息,创建贷款申请任务,创建工作由运行在主机上的CICS(客户信息控制系统)完成,同时需要从第三方获得客户的信用审查信息。由信贷员对该项贷款申请业务进行审批,然后由风险检查系统评估该项贷款的风险程度,风险大的贷款申请被拒绝。无论批准或者拒绝,结果都会通过邮件系统递交给客户。对于拒绝的贷款申请,还要通知贷款申请任务进行有关操作。除了信贷员审批环节需要人机交互外,业务是自动进行的。(分数:12.00)(1).上述网上贷款业务采用 SOA 架构来实现。上述业务流程中涉及哪些功能单元?什么是 SOA?本题中的案
5、例采用 SOA 具有哪些优点?请用 200 字以内文字说明。(分数:4.00)_(2).请将以下关于 SOA 的叙述填写完整。 SOA 不是一个新鲜事物,但它却是传统的面向对象模型的替代模型。相比较而言,面向对象的模型是_耦合和_粒度的,而 SOA 是_耦合和_粒度的。SOA 系统原型的一个典型例子是_(CORBA),它已经出现很长时间了,其定义的概念与 SOA 相似。 随着 Web Services 的成熟,现在的 SOA 已经有所发展,这些进展是以_为基础的。在 Web Services 中,通过_来描述接口,与 CORBA 中的_(接口描述语言)相比,它动态性更强、灵活度更高。 SOA还
6、具有管理上的优点。例如,现在管理员可直接管理开发人员所构建的_,这远胜于以往管理单个应用的方式。通过分析_间的交互,SOA 可以帮助企业了解何时以及什么业务逻辑被切实执行了,这使管理员能够有针对性地优化业务流程。(分数:4.00)_(3).上述网上贷款系统能够实际应用的基本前提之一是满足金融领域的安全性需求。该系统必须要满足哪些安全方面的需求?请用 200 字以内的文字简要说明。(分数:4.00)_某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:在线交易平台必须在 1s 内完成客户的交易请求。该平台必须保证
7、客户个人信息和交易信息的安全。当发生故障时,该平台的平均故障恢复时间必须小于 10s。由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在 6 小时内完成。针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。(分数:8.00)(1).软件质量属性是影响软件架构设计的重要因素。请用 200 字以内的文字列举 6 种不同的软件质量属性名称,并解释其含义。(分数:4.00)_(2).请对该在线交易平台的 4 个要求进行分析,用 300 字以内的文字指出每个要求对应何种软件质量属性:并针对每种软件质量属性,各给
8、出 2 种实现该质量属性的架构设计策略。(分数:4.00)_某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。刘工建议采用 J2EE 5.0 和 EJB 3.0 进行开发。理由是 J2EE 定义了标准的应用开发体系结构和部署环境,EJB 是 J2EE 的基础和核心。J2EE 5.0 的主要目标是简化开发,相比 EJB 2.1,EJB 3.0 具有很多改进和提高。杜工建议采用 Struts、Spring 和 Hibernate 轻量级开源框架相结合的方式。理由是随着 Java
9、 开源项目阵营的发展壮大,一些基于 POJO(Plan Old Java Objects)的开源框架被广泛地引入到 Java 企业应用开发中来,与重量级的 EJB框架相比,这些轻量级的框架有很多优点。项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。(分数:12.00)(1).Java 企业应用框架一般被划分为 3 个层次,请用 150 字以内文字说明都有哪 3 个层次?功能分别是什么?(分数:4.00)_(2).请用 200 字以内的文字叙述 Struts、Spring 和 Hiberhate 开源框架特点
10、和结合方式。(分数:4.00)_(3).请用 200 字以内的文字说明基于 Struts、Spring 和 Hiberhate 的轻量级框架与基于 EJB 的重量级框架解决问题的侧重点有什么不同?(分数:4.00)_银行金融系统对数据库中的数据安全要求很高,必须在技术层面上采用必要的措施,以保证数据的有效和不丢失。数据库的备份与恢复是保证数据安全的一种基本方法,一般将数据库备份分为冷备份、热备份和数据导出,而数据导出根据导出数据的范围,又可以分为完全导出、增量导出和累计导出。 该金融系统上线初期,整个业务系统采用了内网方式运行,不与外网发生联系。为了保证数据库内部数据的安全,该银行信息中心的刘
11、工提出的备份方案如表1 所示。 B表 1 备份方案/B时间 星期一 星期二 星期三 星期四 星期五 星期六 星期日备份方式 完全导出 增量导出 增量导出 增量导出 累计导出 增量导出 增量导出信息中心的李工对刘工的方案提出了异议,认为数据库一旦发生故障,刘工的方案无法做到数据库的实时恢复,会导致业务数据的丢失,银行应该采用数据库冷备份和热备份相结合的方式来完成数据库的备份。(分数:16.00)(1).针对金融数据库安全,从技术层面上分析应重点考虑哪些因素?(分数:4.00)_(2).请用 200 字以内的文字评价刘工的备份策略的优缺点。(分数:4.00)_(3).请分别说明冷备份和热备份的概念
12、,并补充表 2 中的(1)(6)空。 B表 2 冷备份和热备份的比较/B备份方式 优点 缺点快速简单,维护方便 (1)可以恢复到备份时的时间点上 单独使用时,只能恢复到备份时的时间点上冷备份(2) (3)热备份 (4) 如果热备份出错,所得结果不能用于时间点的恢复可以实现实时/秒级恢复 (5)(6) 维护比较困难(分数:4.00)_(4).银行金融系统需要支持数据库的实时/秒级恢复(即恢复到故障之前的时间点上),请设计合理的备份策略,并说明其基本恢复过程。(分数:4.00)_某大型企业在全国各城市共有 40 个左右的分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处
13、理本区域内的业务,并实时存储业务数据。每个机构的数据库服务器从 PC Server(最小 512MB 内存)到 RISC 小型机(最大4GB 内存)配置不一,操作系统也不一样,数据库产品类型也不统一。每个机构平均每天产生约 4MB 的数据,数据表中包括 TEXT 字段;每季度一次性产生约 100MB 的统计和报表数据。为了加强管理,实现对下属机构业务数据的异地存储备份,保证数据的安全及恢复,同时对全国业务数据进行挖掘分析,该企业拟在总部建设数据中心。数据中心通过公共广域网与各个分支机构组成 VPN,每个分支机构到数据中心的逻辑信道带宽为 128kbps。(分数:12.00)(1).(1)为保证
14、数据上传的顺序、稳定、安全、并发,并解决数据库的异构问题,系统应采用下列哪种技术(请在下列 A、B、C、D 四个选项中选择)? A交易中间件技术 BWeb 中间件 CWeb Service D插装技术 (2)为保证分支机构可靠、高效地向数据中心汇总业务数据,避免单点故障,除了考虑广域网线路采用备份外,在数据中心还应采用什么技术?用 100 字以内文字说明。(分数:4.00)_(2).假设各个分支机构的历史数据已经通过某种方式顺利地存储到了数据中心。对于增量数据的汇总更新,总部的王副总工提议采用数据库复制技术和数据库的触发器技术获取数据更新日志的方式来完成,但张总认为这样做不仅增加了成本,而且不
15、能解决全部问题。请用 300 字以内文字说明张总的理由。(分数:4.00)_(3).最后,为解决数据中心数据更新与同步问题,张总安排总部的系统分析师李工来设计方案,并指出可以对王副总工的意见加以完善,如果需要也可以修改各地的业务系统。李工提出的方案具有较好的可执行性,并获得了大家的认可。请用 400 字以内文字叙述系统分析师李工的方案要点。(分数:4.00)_随着传统的数据库技术的成熟和计算机网络技术的发展,分布式数据库系统的研究与开发受到人们越来越多的关注。分布式数据库支持数据独立性和分布透明性。用户不必关心数据的逻辑分区,不必关心数据物理位置分布的细节,也不必关心副本的一致性问题。(分数:
16、12.00)(1).请用 200 字以内的文字叙述分布式数据库的主要特性和优缺点。(分数:4.00)_(2).在数据库中,某个业务表中的数据量很大,急速膨胀,在这样的情流下,为了保持高的数据响应速度,根据数据的_和_原则,可以对数据表进行分片设计。一般有两种分片方法:_和_。 请在空白处填写恰当的内容并请用 200 字以内的文字叙述数据表分片满足的条件并给出简要说明。(分数:4.00)_(3).分布式数据库中各局部数据库应满足集中式数据库的基本需求,除此以外还应保证数据库的全局数据_、并发操作的_和故障的全局_。 请在空白处填写恰当的内容并请用 300 字以内的文字简述保持数据一致性的方法。(
17、分数:4.00)_Web 2.0 是目前 Internet 上 Web 应用的新模式,其概念由 Tim OReilly 于2003 年首先提出。目前 Internet 上已经有很多基于 Web 2.0 的 Web 应用系统,如 Facebook、Wikipedia、Blogger、del.icio.us、YouTube 和 Flickr 等,其应用涵盖各个方面。(分数:15.00)(1).请用 200 字以内的文字叙述基于 Web 2.0 的 Web 应用与传统 Web 应用的重要不同点,并给出简要解释(列举五个方面的不同点即可)。(分数:5.00)_(2).基于 Web 2.0 的 Web
18、应用十分强调用户的体验与感受,Ajax 是目前广泛使用的表现层技术。请用 200字以内的文字简要介绍 Ajax 的概念和核心思想,并说明在使用 Ajax 时,从效率方面考虑需要注意的问题(列举 3 个即可)。(分数:5.00)_(3).某房地产信息网站欲整合 Google 提供的地图信息(Google Maps)和 Craigslist(美国最大的分类广告网站)提供的房地产信息,为用户提供新的房地产信息增值服务。负责网站建设的工程师提出了两种解决方案,第一种方案拟采用传统的应用系统集成方法,集成来自不同源的数据。另外一种采用基于 Web 2.0的 Mashup 技术,从不同的数据源抽取数据,聚
19、合并转换数据,在不同的上下文使用,具体如下表所示。请阅读并完成表中空白部分。(分数:5.00)_系统架构设计师-案例分析(三)答案解析(总分:99.99,做题时间:90 分钟)一、B简答题/B(总题数:8,分数:100.00)希赛公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。如图所示给出了该系统的简化示意图。下表描述了各种系统输入的含义。 *B定速巡航控制系统输入说明/B输入名称 作用系统开关 开启/关闭巡航控制系统引擎开关 开启/关闭洗车引擎(引擎开启时,巡航控制系统处于就绪状态)车轮脉冲 车轮每转一次,相应地发出一次脉冲刹车 当刹车被踩下时,定速巡航控制
20、系统会临时恢复到人工控制增/减速 增加或减慢当前车速(仅在定速巡航控制系统处于开启的状态下可用)恢复速度 恢复原来保持的车速(仅在定速巡航控制系统处于开启的状态下可用)时钟 每毫秒定时脉冲公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。 在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。(分数:12.99)(1).
21、在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用 200 字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。(分数:4.33)_正确答案:(软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。 面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。 控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过程变量、被控变量、输入变量、操纵变量和设定点等构件,通过
22、收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。)解析:(2).用户需求没有明确给出该系统如何根据输入集合计算输出。请用 300 字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。(分数:4.33)_正确答案:(对于系统的增减速功能,采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等构件。 整个计算的主要过程如下: 司机进行增/减速操作设置期望速度,该期望速度以消息的形式传递给速度计。 速度计通过向车轮和时钟发送消息获取车轮转速和时钟值,得到当前速度。 速度计计算当前速度和期望速度的速度差值。 该差值以消息的
23、形式发送给油门,油门通过速度差值调节自身状态。 整个过程在时钟的控制下定期向速度计发送消息,重复执行。 控制环路的架构风格以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为构件。 具体的计算过程如下: 司机进行增/减速操作设置期望速度值。 将设定值置为期望速度值。 控制器采集车轮脉冲和时钟值,计算出当前速度。 比较期望速度和当前速度,计算速度差值,控制油门动作。 反复执行和。)解析:(3).实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。(分数:4.33)_正确答案
24、:(适合面向对象架构风格的应用场景: 用户刹车,立即退出巡航控制系统。理由:这是一个典型的事件驱动的场景,适合于面向对象风格。 系统对突发事件的处理,如某些部件失灵等。理由:当发生突发事件时,系统会同时产生数据和事件,这种情况用对象建模较为恰当。 适合面向控制环路架构风格的应用场景: 在达到期望速度后,系统维持恒定速度行驶。理由:这是一个典型的闭环控制的情景,系统需要在外界情况不断发生变化的情况下进行调整,使得系统状态尽可能接近期望状态。 用户改变期望速度后,系统不断进行调整,直至达到恒定速度。理由:这是一个闭环控制情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下对系
25、统状态持续调整,使得系统状态尽可能接近这个新的期望状态。)解析:解析 软件系统架构风格多种多样,如何根据系统的要求选择合适的架构风格,是系统架构设计师需要掌握的重要技能。 问题 1 考查概念层面的问题,根据卡耐基梅隆大学软件工程研究所的定义,软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。 面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。 控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过
26、程变量、被控变量、输入变量、操纵变量和设定点等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。 问题 2 难度比问题 1 要大一些。需要根据面向对象的风格特点与控制环路的风格特点,来分析系统功能应如何拆分成构件。 采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等对象。整个计算过程通过对象之间的合理交互完成期望的功能。 控制环路的架构风格将以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为构件。通过不断地反馈机制实现对系统的控制。 问题 3 主要从应用场景的角度比较两种架构风格。面向对象系统比较适合事件驱动的场景,特别是离散突发事件的处
27、理;而控制环路则适合连续事件的处理,如维持恒定车速等。某银行开通了网上银行业务,其网上贷款业务流程如下:客户在网上填写姓名、电子邮件地址、贷款类型、贷款金额、身份证号、通讯地址等信息,提交贷款申请。在指定的时间内,客户会收到银行的电子邮件,通知贷款是否被批准。银行根据客户提交的信息,创建贷款申请任务,创建工作由运行在主机上的CICS(客户信息控制系统)完成,同时需要从第三方获得客户的信用审查信息。由信贷员对该项贷款申请业务进行审批,然后由风险检查系统评估该项贷款的风险程度,风险大的贷款申请被拒绝。无论批准或者拒绝,结果都会通过邮件系统递交给客户。对于拒绝的贷款申请,还要通知贷款申请任务进行有关
28、操作。除了信贷员审批环节需要人机交互外,业务是自动进行的。(分数:12.00)(1).上述网上贷款业务采用 SOA 架构来实现。上述业务流程中涉及哪些功能单元?什么是 SOA?本题中的案例采用 SOA 具有哪些优点?请用 200 字以内文字说明。(分数:4.00)_正确答案:(该网上贷款业务至少涉及贷款申请、信用审查、信贷员审批、风险检查、电子邮件传送等功能单元。 SOA 即面向服务的体系结构是一个软件架构模型,它将业务的不同功能单元(称为服务)通过服务之间的接口(和契约)联系起来。接口独立于实现服务的硬件平台、操作系统和编程语言。 复用银行的各种应用资源(如软件资产);增强银行各个业务的集成
29、性和灵活性;业务流程变更时便于快速构建应用系统。)解析:(2).请将以下关于 SOA 的叙述填写完整。 SOA 不是一个新鲜事物,但它却是传统的面向对象模型的替代模型。相比较而言,面向对象的模型是_耦合和_粒度的,而 SOA 是_耦合和_粒度的。SOA 系统原型的一个典型例子是_(CORBA),它已经出现很长时间了,其定义的概念与 SOA 相似。 随着 Web Services 的成熟,现在的 SOA 已经有所发展,这些进展是以_为基础的。在 Web Services 中,通过_来描述接口,与 CORBA 中的_(接口描述语言)相比,它动态性更强、灵活度更高。 SOA还具有管理上的优点。例如,
30、现在管理员可直接管理开发人员所构建的_,这远胜于以往管理单个应用的方式。通过分析_间的交互,SOA 可以帮助企业了解何时以及什么业务逻辑被切实执行了,这使管理员能够有针对性地优化业务流程。(分数:4.00)_正确答案:(1)紧 (2)细(小) (3)松 (4)大 (5)通用对象请求代理结构 (6)XML(可扩展标记语言) (7)WSDL(Web 服务描述语言) (8)IDL (9)相同服务 (10)服务)解析:(3).上述网上贷款系统能够实际应用的基本前提之一是满足金融领域的安全性需求。该系统必须要满足哪些安全方面的需求?请用 200 字以内的文字简要说明。(分数:4.00)_正确答案:(验证
31、(系统有关角色的身份识别)。 签名(创建及验证类似手写签名的电子签名)。 授权(如信贷员是否具有审批权)。 完整性(发送的数据与接收到的数据是否一致)。 机密性(与业务无关的人员不能读取事务中的数据)。 审查(把所有事务记录下来,以便事后验证)。 不可否认性(能由第三方求证事务中发送及收到的是否是同一数据)。 威胁预防(防止间谍程序登录、攻击系统)。)解析:解析 本题的试题背景为网上银行贷款业务,实际考查 SOA 的理论和应用,试题共 3 个小问题。 问题 1 第一个问题要求考生回答系统有哪几个功能模块、SOA 的定义和优点。系统的功能模块可以根据试题描述中给出的流程直接得出。 提交贷款申请:
32、客户在网上填写姓名、电子邮件地址、贷款类型、贷款金额、身份证号、通讯地址等信息。 信用审查:从第三方获得客户的信用审查信息。 创建贷款申请任务:银行根据客户提交的信息,创建贷款申请任务。 风险评估:由风险检查系统评估贷款的风险程度。 审批贷款申请:由信贷员对该项贷款申请业务进行审批。 客户通知:无论批准或者拒绝,结果都会通过邮件系统递交给客户。 有关 SOA 的定义和优点,请读者阅读本系列丛书中的系统分析师考试系统分析与设计论文试题分类精解相关内容。 问题 2 第二个问题是对第一个问题的补充,是一个填空题,进一步考查 SOA 的概念,以及与相关概念的比较。 SOA 不是一个新鲜事物,但它却是传
33、统的面向对象模型的替代模型。相比较而言,面向对象的模型是紧耦合和细粒度的,而 SOA 是松耦合和大粒度的。SOA 系统原型的一个典型例子是通用对象请求代理结构(CORBA),它已经出现很长时间了,其定义的概念与 SOA 相似。 随着 Web Services 的成熟,现在的 SOA 已经有所发展,这些进展是以 XML 为基础的。在 Web Services 中,通过 WSDL 来描述接口,与 CORBA 中的 IDL(接口描述语言)相比,它动态性更强、灵活度更高。 SOA 还具有管理上的优点。例如,现在管理员可直接管理开发人员所构建的相同服务,这远胜于以往管理单个应用的方式。通过分析服务间的交
34、互,SOA 可以帮助企业了解何时以及什么业务逻辑被切实执行了,这使管理员能够有针对性地优化业务流程。 问题 3 第三个问题是一个安全性试题,考生可以从网络安全、信息安全、交易安全等方面进行回答。具体的安全性问题,请读者阅读本书第 5 章的相关内容。某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:在线交易平台必须在 1s 内完成客户的交易请求。该平台必须保证客户个人信息和交易信息的安全。当发生故障时,该平台的平均故障恢复时间必须小于 10s。由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加
35、新功能或进行硬件升级必须在 6 小时内完成。针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。(分数:8.00)(1).软件质量属性是影响软件架构设计的重要因素。请用 200 字以内的文字列举 6 种不同的软件质量属性名称,并解释其含义。(分数:4.00)_正确答案:(常见的软件质量属性有多种,例如,性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(
36、Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。 这些质量属性的具体含义如下: 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。 可用性是系统能够正常运行的时间比例。 可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。 健壮性是指在处理或环境中,系统能够承受压力或变更的能力。 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。 可修改性是指能够快速地以较高的性能价格比对系
37、统进行变更的能力。 可变性是指体系结构经扩充或变更成为新体系结构的能力。 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。功能性是系统所能完成所期望工作的能力。 *互操作性是指系统与外界或系统与系统之间的相互作用能力。)解析:(2).请对该在线交易平台的 4 个要求进行分析,用 300 字以内的文字指出每个要求对应何种软件质量属性:并针对每种软件质量属性,各给出 2 种实现该质量属性的架构设计策略。(分数:4.00)_正确答案:(在线交易平台必须在 1s 内完成客户的交易
38、请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。 当发生故障时,该平台的平均故障恢复时间必须小于 10s。该要求主要对应可用性,可以采用的架构设计策略有 Ping/Echo、心跳、异常和主动冗余等。 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新
39、功能或进行平台升级必须在 6 小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。)解析:解析 这是一道软件质量特性的试题,软件质量特性是软件架构以及软件架构设计师的一个重要关注点。因为如果在软件架构的设计阶段不考虑软件质量特性,则产生的软件质量隐患是在后期的设计与开发中无法弥补的。 软件质量特性主要包括以下几个方面。 功能性:系统所能完成期望工作的能力。 性能:系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。 可用性:系统能够正常运行的时间比例。 可靠性:软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。 健壮性:在处理或环境中,系统能够承受压力或变更的能力。 安全性:系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。 可修改性:能够快速地以较高的性能价格比对系统进行变更的能力。 可变性:体系结构经扩充或变更成为新体系结构的能力。 易用性:衡