1、高级系统架构设计师下午试题()-2 及答案解析(总分:75.00,做题时间:90 分钟)一、论基于 XML的异构数据库系统架构与应用(总题数:1,分数:18.75)1.随着信息技术在世界范围内的迅猛发展,特别是网络技术的普及应用,电子政务(或电子商务,或其他类似应用项目,下同)正在成为当代信息化的最重要领域之一。在基于 Web的电子政务系统中,可能存在着多种不同的操作平台和数据库系统,如何实现在 Internet上对异构的数据进行访问,是设计电子政务系统开发人员必须解决的问题之一。基于 XML技术的异构数据库系统是解决该问题的方法之一。请围绕“基于 XML的异构数据库系统架构与应用”论题,依次
2、对以下 3个方面进行论述。1概要叙述你参与管理和开发的数据库管理系统工程项目及你在其中所承担的主要工作。2简要介绍异构数据库系统的异构性体现在哪些方面,具体论述你是如何在所管理和开发的软件工程项目中应用 XML技术的,详细描述 XML的特点和优点,在项目实施过程中遇到的问题及解决的办法。3分析与评估你在异构数据库系统平台上采用 XML技术的效果,简要展望 XML未来的应用前景,以及你进一步应用 XML的有关设想。(分数:18.75)_二、论多层分布式架构风格在企业信息化的应用(总题数:1,分数:18.75)2.传统的应用系统模式是“主机/终端”或“客户机/服务器”。随着中间件技术和 Web技术
3、的发展,这些传统模式已经不能适应新的环境。目前设计大中型应用系统大多采用多层分布式结构,例如 C/A/S和B/A/S。在实际应用中,应根据系统具体需求和运行环境的不同选择合适的多层分布式结构。请围绕“多层分布式架构风格在企业信息化的应用”论题,依次从以下 3个方面进行论述。1概要叙述你参与管理和开发的多层分布式管理信息系统及你在其中所担任的主要工作。2简要说明多层分布式架构风格分类的依据及其特点,并指出你参与管理和开发的应用系统属于其中的哪种结构,以及选择这种结构的原因。3具体论述你在开发该系统时采用了哪些方法、策略和工具来实现所选的结构,最终实际效果如何。(分数:18.75)_三、论可视化技
4、术在实时控制系统的应用(总题数:1,分数:18.75)3.以图形的方式观察和认识事物,是人类最便捷的认知方式之一。实时控制系统的可视化技术,使得操控人员以更加易于理解的形式掌握被控对象和过程的状态,为操作与决策提供方便。但是,可视化的设计涉及许多相关技术,程序设计复杂,有时甚至比设计实时控制系统本身的工作量还大。请围绕“可视化技术在实时控制系统的应用”论题,依次对以下 3个方面进行论述。1概要叙述你参与管理和开发的实时控制系统项目及你所担任的主要工作。2论述你在实时控制系统可视化的设计中所涉及的基本概念和采用的技术、方法,详细叙述实现过程中所遇到的问题及解决办法。3分析与评估可视化技术对改善系
5、统操控性能的效果,简要展望可视化技术在未来实时控制系统的应用前景,以及你进一步应用可视化技术的有关设想。(分数:18.75)_四、论统一软件开发过程的应用(总题数:1,分数:18.75)4.RUP(Rational Unified Proces)是一种软件工程过程产品,它吸取了现代软件开发中许多成功的实践。RUP把软件生存周期划分为多个循环(Cycles),每个循环生成产品的一个新的版本。每个循环依次由 4个连续的阶段(Phase)组成,每个阶段完成确定的任务。与传统的软件过程相比,基于 RUP的软件过程可以降低项目的风险,规范管理和开发流程,有效地控制资源,提高软件开发的成功率和生产率。请围
6、绕“统一软件开发过程的应用”论题,依次从以下 3个方面进行论述。1概要叙述你参与管理和开发的软件项目及你在其中担任的主要工作,包括角色、工作内容等。2论述 RUP的核心工作流和典型的迭代策略模式,具体论述你所参与项目如何应用 RUP,在项目实施过程中遇到了什么问题,如何解决。3分析与评估你在所参与项目中应用 RUP裁剪的实际开发效果,以及你进一步应用 RUP的有关设想。(分数:18.75)_高级系统架构设计师下午试题()-2 答案解析(总分:75.00,做题时间:90 分钟)一、论基于 XML的异构数据库系统架构与应用(总题数:1,分数:18.75)1.随着信息技术在世界范围内的迅猛发展,特别
7、是网络技术的普及应用,电子政务(或电子商务,或其他类似应用项目,下同)正在成为当代信息化的最重要领域之一。在基于 Web的电子政务系统中,可能存在着多种不同的操作平台和数据库系统,如何实现在 Internet上对异构的数据进行访问,是设计电子政务系统开发人员必须解决的问题之一。基于 XML技术的异构数据库系统是解决该问题的方法之一。请围绕“基于 XML的异构数据库系统架构与应用”论题,依次对以下 3个方面进行论述。1概要叙述你参与管理和开发的数据库管理系统工程项目及你在其中所承担的主要工作。2简要介绍异构数据库系统的异构性体现在哪些方面,具体论述你是如何在所管理和开发的软件工程项目中应用 XM
8、L技术的,详细描述 XML的特点和优点,在项目实施过程中遇到的问题及解决的办法。3分析与评估你在异构数据库系统平台上采用 XML技术的效果,简要展望 XML未来的应用前景,以及你进一步应用 XML的有关设想。(分数:18.75)_正确答案:(1简要介绍你参与规划、设计和实施的大中型数据库管理系统项目,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与设计和实施的数据库管理系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。2异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在
9、,拥有自己的 DMBS。异构数据库的各个组成部分具有自身的自治性,在实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库系统的异构性主要体现在以下几个方面。(1)计算机体系结构的异构。各个参与的数据库可以分别运行在大型机、小型机、工作站、PC 或嵌入式系统中。(2)基础操作系统的异构。各个数据库系统的基础操作系统可以是 UNIX、Windows NT/2000/2003、Linux及 Novell NetWare等。(3)DMBS本身的异构。可以是同为关系型数据库系统的 Oracle、SQL Servet 等,也可以是不同数据模型的数据库,如关系、模式、层
10、次、网络或面向对象,函数型数据库共同组成一个异构数据库系统。事实上,在基于 Web的电子政务系统中,肯定存在各种不同的操作平台,存在各种各样的数据库系统。而电子政务处理过程中要求能够在异构平台和异构数据库之间,在不同的网络中实现数据交换和业务自动处理。这些必然涉及数据、公文和文档格式的标准化及统一化,需要建立一个能够描述政府部门内部、政府部门间和政府与公众间数据交换和业务处理流程的规范标准,以减少数据在处理过程中因标准不统一而引起的诸多问题。目前,国家电子政务标准已经确定采用 XML(可扩展标记语言)为电子公文的标准格式。XML文档具有“可自描述”、“无限嵌套”和“树型结构”等特点。XML是一
11、种元标记语言,它通过在数据中加入附加信息的方式来描述结构化数据,并允许程序开发人员根据它所提供的规则,制定各种各样的标记语言。在 XML中,置标的语法是通过文档类型定义(DTD)来描述的。为了明确各个标记的含义,XML 还使用与之相连的样式单(Style Sheet)来向应用程序(比如浏览器)提供如何处理显示的指示说明。一言以蔽之,XML 是通过数据文档、IyrD 和样式单 3个分离的部分来描述数据的。XML 具有的一些突出优点表现在以下几个方面。(1)良好的可扩展性。XML 允许各个不同的行业根据自己独特的需要制定自己的一套标记,同时,它并不要求所有浏览器都能处理这成千上万个标记,同样也不要
12、求一个置标语言能够适合各个行业各个领域的应用,这种具体问题具体分析的方法更有助于置标语言的发展。(2)内容与形式的分离。XML 中信息的显示方式已经从信息本身中抽取出来,放在了“样式单”中。这样做便于信息表现方式的修改,便于数据的搜索,也使得 XML具有良好的自描述性,能够描述信息本身的含义甚至它们之间的关系。(3)遵循严格的语法要求。XML 不但要求标记配对和嵌套,而且还要求严格遵守 DTD的规定。这增加了网页文档的可读性和可维护性,也大大减轻了浏览器开发人员的负担,提高了浏览器的时间空间效率。(4)便于不同系统之间信息的传输。不同企业、不同部门中往往存在着许多不同的系统,XML 可以用做各
13、种不同系统之间的交流媒介,是一种比较理想的网际语言。基于 XML的异构数据访问的核心在于使用 XML文档作为数据交换的标准,在客户端只需从 Web上接收和发送 XML文档,而无须关心服务端如何处理 XML文档本身。其可能的体系结构如图 5-11所示。在图 5-11中,数据库管理系统(DBMS)层提供数据库的存储和访问,该模块可以是关系型的 DBMS、面向对象的 DBMS、XML DBMS 或者文件系统等。中间层提供一个 Web服务器,可以访问 DBMS的数据并使客户端访问数据。中间层选择的技术可以是 Web服务器、具有 CGI脚本的 Web服务器、具有 Servlet的 Web服务器、具有 J
14、ava Server Pages的 Web服务器,以及具有数据库连接的商用中间层或者应用服务器等。客户端提供一个用户接口,具有通过中间层的功能。客户端可以是 G2G、B2B 等其他的应用。客户端技术可以是浏览器、Java Applet 或者 Java的应用程序等。)解析:二、论多层分布式架构风格在企业信息化的应用(总题数:1,分数:18.75)2.传统的应用系统模式是“主机/终端”或“客户机/服务器”。随着中间件技术和 Web技术的发展,这些传统模式已经不能适应新的环境。目前设计大中型应用系统大多采用多层分布式结构,例如 C/A/S和B/A/S。在实际应用中,应根据系统具体需求和运行环境的不同
15、选择合适的多层分布式结构。请围绕“多层分布式架构风格在企业信息化的应用”论题,依次从以下 3个方面进行论述。1概要叙述你参与管理和开发的多层分布式管理信息系统及你在其中所担任的主要工作。2简要说明多层分布式架构风格分类的依据及其特点,并指出你参与管理和开发的应用系统属于其中的哪种结构,以及选择这种结构的原因。3具体论述你在开发该系统时采用了哪些方法、策略和工具来实现所选的结构,最终实际效果如何。(分数:18.75)_正确答案:(1简要介绍你参与管理和开发的多层分布式管理信息系统项目的基本情况(例如该系统采用的是 C/A/S还是 B/A/S等),在第一段的末尾,尽量用一两句话简要说明在该项目中你
16、所担任的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与管理和开发的工程项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。2论文的第二部分是体现你的系统架构理论知识和实践思想的精华所在。在叙述本部分内容时,应注重理论与自身实践经历的结合。论文要点如下。1)说明多层分布式架构风格分类的依据分布式架构风格中有客户机朋艮务器(C/S)架构风格、浏览器/服务器(B/S)架构风格、CORBA、DCOM 和 EJB架构风格等。从概念上说,任何信息系统应用都可以映射到以下 5个层次。(1)表现层:是实际的用户界面。(2)表现逻辑层:为了生成表现层而必须进行的处理。(3)应用逻辑层:包括
17、支持实际业务应用及规则所需的所有逻辑和处理。(4)数据处理层:包括用来存储和访问往来于数据库的数据,所需的所有命令和逻辑。(5)数据层:数据库中实际存储的数据。例如,在 C/A/S结构中,是将数据层和数据处理层放置在各自的服务器上,应用逻辑层放置在各自的服务器上,表现逻辑层和表现层放置在客户端上,称为 3层或多层客户/服务器计算。而在 B/A/S结构中,表现层和表现逻辑层在客户端 Web浏览器中,使用从某个 Web服务器下载的内容实现,表现逻辑层连接到运行在应用服务器上的应用逻辑层,应用逻辑层最终连接到后台的数据库服务器。2)说明基于多层分布式架构风格的应用系统的主要特点(1)安全性:中间层隔
18、离了客户对数据服务器的访问,保护了数据库的安全。(2)稳定性。(3)易维护性:由于业务逻辑位于单独的一层,当业务规则发生变化后,客户端程序基本不做改动。(4)快速响应:通过负载均衡及中间层缓存数据能力,可以提高对客户端的响应速度。(5)系统扩展性、灵活性:基于多层分布式结构,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。3)基于多层分布式架构风格的应用系统的开发主要考虑以下几方面的技术(1)开发环境:开发人员需要一种创建新组件,并将已有组件加以集成的开发环境。(2)应用程序的集成。(3)应用程序的配置:分布式结构的开发需要配置平台的支持,以便在用户
19、剧增时能有效地扩展,并保持系统的稳定。(4)选择合适的中间件。3结合项目实践经验,说明你参与管理和开发的工程项目中,采用了哪些方法、策略和工具来实现所选的架构风格,以及这些技术、方法和步骤对该项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的问题)。论文最后可以进一步讨论你在该工程项目中获得的相关体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。对需要进一步改进的地方,应有具体的着眼点,具有一定的深度,不能泛泛而谈。)解析:三、论可视化技术在实时控制系统的应用(总题数:1,分数:18.75)3.以图形的方式观察和认识事物,是人类最便捷的认知方式之一。实时控
20、制系统的可视化技术,使得操控人员以更加易于理解的形式掌握被控对象和过程的状态,为操作与决策提供方便。但是,可视化的设计涉及许多相关技术,程序设计复杂,有时甚至比设计实时控制系统本身的工作量还大。请围绕“可视化技术在实时控制系统的应用”论题,依次对以下 3个方面进行论述。1概要叙述你参与管理和开发的实时控制系统项目及你所担任的主要工作。2论述你在实时控制系统可视化的设计中所涉及的基本概念和采用的技术、方法,详细叙述实现过程中所遇到的问题及解决办法。3分析与评估可视化技术对改善系统操控性能的效果,简要展望可视化技术在未来实时控制系统的应用前景,以及你进一步应用可视化技术的有关设想。(分数:18.7
21、5)_正确答案:(1简要介绍你参与管理和开发的大中型实时控制系统项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与管理和开发的实时控制系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。2讨论你在实时控制系统可视化的设计中所涉及的基本概念和采用的技术及方法。分析各种可视化系统的共性,讨论独立于实时控制系统的可视化平台的概念模型和基本要素,分析在实时控制系统与可视化平台之间传送的消息的基本形式。结合项目实践经验,针对在可视化平台上开发实时控制系统可视化部分的具体要求,详细分析对可视化系统开发工具的要求。详细叙述实时控制系统可视化的形式
22、和实际意义,要明确系统设计的目标,对于讨论可视化系统设计和实现时所遇到过的主要问题,要有具体的解决方案和对策(解决办法)。3说明你的项目中所使用的可视化技术,对改善系统操控性能进行客观的分析和适当的评价,进一步讨论你在实时控制系统的可视化设计方面的几点体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。对需要进一步改进的地方,应有具体的着眼点,不能泛泛而谈。论文最后简要给出实时控制系统可视化技术的发展趋势与前景。在对发展前景和可能的新技术讨论时,最好能够讨论某一种具体技术的实际应用。)解析:四、论统一软件开发过程的应用(总题数:1,分数:18.75)4.RUP(Ra
23、tional Unified Proces)是一种软件工程过程产品,它吸取了现代软件开发中许多成功的实践。RUP把软件生存周期划分为多个循环(Cycles),每个循环生成产品的一个新的版本。每个循环依次由 4个连续的阶段(Phase)组成,每个阶段完成确定的任务。与传统的软件过程相比,基于 RUP的软件过程可以降低项目的风险,规范管理和开发流程,有效地控制资源,提高软件开发的成功率和生产率。请围绕“统一软件开发过程的应用”论题,依次从以下 3个方面进行论述。1概要叙述你参与管理和开发的软件项目及你在其中担任的主要工作,包括角色、工作内容等。2论述 RUP的核心工作流和典型的迭代策略模式,具体论
24、述你所参与项目如何应用 RUP,在项目实施过程中遇到了什么问题,如何解决。3分析与评估你在所参与项目中应用 RUP裁剪的实际开发效果,以及你进一步应用 RUP的有关设想。(分数:18.75)_正确答案:(1简要介绍你参与管理和开发的大中型信息系统软件工程项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与设计和实施的软件项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。2统一软件开发过程(RUP)是一种用例驱动的,以体系结构为中心、迭代和增量的软件开发过程。可以采用二维模型来描述 RUP时间和内容。从时间维来看,软件生存周期被划分为不同
25、的循环(Cycles)。每个循环又被划分为 4个连续的阶段(Phase),每个阶段都包含一个妥善定义的里程碑(Milestone);每个阶段还可以被进一步划分为若干轮迭代(Iterations)。一次迭代是一次完整的开发过程,每次迭代结束时会发布一个可执行的产品,这个产品是正在开发的软件系统的一个子集,它会逐渐扩展为最终系统。内容结构指的是一些将活动(Activities)组织在一起的、天然存在的规则。1)RUP的生命周期RUP把生命周期模型划分为初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)4 个阶段
26、,如表 525所示。每个阶段结束于一个主要的里程碑(MaiorMilestones)。每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。表 5-25 RUP各阶段说明阶段目标目标说明里程碑里程碑说明初始阶段确定项目开发的目标和范围,即确定项为了达到该目的必须识别所有与系统生命周期目标(Lifecycle 评价项目基本的生存能力目的边界交互的外部实体,在较高层次上定义交互的特性。在这个阶段中所关注的是整个项目进行中的业务和需求Objective)方面的主要风险。对于建立在原有系统基础上的开
27、发项目来讲,初始阶段可能很短精化阶段确定系统架构和明确需为了达到该目的,必须在生命周期结构(Lif为系统的结构建立了管求。分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素理解整个系统的基础上,对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目ecycle Architecture)理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择,以及主建立支持环境,包括创建开发案例,创建模板、准则及准备工具要风险的解决方案构建阶段实现剩余的系统功能,所有的功能被详细测所有剩余的构件和应用程序功能被开发并初始功能(Ini
28、tial Operat决定了产品是否可以在测试环境中进行部试 集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控ional)署。此刻,要确定软件、环境及用户是否可以开始系统的运作。此时的产品版本也常被称为“Beta”版制运作以优化成本、进度和质量移交阶段完成软件的交付工作,将系统移交给客户重点是确保软件对最终用户是可用的,该阶段可以跨越几次迭代,包括为发产品发布(Product Release)此时要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下布做准备的产品测试,基于用户反馈的少量的调整。用户反馈应主要集中在产品调整、设置、安装和可用
29、性问这个里程碑可能与下一个周期的初始阶段的结束重合题,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了2)RUP中有 9个核心工作流,分为 6个核心过程工作流(Core Process Workflows)和 3个核心支持工作流(Core Supporting Workflows)。9 个核心工作流在项目中轮流被迭代使用,在每一次迭代中以不同的重点和强度重复(1)业务建模(Business Modeling)工作流:描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程、角色和责任。(2)需求(Requirements)工作流:描述系统应该做什
30、么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织和文档化;最重要的是理解系统所解决问题的定义和范围。(3)分析和设计(Analysis 或 Design)工作流:将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。(4)实现(Implementation)工作流:以层次化的子系统形式定义代码的组织结构,以组件的形式(源文件、二进制文件或可执行文件)实现类和对象,将开发出的组件作为单元进行测试,并集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。(
31、5)测试(Test)工作流:检验对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处理。(6)部署(Deployment)工作流:软件打包、生成软件本身以外的产品、安装软件,以及为用户提供帮助等。成功的生成版本并将软件分发给最终用户。该工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动。(7)配置和变更管理(Configuration 或 Change Management)工作流:描述了如何管理并行开发、分布式开发、如何自动化创建工程,以及对产品修改原因、时间和人员保持审计记录。该工作流提供了准则来管理演化系统中的多个
32、变体,跟踪软件创建过程中的版本。(8)项目管理(Project Management)工作流:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。(9)环境(Environment)工作流:向软件开发组织提供软件开发环境,包括过程和工具。该工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。3)关于 RUP迭代计划的安排,通常有以下 4种典型的策略模式(1)增量式(Incremental)。该模式的
33、特点是项目架构的风险较小(往往是开发一些重复性的项目),所以精化阶段只需要一个迭代。但项目的开发工作量较大,构建阶段需要有多次迭代来实现,每次迭代都在上一次迭代的基础上增加实现一部分的系统功能。(2)演进式(Evolutionary)。当项目架构的风险较大时(从未开发过类似项目),需要在精化阶段通过多次迭代来建立系统的架构,架构是通过多次迭代的探索,逐步演化而来的。当架构建立时,往往系统的功能也已经基本实现,所以构建阶段只需要一次迭代。(3)增量提交(Incremental Deliveq)。该模式的特点是产品化阶段的迭代较多,比较常见的例子是项目的难度并不大,但业务需求在不断地发生变化,所以
34、需要通过迭代来不断地部署完成的系统;但同时又要不断地收集用户的反馈来完善系统需求,并通过后续的迭代来补充实现这些需求。(4)单次迭代(Grand Design)。传统的瀑布模型可以看做是迭代化开发的一个特例,整个开发流程只有一次迭代。但这种模式有一个固有的弱点,由于它对风险的控制能力较差,往往会在产品化阶段产生一些额外的迭代,造成项目的延误。4)结合项目实践经验,说明在你参与管理和开发的软件项目中如何应用 RUP,在项目实施过程中遇到了什么问题,采用了哪些技术、方法和步骤来解决相关的问题,以及它们对该工程项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的问题)。对所提出的问题,应有具体
35、的着眼点,不能泛泛而谈。3RUP 是一个通用的过程模板,包含了很多开发指南、制品,以及开发过程所涉及的各种角色说明。RUP非常庞大,没有一个项目会使用 RUP中的所有东西,针对具体的开发机构和项目,应用 RUP时还要做裁剪,即要对 RUP进行配置。RUP 就像一个元过程(meta-process),通过对 RUP进行裁剪可以得到很多不同的开发过程,这些软件开发过程可以看做 RUP的具体实例,以适应于不同的开发机构和项目需求。针对一个具体的软件项目,RUP 裁剪可以分为以下几个步骤。(1)确定本项目需要哪些工作流。RUP 的 9个核心工作流并不总是需要的,可以根据项目的规模、类型等对核心工作流做
36、一些取舍。例如,嵌入式软件系统项目通常不需要业务建模这一工作流。(2)确定每个工作流要产出哪些制品。例如,规定某个工作流应产出哪些类型的文档。(3)确定生命周期的 4个阶段之间如何演进。确定阶段间演进要以风险控制为原则,决定每个阶段要执行哪些工作流,每个工作流执行到什么程度,产出的制品有哪些,每个制品完成到什么程度等。(4)确定每个阶段内的迭代计划。规划 RUP的 4个阶段中每次迭代开发的具体内容有哪些。(5)规划工作流内部结构。工作流不是活动的简单堆积,它涉及角色、活动及制品,其复杂程度与项目规模及角色多少等因素有关。通常用活动图的形式给出所规划的工作流的内部结构。这一步决定裁剪后的RUP要设立哪些角色,是对 RUP进行裁剪的难点。结合 RUP裁剪步骤的相关知识,分析与评估你在所参与项目中应用 RUP裁剪的实际开发效果。注意要给出具体的评价依据,评价要客观、适当。论文最后可以进一步讨论你在该工程项目中获得的、应用 RUP方面的几点经验体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。)解析: