2016年系统架构师案例分析试题五

目录

案例

【题目】

【问题 1】(10 分)

【问题 2】(6 分)

【问题 3】(9 分)

【答案】

【问题 1】解析

【问题 2】解析

【问题 3】解析

相关推荐


案例

        阅读以下关于 Scrum 敏捷开发过程的叙述,在答题纸上回答问题 1 至问题 3。

【题目】

        Scrum 是一个增量的、迭代的敏捷软件开发过程。某软件公司计划开发一个基于 Web 的 Scrum 项目管理系统,用于支持项目团队采用 Scrum 敏捷开发方法进行软件开发,辅助主管智能决策。此项目管理系统提供的主要服务包括项目团队的管理、敏捷开发过程管理和工件的管理。
        Scrum 敏捷开发中,项目团队由 Scrum 主管、产品负责人和开发团队人员三种不同的角色组成,其开发过程由若干个 Sprint(短的迭代周期,通常为 2 到 4 周)活动组成。
        Product Backlog 是在 Scrum 过程初期产生的一个按照商业价值排序的需求列表,该列表条目的体现形式通常为用户故事。在每一个 Sprint 活动中,项目团队从 Product Backlog 中挑选最高优先级的用户故事进行开发。被挑选的用户故事在 Sprint 计划会议上经过细化分解为任务,同时初步估算每一个任务的预计完成时间,编写 Sprint Backlog。
        在 Sprint 活动期间,项目团队每天早晨需举行每日站立会议,重新估算剩余任务的预计完成时间,更新 Sprint Backlog、Sprint 燃尽图和 Release 燃尽图。在每个 Sprint 活动结束时,项目团队召开评审会议和回顾会议,交付产品增量,总结 Sprint 期间的工作情况和问题。此时,如果Product Backlog 中还有未完成的用户故事,则项目团队将开始筹备下一个 Sprint 活动迭代。
        为完成 Scrum 项目管理系统,考虑到系统的智能决策需求,公司决定使用 MVC 架构模式开发该项目管理系统。具体来说,系统采用轻量级 J2EE 架构和 SSH 框架进行开发,使用 MySQL 数据库作为底层存储。

【问题 1】(10 分)

        Scrum 项目管理软件需真实模拟 Scrum 敏捷开发流程,请根据你的理解完成图 5-1 给出的Scrum 敏捷开发状态图,填写其中(1)~(5)的内容。

【问题 2】(6 分)

        根据题干描述,本系统采用 MVC 架构模式,请从各选答案 a~n 中分别选出属于 MVC 架构模型中的模型(Model)、视图(View)和控制器(Controler)的相关内容描述填入表 5-1 的空(1)~(3)处。 

【问题 3】(9 分)

        根据项目组给出的系统设计方案,将备选答案 a~l 的内容填写在图 5-2 中的空(1)~(9),完成
系统架构图。 

        备选答案

aStruts 2g模型层
bHibernate 持久层h控制层
c数据库服务(MySQL)iEJB
dSitemeshgWeb 层
e业务逻辑层k视图层
fJQuerylPostgreSOL

【答案】

【问题 1】解析

        状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在于描述状态图的控制流。

        因此,基于题目描述的 Scrum 敏捷开发流程,描述说明了 :
        Product Backlog 是在 Scrum 过程初期产生的。(1)~Product Backlog。
        被挑选的用户故事在 Sprint 计划会议上……。(2)~Sprint 计划会议。
        举行每日站立会议。(3)~每日站立会议。
        Product Backlog 中还有未完成的用户故事……。(4)~还有未完成的用户故事。
        交付产品增量,……。(5)~交付产品增量。

        答案:

        (1):Product Backlog。
        (2):Sprint 计划会议。
        (3):每日站立会议。
        (4):还有未完成的用户故事。
        (5):交付产品增量。

【问题 2】解析

        本问题考查 MVC 架构模式在 Web 系统设计中的应用。MVC 是一种目前广泛流行的软件体系结构,该架构模式的三个基本组件包括模型(Model)、视图(View)和控制器(Controller)。

        模型(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法Model有对数据直接访问的权利,例如对数据库的访问。Model不依赖 View 和 Controller也就是说, Model 不关心它会被如何显示或是如何被操作。但是 Model 中数据的变化般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此 Model 的 View必须事先在此 Model 上注册,从而,View 可以了解在数据 Model 上发生的改变。视图(View)能够实现数据有目的的显示。在 Vew 中一般没有程序上的逻辑。为了实现View 上的刷新功能,Vew 需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。控制器(Controller)起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据 Model 上的改变。
        基于 MVC 架构模式的思想,Scrum 敏捷开发管理系统中各元素分别对应于MVC 中的 Model、View、Controller 如下表所示。

        答案:

        (1):b、c、d、h、k、l、m、n
        (2):a、f
        (3):e,j

【问题 3】解析

        本题目考查层次式的 web 系统设计方案和各层的具体实现技术的相关知识。
        根据题干中的描述,该项目管理系统基于 MVC 架构设计,采用轻量级 J2EE 架构和SSH 框架进行开发,使用 MySOL, 数据库作为底层存储。在图 5-2 给出的系统架构图的基础上,可以分析出该 Scrum 敏捷开发管理系统的层次系统架构包括5层,依次为视图层、Web 层、Service 层、DAO、Hibernate 持久层和基于 MySQL 实现的数据库服务。

        在视图层中,SiteMesh 和jQuery 是用户界面设计开发中的常用框架。SiteMesh 是个 Web 页面布局、装饰以及与现有 Web 应用集成的框架,有助于在由大量页面构成的项目中创建一致的页面布局和外观、一致的导航条、一致的布局方案等。iQuery 是一个快速、简洁的 JavaScript 框架,它封装 JavaScript 常用的功能代码,提供一种简便的JavaScript 设计模式,优化 HTML 文档操作、事件处理、动画设计和 Ajax 交互,jQueny具有独特的链式语法和短小清晰的多功能接口,具有高效灵活的 CSS 选择器,并且可对CSS 选择器进行扩展,拥有便捷的插件扩展机制和丰富的插件。
        在 Web 层中,Stust2 框架有效地文持了 MVC 架构中控制业务逻辑与表现层中的交互。Struts2是轻量级的MVC框架,在Struts2中当Web容器收到请求(HttpServletRequest),它将请求传递给一个标准的过滤链包括 ActionContextCleanUp 过滤器。经过 Other filters(SiteMesh 等),需要调用 FilterDispatcher 核心控制器,然后它调用 ActionMapper 确定请求哪个 Action,ActionMapper 返回一个收集 Action 详细信息的 ActionMaping 对象。FilterDispatcher 将控制权委派给 ActionProxy, ActionProxy 调用配 置 管理 器(ConfigurationManager)从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation 对象。ActionInvocation 在调用 Action 之前会依次调用所用配置拦截器(Interceptor N),一旦执行结果返回结果字符串,ActionInvocation 负责查找结果字符串对应的(Result),然后执行这个 Result,Result 会调用一些模版(JSP)来呈现页面。拦截器(Interceptor N)会再被执行,顺序和 Action 执行之前相反。最后响应(HttpServletResponse)被返回在 web.xml 中配置的那些过滤器和核心控制器(FilterDispatcher)。

        答案:

        (1) d、(2) f、(3) h、(4) g、(5) a
        (6) k、(7) h、(8) b、(9) c。

        1、2答案可互换,但不能重复选择

        博主这道题估摸着能拿个十二三分的样子,作为备选。案例分析五选三,如果实在没得选还是可以选一下的。

相关推荐

【系统架构设计师】十一、系统架构设计(层次架构风格|MVC|面向服务的架构风格|ESB)-CSDN博客文章浏览阅读1.3k次,点赞25次,收藏25次。三层C/S架构:将处理功能独立出来,表示层和数据层都变得简单。表示层在客户机上,功能层在应用服务器上,数据层在数据库服务器上。既然将两层C/S架构中的数据从服务器中独立出来了。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。企业服务总线ESB:简单来说是一根管道,用来连接各个服务节点。ESB的存在是为了集成基于不同协议的不同服务,ESB 做了消息的转化、解释以及路由的工作,以此来让不同的服务互联互通。_系统架构设计师 架构设计风格https://shuaici.blog.csdn.net/article/details/140383777根据 Web 服务器端的架构相关知识,将PHP改JAVA重构企业网站系统-CSDN博客文章浏览阅读2.1k次,点赞65次,收藏46次。2016年系统架构师案例分析试题四。应用服务器是指通过各种协议把商业逻辑暴露给客户端的程序。应用服务器通过分布式体系来保障系统在大负荷和长时间运行下的稳定性以及可扩展性:当系统处理能力不够时,通过简单增加硬件来解决,提供水平可扩展性;动态调整不同主机间的负载可以最大限度地利用资源,提供单机稳定性;动态调整主机工作职能,当系统中某台机器出现故障时,它的工作可由其他机器承担,不会影响系统整体的运行,没有单点故障。https://shuaici.blog.csdn.net/article/details/141397152使用MVC设计模式根据软件系统设计建设高校数字化教育教学资源共享平台-CSDN博客文章浏览阅读1k次,点赞51次,收藏37次。MVC 架构包含的三种元素是:模型、视图、控制器。模型负责提供操作数据对象;视图负责提供用户操作界面;控制器负责按照输入指令和业务逻辑操作数据对象,并产生输出。EJB 中的 Bean 分三种类型:Session Bean 的职责是:维护一个短暂的会话。Entity Bean 的职责是:维护一行持久稳久稳固的数据。Message-Driven Bean 的职责是:异步接受消息。https://shuaici.blog.csdn.net/article/details/141433695

评论 59
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅次

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值