高级系统架构设计师下午试题(Ⅱ)模拟20
试题一
论统一软件开发过程的应用
RUP(RationalUnifledProces)是一种软件工程过程产品,它吸取了现代软件开发中许多成功的实践。RUP把软件生存周期划分为多个循环(Cycles),每个循环生成产品的一个新的版本。每个循环依次由4个连续的阶段(Phase)组成,每个阶段完成确定的任务。与传统的软件过程相比,基于RUP的软件过程可以降低项目的风险,规范管理和开发流程,有效地控制资源,提高软件开发的成功率和生产率。
请围绕“统一软件开发过程的应用”论题,依次从以下3个方面进行论述。
1、概要叙述你参与管理和开发的软件项目及你在其中担任的主要工作,包括角色、工作内容等。2、论述RUP的核心工作流和典型的迭代策略模式,具体论述你所参与的项目如何应用RUP,在项目实施过程中遇到了什么问题,如何解决。
3、分析与评估你在所参与项目中应用RUP裁剪的实际开发效果,以及你进一步应用RUP的有关设想。
试题二
论多层分布式架构风格在企业信息化的应用
传统的应用系统模式是“主机/终端”或“客户机/服务器”。随着中间件技术和Web技术的发展,这些传统模式已经不能适应新的环境。目前设计大中型应用系统大多采用多层分布式结构,例如C/A/S和B/A/S。在实际应用中,应根据系统的具体需求和运行环境的不同选择合适的多层分布式结构。
请围绕“多层分布式架构风格在企业信息化的应用”论题,依次从以下3个方面进行论述。4、概要叙述你参与管理和开发的多层分布式管理信息系统及你在其中所担任的主要工作。
5、简要说明多层分布式架构风格分类的依据及其特点,并指出你参与管理和开发的应用系统属于其中的哪种结构,以及选择这种结构的原因。
6、具体论述你在开发该系统时采用了哪些方法、策略和工具来实现所选的结构,最终实际效果如何。
试题三
论可视化技术在实时控制系统的应用
以图形的方式观察和认识事物,是人类最便捷的认知方式之一。实时控制系统的可视化技术,使得操控人员以更加易于理解的形式掌握被控对象和过程的状态,为操作与决策提供方便。但是,可视化的设计涉及许多相关技术,程序设计复杂,有时甚至比设计实时控制系统本身的工作量还大。
请围绕“可视化技术在实时控制系统的应用”论题,依次对以下3个方面进行论述。7、概要叙述你参与管理和开发的实时控制系统项目及你所担任的主要工作。
8、论述你在实时控制系统可视化的设计中所涉及的基本概念和采用的技术、方法,详细叙述实现过程中所遇到的问题及解决办法。
9、分析与评估可视化技术对改善系统操控性能的效果,简要展望可视化技术在未来实时控制系统的应用前景,以及你进一步应用可视化技术的有关设想。
试题四
论基于XML的异构数据库系统架构与应用
随着信息技术在世界范围内的迅猛发展,特别是网络技术的普及应用,电子政务(或电子商务,或其他类似应用项目,下同)正在成为当代信息化的最重要领域之一。在基于Web的电子政务系统中,可能存在着多种不同的操作平台和数据库系统,如何实现在Internet上对异构的数据进行访问,是设计电子政务系统开发人员必须解决的问题之一。基于XML技术的异构数据库系统是解决该问题的方法之一。
请围绕“基于XML的异构数据库系统架构与应用”论题,依次对以下3个方面进行论述。10、概要叙述你参与管理和开发的数据库管理系统工程项目及你在其中所承担的主要工作。
11、简要介绍异构数据库系统的异构性体现在哪些方面,具体论述你是如何在所管理和开发的软件工程项目中应用XML技术的,详细描述XML的特点和优点,在项目实施过程中遇到的问题及解决的办法。
12、分析与评估你在异构数据库系统平台上采用XML技术的效果,简要展望XML未来的应用前景,以及你进一步应用xML的有关设想。
答案:
试题一
1、简要介绍你参与管理和开发的大中型信息系统软件工程项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。参与设计和实施的软件项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
2、统一软件开发过程(RUP)是一种用例驱动的,以体系结构为中心、迭代和增量的软件开发过程。可以采用二维模型来描述RUP——时间和内容。从时间维来看,软件生存周期被划分为不同的循环(Cycles)。每个循环又被划分为4个连续的阶段(Phase),每个阶段都包含一个妥善定义的里程碑(Milestone);每个阶段还可以被进一步划分为若干轮迭代(Iterations)。一次迭代是一次完整的开发过程,每次迭代结束时都会发布一个可执行的产品,这个产品是正在开发的软件系统的一个子集,它会逐渐扩展为最终系统。内容结构指的是一些将活动(Activities)组织在一起的、天然存在的规则。
①RUP把生命周期模型划分为初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)共4个阶段,如下表所示。每个阶段结束于一个主要的里程碑(MajorMilestones)。每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意,则可以允许项目进入下一个阶段。
②RUP中有9个
确定项目开核心工发的目标和作流,分初始范围,即确为6个阶段定项目的边核心过界程工作
流(Core
确定系统架为系统的结构建Proce
构和明确需立了管理基准并ss
求。分析问为了达到该目的,必须在理解Workf
使项目小组能够lows)题领域,建整个系统的基础上,对体系结在构建阶段中进和3个立健全的体构作出决策,包括其范围、主生命周期结构细化行衡量。此刻,核心支系结构基要功能和诸如性能等非功能(Lifecycle要检验详细的系阶段持工作础,编制项需求。同时为项目建立支持环hitecture)统目标和范围、流目计划,淘境,包括创建开发案例,以及结构的选择,以(Core
汰项目中最创建模板、准则及准备工具及主要风险的解Suppo
高风险的元决方案rting
素Workf
决定了产品是否lows)。
可以在测试环境9个核所有剩余的构件和应用程序中进行部署。此心工作功能被开发并集成为产品,所实现剩余的刻,要确定软件、流在项有的功能被详细测试。从某种初始功能构造系统功能,环境及用户是否(Initial目中轮意义上说,构建阶段是一个制perational可以开始系统的阶段所有的功能流被迭造过程,其重点放在管理资源)被详细测试运代使用,及控制运作,以优化成本、进作。此时的产品在每一度和质量版本也常被称为次迭代
Beta版中以不
重点是确保软件对最终用户此时要确定目标同的重
是可用的,该阶段可以跨越几是否实现,是否点和强
次迭代,包括为发布做准备的完成软件的应该开始另一个度重复。
产品测试,基于用户反馈的少产品发布·交付交付工作,开发周期。在一量的调整。用户反馈应主要集(Product业务建些情况下这个里阶段将系统移交中在产品调整、设置、安装和Release)给客户程碑可能与下一模
可用性问题,所有主要的结构(Busi
个周期的初始阶ness问题应该已经在项目生命周段的结束重合Model期的早期阶段解决了ing)工
作流:描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程、角色和责任。
·需求(Requirements)工作流:描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织和文档化;最重要的是理解系统所解决问题的定义和范围。
·分析和设计(Analysis或Design)工作流:将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。
阶段目标目标说明里程碑里程碑说明为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。在这个阶段中所关注的是整生命周期目标评价项目基本的(Lifecvcle个项目进行中的业务和需求Objective)生存能力方面的主要风险。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短RUP各阶段说明·实现(Implementation)工作流:以层次化的子系统形式定义代码的组织结构,以组件的形式(源文件、二进制文件或可执行文件)实现类和对象,将开发出的组件作为单元进行测试,并集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。
·测试(Test)工作流:检验对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。
·部署(Deployment)工作流:软件打包、生成软件本身以外的产品、安装软件,以及为用户提供帮助等。成功的生成版本并将软件分发给最终用户。该工作流描述了那些与确保软件产品对最终用户具有可用性的相关活动。
·配置和变更管理(Configuration或changeManagement)工作流:描述了如何管理并行开发、分布式开发、如何自动化创建工程,以及对产品修改原因、时间和人员保持审计记录。该工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。
·项目管理(ProiectManagement)工作流:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。软件项目管理用于平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。
·环境(Environment)工作流:向软件开发组织提供软件开发环境,包括过程和工具。该工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。
③关于RUP迭代计划的安排,通常有以下4种典型的策略模式:
·增量式(Incremental)。该模式的特点是项目架构的风险较小(往往是开发一些重复性的项目),所以细化阶段只需要一个迭代。但项目的开发工作量较大,构建阶段需要有多次迭代来实现,每次迭代都在上一次迭代的基础上增加实现一部分的系统功能。
·演进式(Evolutionary)。当项目架构的风险较大时(从未开发过类似项目),需要在细化阶段通过多次迭代来建立系统的架构,架构是通过多次迭代的探索逐步演化而来的。当架构建立时,往往系统的功能也已经基本实现,所以构建阶段只需要一次迭代。
·增量提交(IncrementalDeliveq)。该模式的特点是产品化阶段的迭代较多,比较常见的例子是项目的难度并不大,但业务需求在不断地发生变化,所以需要通过迭代来不断地部署完成系统;但同时又要不断地收集用户的反馈来完善系统需求,并通过后续的迭代来补充实现这些需求。
·单次迭代(GrandDesign)。传统的瀑布模型可以看做是迭代化开发的一个特例,整个开发流程只有一次迭代。但这种模式有一个固有的弱点,由于它对风险的控制能力较差,往往会在产品化阶段产生一些额外的迭代,造成项目的延误。
④结合项目实践经验,说明在你参与管理和开发的软件项目中如何应用RUP,在项目实施过程中遇到了什么问题,采用了哪些技术、方法和步骤来解决相关的问题,以及它们对该工程项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的问题)。对所提出的问题,应有具体的着眼点,不能泛泛而谈。
3、RUP是一个通用的过程模板,包含了很多开发指南、制品,以及开发过程所涉及的各种角色说明。RUP非常庞大,没有一个项目会使用RUP中的所有东西,针对具体的开发机构和项目,应用RUP时还要做裁剪,即要对RUP进行配置。RUP就像一个元过程(Meta-Process),通过对RUP进行裁剪可以得到很多不同的开发过程,这些软件开发过程可以看做是RUP的具体实例,以适应于不同的开发机构和项目需求。针对一个具体的软件项目,RUP裁剪可以分为以下几个步骤。
①确定本项目需要哪些工作流。RUP的9个核心工作流并不总是需要的,可以根据项目的规模、类型等对核心工作流做一些取舍。例如,嵌入式软件系统项目通常不需要业务建模这一工作流。
②确定每个工作流要产出哪些制品。例如,规定某个工作流应产出哪些类型的文档。
③确定生命周期的4个阶段之间如何演进。确定阶段间演进要以风险控制为原则,决定每个阶段要执行哪些工作流、每个工作流执行到什么程度、产出的制品有哪些、每个制品完成到什么程度等。
④确定每个阶段内的迭代计划。规划RUP的4个阶段中每次迭代开发的具体内容有哪些。
⑤规划工作流的内部结构。工作流不是活动的简单堆积,它涉及到角色活动及制品,其复杂程度与项目规模、角色的多少等因素有关。通常情况下用活动图的形式给出所规划的工作流的内部结构。这一步决定裁剪后的RUP要设立哪些角色,是对RUP进行裁剪的难点。
结合RUP裁剪步骤的相关知识,分析与评估你在所参与项目中应用RUP裁剪的实际开发效果。注
意要给出具体的评价依据,评价要客观、适当。论文最后可以进一步讨论你在该工程项目中获得的、应用RUP方面的几点经验体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。
试题二
4、简要介绍你参与管理和开发的多层分布式管理信息系统项目的基本情况(例如该系统采用的是C/A/S还是B/A/S等),在第一段的末尾,尽量用一两句话简要说明在该项目中你所担任的角色、所承担的主要任务及开展的主要工作。参与管理和开发的工程项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
5、论文的第二部分是体现你的系统架构理论知识和实践思想的精华所在。在叙述本部分内容时,应注重理论与自身实践经历的结合。论文要点如下。
①说明多层分布式架构风格分类的依据。分布式架构风格中有:客户机/服务器(C/S)架构风格;浏览器/服务器(B/S)架构风格;CORBA、DCOM和EJB架构风格等。从概念上说,任何信息系统应用都可以映射到以下5个层次。
·表现层:是实际的用户界面。
·表现逻辑层:为了生成表现层而必须进行的处理。
·应用逻辑层:包括支持实际业务应用及规则所需的所有逻辑和处理。
·数据处理层:包括用来存储和访问往来于数据库的数据,所需的所有命令和逻辑。·数据层:数据库中实际存储的数据。
例如,在C/A/S结构中,是将数据层和数据处理层放置在各自的服务器上,应用逻辑层放置在各自的服务器上,表现逻辑层和表现层放置在客户端上,称为3层或多层客户/服务器计算。而在
表现层和表现逻辑层在客户端Web浏览器中,使用从某个Web服务器下载的内容实现,B/A/S结构中,
表现逻辑层连接到运行在应用服务器上的应用逻辑层,应用逻辑层最终连接到后台的数据库服务器。
②说明基于多层分布式架构风格的应用系统的主要特点:
·安全性:中间层隔离了客户对数据服务器的访问,保护了数据库的安全。·稳定性。
由于业务逻辑位于单独的一层,当业务规则发生变化后,客户端程序基本不做改动。·易维护性:
·快速响应:通过负载均衡及中间层缓存数据能力,可以提高对客户端的响应速度。
·系统扩展性、灵活性:基于多层分布式结构,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。
③基于多层分布式架构风格的应用系统的开发主要考虑以下几方面的技术:
·开发环境:开发人员需要一种创建新组件,并将已有组件加以集成的开发环境。·应用程序的集成。
·应用程序的配置:分布式结构的开发需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。
·选择合适的中间件。
6、结合项目实践经验,说明你参与管理和开发的工程项目中,采用了哪些方法、策略和工具来实现所选的架构风格,以及这些技术、方法和步骤对该项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的问题)。论文最后可以进一步讨论你在该工程项目中获得的相关体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。对需要进一步改进的地方,应有具体的着眼点,具有一定的深度,不能泛泛而谈。
试题三
7、简要介绍你参与管理和开发的大中型实时控制系统项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。参与管理和开发的实时控制系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
8、讨论你在实时控制系统可视化的设计中所涉及的基本概念和采用的技术及方法。
分析各种可视化系统的共性,讨论独立于实时控制系统的可视化平台的概念模型和基本要素,分析在实时控制系统与可视化平台之间传送消息的基本形式。
结合项目实践经验,针对在可视化平台上开发实时控制系统可视化部分的具体要求,详细分析