[计算机类试卷]2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷及答案与解析.doc

上传人:sumcourage256 文档编号:492767 上传时间:2018-11-30 格式:DOC 页数:11 大小:102.50KB
下载 相关 举报
[计算机类试卷]2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷及答案与解析.doc_第1页
第1页 / 共11页
[计算机类试卷]2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷及答案与解析.doc_第2页
第2页 / 共11页
[计算机类试卷]2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷及答案与解析.doc_第3页
第3页 / 共11页
[计算机类试卷]2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷及答案与解析.doc_第4页
第4页 / 共11页
[计算机类试卷]2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷及答案与解析.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷及答案与解析 1 论基于场景的软件体系结构评估方法 大型复杂软件系统开发所关注的问题之一是质量,在软件系统的早期设计阶段,选择合适的体系结构对系统许多关键质量属性 (如可用性、可修改性、性能、安全性、易用性等 )起着决定性的影响。不恰当的软件体系结构将给项目开发带来灾难。因此,尽早分析和评估一个系统的体系结构非常重要。软件体系结构分析和评估的目的是为了识别体系结构中潜在的风险,验证系统的质量需求在设计中是否得到体现,预测系统的质量 并帮助开发人员进行设计决策。 软件体系结构的评估通常是指评估参与者在评估过程中利用特定评估方法

2、对系统质量属性进行分析与评估。基于调查问卷或检查表的评估和基于场景 (Scenarios)的评估是目前主要的两类评估方式。利用场景评估技术进行软件体系结构评估的主流方法包括 SAAM (Scenario-based Architecture Analysis Method)、 ATAM (Architecture Tradeoff Analysis Method)和 CBAM (Cost Benefit Analysis Method)。SAAM方法最初用于比较不同的体系结构,后来用于指导对体系结构的检查,使其主要关注潜在的问题,如需求冲突,或仅从某一参与者观点出发的不全面的系统设计。 ATA

3、M方法在揭示出结构满足特定质量目标的同时,也能反映出质量目标之间的联系,从而权衡多个质量目标。 CBAM方法可以看作是 ATAM方法的补充,在其评估结果上对软件体系结构的经济性进行评估。 请围绕 “基于场景的软件体系结构评估方法 ”论题,依次从以下三个方面进行论述。 1概要叙述你参与管理和开发的软件项目以及你在其中所担任的 主要工作,包括角色、工作内容等。 2请从评估目的、评估参与者、评估活动或过程、评估结果等几个方面对SAAM或 ATAM评估方法进行分析。 3结合你参与的实际工作和项目的实际情况,具体阐述你在进行体系结构设计和评估时,采用了什么评估方法,如何具体实施,最终实际效果如何。 2

4、论敏捷开发方法的应用 敏捷软件开发简称敏捷开发,是从 20世纪 90年代开始逐渐引起广泛关注的一些新型软件开发方法,以应对快速变化的需求。它们的具体名称、理念、过程、术语都不尽相同,相对于 “非敏捷 ”,更强调程序员团 队与业务专家之间的紧密协作,面对面沟通,频繁交付新的软件版本,紧凑而自我组织型的团队,能够很好地适应需求变化的代码编写和团队组织方法,也更注重人的作用。 敏捷开发的发展过程中,出现了多个不同的流派,例如极限编程、自适应软件开发、水晶方法、特性驱动开发等。但其中的基本原则是一致的。从开发者的角度,主要的关注点有短平快会议 (Stand Up)、小版本发布 (Frequent Re

5、lease)、较少的文档(Minimal Documentation)、合作为重 (Collaborative Focus)、客户直 接参与 (Customer Engagement)、自动化测试 (Automated Testing)、适应性计划调整 (Adaptive Planning)和结对编程 (Pair Programming);从管理者的角度,主要的关注点有测试驱动开发(Test-Driven Development)、持续集成 (Continuous Integration)和重构 (Refactoring)。 请围绕 “敏捷开发方法的应用 ”论题,依次从以下三个方面进行论述。

6、1概要叙述你参与管理和开发的软件项目以及你在其中 担任的主要工作,包括角色、工作内容等。 2对开发者关注点中至少三项内容进行解释:结合自己所参与项目,对使用情况予以评价。 3联系你所参与项目的实际情况,分析并讨论测试驱动开发的使用效果,并评价其优缺点。 3 论 SOA在企业信息化中的应用 SOA(面向服务的体系结构 )是一种 IT体系结构风格、一种组件模型或者一种设计理念,其核心思想是通过将一组分散的服务关联,实现企业向客户提供的特定业务,并适应客观条件和需求的不断变化。 多数企业面临着不同种类操作系统、系统软件、应用软件和应 用基础结构相互交织的信息化现状,而 SOA的特性使得企业可以按照模

7、块化的方式来添加新服务或更新现有服务,以解决新的业务需要,从而保护投资,并能使企业对业务的变化做出快速的反应。 请围绕 “SOA在企业信息化中的应用 ”论题,依次从以下三个方面进行论述。 1概要叙述你参与实施的企业信息化建设项目 (信息化现状、业务流程需求 )以及你所担任的主要工作。 2详细论述 SOA架构的内容、特点和实现 SOA所采用的常用标准、规范。 3论述你具体采用了什么技术和工具来实现企业 SOA应用和部署,在应用中重点解决了哪些问题。 4 论 SaaS(Software-as-a-Service,软件即服务 )的关键技术 SaaS是一种通过互联网提供软件服务的模式,在该模式中企业用

8、户不用再购买软件,而采用向软件服务提供商租用软件的方式来完成本企业经营活动。在这种模式下,企业无需建设机房、购买软硬件、雇用 IT人员对软件进行维护,只需向软件服务提供商支付项目实施费和定期的软件租赁服务费,软件服务提供商负责管理和维护软件。目前,这种模式在国外和国内都获得了一定的成功。 请围绕 “SaaS关键技术 ”论题,依次对以 下三个方面进行论述。 1概要叙述你参与的 SaaS项目以及你在其中所担任的主要工作,包括角色、工作内容等。 2 SaaS为诸多用户在线提供了较通用的软件系统,请详细论述 SaaS为此所使用的关键技术。 3通过你的切身实践论述 SaaS中安全性和扩展性的解决方案。

9、2008年下半年软件水平考试(高级)系统分析师下午(论文)试题真题试卷答案与解析 1 【正确答案】 第一部分 简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展的主要工作。 第二部分 SAAM的分析和评估 目的、评估参与者、评估活动或过程以及评估结果说明。 1评估目的 SAAM(Scenario-based Architecture Analysis Method)目的是验证基本的体系结构假设和原则,评估体系结构固有的风险。 SAAM指导对体系结构的检查,使其主要关注潜在的问题点,如需求冲突。 SAAM不仅能够评估体系结构对于特定系统需求的使用能力,也能被用来比较不同的体

10、系结构。 2评估参与者 风险承担者、记录人员、软件体系结构设计师。 3评估活动或过程 SAAM分析评估体系结构的过程包括 6个步骤,即形成场 景、描述体系结构、场景的分类和优先级确定、间接场景的单个评估、场景相互作用的评估、总体评估,如下图所示。 (1)形成场景 形成场景是通过集中讨论来实现。使风险承担者在一个友好的氛围中提出一些场景,这些场景反映了他们的需求,也体现了他们对体系结构将如何实现需求的认识。 (2)描述体系结构 体系结构设计师应该采用参加评估的所有人员都能够充分理解的形式,对待评估的体系结构进行适当的描述。这种描述说明系统中的运算和数据构件,以及他们之间的联系。除了要描述这些静态

11、特性以外,还要对系统在某段时间内的动态特征做出说明。 (3)场景的分类和优先级确定 场景分为直接场景和间接场景 (或潜在场景 )。直接场景是按照现有体系结构开发出来的系统能够直接实现的场景。与在设计时已经考虑过的需求相对应的直接场景能增进对体系结构的理解,促进对诸如性能和可靠性等其他质量属性的研究。 间接场景就是需要对现有体系结构做某些修改才能支持的场景。间接场景对衡量体系结构对系统在演化过程中将出现的变更的适用情况十分关键。通过各种间接场景对体系结构的影响,可以确定体系结构在相关系统的生命周期内对不断演化的使用的适应情况。直接场景类似于用例,而间接场景有时也叫 变更案例。 评估人员通过对场景

12、设置优先级,可以保证在评估的有限时间内考虑最重要的场景。这里的 “重要 ”完全是由风险承担者及其所关心的问题确定的。风险承担者通过投票表达所关心的问题。 (4)对间接场景的单个评估 对于直接场景而言,体系结构设计师要讲清所评估的体系结构将如何执行这些场景;对于间接场景而言,应说明需要对体系结构做哪些修改才能适应间接场景的要求。 对每一个间接场景,列出为支持该场景而需要对体系结构所做的改动,并估计出这些变更的代价。对体系结构的更改意味着引入某个新构件或新联系,或者需要对已有构件或联系 的描述进行修改。 (5)评估场景的相互作用 场景的相互作用暴露了设计方案中的功能分配。场景相互作用的多少与结构复

13、杂性、耦合度、内聚性有关。同时,场景的相互作用能够暴露出体系结构设计文档未能充分说明的结构分解。 (6)形成总体评估 总体的权衡和评价,反映该组织对表现在不同场景中的目标考虑优先级。根据对系统成功的相对重要性来为每个场景设置一个权值。 如果要比较多个体系结构,或者针对同一体系结构提出多个不同的方案,则可通过对权值的确定来得出总体评价。权值的设置具有很强的主观性,所以,应该让所有风险承担者共同参与, 但也应合理组织,要允许对权值及其基本思想进行公开讨论。 4评估结果 SAAM评估的主要有形输出包括以下内容: (1)把代表了未来可能做的更改的场景与构架对应起来,显现出构架中未来可能会表现出较高复杂

14、性的地方,并对每个这样的更改的预期工作量做出评估。 (2)理解系统的功能,对多个构架所支持的功能和数量进行比较。 如果所评估的是一个框架, SAAM评估将指明框架中未能满足其修改性需求的地方,有时还会指出一种效果更好的设计。SAAM评估也能对两个或者三个备选构架进行比较,明确其中那一个能够较好地满足质量属性需求, 而且做的更改较少、不会在未来导致太多的复杂的问题。 ATAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。 (1)评估目的 ATAM(Architecture Tradeoff Analysis Method,构架权衡分析方法 )的评估目的是依据系统质量属性和商业

15、需求评估设计决策的结果。 ATAM希望揭示出构架满足特定质量目标的情况,使我们更清楚地认识到质量目标之间的联系,即如何权衡多个质量目标。 (2)评估参与者 评估小组。该小组是所评估构架项目外部的小组,通常由 3 5人组成。该小组的每 个成员都要扮演大量的特定角色。他们可能是开发组织内部的,也可能是外部的。 项目决策者,对开发项目具有发言权,并有权要求进行某些改变,他们包括项目管理人员,重要的客户代表,构架设计师等。 构架涉众 (stakeholders)。包括关键模块开发人员、测试人员、用户等。 (3)评估活动或过程 整个 ATAM评估过程包括 9个步骤,按其编号顺序分别是描述 ATAM方法、

16、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、描述评估结果,如下图所示。 描述介绍 ATAM方 法。 评估小组负责人向参加会议的风险承担者介绍 ATAM评估方法。在这一步中,要解释每个人将要参与的过程,并预留解答疑问的时间,设置好其他活动的环境和预期结果。关键是要使每个人都知道要收集哪些信息,如何描述这些信息,将要向谁报告等。 描述商业动机。 项目决策者从商业的角度介绍系统的概况。该描述应该包括:系统最重要的功能;技术、管理、经济和政治方面的任何相关限制;与 该项目相关的商业目标和上下文;主要的风险承担者;架构的驱动因素。 描述体系结构。

17、首席设计师或设计小组要对体系结构进行详略适当的介绍。在体系结构描述中,至少应该包括:技术约束 (例如,操作系统、硬件、中间件等 );要与本系统交互的其他系统;用以满足质量属性要求的体系结构方法。 确定体系结构方法。 ATAM评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由设计师确定体系结构方法,由分析小组捕获,但不进行分析。 生成质量属性效用树。 在这一步中,评估小组、设计小组、管理人员和客户代表一起确定系统最重 要的质量属性目标,并对这些质量属性目标设置优先级和细化。即使是体系结构级的分析,也不一定是全局的,所以,评估人员需要集中所有相关人员的精力,注意体系结构的各个方面,这通常

18、是通过构建效用树的方式来实现的。 效用树的输出结果是对具体质量属性需求的优先级的确定,这种优先级列表为 ATAM评估方法的后面几步提供了指导,它告诉了评估小组应该把有限的时间花在哪里,特别是应该到哪里去考察体系结构的方法与相应的风险、敏感点和权衡点。 分析体系结构方法。 一旦有了效用树的结果,评估小组可以对实现重要质量属性的体系结构方法进 行考察。这是通过文档化这些体系结构决策和确定它们的风险、敏感点和权衡点等来实现的。 在这一步中,评估小组要对每一种体系结构方法都考察足够的信息,完成与该方法有关的质量属性的初步分析。这一步的主要结果是一个体系结构方法或风格的列表,与之相关的一些问题,以及设计

19、师对这些问题的回答。通常产生一个风险列表、敏感点和权衡点列表。 在这一步结束时,评估小组应该对整个体系结构的绝大多数重要方面所做出的关键设计决策、风险列表、敏感点、权衡点有一个清楚的认识。 讨论和分级场景。 场景在驱动 ATAM测试阶段起主导作用。风险承 担者进行两项相关的活动:集体讨论用例场景和改变场景。用例场景是场景的一种,在用例场景中,风险承担者是一个终端用户,使用系统执行的一些功能。 一旦收集了若干个场景后,必须设置优先级。评估人员通过投票表决的方式来完成,每个风险承担者分配相当于总场景数的 30%的选择,且此数值只入不舍。例如,如果共有 17今场景,则每个风险承担者将拿到 6张选票,

20、这 6张选票的具体使用则取决于风险承担者,他可以把这 6张票全部投给一个场景,或者每个场景 2 3张票,还可以一个场景一张票等。 分析体系结构方法。 在收集并分析了场景之后,设计 师就可把最高级别的场景映射到所描述的体系结构中,并对相关的体系结构如何有助于该场景的实现做出解释。 描述评估结果。 最后要把 ATAM分析中所得到的各种信息进行归纳,并反馈给风险承担者。这种描述一般要采用幻灯片的形式,但也可以在 ATAM评估结束以后,提交更完整的书面报告。在描述过程中,评估负责人要介绍 ATAM评估的各个步骤,以及各个步骤中得到的各种信息,包括商业环境、驱动需求、约束条件和体系结构等。 (4)评估结

21、果 ATAM的评估结果包括以下内容: 一个简洁的构架表述。 表述清楚的业务目标。 用场景集 合捕获的质量属性。 所确定的敏感点和权衡点的集合。例如,备份数据库,对可靠性质量属性来讲,是敏感点性质的设计决策,但对性能和可靠性两个质量属性而言,它是权衡点性质的设计决策。 有风险决策和无风险决策。 风险主题的集合,包括: .敏感点 (sensitivity points)与某个质量属性相关的构架决策。 .权衡点(tradeoff points)与多个质量属性相关的构架决策。 .有风险决策 (risk set)根据所陈述的质量属性需求,可能导致不期望结果的构架决策。 .无风险决策 (nonrisk s

22、et)根据分析被认为是安全的构架决策。 第三部分 结合你参与的实际工作和项目的实际情况,具体阐述你在进行体系结构设计和评估时采用的评估方法和具体实施的过程和步骤,并对最终实际效果进行说明。 如果在实际项目实施的时候,能利用 ATAM方法进行软件体系结构评估,并利用 CBAM方法作为 ATAM的补充对软件体系结构成本效益等经济性进行评估,则更完善。 2 【正确答案】 第一部分 简单介绍所参加管理与开发项目的背景及基本要求,并明确指出在其中所担任的主要工作。 第二部分 敏捷开发的基 本概念。 从开发者的角度,主要的关注点有: (1)短平快会议:项目组每天召开的简短会议,每个人回答如下问题: 1.

23、你昨天做了什么 ? 2. 你今天做什么 ? 3.你遇到了什么困难 ?站立会议促进团队交流,彼此相互熟悉工作内容。 (2)小版本发布:尽量多的产品发布,一般以周、月为单位。这样,客户每隔一段时间就会拿到发布的产品进行试用,而项目组可以从客户那得到更多的反馈来改进产品。正因为发布频繁,每一个版本新增的功能简单,不需要复杂的设计,这样文档和设计就在很大程度上简化了。又因为简单设计,没有复杂 的架构,所以客户有新的需求或者需求进行变动,也能很快的适应。往往需要工具软件的支持。 (3)较少的文档:与传统开发方法相比,不要求撰写大量文档,而是强调测试文档的重要性。敏捷开发中存在大量的测试文档。敏捷开发认为

24、,测试文档最大程度上保持了与代码的一致性。 (4)合作为重:表现为代码共享。在敏捷开发中,代码是归团队所有而不是属于某些人,每个人都有权利获得系统任何一部分的代码然后修改它。这样每个人都能熟悉系统的代码,即使团队的人员变动,也没有风险。 (5)客户直接参与:敏捷开发中,客户是与开发 团队一起工作的,团队到客户现场进行开发或者邀请客户到团队公司里来开发。 (6)自动化测试:为了减少人力或者重复劳动,所有的测试包括单元测试、功能测试或集成测试等都是自动化的,这对 QA人员提出了更高的要求。 (7)适应性计划调整:敏捷开发中计划是可调整的,可以多次迭代,小版本发布,根据客户反馈随时做出相应的调整和变

25、化。 (8)结对编程:在程序实现和编写测试代码时,采取两人共用一台计算机的方式进行,两人频繁讨论并互相监督。 考生应该阐明自己项目中实施敏捷开发方法的情况,对上述内容中至少三 点进行论述,并对实施的结果进行评价。 第三部分 测试驱动开发是敏捷开发中的一项重要内容,要求需求分析后,首先编写测试代码。而功能开发的依据只能是测试代码,目的是在测试代码真实反映用户需求的前提下,功能开发完全满足测试要求即可。测试驱动开发在软件业内争论激烈,反对者提出测试驱动开发过于片面,很容易忽略某些需求中潜在的内容。因此发展出特征驱动开发 (Feature-Driven Development, FDD)和行为驱动开

26、发 (Behavior-Driven Development, BDD)等。 请考生说明在自己项目中,实施测试驱动开发的效果,并予以评价。 3 【正确答案】 第一部分 论文中要概要叙述你参与实施的企业信息化的现状,涉及的业务流程需求以及所担任的主要工作。 第二部分 SOA架构的内容、特点和实现 SOA的常用技术。 1内容 SOA架构的基本元素是服务, SOA指定一组实体 (服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约 ),这些实体详细说明了如何提供和消费服务。 SOA中的服务是自包含、无状态的实体,可以由多个组件组成,通过事先 定义的接口响应服务请求,服务本身并不依赖其他函

27、数和过程的状态,而用什么技术来实现服务,也不在其定义中加以限制。 SOA本质上是将网络、传输协议和安全细节留给特定的实现来处理。 这些服务是可互相操作的、独立的、模块化的、位置明确的、松耦合的以及可发现的。 在 SOA架构中有三种角色 (参与者 )分别是服务提供者 (service provider)、服务请求者 (service consumer)和服务代理者 (service broker)。服务提供者提供符合契约的服务,并将他们发布到服务代理;服务代理者作为 存储库、目录库或票据交换所,产生由服务提供者发布的软件接口:服务请求者 (服务使用者,或者终端用户应用程序 )发现并调用其他的软件

28、服务来完成业务任务。 2特点 (1)服务的封装。 (2)服务的重用。 (3)服务的互操作。 (4)服务是自治的功能实体。 (5)服务之间的松耦合。 (6)服务位置透明性。 注:论述其中三点即可。 3常用标准、规范 (1)XML (2)WSDL (3)SOAP (4)UDDI 注:论述其中两项即可。 第三部分 采用的技术或者工具,重点解决的问题。 1采用的工具或技术 (1)Web Service (2)J2EE (3)WebSphere、 WebLogic (4).Net (5)CORBA (6)DCOM (7)其他中间件技术 注:论及其中一项即可。 2重点解决的问题 (1)服务粒度的控制 SO

29、A系统中服务粒度的控制是一项重要的设计任务。对于暴露在整个系统外部的服务可使用粗粒度的接口,而相对较细粒度的服务接口通常用 于企业系统架构的内部。虽然细粒度的接口能够为服务请求者提供更加细化和更多的灵活性,但会使交互模式较难控制,服务的一致性较差。 (2)无状态服务的设计 SOA的服务应该是独立的、自包含的,在实现这些服务的时候不需要前一个请求的状态,也就是说不应该依赖于其他服务的上下文和状态。当某一个服务需要依赖时,可以将其定义为具体的业务流程。 注:论及一项即可,解决的问题是管理或工程实施方面的亦可。 4 【正确答案】 第一部分 概要叙述你参与的 SaaS项目以及你在其中所担任的主要工作。

30、 第二部分 详细论述 SaaS中的关键技术: (1)基于 Internet和 Web访问技术,以减少在客户端安装软件系统的工作量。 (2)网络和数据安全技术,以保证用户数据访问的网络安全。 (3)数据可靠存储技术,以保证用户关键数据的存储安全。 (4)软件快速开发和部署以及在线更新的技术,以支持用户不断变化的用户需求。 (5)数据集成技术,以解决信息孤岛问题,为用户提供多方位的信息服务。 (6)软件的计费管理,从而根据用户对软件系统的使用情况来收取费用。 第三部分 通过 你的切身实践论述 SaaS中安全性和扩展性的解决方案。 SaaS的安全性包括数据的安全性和网络安全性,主要内容如下: (1)

31、数据中心的物理安全性和保护。 (2)数据是否有异地备份。 (3)数据是否有授权访问。 (4)应用是否采用物理或逻辑隔离。 (5)网络访问的安全性,是否采用了安全的通信协议,例如采用了安全套接层 (SSL)技术。 (6)网络访问时有符合安全标准的认证和授权。 SaaS的扩展性包括平台的扩展性和应用的扩展性,主要内容如下: (1)平台是否具 有扩展性,是否采用了分布式存储系统,分布式文件系统,分布式数据库等。 (2)平台是否解决了负载均衡和热备份问题。 (3)应用的扩展性包括用户能否在已存在的软件结构上,按需再增加额外的工具或功能。 (4)应用能否从其他应用程序中读取数据,或者存储数据。 (5)能否通过参数化配置来满足特定应用需求。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1