阅读以下关于Scrum敏捷开发过程的叙述,在答题纸上回答问题1至问题3。 [说明] Scrum是一个增量的、迭代的敏捷软件开发过程。某软件公司计划开发一个基于Web的Scrum项目管理系统,用于支持项目团队采用Scrum敏捷开发方法进行软件开发,辅助主管智

admin2017-11-28  38

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

备选答案:

选项

答案(1)d或f (2)f或d (3)h (4)e (5)a (6)k (7)J (8)b (9)c 注:(1)、(2)答案可互换,但不能重复选择。

解析 本题考查Web系统架构设计的相关知识。此类题目要求考生认真阅读题目,根据实际系统的需求描述,进行Web系统架构的设计。
[问题1]
本问题考查对Web系统的动态行为进行建模的相关知识。
状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在于描述状态图的控制流。
因此,基于题目描述的Serum敏捷开发流程,对该Scrum项目管理系统中动态行为进行建模,(1)(2)(3)对应的状态应为“制定Product Backlog”“Sprint计划会议”“每日站立会议”,(4)(5)对应的使状态发生改变的事件为“Product Backlog中还有未完成的用户故事”“已交付Product Backlog中的所有用户故事”。
[问题2]
本问题考查MVC架构模式在Web系统设计中的应用。MVC是一种目前广泛流行的软件体系结构,该架构模式的三个基本组件包括模型(Model)、视图(View)和控制器(Controller)。
模型(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。Model有对数据直接访问的权利,例如对数据库的访问。Model不依赖View和Controller,也就是说,Model不关心它会被如何显示或是如何被操作。但是Model中数据的变化一般会通过一种刷新机制被公布。为了实现这种机制,那些用于监视此:Model的View必须事先在此Model上注册,从而,View可以了解在数据Model上发生的改变。视图(View)能够实现数据有目的的显示。在View中一般没有程序上的逻辑。为了实现View上的刷新功能,View需要访问它监视的数据模型(:Model),因此应该事先在被它监视的数据那里注册。控制器(Controller)起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据Model上的改变。
基于MVC架构模式的思想,Scrum敏捷开发管理系统中各元素分别对应于MVC中的Model、View、Controller如下表所示。

[问题3]
本题目考查层次式的Web系统设计方案和各层的具体实现技术的相关知识。
根据题干中的描述,该项目管理系统基于MVC架构设计,采用轻量级J2EE架构和SSH框架进行开发,使用MySQL数据库作为底层存储。在图5.2给出的系统架构图的基础上,可以分析出该Scrum敏捷开发管理系统的层次系统架构包括5层,依次为视图层、Web层、Service层、DAO、Hibernate持久层和基于Mysql实现的数据库服务。
在视图层中,SiteMesh和jQuery是用户界面设计开发中的常用框架。SiteMesh是一个Web页面布局、装饰以及与现有Web应用集成的框架,有助于在由大量页面构成的项目中创建一致的页面布局和外观、一致的导航条、一致的布局方案等。jQuery是一个快速、简洁的JavaScript框架,它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互,jQuery具有独特的链式语法和短小清晰的多功能接口,具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展,拥有便捷的插件扩展机制和丰富的插件。
在Web层中,Strust2框架有效地支持了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),一旦执行结果返回结果字符串,ctionInvocation负责查找结果字符串对应的(Result),然后执行这个Result,Result会调用一些模版(JSP)来呈现页面。拦截器(Interceptor N)会再被执行,顺序和Action执行之前相反。最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。
转载请注明原文地址:https://kaotiyun.com/show/2AQZ777K
0

最新回复(0)