1、高级系统分析师 2011 下半年下午试题及答案解析(总分:300.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:75.00)1.论模型驱动架构在系统开发中的应用 模型驱动架构(Model Driven Architecture,MDA)是对象管理组织提出的软件体系架构方法学,它基于 UML 以及一系列工业标准,能够支持基于可视化模型驱动的软件设计、内容存储与交换。MDA 的核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(PIM),然后针对不同实现技术制定多个映射规则,通过映射规则和辅助工具将 PIM 转换成与具体实现技术有关的平台相关模型(PSM),最后完
2、成 PSM 到代码的转换。 通过 PIM、PSM、MDA 分离业务建模与底层实现技术,降低技术变迁对业务模型带来的影响。 请围绕“模型驱动架构在系统开发中的应用”论题,依次从以下三个方面进行论述。 (1)简要叙述你参与管理和开发的、与 MDA 相关的软件开发项目以及你所担任的主要工作。 (2)简要分析模型驱动架构能够为软件开发带来哪些好处,详细论述采用模型驱动架构进行开发的过程。 (3)具体阐述你参与管理和开发的项目中使用模型驱动架构的情况与实际开发效果。(分数:75.00)_二、B试题二/B(总题数:1,分数:75.00)2.论企业集成平台的架构设计 企业集成平台是一个支持复杂信息环境下信息
3、系统开发、集成和协同运行的软件支撑环境,它基于企业各种经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持各种特定领域应用系统的集成。 请围绕“企业集成平台的架构设计”论题,依次从以下三个方面进行论述。 (1)简要叙述你参与管理和开发的企业集成平台项目以及你在其中所承担的主要工作。 (2)请说明企业集成平台的基本功能,并结合项目实际,详细说明所设计的企业集成平台的架构,以及实现时用到了哪些关键技术。(3)具体说明所设计的企业集成平台的使用情况,最终实施效果如何。(分数:75.00)_三、B试题三/B(
4、总题数:1,分数:75.00)3.论企业架构管理与应用 企业架构管理(Enterprise Architecture Management,EAM)从功能、应用、信息和技术 4 个层面定义了企业应用系统的结构,并通过业务需求驱动开发过程,为企业应用系统的开发提供标准和指导。EAM 将企业的业务和技术需求联系在一起,以管理业务变更为核心,强调业务与技术对齐,构建一个高内聚、动态的企业应用解决方案。 EAM 能够帮助企业识别可以提高运营效率的潜在领域,有助于企业建立从战略到解决方案交付的各种关系,识别技术解决方案中最优的业务成果,能够在业务重组、兼并、收购和其他业务变更计划中为企业最大化地节约成本
5、,降低相关风险。 请围绕“企业架构管理与应用”论题,依次从以下三个方面进行论述。 (1)简要叙述你参与实施的企业应用系统的开发背景与总体需求、系统所采用的技术体制、实施企业软件架构管理的动机、期望以及你所承担的实际工作。 (2)结合项目实际,简要阐述企业架构管理包含哪些方面的内容,每个方面包括哪些主要活动。 (3)阐述你在实施企业架构管理的过程中都遇到了哪些实际问题,以及解决这些问题的方法和过程。(分数:75.00)_四、B试题四/B(总题数:1,分数:75.00)4.论软件需求获取技术及应用 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的
6、项目干系人的需求和约束的过程。需求获取是否科学、准备是否充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕“需求获取技术及应用”论题,依次从以下三个方面进行论述。 (1)简要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 (2)详细说明目前有哪些比较常用的需求获取技术?说明每种需求获取技术的基本方法。 (3)详细论述在你参与分析和开发的软件项目中所采取的需求获取技术以及选取这些技术的原因,并说明需求获取的具体实施步骤。(分数:75.00)
7、_高级系统分析师 2011 下半年下午试题答案解析(总分:300.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:75.00)1.论模型驱动架构在系统开发中的应用 模型驱动架构(Model Driven Architecture,MDA)是对象管理组织提出的软件体系架构方法学,它基于 UML 以及一系列工业标准,能够支持基于可视化模型驱动的软件设计、内容存储与交换。MDA 的核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(PIM),然后针对不同实现技术制定多个映射规则,通过映射规则和辅助工具将 PIM 转换成与具体实现技术有关的平台相关模型(PSM),最后完
8、成 PSM 到代码的转换。 通过 PIM、PSM、MDA 分离业务建模与底层实现技术,降低技术变迁对业务模型带来的影响。 请围绕“模型驱动架构在系统开发中的应用”论题,依次从以下三个方面进行论述。 (1)简要叙述你参与管理和开发的、与 MDA 相关的软件开发项目以及你所担任的主要工作。 (2)简要分析模型驱动架构能够为软件开发带来哪些好处,详细论述采用模型驱动架构进行开发的过程。 (3)具体阐述你参与管理和开发的项目中使用模型驱动架构的情况与实际开发效果。(分数:75.00)_正确答案:(1)对你在论文中准备列举的、近期参与管理和开发的、与模型驱动架构(MDA)相关的大中型信息系统软件工程项目
9、的背景、项目规模、发起单位、目标、项目内容、组织结构、项目周期、交付的产品等做简要的介绍。接着简要介绍你在该项目中所扮演的角色及所承担的主要工作。参与设计和实施的信息系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。 (2)MDA 强调由软件系统的建模行为驱动整个系统的开发过程,以此完成系统的需求分析、架构设计、构建、测试、部署和运行维护等工作。MDA 能够为软件开发带来的好处有(但不限于): 将开发人员的注意力转移到了平台无关模型(PIM)中,从而避免陷入到具体的实现细节当中,简化了系统开发的工作量,提高了软件的开发效率。 对于多种流行平台,很多工具会支持从 PIM 到平台
10、相关模型(PSM)的转换;对于将来可能出现的新技术和平台,确定了平台表示及公共中间件的概念和功能,利用转换规则快速实现 PIM 到新技术平台的迁移,提高了系统的可移植性。 利用 MDA 中基于 PIM 的桥接器,实现了多个 PSM 之间跨平台的相互通信,加强了互操作性。 对于系统变更,通过修改 PIM 并重新生成 PSM 和代码,能够降低系统维护的成本。 PIM 帮助团队成员之间提高沟通效率并减少错误,自动生成代码能够保证代码的质量和一致性,确保了软件的质量。 使用 MDA 时,功能和架构独立定义,针对新技术,能够利用原有的设计产生对应的实现,延长了系统的生命周期。 采用 MDA 进行软件开发
11、的过程主要包括: 使用 PIM 从如何以最好的方式支持商业逻辑的角度对系统进行建模,开发人员根据用户需求和其他因素对 PIM 进行精化,以使它能够更加精确地描述系统。 将 PIM 转换到一个或多个特定技术相关的 PSM,对于每种特定的技术都会生成独立的PSM。 根据技术特性对生成的 PSM 进行修改以满足程序设计人员的要求,这些修改可以反映到 PIM 中去。对 PSM 不断精化,以指导代码生成器生成质量更高的程序代码。 最后将每个 PSM 转换为实现特定模型(ISM),生成应用程序代码,进行后续的完善和系统测试。 (3)结合项目实践,简要说明你所列举的软件项目在实施过程中,通过哪些具体的策略、
12、方法和步骤来应用 MDA,包括 PIM 构建、PSM 的技术方案选择等。该项目最后的实际开发效果如何?有哪些因应用 MDA 所产生的项目亮点?有哪些是今后类似的开发项目中需要重点注意或规避的教训?对需要进一步改进的地方,不可脱离实际提出过高的要求,要给出评价依据,评价要客观、适当。)解析:二、B试题二/B(总题数:1,分数:75.00)2.论企业集成平台的架构设计 企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境,它基于企业各种经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务
13、,并支持各种特定领域应用系统的集成。 请围绕“企业集成平台的架构设计”论题,依次从以下三个方面进行论述。 (1)简要叙述你参与管理和开发的企业集成平台项目以及你在其中所承担的主要工作。 (2)请说明企业集成平台的基本功能,并结合项目实际,详细说明所设计的企业集成平台的架构,以及实现时用到了哪些关键技术。(3)具体说明所设计的企业集成平台的使用情况,最终实施效果如何。(分数:75.00)_正确答案:(1)简要介绍你参与规划、设计、实施和管理的企业应用集成项目的基本情况(包括业务背景、组织结构、现有应用系统的分布、采用的技术等),简要说明自己在该项目中的角色、所承担的主要工作。参与管理和实施的企业
14、应用集成项目应有一定的规模,自己在该项目中担任的主要工作应有一定的份量。 (2)企业集成平台的基本功能包括通信服务、信息集成服务、应用集成服务、提供对二次开发的支持、平台运行管理等。其中: 通信服务。该服务提供分布环境下透明的同步/异步通信服务功能,使用户和应用程序无须关心具体的操作系统和应用程序所处的网络物理位置,而以透明的函数调用或对象服务方式完成它们所需的通信服务要求。 信息集成服务。该服务为应用提供透明的信息访问服务,通过实现异种数据库系统之间的数据交换、互操作、分布数据管理和共享信息模型定义,使集成平台上运行的应用、服务或客户端能够以一致的语义和接口实现对数据的访问与控制。 应用集成
15、服务。通过高层应用编程接口来实现对相应应用程序的访问。这些接口以函数或对象服务的方式向平台的组件模型提供信息,用户无需对原有系统进行修改,只要在原有系统的基础上加上相应的访间接口就可以将现有的、用不同技术实现的系统互联起来,通过为应用提供数据交换和访问操作,使各种不同的系统能够相互协作。 提供对二次开发的支持。集成平台需要提供一组帮助用户开发特定应用程序的支持工具,简化用户在企业集成平台实施过程中的开发工作。 平台运行管理。需要提供企业集成平台的运行管理和控制模块,负责企业集成平台系统的静态和动态配置、集成平台的运行管理和维护、事件管理和出错管理等。通过命名服务、目录服务、平台的动态静态配置,
16、以及其中的关键数据的定期备份等功能来维护整个服务平台的系统配置及稳定运行。 接着结合项目实际,说明该项目所设计的企业集成平台的架构情况。对架构的说明应包括从架构层面上如何支持业务流程编写与管理;如何向用户提供功能与信息服务;如何集成业务伙伴的功能;如何与底层数据库、现有系统等进行交互等。 在实现企业集成平台时所使用的关键技术包括:数据交换格式。企业集成中常用的数据交换格式有:EDI、XML、STEP、PDML 等。分布式集成应用基础框架,主要有 CORBA、J2EE、Web Service 等。实现数据集成的常用模式:数据联邦、数据复制和基于接口的数据集成等。实现应用集成的常用模式:适配器集成
17、、信使集成、面板集成、代理集成模式等。 (3)结合项目的实际情况,具体阐述所设计的企业应用集成平台的使用情况,包括如何采用集成平台为企业应用提供一致的信息访问和交互手段,如何对在平台上运行的应用进行管理,如何为应用提供服务等。针对每种使用场景,需要详细说明最终的实施效果。论文最后可以进一步讨论你在该工程项目中获得的相关体会,以及在今后的工作过程中,如果碰到类似的开发项目将如何应用这些经验或教训。)解析:三、B试题三/B(总题数:1,分数:75.00)3.论企业架构管理与应用 企业架构管理(Enterprise Architecture Management,EAM)从功能、应用、信息和技术 4
18、 个层面定义了企业应用系统的结构,并通过业务需求驱动开发过程,为企业应用系统的开发提供标准和指导。EAM 将企业的业务和技术需求联系在一起,以管理业务变更为核心,强调业务与技术对齐,构建一个高内聚、动态的企业应用解决方案。 EAM 能够帮助企业识别可以提高运营效率的潜在领域,有助于企业建立从战略到解决方案交付的各种关系,识别技术解决方案中最优的业务成果,能够在业务重组、兼并、收购和其他业务变更计划中为企业最大化地节约成本,降低相关风险。 请围绕“企业架构管理与应用”论题,依次从以下三个方面进行论述。 (1)简要叙述你参与实施的企业应用系统的开发背景与总体需求、系统所采用的技术体制、实施企业软件
19、架构管理的动机、期望以及你所承担的实际工作。 (2)结合项目实际,简要阐述企业架构管理包含哪些方面的内容,每个方面包括哪些主要活动。 (3)阐述你在实施企业架构管理的过程中都遇到了哪些实际问题,以及解决这些问题的方法和过程。(分数:75.00)_正确答案:(1)简要介绍你参与实施的企业应用系统的基本情况,包括开发背景、总体需求、系统所采用的技术体制、实施企业软件架构管理的动机与期望等。简要说明自己在该项目中的角色以及主要承担的实际工作情况。参与实施的企业应用系统应有一定的规模,自己在该项目中担任的主要工作应有一定的份量。(2)企业架构管理(EAM)以管理业务变更为核心,根据业务目标确定 IT
20、投资的优先级;强调业务驱动技术,从管理的角度看待企业架构。企业架构管理主要包含架构管理、架构组装与建模、架构分析、架构通信、架构治理等方面的内容,详见下表。 BEAM 内容及主要活动/B内容 作用 主要活动存储管理。组织并管理企业架构相关的信息与存储,对其进行生命周期管理元模型管理。定义并管理企业架构中的元模型,实现元模型在不同应用之间的交互与映射访问和认证管理。管理企业内部用户、用户群组、用户目录和用户对企业架构信息的访问多语言管理。如果企业架构描述存在多种语言,需要对这些不同版本的描述进行存储及一致性管理架构管理对企业架构进行管理与配置自动化管理。对 EAM 的整个过程选择合适的自动化工具
21、,并对工具进行适当的配置与管理手工组装与建模。手工将图表、文档等形式描述的企业架构信息进行整合并录入架构存储结构自动化组装与建模。将数据库、XML 等结构化形式描述的企业架构信息进行迁移与整合与非结构化数据的连接。将企业架构信息通过内容管理系统与非结构化的数据(例如网页、图片、视频等)进行连接与关联架构组装与建模将架构描述信息进行整合,并将其放入存储结构中采用一些通用的框架或标准对架构进行描述、建模并存储浏览和检索。支持企业内部用户对架构内容进行有效地浏览与检索结构分析。对企业架构进行结构分析,发现其中的不足、冗余和架构制品之间的相互影响情况定性/定量分析。对企业架构代价与优势、利用率等指标进
22、行定性或定量分析架构分析理解并分析企业架构内容,并做出相关判断基于时间的分析。分析随着时间的推移,企业架构的变化及变化带来的影响信息发布。在企业内容的门户系统或共享文件夹中发布企业架构的相关信息报告。在企业相关报告中使用企业架构的内容,并利用企业架构内容为相关活动进行指导架构通信对企业架构内容进行发布与传播 企业实时信息反映与报告。对企业架构内容进行分析、统计等工作,在企业内部形成能够反映企业运营状况的实时信息报告可视化。能够为企业应用系统的关联人员创建可视化的企业架构内容,更好地实现他们之间的交流完成与发布管理。严格定义并执行企业架构内容完成与发布的工作流程变更管理。严格定义并执行对企业架构
23、内容的变更控制与追踪使用追踪。追踪用户和用户组对企业架构内容的实际使用情况架构治理在企业架构过程中引入解决方案发布、变更管理和质量保证等重要的治理过程与能力质量保证。保证架构内容的完整性、一致性和无二义性(3)在实施企业架构管理的过程中可能会遇到的问题包括(但不限于):如何选择合适的 EAM 工具;如何在企业内部有效共享企业架构信息;如何结合企业实际进行企业架构的变更管理;如何保证架构内容的质量。结合项目实践,简要说明你参与实施的企业应用系统遇到了哪些具体的项目问题,采用了哪些富有成效的解决策略、技术、方法和步骤(或过程),以及它们对该项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的
24、问题)。论文最后可以进一步讨论你在该工程项目中获得的相关体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。)解析:四、B试题四/B(总题数:1,分数:75.00)4.论软件需求获取技术及应用 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备是否充分,对获取的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,并与用户有效合作,是十分重要的。 请围绕“需求获取技术及应用”论题,
25、依次从以下三个方面进行论述。 (1)简要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 (2)详细说明目前有哪些比较常用的需求获取技术?说明每种需求获取技术的基本方法。 (3)详细论述在你参与分析和开发的软件项目中所采取的需求获取技术以及选取这些技术的原因,并说明需求获取的具体实施步骤。(分数:75.00)_正确答案:(对你在论文中准备列举的大中型信息系统软件开发项目的背景、发起单位、目标、项目周期、项目内容、项目领域和交付的产品等做出简要的介绍。在第一段的末尾,尽量用一两句话简要说明在该项目中你所担任的角色和所开展的主要工作,尤其是要突出在项目需求分析方面所承担的职责。 (2)
26、需求获取阶段的核心任务就是确定 3 个层次的需求:对于业务层要强调明确业务总目标及使用范围;对于用户层要强调明晰用户工作流程;对于功能层还要收集系统运行环境的限制等非功能性需求。不同的时间、不同的用户会由于不同的业务目标及使用范围而提出不尽相同的需求,同时由于没有约定提出方式也会有各不相同的表现形式。针对上述问题,首先要确定用户代表并对其在需求中的主次地位予以划分;其次要确定需求的整个开发过程;最后还要明确不同层次的需求要以约定的形式出具文档,以备双方的交流或问题检查。 为了获取正确的需求信息,可以使用以下几种比较常用的需求获取方法和技术。 抽样技术:对现有文档、表和文件进行抽样。 调研和实地
27、访问。 观察工作环境:通过观察用户的活动、现场及工作习惯来了解项目需求。 问卷调查:通过使用调查表收集信息。调查表有两种格式:自由格式和固定格式。 客户面谈:通过直接、面对面的交互获取需求。在与用户接触之前,首先必须对问题的背景和问题所在系统的环境进行全面了解;其次,尽可能了解用户的个性特点及任务状况;最后,事先准备一些问题,在与用户交流的过程中能够循序渐进地提出问题。 快速原型法:它作为开发人员与用户的交流手段至少可以获取两个层次上的需求。第一层是联机界面,即确定用户界面风格以及报表的版式和内容;第二层是第一层的扩展,用于模拟系统的外部特征,包括所引用数据库的交互及其操作,执行系统关键区域的
28、操作等。 联合需求计划(JRP):通过召开一系列高度结构化的分组会议,快速地分析问题、定义需求。策划一个 JRP 会议包括 3 个步骤:选择 JRP 会议地点、选择 JRP 与会者、准备 JRP 会议议程。JRP 会议的成功取决于 JRP 主持人及其计划与主持 JRP 会议的能力。 (3)结合项目实际工作,举例说明在获取某些具体需求时分别采用了哪类需求获取技术;详细说明在相关场景中选择这些需求获取技术的主要原因及其具体实施步骤,并对应用效果进行分析和评价,评价要客观、适当。建议采用以下步骤来指导项目需求的获取: 01 针对提议的系统评估业务及技术可行性,给出需要和可行性的相关叙述。 02 确定
29、能够帮助刻画需求和熟悉组织及相关业务的人员,给出参与需求获取活动的客户、用户和其他风险承担者的列表。 03 定义系统或产品的技术环境并给出相关的描述。 04 确定”领域约束”,从而限制待建设系统/产品的功能或性能,并给出系统/产品范围的限制性陈述,以及需求列表和应用于每个需求的领域限制。 05 针对应用项目定义一种或多种需求获取的方法或技术。 06 尽可能多邀请相关人员参与,以便能从不同视角来定义需求,并确定每个正式需求的理由。 07 确定有歧义的需求作为原型实现的候选对象。 08 创建并给出使用场景,以帮助用户更好地确定关键需求,提供对在不同运行条件下系统/产品的使用指导意见。 09 给出原型,以更好地定义需求。)解析: