系统架构设计师培训——案例分析系统架构设计师1.案例分析大纲要求:1.系统规划系统项目的提出与可行性分析系统方案的制定、评价和改进新旧系统的分析和比较现有软件、硬件和数据资源的有效利用2.软件架构设计软件架构设计、XML技术、基于架构的软件开发过程软件质量属性、架构模型(风格)、特定领域软件架构基于架构的软件开发方法架构评估、软件产品线、系统演化系统架构设计师3.设计模式设计模式的概念、设计模式的组成、模式和软件架构设计模式分类、设计模式的实现4.系统设计处理流程设计、人机界面设计文件设计、存储设计数据库设计网络应用系统的设计系统运行环境的集成与设计中间件、应用服务器性能设计与性能评估系统转换计划系统架构设计师5.软件系统建模系统需求建模的作用和意义定义问题(目标、功能、性能等)与归结模型(静态结构模型、动态行为模型、物理模型)结构化系统建模、数据流图面向对象系统建模统一建模语言(UML)数据库建模、E-R图逆向工程系统架构设计师6.分布式系统设计分布式通信协议的设计基于对象的分布式系统设计基于Web的分布式系统设计基于消息和协同的分布式系统设计异构分布式系统的互操作性设计7.嵌入式系统设计实时系统和嵌入式系统特征实时任务调度和多任务设计中断处理和异常处理嵌入式系统开发设计系统架构设计师8.系统的可靠性分析与设计系统的故障模型和可靠性模型系统的可靠性分析和可靠度计算提高系统可靠性的措施系统的故障对策和系统的备份与恢复9.系统的安全性和保密性设计系统的访问控制技术数据的完整性数据与文件的加密通信的安全性系统的安全性设计系统架构设计师下午科目-案例题回答技巧系统架构设计师下午科目-案例题回答技巧1、案例题的判卷标准非常类似高中考试的政治题,只要踩到给分点就给分,说多或说错不扣分。2、案例题存在的普遍问题是:①密密麻麻写了一大片,但踩到的知识点太少;②答题缺乏术语,太口水化。3、给分点主要来源于各领域的知识点,一般每个案例题都只跟一个知识点相关,很少有跨多个知识点的题。4、答题技巧:①先判断可能与那个领域的知识点相关,然后每个知识点写一个小点,2~3句即可,多答几点,以加大踩到知识点的可能性,最后结合题目的情景发表一下自己的看法;②答题中尽量使用技术术语,这样可以提升判卷老师的印象分。系统架构设计师1、《软件架构设计》案例分析要点2009下半年试题I系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师2、《嵌入式系统设计》案例要点请详细阅读有关嵌入式软件架构设计方面的描述,回答问题1和问题2。在嵌入式系统中,软件采用开放式架构已成为新的发展趋势。软件架构设计的优劣将直接影响软件的重用和移植能力。某软件公司主要从事宇航领域的嵌入式软件研发工作。经过二十多年的发展,其软件产品已被广泛应用于各种航天飞行器中。该公司积累了众多成熟软件,但由于当初没有充分考虑软件的架构,原有软件无法被再利用,为适应嵌入式软件技术发展需要,该公司决策层决定成立宇航嵌入式软件开放式架构研究小组,为公司完成开放式架构的定义与设计,确保公司软件资源能得到充分利用。研究小组查阅了大量的国外资料和标准,最终将研究重点集中在了SAEAS4893《通用开放式架构(GOA.框架》标准,图中给出了GOA定义的架构图。系统架构设计师系统架构设计师[问题1]请用300字以内的文字简要说明开放式架构的四个基本特点。。[问题2]如图所示,GOA框架规定了软件、硬件和接口的结构,以在不同应用领域中实现系统功能。GOA框架规定了一组接口,其重要特点是建立了关键组件及组件间接口关系,这些接口的确定可用于支持软件的可移植性和可升级性,以满足功能增加和技术更新的要求。除操作系统服务与扩展操作系统之间的接口(3X)外,GOA将其他接口分为两类:即直接接口(iD(i=1,2,3,…))和逻辑接口(iL(i=1,2,3,…)),直接接口定义了信息传输方式;逻辑接口定义了对等数据交换的要求,逻辑接口没有定义真正的信息传输方式,其传输发生在一个或多个直接接口。根据图所标注的接口在框架中的具体位置,请填写表的(1)~(8)处空白。系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师3、《系统架构的选择》案例要点试题一(共25分)阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题3。某公司欲针对Linux操作系统开发一个KWIC(KeyWordinContext)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它的方法实现这一功能。在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。2010年下半年试题系统架构设计师[问题1](7分)在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。[问题2](12分)请完成表1-1中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。系统架构设计师[问题3](6分)图1-1是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)一(4)。系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师系统架构设计师4、《软件架构评估》案例分析要点试题一(共25分)阅读以下关于软件架构评估的说明,在答题纸上回答问题l和问题2。某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:(a)正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应;(b)信用卡支付必须保证99.999%的安全性;(c)对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;(d)网络失效后,系统需要在1.5分钟内发现错误并启用备用系统;(e)需要在20人月内为系统添加一个新的CORBA中间件;(f)交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率;(g)更改加密的级别将对安全性和性能产生影响;(h)主站点断电后,需要在3秒内将访问请求重定向到备用站点;2011年下半年试题系统架构设计师(i)假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的;(j)用户信息数据库授权必须保证99.999%可用;(k)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;(l)更改Web界面接口必须在4人周内完成;(m)系统需要提供远程调试接口,并支持系统的远程调试。在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。【问题1】(12分)在架构评估过程中,质量属性效用树(utilitytree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图1-1中(1)、(2)空白处;并选择题干描述的(a)~(m),填入(3)~(6)空白处,完成该系统的效用树。系统架构设计师系统架构设计师【问题2】(13分)在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。系统架构设计师系统架构设计师5、《系统安全性设计》案例要点试题二阅读以下关于电子政务系统安全体系结构的叙述,回答问题1、问题2和问题3。某城市计划建设电子政务系统,由于经费、政务应用成熟度、使用人员观念等多方面的原因,计划采用分阶段实施的策略来建设电子政务,最先建设急需和重要的部分。在安全建设方面,先投入一部分资金保障关键部门和关键信息的安全,之后在总结经验教训的基础上分2年逐步完善系统。因此,初步考虑使用防火墙、入侵检测、病毒扫描、安全扫描、日志审计、网页防篡改、私自拨号检测、PKI技术和服务等保障电子政务的安全。在—次关于安全的方案讨论会上,张工认为由于政务网对安全性要求比较高,因此要建设防火墙、入侵检测、病毒扫描、安全扫描、日志审计、网页防篡改、私自拨号检测系统,这样就可以全面保护电子政务系统的安全。李工则认为张工的方案不够全面,还应该在张工提出的方案基础上,使用PKI技术,进行认证、机密性、完整性和抗抵赖性保护。系统架构设计师【问题1】(8分)请用400字以内文字,从安全方面,特别针对张工所列举的建设防火墙、入侵检测、安全扫描、日志审计系统进行分析,评论这些措施能够解决的问题和不能解决的问题。【问题2】(9分)请用300字以内文字,主要从认证、机密性、完整性和抗抵赖性方面,论述李工的建议在安全上有哪些优点。【问题3】(8分)对于复杂系统的设计与建设,在不同阶段都有很多非常重要的问题需要注意,既有技术因素阻力,又有非技术因素阻力。请结合工程的实际情况,用200字以内文字,简要说明使用PKI还存在哪些重要的非技术因素方面的阻力。系统架构设计师系统架构设计师【问题1】——参考答案本问题假设:(1)整个开发实施两轮迭代;(2)每个任务都被划分为2个子任务(例如,实现可以划分为实现1和实现2),对应两轮迭代;(3)完成每个子任务需要花费24人天;(4)整个系统的集成测试、改正错误及验证需要花费48人天;(5)第一轮迭代结束时,形成版本v0.5;第二轮迭代结束时,整个系统的开发任务全部完成,形成版本v1.0。根据上述假设,给出采用迭代模型开发的各里程碑及其完成时间(标出在第几天完成)与交付产品。系统架构设计师【问题1】——参考答案本问题假设:(1)整个开发实施两轮迭代;(2)每个任务都被划分为2个子任务(例如,实现可以划分为实现1和实现2),对应两轮迭代;(3)完成每个子任务需要花费24人天;(4)整个系统的集成测试、改正错误及验证需要花费48人天;(5)第一轮迭代结束时,形成版本v0.5;第二轮迭代结束时,整个系统的开发任务全部完成,形成版本v1.0。根据上述假设,给出采用迭代模型开发的各里程碑及其完成时间(标出在第几天完成)与交付产品。系统架构设计师【问题1】——参考答案本问题假设:(1)整个开发实施两轮迭代;(2)每个任务都被划分为2个子任务(例如,实现可以划分为实现1和实现2),对应两轮迭代;(3)完成每个子任务需要花费24人天;(4)整个系统的集成测试、改正错误及验证需要花费48人天;(5)第一轮迭代结束时,形成版本v0.5;第二轮迭代结束时,整个系统的开发任务全部完成,形成版本v1.0。根据上述假设,给出采用迭代模型开发的各里程碑及其完成时间(标出在第几天完成)与交付产品。系统架构设计师【问题1】——参考答案本问题假设:(1)整个开发实施两轮迭代;(2)每个任务都被划分为2个子任务(例如,实现可以划分为实现1和实现2),对应两轮迭代;(3)完成每个子任务需要花费24人天;(4)整个系统的集成测试、改正错误及验证需要花费48人天;(5)第一轮迭代结束时,形成版本v0.5;第二轮迭代结束