基于RUP的行政事业性单位收费研究(设计)硕士学位论文

上传人:无*** 文档编号:42833541 上传时间:2021-11-28 格式:DOC 页数:81 大小:1.63MB
收藏 版权申诉 举报 下载
基于RUP的行政事业性单位收费研究(设计)硕士学位论文_第1页
第1页 / 共81页
基于RUP的行政事业性单位收费研究(设计)硕士学位论文_第2页
第2页 / 共81页
基于RUP的行政事业性单位收费研究(设计)硕士学位论文_第3页
第3页 / 共81页
资源描述:

《基于RUP的行政事业性单位收费研究(设计)硕士学位论文》由会员分享,可在线阅读,更多相关《基于RUP的行政事业性单位收费研究(设计)硕士学位论文(81页珍藏版)》请在装配图网上搜索。

1、 硕士学位论文论文题目: 基于 RUP 的行政事业性单位收费 票据系统的设计与实现 作者姓名作者姓名 宋宋 昕昕 指指导导教教师师 学科学科专业专业 计计算机技算机技术术 所在学院所在学院 信息工程学院信息工程学院 提交日期提交日期 2010 年 4 月 10 日 浙江工业大学硕士学位论文浙江工业大学硕士学位论文基于 RUP 的行政事业性单位收费票据系统的设计与实现作者姓名:宋昕作者姓名:宋昕指指导导教教师师: : 浙江工浙江工业业大学信息工程学院大学信息工程学院2008 年年 4 月月Dissertation Submitted to Zhejiang University of Techn

2、ologyfor the Degree of MasterDesign and Implementation of bill-charging system at administrative institutions based on RUPCandidate: Song XinAdvisor: Professor College of Information EngineeringZhejiang University of TechnologyApr 2008浙江工业大学浙江工业大学学位论文原创性声明学位论文原创性声明本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所

3、取得的研究成果。除文中已经加以标注引用的内容外,本论文不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得浙江工业大学或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律责任。作者签名:日期: 年 月 日学位论文版权使用授权书学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本

4、学位论文属于1、保密,在_年解密后适用本授权书。2、不保密。(请在以上相应方框内打“”)作者签名:日期: 年 月 日导师签名:日期: 年 月 日浙江工业大学硕士学位论文i基于 RUP 的行政事业性单位收费票据系统的设计与实现摘摘 要要随着对软件需求的不断增大,要求的不断提高,软件开发机构也迫切地需要一种能够更有效地开发更高质量软件的方法。过去软件生命周期方法一直占据着主导地位,但近年来随着面向对象的发展,面向对象方法也逐渐代替生命周期方法成为了软件开发方法主流,由此面向对象的软件开发模式也随即成为研究的重点。统一软件过程 RUP 是一种用例驱动的,以架构为中心的,采用迭代增量方式开发的软件工程

5、过程。它汲取了面向对象软件工程领域多年来的优秀研究成果,应用统一建模语言(UML)进行可视化建模,为面向对象的软件系统的开发提供了方法论的指导。 RUP 是一种通用的软件过程框架,适用于大多数的软件项目,而信息系统的开发,也需要引入一种适当的开发过程作为指导,以提高质量、开发效率和复用性等。本文应用 RUP 思想为指导,结合“行政事业性单位收费票据系统”的实际开发情况进行研究,主要的工作和成果如下: 1、针对目前几种面向对象软件过程的分析比较,提出采用统一软件过程 RUP 来指导实际系统的开发。 2、从 RUP 的生命周期、组织结构等方面进一步分析 RUP 的软件过程思想。 3、分析目前行政事

6、业性单位收费票据系统的现状和存在问题,结合实际情况,得出系统的详细需求。4、结合实际项目的自身特点,采用 RUP 的相关理论,借助 UML 对系统进行设计建模。 5、使用 VB 和 SQL SERVER 完成系统实现,并投入实际使用。关键词关键词:RUP,UML,用例驱动,行政事业性单位收费票据系统浙江工业大学硕士学位论文iiDESIGN AND IMPLEMENTATION OF BILL-CHARGING SYSTEM AT ADMINISTRATIVE INSTITUTIONS BASED ON RUPABSTRACTWith the continuous growing demand

7、and requirement for software, software developers need a more effective development method of higher-quality software development. Software life-cycle has held a dominant position in the past, but in recent years with the development of object-oriented, object-oriented methods are gradually replace

8、a life-cycle approach to the mainstream of software development methods, and object-oriented software development mode immediately become the focus of the study.Rational Unified Process is a software engineering Process which is use case driven,architecture-centric and using iterative and incrementa

9、l developing method. It assimilate the excellence research fruits of the Object Orient software engineering filed,applies Unified Modeling Language as the visual modeling tool, and supplies the methodological instruction for developing Object Orient software system. RUP is a general framework of sof

10、tware Process. It fit for most software Projects, developing Information system,also need a development Process to advance the quality,efficiency and reusability. This dissertation applied RUP ideology as a guide, integrate with the actual situation of “bill-charging system at administrative institu

11、tions, the main work and results are as follows:1. Comparing and analyzing of several object-oriented software process, adopt a unified software RUP process to guide the development of the actual system.2. Analyze RUP Software Process thinking from RUP life cycle and its organizational structure.3.

12、Obtained the detailed needs by analyzing the current status and problems of “bill-charging system at administrative institutions and integrate with the actual situation.浙江工业大学硕士学位论文iii4. Integrate with the projects characteristic, adopt the RUP theories, using UML modeling of the system design.5. Us

13、ing VB and SQL SERVER to complete the system, and put into practical use.Key Words: RUP, UML, use case driven, bill-charging system at administrative institutions浙江工业大学硕士学位论文目目 录录摘 要 .i第 1 章 绪 论.11.1 研究背景和意义 .11.2 研究现状 .11.2.1 软件工程过程 .11.2.2 面向对象的软件过程 .21.3 本文的研究内容和结构安排 .51.3.1 本文的研究内容 .51.3.2 结构安排

14、.5第 2 章 RUP 的组织结构.72.1 RUP 概述.72.2 RUP 的生命周期.82.3 RUP 的动态组成.92.3.1 初始阶段 .102.3.2 细化阶段 .102.3.3 构造阶段 .112.3.4 移交阶段 .112.4 RUP 的静态组成.122.4.1 核心过程工作流 .122.4.2 核心支持工作流 .142.4.3 角色、活动和工件 .142.5 小结 .15第 3 章 软件开发中 RUP 的应用特点.163.1 用例驱动 .163.2 以架构为中心 .183.3 迭代增量开发 .193.4 UML 在 RUP 中的应用.213.4.1 UML 和 RUP 模型.2

15、1浙江工业大学硕士学位论文3.4.2 UML 和迭代.223.5 RUP 过程的裁剪研究.233.5.1 RUP 的应用范围.233.5.2 裁剪原则 .233.5.3 裁剪步骤 .243.5.4 实际开发中 RUP 的裁剪.243.6 小结 .25第 4 章 行政事业性单位收费票据系统的分析.264.1 系统简介 .264.1.1 开发背景 .264.1.2 RUP 在信息系统开发中的应用研究.274.2 系统的架构和功能需求 .274.2.1 系统分析 .274.2.2 系统的总体框架 .284.2.3 系统的功能需求 .294.3 小结 .33第 5 章 基于 RUP 的行政事业性单位收

16、费票据系统的设计.345.1 设计思想 .345.1.1 研究对象和思想 .345.1.2 迭代流程 .345.2 初次迭代 .355.2.1 需求工作流 .365.2.2 分析与设计工作流 .375.2.3 实现工作流 .415.3 第二次迭代 .425.4 迭代开发过程总结 .475.5 数据库设计 .475.5.1 领票 .475.5.2 开发票和发票管理 .485.5.3 系统管理 .515.6 小结 .53第 6 章 行政事业性单位收费票据系统的实现.546.1 开发工具 .546.2 系统部分实现技术 .556.2.1 数据库连接 .556.2.2 强大的查询功能 .586.2.3

17、 打印精度设置 .60浙江工业大学硕士学位论文6.3 系统主要功能实现界面 .616.4 小结 .63第 7 章 结论与展望.647.1 结论 .647.2 展望 .64参 考 文 献.66致 谢.69攻读学位期间参加的科研项目和成果.70浙江工业大学硕士学位论文- 1 -第第 1 章章 绪绪 论论1.1 研究背景和意义研究背景和意义随着 21 世纪经济全球化和信息时代的到来,计算机技术、通信技术和计算机网络技术迅猛发展,自动化的信息处理能力和水平不断提高,并在人们社会活动和生活的各个领域得到广泛应用。很难想象如果没有“计算机” 、没有“软件” ,我们的社会、生活将是怎样。面对着各种现实的和潜

18、在的计算机应用需求,研究如何能更快、更多、更方便地开发出各种不同目的的软件,是软件工程技术所必须解决的一个问题1。软件工程,根据 IEEE 给出的定义为“开发、运行、维护和修复软件的系统方法”,其采用工程的概念、原理、技术和方法来开发与维护软件,核心思想是把软件产品看作一个工程产品来处理,将工程项目中的需求分析、质量监督等引入软件开发中,从而使软件项目能够达到以下几个主要目标:付出较低的开发成本;达到预期的软件功能;获得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用2。但软件工程又有不同于一般工业工程的一些技术方法。软件工程学定义了软件工程的三个基本要

19、素:方法、工具和过程。其中软件工程方法为软件开发提供了“如何做”的技术,它通常采用某种特殊的语言或图形的表达方法及一套质量保证标准;软件工具为软件工程方法提供了自动的或半自动的软件支撑环境,当一种方法被证明有效后,往往就会随之研制出相应的工具来帮助实现和推行这种方法,提高软件设计效率,减轻劳动强度;软件工程过程将软件工程的方法和工具综合起来以达到合理及时地进行软件开发的目的,它定义了方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的里程碑2。所以,如果选择了一种合适的软件工程过程对软件系统的开发进行指导,必能起到事半功倍的效果,大大有益于提高软件开发

20、的效率、质量和可复用性。1.2 研究现状研究现状1.2.1 软件工程过程“过程”一词可解释为“为了达到给定目的而执行的一系列活动的集合” ,它定义了浙江工业大学硕士学位论文- 2 -为了达到某个明确的目的,需要什么人在什么时间以何种方式作何种工作。对于软件工程而言,其目标是构造一个新的软件产品或者完善一个旧的软件产品3。那么,软件工程过程则是指项目的状态、阶段、方法、技术以及人们用于开发和维护软件相关产品(计划、文档、模型、代码、测试用例及手册等)的实践集合。如图 1-1 所示,它是将用户的需求转化为有效的软件解决方案的一系列活动。用户需求 软件系统图 1-1 软件工程过程软件过程定义了实现软

21、件生命周期的不同阶段的方法,为有效的软件开发和演变提供了指南。它使软件开发中的风险降低,并且提高软件质量,若采用有效的软件过程可以在开发软件时提高生产率。首先,理解软件是如何开发的有助于做出更明确的决定;其次,软件过程能标准化投入,提高可重用性、再现性以及项目组之间的一致性;第三,软件过程为引入代码审查、配置管理、变更控制以及架构建模等良好的产业实践提供了机会;第四,一个已定义的软件过程为更好的一致性和进一步的提高确定了基线3,4。同时,一个已定义的软件过程同样也会在很多方面改进组织的维护和支持工作。因为它定义了:如何管理变更并为软件将来的发布而恰当的分配变更维护,以使得变更过程更有效率;如何

22、使软件平滑的转变为操作和支持,以及操作和支持的工作如何得到实际的执行5。因此,采用软件过程可以说是一种形势的需要。行之有效的软件过程可以提高开发软件组织的生产效率、提高软件质量、降低成本并减少风险。传统的软件过程采用结构化技术,其缺陷对于开发中小规模、结构相对简单的软件而言似乎不明显,但对于规模庞大、结构复杂、软件需求模糊的软件开发项目则容易产生开发人员缺乏交流、缺少共享信息的问题。为弥补这方面的缺陷,适应软件开发的需要,涌现了许多行之有效的软件开发过程,其中应用比较广泛且具有代表性的软件过程主要有RUP、XP、OOSP、DSDM、Catalysis 和 OPEN Process 等几种,本文

23、将对具有较高知名度的 RUP 统一过程及其应用进行研究。1.2.2 面向对象的软件过程面向对象的方法是把分析建立在系统对象以及对象间交互的基础之上,使得我们能软件工程过程浙江工业大学硕士学位论文- 3 -以三个最基本的方法框架对象及其属性、分类结构和集合结构来定义和沟通需求。在面向对象的软件过程领域,主要有三种方法:统一软件过程(Rational Unified Process) ,OPEN过程(The OPEN Process)和OOSP(The Object-Oriented Software Process)4,7。在此,分别简单介绍一下这三种面向对象的软件过程。1、统一软件过程(Rat

24、ional Unified Process,RUP)统一软件过程(Rational Unified Process,RUP)4,6,8,9,10是一种具有明确定义和结构的软件工程过程。它采用用例驱动、以架构为中心、迭代增量的软件开发方法。它明确规定了人员的职责、如何完成各项工作以及何时完成各项工作,并提供了软件开发生命周期的结构。UML 作为 OO(Object-Oriented)开发的通用工具,己成为业界的事实标准,RUP是 UML 的过程补充框架,是 UML 推荐的软件开发过程。它能适应广泛的一类过程,因此,它即能用于传统的瀑布模型,也能适用于一些轻载方法,并且 RUP 是一种可以定制的软

25、件开发过程。RUP 为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件6,7。Rational Unified Process 汇集现代软件开发中多方面的最佳经验,为适应各种项目及组织的需要提供了灵活的形式。2、OPEN 过程7(Object-Oriented Process,Environment and Notation)OPEN 是面向对象的过程、环境和标记(Object-Oriented Process,Environment and Notation)的首字母缩写,它是由致力于促进和加强使用面向对象技术的非盈利组

26、织OPEN 联盟开发的。OPEN 过程具有如下特点:1)以过程为中心:OPEN 被定义为一个过程框架。这是一个过程元模型,从中可以生成一个特定组织的过程实例。每个过程实例都是由特定的活动、任务和技术以及特定的配置构成。2)具有灵活性:OPEN 过程是基于元模型的框架,项目或组织可以根据自己的环境对该框架进行裁剪,生成一个适合项目或组织需要的过程。OPEN 不仅支持用例驱动的方法,而且还支持责任驱动的方法、数据驱动的方法等等。在对建模语言的支持上,OPEN可以支持 UML(统一建模语言) 、OML(对象建模语言)以及任何其他 OO(面向对象)的符号来文档化 OPEN 过程产生工作产品。3)提供完

27、整的生命周期支持:OPEN 不仅包含生命周期的软件部分,而且还有商业浙江工业大学硕士学位论文- 4 -和用户方面。OPEN 内含一个项目管理和复用框架,支持多项目开发。3、OOSP 过程7(The Object-Oriented Software Process)OOSP(The Object-Oriented Software Process) ,面向对象的软件过程是由 Scott W. Ambler 在他的过程模式一书中提出来的。OOSP 是一个过程模式的集合,这些过程模式是经过实践检验的管理大规模面向对象软件开发项目的技术总结。OOSP 主要针对中到大型组织,它提供了一个框架,目的是用对

28、象技术成功地开发大型应用软件,开发易维护和增强的软件,并对项目进行管理,保证开发具有较高的质量。OOSP 具有如下特点:1)它是一个软件过程的全面方法,考虑了较完整的生命周期。2)它准确地刻画了大规模的关键软件,在大的方向上是顺序的,而在小的方面是迭代的。3)它明确支持整体规划基础设施过程,可得到大规模的复用及有效地管理软件项目集合。4)OOSP 明确包括了避免失败的过程,如使组织的工作泛化以便复用、执行风险管理、执行质量保证,以及软件交付时评估项目和项目组。根据评估软件能力与成熟度的标准的能力成熟度模型(Capability Maturity Model,CMM),OPEN、OOSP 与 R

29、UP 均能支持 CMM 关键过程域的 2 级到 3 级标准。OPEN 和 OOSP 与 RUP 相比,优势在于它们都覆盖了完整的软件工程过程,而不仅仅是开发过程,RUP 中缺少维护、软件操作与支持、组织与管理等方面的内容;OPEN 与OOSP 都支持多项目,而 RUP 集中于单一项目。但 OPEN 和 OOSP 共同的缺点在于它们在市场营销方面做得不够,在市场上缺乏竞争力。而 RUP 在推向市场后,凭借 Rational公司和现在 IBM 公司的强大实力的支持,以其与 UML 的良好集成、有多种 CASE 工具的支持、不断的升级与维护等特点,迅速得到业界广泛的认同,市场竞争力上的巨大优势是 R

30、UP 被广泛地用作软件开发的指导的最重要的原因7,27,28。因此,本文选取的课题,希望对 RUP 方法及其应用进行深入研究和探讨,并以行政事业性单位收费票据系统的实际开发为例,按照 RUP 安排该软件系统的开发过程,用UML 来描述系统分析和设计的成果,这样从需求分析开始,到最终系统的实现,便成功地完成了该项目的整个开发过程。浙江工业大学硕士学位论文- 5 -1.3 本文的研究内容和结构安排本文的研究内容和结构安排1.3.1 本文的研究内容本文主要探讨了如何将 RUP 用于组织和开发行政事业性单位收费票据系统软件,并分析了其优缺点。理论研究和实际运用相结合,通过对 RUP 的理论探讨及如何运

31、用到实际开发工作中的方法研究,结合相应的科研课题行政事业性单位收费票据系统,运用 RUP 架构整个系统核心用例的软件模型。研究内容主要包括如下几点:1、分析 RUP 的核心思想,尤其抓住它的用例驱动、以架构为中心和迭代增量开发的三个关键点。根据实际项目的具体情况,对 RUP 的通用框架进行裁剪,使其更好地服务于软件开发过程。2、简要介绍 UML 统一建模语言,理解 UML 和 RUP 相辅相成、密不可分的关系并使其在 RUP 中正确应用。3、分析设计了“行政事业性单位收费票据系统”的整体框架和系统软件功能模块。4、将裁剪后适应于实际系统开发的 RUP 理论转换为用于指导实际工作的具体步骤,并运

32、用 Rational Rose 建模工具,构建实际系统核心用例的需求、分析、设计以及实施模型。5、最终选用合适的开发工具和技术将行政事业性单位收费票据系统完整实现,并投入使用。1.3.2 结构安排根据上述的研究内容,本文的结构安排如下:1、第 1 章是绪论,首先简要介绍了课题研究的背景和意义;接着在研究现状中针对传统的软件过程讲述了目前几种面向对象的软件过程,相互比较了特点后提出选取 RUP作为本文中课题的软件过程;最后介绍了本文的研究内容和结构安排。2、第 2 章介绍了 RUP 的组织结构。首先给出简要的 RUP 概述;接着介绍了 RUP 的生命周期,并与传统的瀑布模型相比较;再次根据所得

33、RUP 生命周期的二维模型,从横轴、纵轴角度分别阐述了它的动态组成和静态组成。3、第 3 章是主要是对软件开发中 RUP 的应用特点进行研究。首先针对 RUP 用例驱动、以架构为中心和迭代增量开发 3 个特点做了详细的介绍并说明三者缺一不可的重要性。接着简单介绍了 UML 统一建模语言,并说明其与 RUP 密不可分的关系,最后描述了对 RUP 过程的裁剪研究。浙江工业大学硕士学位论文- 6 -4、第 4 章是对行政事业性单位收费票据系统的架构和功能分析。5、第 5 章着重讲述了基于 RUP 的行政事业性单位收费票据系统的设计过程。主要是根据第 3 章量体裁衣后的 RUP 过程来进行系统建模,紧

34、扣它的 3 个特点,最后介绍了数据库设计。6、第 6 章介绍了行政事业性单位收费票据系统的实现,包括开发工具选择、部分实现技术和主要功能实现界面等。7、第 7 章是结论与展望,对全文进行一个总结和回顾,并对下一步工作进行展望。浙江工业大学硕士学位论文- 7 -第第 2 章章 RUP 的组织结构的组织结构2.1 RUP 概述概述RUP(Rational Unified Process)是由 Rational 公司开发的一种软件工程过程,主要由 Ivar Jacobson 的 The Objectory Approach 和 The Rational Approach 发展而来,是文档化的软件工程

35、产品10,11,13。所有 RUP 的实施细节及方法引导均以 Web 文档的方式集成,由 Rational 公司开发、维护并销售,为各种软件开发组织提供了一种有效的分配、管理任务和职责的规范方法,保障开发组织能够在预定的进度和范围内开发出满足最终用户需要的高质量软件产品。RUP 又是一个通用框架,各个组织可根据自身情况及项目规模等对 RUP 进行裁剪和改进,以制定出合乎需要的软件工程过程12。RUP 的总体结构如图2-1 所示:图 2-1 RUP 的总体结构RUP 吸收了多种开发模型的优点,具有很好的可操作性和实用性并且和目前应用广泛的统一建模语言(Unified Model Language

36、,UML)有着良好集成、有多种 CASE 工具进行支持、不断的升级与维护,迅速得到软件开发行业的广泛认同,越来越多的软件开发组织以它作为软件开发模型框架。浙江工业大学硕士学位论文- 8 -RUP 的核心思想在于:它是以用例(Use Case)为驱动,以架构为中心的迭代化开发过程。RUP 自诞生时起,就引起了全球软件行业的关注,经过大量商业实践表明,RUP是解决软件开发过程中根本问题的方怯。其主要特点包括:1、迭代地开发软件;2、管理需求;3、应用基于构件的架构;4、为软件建立可视化的模型;5、不断验证软件质量;6、控制软件的变更。2.2 RUP 的生命周期的生命周期软件开发过程模型亦被称为软件

37、生命周期模型,它描述了开发一个软件系统必需的所有活动和工作产品。传统的软件开发模型(如瀑布模型)通常是一个一维的模型,开发工作划分为多个连续的阶段1,7。在一个时间段内,只能作某一个阶段的工作,比如分析、设计或者实现。而 RUP 的生命周期可用二维结构来描述,如图 2-2 所示,该图的一次循环代表了统一过程的一次生命周期。RUP 是一个将用户需求转化为软件系统所需的活动集合,该活动集合是在过程的生命周期中完成的。图 2-2 RUP 生命周期的二维结构1浙江工业大学硕士学位论文- 9 -瀑布模型强调开发的阶段性、早期计划及需求调查等,它在降低软件的复杂度、促进软件开发工程化方面有显著的作用。但随

38、着应用的愈广愈久,该模型的缺乏灵活性;过于依赖早期进行的唯一的一次需求调查,不能适应需求的变化;单一流程,开发中的经验教训不能反馈应用于本产品的过程;风险往往要到后期的开发阶段才显露,因而失去及早纠正的机会等缺点也就逐级暴露了出来,所以必须寻找有效的解决办法。上图中横轴代表了制订开发过程时的时间,体现了过程的动态结构。它以术语周期(Cycle) 、阶段(Phase) 、迭代(Iteration)和里程碑(Milestone)来表达。纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity) 、产物(Artifact) 、工人(Worker)和工作

39、流(Workflow) ,纵轴表现了过程的静态结构。在进度和工作量方面,所有阶段都各不相同。尽管不同的项目有很大的不同,但一个中等规模项目的典型初始开发周期应预先考虑到工作量和进度间的分配,如表 2-1 所示:表 2-1 项目工作量和进度分配表起始细化构建移交工作量5%20%65%10%进度10%30%50%10%通过这四个阶段就是一个开发周期,每次经过这四个阶段就会产生一代软件。除非项目“死亡” ,否则通过重复同样的起始阶段、细化阶段、构建阶段和移交阶段的顺序,产品将演进为下一代产品,但每一次的侧重点都将放在不同的阶段上。这些随后的周期成为演进周期。随着产品经历了几个周期,新一代产品随之产生

40、。2.3 RUP 的动态组成的动态组成在 RUP 生命周期的二维结构图(图 2-2)的横轴上包含阶段和迭代两项内容,这两项即是开发过程沿时间的动态组织结构10。在此时间维上,为了能够方便地管理软件开发过程,监控软件开发状态,RUP 把软件生命周期划分为若干次迭代,每次迭代生成一个产品的新版本并依次由四个连续的阶段组成,每次迭代都应完成确定的任务,正是这些迭代过程不断产生系统新的增量,使产品不断成熟,从低版本软件不断过渡到高版本浙江工业大学硕士学位论文- 10 -软件。软件生命周期被分解为周期,每一个周期工作在产品新的一代上,RUP 将周期又划分为初始(Inception) 、细化(Elabor

41、ation) 、构造(Construction)和移交(Transition)四个连续的阶段12,14,23。每个阶段都终结于一个良好定义的里程碑。其实,每个阶段就是两个主要里程碑之间的时间跨度。在每个阶段结束时要依据里程碑目标进行工作评估,以确定是否实现了该阶段的目标以及是否可以进入下一个阶段。如图 2-3 所示为各阶段和里程碑的关系。图 2-3 阶段和里程碑2.3.1 初始阶段初始阶段34,36是 RUP 生命周期四个阶段中的第一个阶段,该阶段主要有 5 个目标:1)了解要创建什么样的系统。确定系统的外貌、范围和边界。识别出谁将使用这个系统以及系统将为他们带来什么好处。2)确定系统的主要功

42、能。确定哪些用例是最重要的,识别系统必须被实现的功能。3)制定至少一个可行的方案。至少确定一个可行的系统架构,确保在适当的风险和代价下创建系统。4)了解与项目相关的成本、时间表和风险。5)确定循环什么过程和使用哪些工具。在初始阶段,项目组集中精力理解最初的需求,确定范围并组织项目。要理解最初的需求,可能要进行业务建模及其他基本的建模活动。初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle objective)里程碑。生命周期目标里程碑评价项目基本的生存能力。 2.3.2 细化阶段细化阶段35,36是建立系统架构的基线,以便为构造阶段的主要设计和实施工作提供浙江工业大学硕士学位

43、论文- 11 -一个稳定的基础的阶段。这一阶段的主要目标有:1)更明确的认识需求。对系统的大部分需求达成更明确的认识。2)设计、实现、验证系统架构并建立架构基线。3)化解主要风险,制定更精确的时间表和费用估算。4)细化开发案例并搭建开发环境。细化阶段的主要任务:在初始阶段的工作基础上,收集更详细的系统需求,进行高层次的系统分析和设计,确定系统的特征和基本的系统架构,编制系统构造计划,确定开发所需要的活动和资源。这一阶段项目组主要关注应用系统需求展开以及确定、开发和验证项目架构。细化阶段结束时是第二个重要的里程碑:生命周期架构(Lifecycle Architecture)里程碑。生命周期架构里

44、程碑为系统的架构建立了管理基线并使项目小组能够在构造阶段中进行衡量。此时,要检验详细的系统目标和范围、架构的选择以及主要风险的解决方案14。2.3.3 构造阶段构造阶段36,37是将主要精力集中在现象设计、实现以及测试来充实一个完整的系统的阶段。这一阶段的主要目标为:1)降低开发成本并实现部分的并行开发。2)迭代开发准备给用户的完整产品。通过描述剩余的用例和其他需求、补充设计细节、实现并测试软件来开发出系统的第一个可运行的版本。构造阶段的任务,通过循环重复的工作具体建造软件系统。每一次的循环都包含了常规的软件生命周期阶段的活动:分析、设计、实现、测试等。每一次循环都将得到一个更准确接近未来系统

45、的模型或原型。构造阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑,它决定了产品是否可以在测试环境中进行部署。此时,要确定软件、环境、用户是否可以开始系统的运作。2.3.4 移交阶段移交阶段38,39是系统正式投入运行前的阶段,要达到的主要目标是确保软件完全满足用户需求。这一阶段的主要任务有系统的 Beta 测试、系统性能调整和人员培训等。移交阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现。浙江工业大学硕士学位论文- 12 -RUP 的每个阶段都由一个或多个连续的迭代组成。迭代过程是导致可执行产品版本

46、的完整开发循环(即从捕获需求到代码实现),是最终产品的一个子集,从一个迭代过程到另一个迭代过程递增式增长,形成最终的系统产品。在各阶段中,每个过程工作流各有不同的重点。通常,在初始阶段,迭代工作重点在于需求捕获;在细化阶段,重点转移到分析和设计;在构造阶段,实现是中心活动;而移交阶段的,中心任务在于实施。2.4 RUP 的静态组成的静态组成在 RUP 生命周期的二维结构图的纵轴上表现了过程的静态结构。RUP 的静态结构包括角色(worker) 、工作流程(workflow) 、活动(activities) 、工件(artifact)四个基本模型元素1,23。它们分别描述了软件开发过程“谁” “

47、什么时候” “如何” “做”某事以及怎样实现某一特定的目标。工作流,是产生具有可观察结果的活动序列。每个工作流产生一些有价值的工件。RUP 共有 9 个工作流,其中分为 6 个核心过程工作流:业务建模、需求、分析和设计、实现、测试、部署工作流;3 个核心支持工作流:项目管理、配置和变更控制、环境工作流16,17,18。这 9 个工作流并不是顺序执行的,而是在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。核心工作流的迭代开发循环模型如图 2-4 所示:图 2-4 核心工作流的迭代开发循环2.4.1 核心过程工作流业务建模(Business Modeling) 、需求(Requireme

48、nts)、分析与设计(Analysis & 浙江工业大学硕士学位论文- 13 -Design) 、实现(Implement) 、测试(Test)、部署(Deployment)工作流是 RUP 过程中的核心过程工作流(Core Process Workflow) ,也是软件系统开发的主要的开发活动。各工作流的简单介绍如下:1、业务建模工作流23,41,42,43,说明如何拟定新目标组织的前景,并基于前景来确定该组织在业务用例模型和业务对象模型中的流程、角色以及职责。它的目的在于:了解目标组织的结构及机制;了解目标组织中当前存在的问题并确定改进的可能性;确保客户、最终用户和开发人员就目标组织达成共

49、识;导出支持目标组织所需的系统需求。其主要任务是对将来使用该系统的组织机构或企业进行评估;理解它们的需要以及要求未来系统解决的问题。业务建模的结果是建立一个业务用例模型和业务对象模型。业务模型是需求工作流的一种重要输入,用来了解对系统的需求。业务实体是分析设.计工作流程的一种输入,用来确定设计模型中的实体类。2、需求工作流,主要目标是描述用户的需求,并做到与用户和其他涉众在系统的工作内容方面达成且保持一致,使系统开发人员能够更清楚地了解系统需求,定义系统边界,定义系统的用户界面。其主要任务是采集和评价系统的需求,重点是充分考虑系统的实用性。需求分析的结果可以用一个用例模型表达,模型中的活动者代

50、表外部的与系统交互的单元(人或外部系统),用例代表交互的事务序列,它为活动者提供可度量的结果值。3、分析与设计工作流,将需求转换为未来系统的设计,逐步开发强壮的系统构架。使设计适合于实现环境,最后得到一个为软件特定环境支持的详细系统结构描述。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包和设计子系统,而描述则体现了类的对象如何协同工作实现用例的功能。设计活动以架构设计为中心,架构由若干模型来表达。4、实现工作流,它的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)

51、实现类和对象;将开发出的组件作为单元进行测试;将各实施人员(或团队)完成的结果集成到可执行系统中。实现的任务是在预定的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行的系统。5、测试工作流,分为单元测试、阶段测试和系统测试。主要目标是核实对象之间的交互及所有构件是否正确集成,确定缺陷并确保在部署软件之前将缺陷解决。测试的任浙江工业大学硕士学位论文- 14 -务是对系统进行测试和排错,保证系统符合预定的要求,获得一个无错误的系统实现。测试的结果将确认所完成的系统可以交付使用。6、部署工作流,是为确保最终用户可以正常使用软件产品而进行的活动(如软件打包、系统配置等)。其

52、主要任务是将开发的产品提交给用户,并作相应的系统配置。业务建模、需求、分析与设计、实现、测试工作流中产生的模型是各个过程成分中的产物,也是下一个过程成分的工作依据。2.4.2 核心支持工作流核心支持工作流(Core Support Workflow)包括: 项目管理(Project Management)工作流、配置和变更管理(Configuration & Change Management)工作流和环境(Environment)工作流。以下做简要说明:1、项目管理工作流,描述如何控制软件项目组内部的各个成员的相互关联的工作。目标是为计划、执行和监控软件开发项目提供可行性指导;为风险管理提供

53、框架和环境;为组织提供过程管理和工具的支持。2、配置和变更控制工作流,描述了如何控制软件项目组内部各个成员的相互关联的工作(如避免重复无效的软件修改,多版本并发开发的协调和控制等等),以控制和维护项目制品的完整性。3、环境工作流,描述为支持项目而开发指南及在配置流程时所需的活动。主要目的是为软件开发组织提供软件开发环境(流程和工具)。2.4.3 角色、活动和工件角色39,40,定义了个人或由若干人所组成小组的行为和责任。需要承担一定的职责和具备相应的能力,诸如执行某些活动和开发某些工件。在 RUP 中,角色还定义了如何完成工作,所分派给角色的责任既包括某系列的活动,还包括成为产物的拥有者。角色

54、通过执行某些活动完成特定工件。活动,是参与项目的角色为提供符合要求的结果而进行的工作,具有明确的目的的工作单元,其内容通常表述为创建或更新某些工件,例如一个模型、一个类或一个计划。每个活动都要被分配给具体的角色。如计划一个迭代,寻找用例和用例角色等都是一个活动,它们有着各自对应的角色,项目经理和系统分析员。工件13,18,是项目期间由活动生成并使用的中间或最终产物。工件用于获取和传达浙江工业大学硕士学位论文- 15 -项目信息。工件可以是:文档,如商业理由或软件架构文档;模型,如用例模型或设计模型;模型元素,即模型中的元素,如类或子系统。为使整个软件系统的开发易于管理,工件根据核心工作流程组织

55、成各个集。角色、活动和工件的关系如图 2-5 所示:图 2-5 角色、活动和工件的关系角色的职责,具体体现在它执行活动和负责工件上。工件是由活动生产出来的工件是活动的输出,如制定编码规范 ;而活动本身也可能以工件为输入活动可能要求使用工件,如编码活动要参考编码规范 ;另外一种关系是工件既是活动的输入又是它的输出活动修改工件,如修改编码规范 。2.5 小结小结本章主要介绍了统一软件过程 RUP 的组织结构,首先给出简要的 RUP 概述;接着介绍了 RUP 的生命周期,给出一个二维模型,并与传统的瀑布模型相比较;再次根据所得RUP 生命周期的二维模型,从横轴、纵轴角度分别阐述了它的动态组成和静态组

56、成。其中动态组成从初始、细化、构造和移交阶段进行分析,静态组成中讨论了 RUP 的 6 个核心过程工作流和 3 个核心支持工作流,以及角色、活动和工件的关系。本章是整个论文研究内容的理论支撑。浙江工业大学硕士学位论文- 16 -第第 3 章章 软件开发中软件开发中 RUP 的应用特点的应用特点RUP 在应用方面的突出特点可以由用例驱动、以架构为中心、.迭代增量开发这三个关键词来体现,这是 RUP 所特有的。去掉三个其中任何一个,都会严重地降低统一软件过程的价值。就像一张三条腿的凳子,缺一条腿就会站不住,会倒下。架构提供一种结构来指导迭代过程中的工作,用例则确定了每一次迭代的目标。即具体的迭代工

57、作,由用例来确定目标,在架构确定的结构上进行。但由于各种软件项目的具体实施环境、开发难度、技术条件、系统需求的差异,在实际工作中,不可能完全照搬 RUP 的全部理论,因此开发者必须结合实际,对 RUP 进行必要的裁剪,从而让 RUP 更好地服务于软件开发过程。3.1 用例驱动用例驱动 用例几乎普遍用来捕获系统的需求,但在RUP中,用例不只是捕获需求的工具,它们还能够驱动整个开发过程,是贯穿整个开发过程的线索。通过用例的驱动,我们可以比较清楚的看一个软件系统是如何实现其功能的。用例驱动方法自从被提出而又被吸收到UML中以来,凭借用例模型简单的图形符号和接近自然语言的规格描述来获取系统与不同用户进

58、行交互的情况,缩小了用户、需求分析人员、开发人员之间的差距,并驱动着软件开发的其它过程,得到了业界广泛的接受和大规模的应用。用例是用户与系统的交互的动作集合,能够向用户提供有价值的结果。它获取的是功能需求,所有的用例合在一起,构成用例模型,它描述了系统的全部功能,代替了传统的系统功能说明。然而,用例不仅是一种确定系统需求的工具,它还能驱动系统分析、设计、实现、测试的进行,即用例驱动整个的软件开发过程。基于用例模型,开发人员创建一系列的实现这些用例的分析、设计和实现模型,并审查每一个后续建立的模型与浙江工业大学硕士学位论文- 17 -用例模型是否一致,测试人员测试系统以确定实现模型的构件正确实现

59、了用例。因此,用例不仅启动了开发过程,而且使整个开发过程浑然一体。用例驱动,表明开发过程是沿着一个流:一系列从用例得到的工作流(需求、分析、设计、实现、测试)前进的,用例被确定、分析、设计、实现,最后用例又成为测试的基础。用例在各个阶段中担负着各种角色,起着不同的作用。需求阶段,用例用于捕获系统的用户需求,将系统的功能描述成一系列的行为,并建立用例模型。分析与设计阶段,用例模型经由分析模型转化为设计模型。分析模型和设计模型都是由类和说明如何实现用例的用例实现集合组成的。分析模型是需求的详细的规格说明,将需求用例的事件流,用概念性的类之间的协作来重新转述,是一个概念模型。设计模型是实现的蓝图。在

60、实施阶段,根据设计模型中的设计类,建立实施模型并将设计类转化为可执行的代码。在测试阶段,测试人员根据用例模型中的用例设计出测试用例,以此来验证软件产品是否符合用户的需求。由此可见,用例不但贯穿于整个开发过程的各个阶段,同时它还把所有阶段捆绑在一起,使各个阶段成为紧密联系的一个整体。所以说,RUP 是一种以用例作为驱动的开发过程。RUP 的用例驱动模型如图 3-1 所示:图 3-1 RUP 用例驱动模型用例与系统架构是协调发展的,一部分用例驱动系统架构,系统架构又反过来影响浙江工业大学硕士学位论文- 18 -另一部分用例的选择。用例驱动意味着,在生产最终产品的每个阶段,都能回顾一下为用户实际上做

61、了些什么,从而确保生产出来的产品能够满足用户的真正需要。3.2 以架构为中心以架构为中心软件系统是个单一的实体,从不同的视角展示它有助于更好地理解系统的设计。系统的不同视角的展示就是视图,所有的视图合在一起展示了架构。我们可以通过架构来方便地理解系统,可以通过架构来组织并行高效的开发,可以通过架构来更好地重用,可以通过架构来方便地进化系统。以架构为中心意味着,开发工作在早期阶段,就侧重于建立能够指导系统构造的架构模式,以保证不仅当前版本、而且产品的整个生命周期都有一个顺利的发展。软件基本架构这个概念体现了系统中最重要的静态和动态特征。它刻画了系统的整体设计,去掉了细节部分,突出了系统的重要特征

62、。架构时架构设计师在构件描述中详细说明的内容,架构可以控制系统的开发。软件架构侧重于系统的重要结构元素,如子系统、类、构件和节点,以及这些元素通过接口实现的协作。4+1 场景模型呈现了 RUP架构,软件架构设计师和开发人员发现从不同视角展示该系统有助于更好地理解其设计。这里 4+1 指的是:逻辑视图、实现视图、过程视图、部署视图以及用例视图。如图 3-2 所示:图 3-2 RUP 架构描述浙江工业大学硕士学位论文- 19 -用例和架构之间是相互影响的。每个产品都是功能和形式的有机统一。仅仅只有其中之一,都是不完整的。只有平衡把握这两个方面才能得到一个成功的产品。在这种情况下,功能与用例相对应,

63、而形式与基本架构相对应。一方面,用例在实现时必须适合于架构;另一方面,架构必须预留空间以实现现在或将来所有需要的用例。事实上,架构和用例必须并行进化。在 RUP 的整个生命周期中,用例促使各工作流前后衔接,而开发活动是以架构为中心展开的。流程初期迭代的重点在于生成并验证一个架构,它在最初开发周期中采用个可执行架构原型的形式,并在以后的迭代中逐渐演变成最终系统。利用该架构可以降低性能、吞吐量、容量、可靠性等方面的风险,从而在构建阶段可以在一个稳固的基础上完成系统功能的全面添加,而不用担心破坏系统。RUP 提供了一种有条不紊的系统化方法来设计、开发和验证一个架构。围绕多种架构视图的概念,以及架构模

64、式、设计规则,RUP 提供了用于说明架构的模板。设计工作流程包括一些特定的活动,目的在于确定架构约束、在架构方面具有重要意义的元素以及有关如何选择架构的指南。管理流程将反映出早期迭代计划如何考虑架构设计以及如何解决主要技术风险。3.3 迭代增量开发迭代增量开发开发一个商业软件产品是一项艰巨的工作,可能持续几个月、一年甚至更长时间。因此,将一项工作分解成若干更小的部分或若干小项目是切合实际的。每个小项目是指能产生一个增量的一次迭代。迭代是指工作流中的步骤,而增量指的是产品的增加部分。在一次迭代之中,包括如图 3-3 所示的七项活动。图 3-3 一次迭代的活动图浙江工业大学硕士学位论文- 20 -

65、在每次的迭代过程中开发人员标识并描述有关的用例,以选定的架构为向导来创建设计,用构件来实现设计,并验证这些构件是否满足用例。如果一次迭代达到了目标,开发工作便可以进入下一次迭代。如果一次迭代未能达到预期的目标,开发人员必须重新审查前面的方案,并试用一种新的方法。早期迭代侧重于了解问题和技术。在初始阶段,迭代过程关注的是获得一个业务案例。在细化阶段,迭代的目的是进行架构基线的开发。在构造阶段,迭代过程通过每一次迭代中的一系列构造创造产品,直到得到准备交付给用户组织的产品。后续迭代是建立在前导迭代完成的产品之上的。它是一个小项目,因此,在每一次迭代中,它都必须根据用例经过下列开发工作:分析、设计、

66、实现和测试,以可执行代码的形式在迭代中实现用例。当然,一项增量并不一定是添加性的。特别是在生命周期初期,开发人员可能是用一个更为详尽或更为完善的设计来取代那种较为简单的设计。在后期,增量通常都是添加性的。受控的迭代,有如下五个方面的好处:1、将成本风险降低为获得一次增量所需要的费用。如果是重复某次迭代过程,损失的只是一次迭代,而不是全部以前的迭代。2、降低时间风险。处理关键风险的时间开销位于进度表的前期,此时,开发人员比较从容。如果是在系统测试时,才首次发现疑难问题,则项目进度必然会受到不利影响。3、加快整个项目的进展。开发人员不是在一个漫长而且不断变化的进度下工作,而是每个阶段都有清晰、简明的目标,工作效率会更高。4、它确认了一个经常被忽略的事实,即用户需求无法预先清晰地说明,而是在开发过程之中不断地被精确化。受控的迭代可以更加适合于项目需求17的变化。5、可以尽早得到有关的知识。经过几次迭代之后,开发组的成员对自己的工作有了深入的理解,知道有了需求之后应该做什么,分析后应该做什么。新加入的成员也能通过工作本身得到训练,如果他们作错了,在下次迭代中,问题就会显现出来。一个增量是一次迭

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!