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

news2024/9/20 20:26:41

目录

案例

【题目】

【问题 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言典型例题57

《C程序设计教程(第四版)——谭浩强》 例题4.9 判断整数是否为素数 代码: //《C程序设计教程(第四版)——谭浩强》 //例题4.9 判断整数是否为素数//【数学知识】素数:一个大于1的自然数,如果只…

我从obsidian 转入 语雀 了

遇到的问题倒是不多,这里记录一下: 1. wiki链接转markdown 用vscode打开ob工作区文件夹,利用正则表达式,替换链接 \[\[(.*?)\]\][$1](../_resources/$1) 我的图片都存在_resources文件夹里 其中ob的json,还有插件的…

JavaEE:多线程代码案例(定时器)

文章目录 定时器介绍Java标准库中的定时器定时器的实现 定时器 介绍 除了之前说过的单例模式,阻塞队列,线程池以外,定时器也是我们日常开发中常用的代码~ 定时器相当于"闹钟".在现实生活中,当闹钟响时,我们就需要去完成一些事情. 同理,在代码中,也经常需要"闹…

力扣406-根据身高重建队列(java详细题解)

题目链接:406. 根据身高重建队列 - 力扣(LeetCode) 前情提要: 因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。 贪心方法:局部最优推出全局最优。 如果一个题你觉得可以用局部最优推出全局最优&…

【自用16.】C++类

类的构成 类的设计 代码demo #include <iostream> #include <Windows.h> #include <string>using namespace std;// 定义一个“人类” class Human { public: //公有的&#xff0c;对外的void eat(); //方法&#xff0c; “成员函数”void sleep();void …

从零开始搭建本地安全 AI 大模型攻防知识库

本文将系统分享从零开始搭建本地大模型问答知识库过程中所遇到的问题及其解决方案。 1 概述 目前&#xff0c;搭建大语言问答知识库能采用的方法主要包括微调模型、再次训练模型以及增强检索生成&#xff08;RAG&#xff0c;Retrieval Augmented Generation&#xff09;三种方…

51单片机-定时器介绍

时间&#xff1a;2024.8.31 作者&#xff1a;Whappy 目的&#xff1a;手撕51 代码&#xff1a; 现象&#xff1a;

【fastapi】fastapi的hello world

新建这样的目录结构 main.py的代码如下 from fastapi import FastAPI from fastapi.templating import Jinja2Templatesapp FastAPI()# 初始化 Jinja2 模板引擎 templates Jinja2Templates(directory"templates")app.get("/") async def home():contex…

AI编码新时代:免费人工智能助手Blackbox AI

前言&#xff1a; 在当今快速发展的科技时代&#xff0c;人工智能已经渗透到我们生活的方方面面&#xff0c;从智能手机的语音助手到智能家居控制系统&#xff0c;再到在线客服和个性化推荐算法&#xff0c;AI智能工具正变得越来越普遍。它们以其高效、智能和用户友好的特性&am…

已成功入职小米大模型岗!!大模型面试其实挺水的,hr听到这些直接过

小米大模型面试180题 1、目前比较受欢迎的开源大模型有哪些&#xff1f; GPT系列&#xff1a;由OpenAl开发的生成式预训练模型&#xff0c;如 GPT-3。 BERT系列&#xff1a;由Google开发的转换式预训练模型&#xff0c;如BERT、RoBERTa等。 T5系列&#xff1a;由Google开发的基…

Docker 实战加速器(紧急情况!镜像库全面失效,一招解决Docker无法下载)

现象: Docker 加速器原理 Docker 镜像加速器可以帮助你更快地从 Docker Hub 或其他镜像仓库下载镜像,特别是在网络环境较差或访问 Docker Hub 较慢的情况下。常见的加速器提供商包括阿里云、网易云等。 Docker 加速器原理 Docker 镜像加速器通过在本地设置一个代理服务器,…

【ubuntu笔记】Ubuntu下SourceInsight 4.x中文乱码问题

Options->Preferences->Files&#xff0c;最底部有个Default Encoding选项&#xff0c;选择UTF-8 Options->Preferences->Syntax Decorations->File Types->Screen Font&#xff0c;选择一个可以显示中文的字体&#xff0c;例如"文泉驿等宽微米黑"…

wsl下将Ubuntu从c盘移动到其他盘

一、概述 因为自己的C盘内存不足&#xff0c;加上之后需要在Ubuntu下面下载许多的内容和东西&#xff0c;需要将其移动到d盘上面&#xff0c;这样可以拥有更大的空间。这里记载了一下自己的操作过程。 二、具体步骤 &#xff08;一&#xff09;过程 1.查看当前系统中wsl分发版…

在uni-app中使用SQLite

目录 1、引入sqlite模块 2、sqlite文件结构 3、初始化文件index.js 4、打开数据库 5、查询数据 6、可视化测试 SQLite是一个进程内的库&#xff0c;实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库&#xff0c;这意味着与其他…

【网络安全】服务基础第一阶段——第八节:Windows系统管理基础---- Web服务与虚拟主机

目录 一、WWW概述 1.1 HTML 1.2 URI与URL 1.2.1 URL&#xff08;统一资源标识符&#xff0c;Uniform Resource Locator&#xff09; 1.3 HTTP 1.3.1 HTTP请求&#xff1a; 1.3.2 HTTP响应 1.3.3 状态码 1.4常见Web URL格式 实验一、网站搭建 1&#xff09;访问失败可…

实训day29(8.15)

一、python管理mysql 1、搭建主mysql [rootmysql57 ~]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz [rootmysql57 ~]# cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql [rootmysql57 ~]# rm -rf /etc/my.cnf [rootmysql57 ~]# mkdir /usr/local/mysql…

DCB简介

DCB协议组主要用于构建无丢包以太网&#xff0c;以满足数据中心网络融合后的QoS需求。 数据中心网络融合后&#xff0c;LAN、SAN和IPC流量的QoS需求上存在较大的差异&#xff1a; SAN流量对丢包很敏感且要求报文在传输过程中是保序的。LAN流量允许丢包&#xff0c;只需要设备…

MySQL基础学习:MySQL主从复制如何实现

这里写自定义目录标题 一、为什么使用MySQL主从二、主从复制原理是什么三、如何保证主从一致 一、为什么使用MySQL主从 保证服务的高可用&#xff1a;当主机宕机的时候可以选择一个从节点作为主节点&#xff0c;保证了我们服务的高可用。保证容灾备份&#xff1a;主库上的磁盘…

每日AIGC最新进展(54):中科大提出Pose引导的图像生成模型、韩国科技学院提出发型控制模型、北大提出风格生成数据集CSGO

Diffusion Models专栏文章汇总&#xff1a;入门与实战 GRPose: Learning Graph Relations for Human Image Generation with Pose Priors 在过去的研究中&#xff0c;基于扩散模型的人工生成技术在根据特定条件合成高质量人像方面取得了显著进展。然而&#xff0c;尽管之前的方…

【算法】前缀和例题讲解

例一&#xff1a; 724. 寻找数组的中心下标 思路&#xff1a; 典型的前缀和题目&#xff0c;我们只需要创建前缀和数组和后缀和数组&#xff0c;然后一一寻找两者相等的下标即可。 代码&#xff1a; class Solution { public:int pivotIndex(vector<int>& nums) …