问答题 阅读以下关于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数据库作为底层存储。
问答题 [问题1]Scrum项目管理软件需真实模拟Serum敏捷开发流程,请根据你的理解完成图5—1给出的Scrum敏捷开发状态图,填写其中(1)~(5)的内容。
【正确答案】正确答案:(1)制定Product Backlog (2)Sprint计划会议 (3)每日站立会议 (4)Product Backlog中还有未完成的用户故事 (5)已交付Product Backlog中的所有用户故事
【答案解析】
问答题 [问题2]根据题干描述,本系统采用MVC架构模式,请从备选答案a~n中分别选出属于MVC架构模型中的模型(Model)、视图(View)和控制器(Controler)的相关内容描述填入表5—1的空(1)~(3)处。备选答案:
【正确答案】正确答案:(1)b,c,d,h,k,1,m,n (2)a,f (3)e,j 注:各空中的项没有次序要求
【答案解析】
问答题 [问题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如下表所示。