好文档 - 专业文书写作范文服务资料分享网站

2016年系统架构师考试科目二:案例分析 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

2016年系统架构师考试科目二:案例分析

1. 阅读以下关于软件架构评估的叙述,任答题纸上回答问题1和问题2. 【题目】

某软件公司为某品牌手机厂商开发一套手机应用程序集成开发环境,以提髙开发手机应用 程序的质量和效率。在项目之初,公司的系统分析师对该集成开发环境的需求进行了调研 和分析,具体描述如下:

a. 需要同时支持该厂商自行定义的应用编程语言的编辑、界而可视化设汁、编译、调 试等模块,这些模块产生的模型或数据格式差异较大,集成环境应提供数据集成能力。集 成开发环境还要支持以适配方式集成公司现有的应用模拟器工具。

b. 经过调研,手机应用开发人员更倾向于使用Windows系统,因此集成开发环境的 界面需要与Windows平台上的主流开发工具的界而风格保持一致。

C.支持相关开发数据在云端存储,需要保证在云端存储数据的机密性和完整性。

d. 支持用户通过配苣界而依据自己的喜好修改界而风格,包括颜色、布局、代码高亮 方式等,配置完成后无需重启环境匚

e. 支持不同模型的自动转换。在初始需求中立义的机器性能条件下,对于一个包含 50个对象的设计模型,将其转换为相应代码框架时所消耗时间不超过5秒。

f. 能够连续运行的时间不小于240小时,意外退出后能够在10秒之内自动重启。 g. 集成开发环境具有模块化结构,支持以模块为单位进行调试、测试与发布。

h. 支持应用开发过程中的代码调试功能:开发人员可以设置断点,启动调试,编辑器 可以自动卷屏并命中断点,能通过变量监视器查看当前变量取值。

在对需求进行分析后,公司的架构师小张査阅了相关的资料,认为该集成开发环境应 该采用管道一过滤器(Pipe-Filter)的架构风格,公司的资深架构师王工在仔细分析后,认为 应该釆用数据仓^(Data Repository)的架构风格。公司经过评审,最终采用了王工的方案。 【问题1】(10分)

识別软件架构质量属性是进行架构设汁的重要步骤。请分析题干中的需求描述,填写表1- 1中(1)?(5)处的空白。

表1?1质虽屈性识别表 质量属性名称 可用性 (2) 可修改性 可测试性 安全性 易用性 【问题1解析】

需求描述编号 (1) e (3) (4) C

(5) 常用的质量属性包括:性能、可靠性、可用性、安全性、可修改性.易用 性可得描述编号c描述的为性能方而。所以(2)为性能。 ⑴~(f)、(3)~(g)、(4)~(h)、(5Hb)o 【问题2】(7分)

请在阅读题干需求描述的基础上,从交互方式、数据结构、控制结构和扩展方法4个方而

对两种架构风格进行比较,填写表1?2中⑴?⑷处的空白。 表1-2两种架构的比较 比较因素 交互方式 数据结构 控制结构

管道一过滤器风格 顺序结构或有限的循环结构 (2) (3) 接口适配 数据仓储风格 (1) 文件或模型 业务功能驱动 (4) 扩展方法 【问题2解析】

(1) (2) (3) (4)

星型(工具之间通过中心结点进行交互) 数据流(或流式数据) 数据驱动

模型适配(即大家都与中心结点进行数据适配) 【问题3】(8分)

在确定采用数据仓库架构风格后,王工给出了集成开发环境的架构图。请填写图1-1中(1)? (4)处的空白,完成该集成开发环境的架构图。

1-1集成开发环境架构图

【问题3解析】

要填充这个图,首先得想明白的是,这个环境中,仓库的中心是数据,数据对应的是语 法结构树,因为?系列的处理都是以此为依据来进行的。接下来找出与编译器同等地位的其 它处理工具即可.

(1) 语法结构树

(2) 编辑器 (3) 适配器

(4) 应用模拟器工具

2. 阅读以下关于软件系统建模的叙述,在答题纸上回答问题1至问题30 【题目】

某软件公司汁划开发一套教学管理系统,用于为髙校提供教学管理服务。该教学管理系统 基本的需求包括:

(1) 系统用户必须成功登录到系统后才能使用系统的各项功能服务;

(2) 管理员(Registrar)使用该系统管理学校(University)系(Department)教师(Lecturer)、 学生(Student)和课程(Course)等教学基础信息;

(3) 学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分:如果考试 不及格,必须参加补考,通过后才能获得课程学分;

(4) 教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生劣单; (5) 管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息: (6) 每个月到了月底系统会通过打印机打印学生的考勤信息。

项目组经过分析和讨论,决圧采用而向对象开发技术对系统各项需求建模。 【问题1】(7分)

用例建模用来描述待开发系统的功能需求,主要元素是用例和参与者。请根据题目所述需求, 说明教学服务系统中有哪些参与者。 【问题1解析】

参与者是指系统以外的,需要使用系统或与系统交互的事物,包括:人或组织、设备、 外部系统等。在本题中,较为容易识别的参与者包括:学生.教师、管理员,比较隐晦的参 与者包括:时间、打印机。 【问题2】(7分)

用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之?。请指出在面向对 象系统建模中,用例之间的关系有哪几种类型?对题目所述教学服务系统的需求建模 时,“登录系统”用例与\注册课程”用例之间、\参加考试”用例与“参加补考”用例 之间的关系分别属于哪种类型? 【问题2解析】

用例之间的关系包括:包含.扩展、泛化。

“登录系统”用例与“注册课程”用例之间的关系为:包含关系。 “参加考试”用例与“参加补考”用例之间的关系为:扩展关系。 【问题3】(11分)

类图主要用来描述系统的静态结构,是组件图和配置图的基础。请指出在面向对象系统建 模中,类之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,类University 与类Student之间、类University和类Department之间、类Student和类Course之间的关系 分别属于哪种类型?

类之间的关系包括:关联、聚合、组合、依赖、泛化、实现(可写可不写,因为实现是 接口与类之间的关系,而接口是一种特殊的类)

类University与类Studem之间的关系是:聚合关系(整体与部分的关系,整体与部分 可以分开,生命周期不同,因为Student不仅在高校,也可以在小学等

类University与类Department之间的关系是:组合关系(也是整体与部分的关系,但是 整体与部分不可以分开,生命周期相同,题目中的系一般只有髙校才有)。

类Student与类Course之间的关系是:关联关系。

3. 阅读以下关于嵌入式实时系统设计的描述,回答问题1至问题3。 【题目】

嵌入式系统是肖前航空、航天、船舶及工业、医疗等领域的核心技术,嵌入式系统可包括 实时系统与非实时系统两种。某宇航公司长期从事航空航天飞行器电子设备的研制工作.

随着业务的扩大,需要大量大学毕业生补充到科研生产部门。按照公司规左,大学毕业生 必须进行相关基础知识培训,为此,公司经理安排王工对他们进行了长达一个月的培训。

【问题1】(7分) 王工在培训中指出:攸入式系统主要负贵对设备的各种传感器进行管理与控制。而航空航天飞 行器的电了?设备由于对时间具有很强的敏感性,通常由嵌入式实时系统进行管控,请用

300字以内文字说明什么是实时系统,实时系统有哪些主要特性。 【问题1解析】

实时系统是指向系统发出一指令后,在一个极短的时间内,系统回复结 果。实时系统的特性:

(1) 时间约束性(及时性) ⑵可预测性 (3) 高可靠性

(4) 与外部环境的交互作用性 (5) 多任务类型 (6) 约束的复杂性 (7) 具有短暂超载的特点 【问题2】(8分)

实时系统根据应用场景、时间特征以及工作方式的不同,存在多种实时特性,大致有三种 分类方法,即时间类別.时间需求和工作方式结构。根拯自己所掌握的“实时性”知识, 将图3?1给出的实时特性按三种分类方式,填写图3-1中(1)?(8)处空白。

备选答案:时限的危害程度;时间角色;弱:时间响应;固泄:时限/反应时间;时间明 确:输入/输出激励:时间触发;强:周期/零星/非周期:事件触发。

— 闾

类 别 对 间

15)

-t

—(2) —(3)

C1)

时简角色—

(4)

(6 )

—*

方 弍

图3?1实时特性分类图

【问题2解析】

时限的危害程度:强、弱.固左。

时间角色:时间响应、时间明确。

时间需求:时限/反应时间、输入/输岀激励.周期/零星/非周期。 工作方式:时间触发、事件触发。 【问题3】(10分)

可靠性是实时系统的关键特性之?,区分软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效 (Failure)概念是软件可靠性设计工作的基础。请简要说明错谋、缺陷、故障和失效的定义:并在 图3?2中标出错误、缺陷和失效出现阶段,说明缺陷、故障和失效的衣现形式,填写图 3-2中(1)-(6)处的空白。

BJ1-2 缺陷、失嫂关累阳

【问题3解析】

软件错误:软件错误是指在软件生存期内的不希望或不可接受的人为错误,其结果是 导致软件缺陷的产生。

软件缺陷:软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受 的偏差。

软件故障:软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。 软件失效:软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果。 ⑴存在 ⑵引起 ⑶用户经历

(4) 在开发过程中 (5) 在产品中 (6) 在运行时 2. 阅读以下关于应用服务器的叙述,,在答题纸上回答问题1至问题3。 【题目】

某电了产品制造公司,几年前开发建设了企业网站系统,实现了企业宣传、产品介绍.客 服以及售后服务等基本功能。该网站技术上采用了 Web服务器、动态脚本语言PHP。随着市场 销售渠道变化以及企业业务的急剧拓展,该公司急需建立完善的电子商务平台。

公司张工建议对原有网站系统进行扩展,增加新的功能(包括订单系统、支付系统、库 存管理等),这样有利于降低成本、快速上线:而王工则认为原有网站系统在技术上存在先 天不足,不能满足企业业务的快速发展,尤英是企业业务将服务全球,需要提供24小时不 间断服务,系统在大负荷和长时间运行下的稳左性至关重要。建议采用应用服务器的Web 开发方法,例如J2EE,为该企业重新开发新的电子商务平台。【问题1】(7分) 王工认为原有网站在技术上存在先天不足,不能满足企业业务的快速发展,根据你 的理解?请用300字以内的文字说明原系统存在哪几个方而的不足。【问题1解 析】

1> PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方而就比较强大, 可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分 开,而且现在不同的层都已经有一些成熟的开发框架的支持。

2、 PHP是面向过程的语言,Java是而向对象的,而向过程语言开发的程序只要业务流 程发生变化,修改工作量很大,所以可修改性差,同时可复用性也差。

3、 PHP语言在可靠性方而比J2EE平台差,J2EE平台有大量增强可靠性的成熟解决方 案,而PHP只是一种简单的脚本语言,在可靠性方面缺乏成熟解决方案。

4、 PHP对于不同的数据库采用不同的数据库访问接口,而Java通过JDBC来访问数 拯库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库,访问数据库的接口比 较统一。所以原架构在数据库连接方而修改起来工作量也是很大的。

5、 PHP适合于小型项目,所以本项目中以前采用PHP是合适的,但目前大呈功能需 要增加,PHP在稳左性方而也达不到要求。

5. PHP比Java的可维护性差。 7、 PHP比Java的扩展性差。 8、 PHP比Java的安全性差。 【问题2】(8分)

请简要说明应用服务器的概念,并重点说明应用服务器如何来保障系统在人负荷和长时间运 行下的稳定性以及可扩展性。 【问题2解析】

应用服务器是指通过各种协议把商业逻辑曝露给客户端的程序。

1、 若系统负荷很大,可以布署多台应用服务,多台应用服务器分担任务,以达到性能 要求。 2、 应用服务器可以通过灵活的增加服务器完成扩展,所以可扩展性很好。 3、 应用服务器可长时间稳泄运行。因为当一台应用服务器岀现故障时,可以将当前运 行的事务转移至正常应用服务器上完成执行,不影响业务正常执行,从而保障髙可靠性与 稳定性。 【问题3】(10分)

J2EE平台采用了多层分布式应用程序模型,实现不同逻辑功能的应用程序被封装到不同 的构件中,处于不同层次的构件可被分别部署到不同的机器中。请填写图4-1中(1)?(5)处 的空白,完成J2EE的N层体系结构。

客户端 浏菟器

Web Web服务器

DB

JSP ⑵

图4」J2EE的N层体系结构示意图

【问题3解析】

(l)Applet (2)Servlet (3)EJB 容器(4)ScssionBcan (5)EntityBcan

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

Scrum是一个增量的、迭代的敏捷软件开发过程。某软件公司计划开发一个基于Web 的Semin项目管理系统,用于支持项目团队采用Scrum敏捷开发方法进行软件开发,辅助 主管智能决策。此项目管理系统提供的主要服务包括项目团队的管理、敏捷开发过程管理 和工件的管理。 Scrum敏捷开发中,项目团队由Scrum主管、产品负责人和开发团队人员三种不同的 角色组成,其开发过程由若干个Sprint(短的迭代周期,通常为2到4周)活动组成。

Product Backlog是在Scrum过程初期产生的一个按照商业价值排序的需求列表,该列 表条目的体现形式通常为用戸故事。在每一个Sprint活动中,项目团队从Product Backlog 中挑选最髙优先级的用户故事进行开发。被挑选的用戸故事在Sprint计划会议上经过细化 分解为任务,同时初步估算每一个任务的预计完成时间,编写Sprint Backlog.

在Sprint活动期间,项目团队每天早晨需举行每日站立会议,重新估算剩余任务的预汁 完成时间,更新Sprint BacklogSprint燃尽图和Release燃尽图。在每个Sprint活动结束 时,项目团队召开评审会议和回顾会议,交付产品增量,总结Sprint期间的工作情况和问 题。此时,如果Product Backlog中还有未完成的用户故事,则项目团队将开始筹备下一个 Sprint活动迭代。

为完成Scrum项目管理系统,考虑到系统的智能决策需求,公司决左使用MVC架构 模式开发该项目管理系统。具体来说?系统采用轻量级J2EE架构和SSH框架进行开发, 使用MySQL数据库作为底层存储。 【问题1】(10分)

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

图5-1 Scrum 开发状态图

【问题1解析】

题目描述说明了 Product Backlog是在Scnim过程初期产生的。(l)~Product Backlogo 被挑选的用户故事在Sprint计划会议上……。(2)-Sprint计划会议。 举行每日站立会议。(3)~每日站立会议。

Product Backlog中还有未完成的用户故事……。(4)~还有未完成的用户故事。 交付产品增量,……o (5)~交付产品增量。 【问题2】(6分)

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

表5?1架构模式中包含的内容 架构模式 模型(Model) 视图(View) 控制器(Controler) 备选答案:

a: Sprint燃尽图 b: Project c: Product Backlog d:用户故事 e:估算任务预汁完成时间 f: Release燃尽图

包含内容 (1) (2) (3) h:用户 i:交付产品增量 j:新建项目 k: Task 1: Sprint m:产品负责人 n: Sprint Backlog g: Sprint回顾会议 【问题2解析】

(1) c^ c、n (2) a. L j (3) g

【问题3】(9分)

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

用户界面.

可采用

(nis (2) MVC92W) (3),弦

通过试越关

业务逵

$8实

遜访

系肤射OR

Mapping 由

制(4)与 裒现綁交 互■采用

现 败K9来 的对您

| C6)

(8)

□E图5?2a Struts 2 g 模型层 b HibernateJ持久层 系统架构图 备选答案 h 控制层 c 数据库服务(MySQL) ?1 EJB d Sitemesh j Web层 e 业务逻辑层 k 视图层

f J Query I PostgreSQL 【问题3解析】

(1) d(Sitemesh是一个网页布局和修饰的框架) (2) f h

g a k h b

2016年系统架构师考试科目二:案例分析 - 图文

2016年系统架构师考试科目二:案例分析1.阅读以下关于软件架构评估的叙述,任答题纸上回答问题1和问题2.【题目】某软件公司为某品牌手机厂商开发一套手机应用程序集成开发环境,以提髙开发手机应用程序的质量和效率。在项目之初,公司的系统分析师对该集成开发环境的需求进行了调研和分析,具体描述如下:a.需要同时支持该厂商自行定义的应用编程语言
推荐度:
点击下载文档文档为doc格式
6u3f453vh45v45r56fo51lh1d7s0s50099t
领取福利

微信扫码领取福利

微信扫码分享