下半年系统架构设计师案例分析报告.docx
《下半年系统架构设计师案例分析报告.docx》由会员分享,可在线阅读,更多相关《下半年系统架构设计师案例分析报告.docx(12页珍藏版)》请在冰豆网上搜索。
下半年系统架构设计师案例分析报告
全国计算机技术与软件专业技术资格(水平)考试
2015年下半年系统架构设计师下午试卷I
(考试时间14:
00~16:
30共150分钟)
请按下述要求正确填写答题纸
1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。
2.在答题纸的指定位置填写号、出生年月日和。
3.答题纸上除填写上述容外只能写解答。
4.本试卷共5道题,试题一是必答题,试题二至试题五选答1道。
每题15分,满分75分。
5.解答时字迹务必清楚,字迹不清时,将不评分。
6.仿照下面例题,将解答写在答题纸的对应栏。
例题
2015年下半年全国计算机技术与软件专业技术资格(水平)考试日期是
(1)
月
(2)日。
因为正确的解答是“11月4日”,故在答题纸的对应栏写上“11”和“4”
(参看下表)。
例题
解答栏
(1)
11
(2)
4
试题一是必答题
试题一
【说明】
某软件公司拟为某市级公安机关开发一套特种车辆管理与监控系统,以提高特种车辆管理的效率和准确性。
在系统需求分析与架构设计阶段,用户提出的部分需求和关键质量属性场景如下:
(a)系统用户分为管理员、分管领导和普通民警等三类;
(b)正常负载情况下,系统必须在0.5秒对用户的车辆查询请求进行响应;
(c)系统能够抵御99.999%的黑客攻击;
(d)系统的用户名必须以字母开头,长度不少于5个字符;
(e)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;
(f)网络失效后,系统需要在2分钟发现并启用备用网络系统;
(g)在系统升级时,需要保证在1个月添加一个新的消息处理中间件;
(h)查询过程中涉及到的车辆实时视频传输必须保证20帧/秒的速率,且画面具有600*480的分辨率;
(i)更改系统加密的级别将对安全性和性能产生影响;
(j)系统主站点断电后,需要在3秒将请求重定向到备用站点;
(k)假设每秒中用户查询请求的数量是10个,处理请求的时间为30毫秒,则“在1秒完成用户的查询请求”这一要可以实现的;
(l)对用户信息数据的授权访问必须保证99.999%的安全性;
(m)目前对“车辆信息实时监控”业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;
(n)更改系统的Web界面接口必须在1周完成;
(o)系统需要提供远程调试接口,并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。
公司目前正在组织系统开发的相关人员对系统架构进行评估。
【问题1】
在架构评估过程中,质量属性效用树(utilitytree)是对系统质量属性进行识别和优先级排序的重要工具。
请给出合适的质量属性,填入图1-1中
(1)、
(2)空白处;并选择题干描述中的(a)~(o),将恰当的序号填入(3)~(6)空白处,完成该系统的效用树。
【问题2】
在架构评估过程中;需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。
请用300字以的文字给出系统架构风险、敏感点和权衡点的定义,并从题干描述中的(a)~(o)各选出1个属于系统架构风险、敏感点和权衡点的描述。
从下列的4道试题(试题二至试题五)中任选2道解答。
如果解答的试题数超过2道,则题号小的2道解答有效。
试题二
【说明】
某公司拟研制一款高空监视无人直升机,该无人机采用遥控一自主复合型控制实现垂直升降。
该直升机飞行控制系统由机上部分和地面部分组成,机上部分主要包括无线电传输设备、飞控计算机、导航设备等,地面部分包括遥控操纵设备、无线电传输设备以及地面综合控制计算机等。
其主要工作原理是地面综合控制计算机负责发送相应指令,飞控计算机按照预定程序实现相应功能。
经过需求分析,对该无人直升机控制系统纵向控制基本功能整理如下:
(a)飞控计算机加电后,应完成系统初始化,飞机进入准备起飞状态;
(b)在准备起飞状态中等待地面综合控制计算机发送起飞指令,飞控计算机接收到起飞指令后,进入垂直起飞状态;
(c)垂直起飞过程中如果飞控计算机发现飞机飞行异常,飞行控制系统应转入无线电遥控飞行状态,地面综合控制计算机发送遥控指令;
(d)垂直起飞达到预定起飞高度后,飞机应进入高度保持状态;
(e)飞控计算机在收到地面综合控制计算机发送的目标高度后,飞机应进入垂直升降状态,接近目标高度;垂直升降过程中出现飞机飞行异常,控制系统应转入无线电遥控飞行;
(f)飞机到达目标高度后,应进入高度保持状态,完成相应的任务;
(g)飞机在接到地面综合控制计算机发送的任务执行结束指令后,进入飞机降落状态;
(h)飞机降落过程中如果出现飞机飞行异常,控制系统应转入无线电遥控飞行;
(i)飞机降落到指定着陆高度后,进入飞机着陆状态,应按照预定着陆算法,进行着陆;
(j)无线电遥控飞行中,地面综合控制计算机发送着陆指令,飞机进入着陆状态,应按照预定着陆算法,进行着陆。
【问题1】
状态图和活动图是软件系统设计建模中常用的两种手段,请用200字以文字简要说明状态图和活动图的含义及其区别。
【问题2】
根据题干中描述的基本功能需求,架构师王工通过对需求的分析和总结给出了无人直升机控制系统纵向控制状态图(图2-1)。
请根据题干描述,提炼出相应状态及条件,并完善图2-1所示状态图中的
(1)~(5),将答案填写在答题纸中。
【问题3】
根据题目中描述的基本功能需求,架构师王工给出了无人直升机控制系统纵向控制的顶层活动图(图2-2)。
请根据题干描述,完善图2-2活动图的
(1)-(9),将答案填写在答题纸中。
试题三
某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。
公司领导非常重视软件可靠性工作,决定抽调王工程师等5人组建可靠性研究团队,专门研究提高本公司宇航装备的系统可靠性和软件可靠性问题,并要求在三个月,给出本公司在系统和软件设计方面如何考虑可靠性设计的方法和规。
可靠性研究团队很快拿出了系统及硬件的可靠性提高方案,但对于软件可靠性问题始终没有研究出一种普遍认同的方法。
【问题1】
请用200字以文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术?
【问题2】
王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。
软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。
除非祓修改,否则软件系统不会随着时间的推移而发生退化。
请根据你对软件可靠性的理解,给出表3-1所列出的硬件可靠性特征对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。
表3-1硬件和软件可靠性对比
【问题3】
王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。
研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。
飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统完成输入数据的交叉对比、表决‘制导率计算,输出数据的交叉对比、表决、一输出等功能,系统的监控模块实现对系统失效或失步的检测与宠位。
其软件的可靠性设计包括恢复块方法和N版本程序设计方法。
请根据恢复块方法工作原理完成图3-1,在
(1)~(4)中填入恰当的容。
并比较恢复块方法与N版本程序设计方法,将比较结果(5)~(8)填入表3-2中。
表3-2恢复块方法与N版本程序设计的比较
试题四
【说明】
某软件公司拟开发一套贸易综合管理系统,包括客户关系管理子系统和商品信息管理子系统两部分。
客户关系管理子系统主要管理客户信息,并根据贸易业务需要频繁向客户发送相关的电子、短信等提醒信息。
商品信息管理子系统主要为客户提供商品信息在线查询功能,包括商品基本信息、实时库存与价格等。
在对系统进行数据架构设计时,公司项目组的架构师王工主采用文件系统进行数据管理,原因是目前公司客户和商品数量不大,且系统功能较为简单,采用文件系统进行数据管理简单直观,开发周期短。
架构师工则建议采用关系数据库进行数据管理,原因在于公司目前正处在高速扩期,虽然目前的客户和商品数量不大,但随着公司快速发展,需要管理的数据必然飞速膨胀,采用关系数据库作为数据存储层,系统的扩展性更强,并能够对未来可能增加的复杂业务提供有效支持。
经过讨论,项目组初步采纳了工的意见,决定采用关系数据库存储客户数据,并针对业务特征对系统性能进行优化。
【问题1】
请从设计难度、数据冗余程度、数据架构、应用扩展性等4个方面对关系型数据库管理系统和文件系统两种数据存储方式进行比较,填写表4-1中
(1)~(4)。
表4-1关系型数据库管理系统和文件系统存储方式比较
【问题2】
对系统的核心业务需求进行认真分析后,公司的资深架构师工提出一种存数据库和关系数据库的混合存储架构,其核心思想是将需要频繁读写的数据存入存数据库,而将相对固定不变的数据存入关系数据库。
请首先分析比较存数据库和关系数据库在数据模型、读写性能、存储容量、可靠性等方面的差异,填写表4-2中
(1)~(4)的空白,并根据工的思路指定各种业务数据的存储方式,填写表4-3中(5)~(9)中的空白。
【问题3】
系统开发完成进行压力测试时,发现在较大数据量的情况下,部分业务查询响应时间过长,经过分析发现其主要原因是部分SQL查询语句效率低下。
请判断表4-4中的SQL语句设计策略哪些可能会提升查询效率,哪些可能会降低查询效率,在
(1)~(4)中填入“提升”或“降低”。
表4-4SQL设计策略对性能的影响
试题五
【说明】
某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。
该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。
为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级JavaEE开发框架设计系统应用架构。
在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括:
(1)项目开发采用MySQL数据库存储数据,一但将来可能移植到其它数据库平台;
(2)系统开发过程中尽可能降低或者消除SQL语句开发的工作量;
(3)投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。
项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。
在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。
【问题1】
请用300以文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处?
【问题2】
针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?
请用200字以文字说明其采用该技术的原因。
【问题3】
数据持久层是Web应用系统框架中重要的组成部分,主流的数据持久层技术分别基于不同的技术方案,请在表5-1中
(1)-(4)处分别根据(a)~(d)所列技术的方案类别填入其序号。
表5-1数据持久层技术分类
(a)BMP,CMP
(b)iBatis/MyBatis
(c)SprmgJdbcTemplate
(d)TopLink,JDO,Hibernate