2016年下半年软件水平考试(高级)系统架构师《论文》真题及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016年下半年软件水平考试(高级)系统架构师

《论文》真题

(总分100, 考试时间90分钟)

1. 选答题

1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。若答题超过1道,则按题号最小的1道题评分。

2、解答应分摘要和正文两部分。在书写时,请注意以下两点:

①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。

②、正文字数为2000-3000字,文中可以分条叙述,但不要全部用分条叙述的方式。

3、解答时字迹务必清楚,字迹不清,将不评分。

1. 论软件系统架构评估对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。请围绕“论软件系统架构评估”论题,依次从以下三个方面进行论述。

1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。

2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。

3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。

答案:

一、简要描述所参与架构评估的软件系统,并明确指出在评估过程中承担的主要工作。

二、分析软件系统架构评估中所普遍关注的质量属性,并详细阐述每种质量属性的具体含义。系统架构评估中普遍关注的质量属性包括:

(1)性能性能是指系统的响应能力,即需要多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件个数。经常用单位事件内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行定量表示。

(2)可靠性可靠性是软件系统在应用或者系统错误面前,在意外或者错误使用的情况下维持软件系统的功能特性的基本能力。

(3)可用性可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。

(4)安全性安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。

(5)可修改性可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力,包括可维护性、可扩展性、结构重构、可移植性。 (6)功能性功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。

(7)可变性可变性是指体系结构经扩充或变更而成为新体系结构的能力。

(8)互操作性互操作性是指作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。如程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题。三、针对作者实际参与的软件系统架构评估,说明所采用的评估方法,并描述其具体实施过程和效果。现软件评估中的主要评估方法包括

SAAM(Scenarios-based Architecture Analysis Method)和ATAM(Architecture TradeoffAnalysis Method,体系结构权衡分析方法)。作者可选择某种评估方法展开实际项目的系统评估。

2. 论软件设计模式及其应用软件设计模式(Software Design Paaem)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。请围绕“论软件设计

模式及其应用”论题,依次从以下三个方面进行论述。

1.概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。

2.说明常用的软件设计模式有哪几类?阐述每种类型特点及其所包含的设计模式。3.详细说明你所参与的软件系统开发项目中,采用了哪些软件设计模式,具体实施效果如何。

答案:

一、简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。

二、说明软件系统设计中常用的软件设计模式有哪几类,阐述每种类型的特点及其所包含的设计模式。常用的软件设计模式主要包括:

(1)创建型模式该类模式是对对象实例化过程的抽象,它通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息。所包括的模式:Abstract Factory(抽象工厂)、Builder(建造者)、Factory Method(工厂方法)、Prototype(原型)、Singleton(单例)。

(2)结构型模式该类模式主要用于如何组合已有的类和对象以获得更大的结构,一般借鉴封装、代理、继承等概念将一个或多个类或对象进行组合、封装,以提供统一的外部视图或新的功能。所包括的模式:Adapter(适配器)、Bridge(桥接)、Composite(组合)、Decorator(装饰)、Faqade(外观)、Flyweight(享元)、Proxy(代理)。

(3)行为型模式该类模式主要用于对象之间的职责及其提供的服务的分配,它不仅描述对象或类的模式,还描述它们之间的通信模式,特别是描述一组对等的对象怎样相互协作以完成其中任一对象都无法单独完成的任务。所包括的模式:Chain of Responsibility(职责链)、Command(命令)、Interpreter(解释器)、Iterator(迭代器)、Mediator(中介者)、Memento(备忘录)、Observer(观察者)、State(状态)、Strategy(策略)、Template Method(模板方法)、Visitor(访问者)。三、针对作者实际参与的软件系统开发项目,说明所采用的软件设计模式,并描述这些设计模式所产生的实际应用效果。使用设计模式的作用主要表现在:

(1)简化并加快设计:

(2)方便开发人员之间的通信;

(3)降低风险;

(4)有助于转到面向对象技术。

3. 论数据访问层设计技术及其应用在信息系统的开发与建设中,分层设计是一种常见的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常见的层次划分模型是将信息系统分为表现层、业务逻辑层和数据访问层。信息系统一般以数据为中心,数据访问层的设计是系统设计中的重要内容。数据访问层需要针对需求,提供对数据源读写的访问接口;在保障性能的前提下,数据访问层应具有良好的封装性、可移植性,以及数据库无关性。请围绕“论数据访问层设计技术及其应用”论题,依次从以下三个方面进行论述。

1.概要叙述你参与管理和开发的与数据访问层设计有关的软件项目,以及你在其中所担任的主要工作。

2.详细论述常见的数据访问层设计技术及其所包含的主要内容。

3.结合你参与管理和开发的实际项目,具体说明采用了哪种数据访问层设计技术,并叙述具体实施过程以及应用效果。

答案:

一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。

二、常见的数据访问层设计技术有5种数据访问模式。

(1)在线访问:该模式是基本的数据访问模式,在软件系统中不存在专门的数据访问层,由业务程序直接读取数据,与后台数据源进行交互。

(2)Data Access Object:DAO模式是标准J2EE设计模式之一,该模式将底层数据访问操作与高层业务逻辑分离开。具体的DAO类包含访问特定数据源数据的逻辑。

(3)Data Transfer Object:DTO是经典EJB设计模式之一。DTO本身是一组对象或是数据的容器,它需要跨越不同进程或者网络的边界来传输数据。这类对象通常本身不包括具体的业务逻辑,对象内部仅进行一些诸如内部一致性检查和基本验证之类的方法。

(4)离线数据模型:是以数据为中心,数据从数据源获取后,将按照某种预定义的结构(如IBM SDO的Data图表

相关文档
最新文档