基于RUP的行政事业性单位收费票据系统的设计与实现硕士学位论文.docx
《基于RUP的行政事业性单位收费票据系统的设计与实现硕士学位论文.docx》由会员分享,可在线阅读,更多相关《基于RUP的行政事业性单位收费票据系统的设计与实现硕士学位论文.docx(87页珍藏版)》请在冰豆网上搜索。
基于RUP的行政事业性单位收费票据系统的设计与实现硕士学位论文
硕士学位论文
论文题目:
基于RUP的行政事业性单位收费
票据系统的设计与实现
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
DissertationSubmittedtoZhejiangUniversityofTechnology
fortheDegreeofMaster
DesignandImplementationofbill-chargingsystematadministrativeinstitutionsbasedonRUP
Candidate:
SongXin
Advisor:
Professor
CollegeofInformationEngineering
ZhejiangUniversityofTechnology
Apr2008
浙江工业大学
学位论文原创性声明
本人郑重声明:
所提交的学位论文是本人在导师的指导下,独立进行研究工作所取得的研究成果。
除文中已经加以标注引用的内容外,本论文不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得浙江工业大学或其它教育机构的学位证书而使用过的材料。
对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。
本人承担本声明的法律责任。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于
1、保密□,在______年解密后适用本授权书。
2、不保密□。
(请在以上相应方框内打“√”)
作者签名:
日期:
年月日
导师签名:
日期:
年月日
基于RUP的行政事业性单位收费票据系统
的设计与实现
摘要
随着对软件需求的不断增大,要求的不断提高,软件开发机构也迫切地需要一种能够更有效地开发更高质量软件的方法。
过去软件生命周期方法一直占据着主导地位,但近年来随着面向对象的发展,面向对象方法也逐渐代替生命周期方法成为了软件开发方法主流,由此面向对象的软件开发模式也随即成为研究的重点。
统一软件过程RUP是一种用例驱动的,以架构为中心的,采用迭代增量方式开发的软件工程过程。
它汲取了面向对象软件工程领域多年来的优秀研究成果,应用统一建模语言(UML)进行可视化建模,为面向对象的软件系统的开发提供了方法论的指导。
RUP是一种通用的软件过程框架,适用于大多数的软件项目,而信息系统的开发,也需要引入一种适当的开发过程作为指导,以提高质量、开发效率和复用性等。
本文应用RUP思想为指导,结合“行政事业性单位收费票据系统”的实际开发情况进行研究,主要的工作和成果如下:
1、针对目前几种面向对象软件过程的分析比较,提出采用统一软件过程RUP来指导实际系统的开发。
2、从RUP的生命周期、组织结构等方面进一步分析RUP的软件过程思想。
3、分析目前行政事业性单位收费票据系统的现状和存在问题,结合实际情况,得出系统的详细需求。
4、结合实际项目的自身特点,采用RUP的相关理论,借助UML对系统进行设计建模。
5、使用VB和SQLSERVER完成系统实现,并投入实际使用。
关键词:
RUP,UML,用例驱动,行政事业性单位收费票据系统
DesignandImplementationofBILL-chargingsystematadministrativeinstitutionsbasedonRUP
ABSTRACT
Withthecontinuousgrowingdemandandrequirementforsoftware,softwaredevelopersneedamoreeffectivedevelopmentmethodofhigher-qualitysoftwaredevelopment.Softwarelife-cyclehasheldadominantpositioninthepast,butinrecentyearswiththedevelopmentofobject-oriented,object-orientedmethodsaregraduallyreplacealife-cycleapproachtothemainstreamofsoftwaredevelopmentmethods,andobject-orientedsoftwaredevelopmentmodeimmediatelybecomethefocusofthestudy.
RationalUnifiedProcessisasoftwareengineeringProcesswhichisusecasedriven,architecture-centricandusingiterativeandincrementaldevelopingmethod.ItassimilatetheexcellenceresearchfruitsoftheObjectOrientsoftwareengineeringfiled,appliesUnifiedModelingLanguageasthevisualmodelingtool,andsuppliesthemethodologicalinstructionfordevelopingObjectOrientsoftwaresystem.RUPisageneralframeworkofsoftwareProcess.ItfitformostsoftwareProjects,developingInformationsystem,alsoneedadevelopmentProcesstoadvancethequality,efficiencyandreusability.ThisdissertationappliedRUPideologyasaguide,integratewiththeactualsituationof“bill-chargingsystematadministrativeinstitutions",themainworkandresultsareasfollows:
1.Comparingandanalyzingofseveralobject-orientedsoftwareprocess,adoptaunifiedsoftwareRUPprocesstoguidethedevelopmentoftheactualsystem.
2.AnalyzeRUPSoftwareProcessthinkingfromRUPlifecycleanditsorganizationalstructure.
3.Obtainedthedetailedneedsbyanalyzingthecurrentstatusandproblemsof“bill-chargingsystematadministrativeinstitutions"andintegratewiththeactualsituation.
4.Integratewiththeproject’scharacteristic,adopttheRUPtheories,usingUMLmodelingofthesystemdesign.
5.UsingVBandSQLSERVERtocompletethesystem,andputintopracticaluse.
KeyWords:
RUP,UML,usecasedriven,bill-chargingsystematadministrativeinstitutions
第1章绪论
1.1研究背景和意义
随着21世纪经济全球化和信息时代的到来,计算机技术、通信技术和计算机网络技术迅猛发展,自动化的信息处理能力和水平不断提高,并在人们社会活动和生活的各个领域得到广泛应用。
很难想象如果没有“计算机”、没有“软件”,我们的社会、生活将是怎样。
面对着各种现实的和潜在的计算机应用需求,研究如何能更快、更多、更方便地开发出各种不同目的的软件,是软件工程技术所必须解决的一个问题[1]。
软件工程,根据IEEE给出的定义为“开发、运行、维护和修复软件的系统方法”,其采用工程的概念、原理、技术和方法来开发与维护软件,核心思想是把软件产品看作一个工程产品来处理,将工程项目中的需求分析、质量监督等引入软件开发中,从而使软件项目能够达到以下几个主要目标:
付出较低的开发成本;达到预期的软件功能;获得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用[2]。
但软件工程又有不同于一般工业工程的一些技术方法。
软件工程学定义了软件工程的三个基本要素:
方法、工具和过程。
其中软件工程方法为软件开发提供了“如何做”的技术,它通常采用某种特殊的语言或图形的表达方法及一套质量保证标准;软件工具为软件工程方法提供了自动的或半自动的软件支撑环境,当一种方法被证明有效后,往往就会随之研制出相应的工具来帮助实现和推行这种方法,提高软件设计效率,减轻劳动强度;软件工程过程将软件工程的方法和工具综合起来以达到合理及时地进行软件开发的目的,它定义了方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的里程碑[2]。
所以,如果选择了一种合适的软件工程过程对软件系统的开发进行指导,必能起到事半功倍的效果,大大有益于提高软件开发的效率、质量和可复用性。
1.2研究现状
1.2.1软件工程过程
“过程”一词可解释为“为了达到给定目的而执行的一系列活动的集合”,它定义了为了达到某个明确的目的,需要什么人在什么时间以何种方式作何种工作。
对于软件工程而言,其目标是构造一个新的软件产品或者完善一个旧的软件产品[3]。
那么,软件工程过程则是指项目的状态、阶段、方法、技术以及人们用于开发和维护软件相关产品(计划、文档、模型、代码、测试用例及手册等)的实践集合。
如图1-1所示,它是将用户的需求转化为有效的软件解决方案的一系列活动。
用户需求软件系统
图1-1软件工程过程
软件过程定义了实现软件生命周期的不同阶段的方法,为有效的软件开发和演变提供了指南。
它使软件开发中的风险降低,并且提高软件质量,若采用有效的软件过程可以在开发软件时提高生产率。
首先,理解软件是如何开发的有助于做出更明确的决定;其次,软件过程能标准化投入,提高可重用性、再现性以及项目组之间的一致性;第三,软件过程为引入代码审查、配置管理、变更控制以及架构建模等良好的产业实践提供了机会;第四,一个已定义的软件过程为更好的一致性和进一步的提高确定了基线[3,4]。
同时,一个已定义的软件过程同样也会在很多方面改进组织的维护和支持工作。
因为它定义了:
如何管理变更并为软件将来的发布而恰当的分配变更维护,以使得变更过程更有效率;如何使软件平滑的转变为操作和支持,以及操作和支持的工作如何得到实际的执行[5]。
因此,采用软件过程可以说是一种形势的需要。
行之有效的软件过程可以提高开发软件组织的生产效率、提高软件质量、降低成本并减少风险。
传统的软件过程采用结构化技术,其缺陷对于开发中小规模、结构相对简单的软件而言似乎不明显,但对于规模庞大、结构复杂、软件需求模糊的软件开发项目则容易产生开发人员缺乏交流、缺少共享信息的问题。
为弥补这方面的缺陷,适应软件开发的需要,涌现了许多行之有效的软件开发过程,其中应用比较广泛且具有代表性的软件过程主要有RUP、XP、OOSP、DSDM、Catalysis和OPENProcess等几种,本文将对具有较高知名度的RUP统一过程及其应用进行研究。
1.2.2面向对象的软件过程
面向对象的方法是把分析建立在系统对象以及对象间交互的基础之上,使得我们能以三个最基本的方法框架——对象及其属性、分类结构和集合结构来定义和沟通需求。
在面向对象的软件过程领域,主要有三种方法:
统一软件过程(RationalUnifiedProcess),OPEN过程(TheOPENProcess)和OOSP(TheObject-OrientedSoftwareProcess)[4,7]。
在此,分别简单介绍一下这三种面向对象的软件过程。
1、统一软件过程(RationalUnifiedProcess,RUP)
统一软件过程(RationalUnifiedProcess,RUP)[4,6,8,9,10]是一种具有明确定义和结构的软件工程过程。
它采用用例驱动、以架构为中心、迭代增量的软件开发方法。
它明确规定了人员的职责、如何完成各项工作以及何时完成各项工作,并提供了软件开发生命周期的结构。
UML作为OO(Object-Oriented)开发的通用工具,己成为业界的事实标准,RUP是UML的过程补充框架,是UML推荐的软件开发过程。
它能适应广泛的一类过程,因此,它即能用于传统的瀑布模型,也能适用于一些轻载方法,并且RUP是一种可以定制的软件开发过程。
RUP为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件[6,7]。
RationalUnifiedProcess汇集现代软件开发中多方面的最佳经验,为适应各种项目及组织的需要提供了灵活的形式。
2、OPEN过程[7](Object-OrientedProcess,EnvironmentandNotation)
OPEN是面向对象的过程、环境和标记(Object-OrientedProcess,EnvironmentandNotation)的首字母缩写,它是由致力于促进和加强使用面向对象技术的非盈利组织OPEN联盟开发的。
OPEN过程具有如下特点:
1)以过程为中心:
OPEN被定义为一个过程框架。
这是一个过程元模型,从中可以生成一个特定组织的过程实例。
每个过程实例都是由特定的活动、任务和技术以及特定的配置构成。
2)具有灵活性:
OPEN过程是基于元模型的框架,项目或组织可以根据自己的环境对该框架进行裁剪,生成一个适合项目或组织需要的过程。
OPEN不仅支持用例驱动的方法,而且还支持责任驱动的方法、数据驱动的方法等等。
在对建模语言的支持上,OPEN可以支持UML(统一建模语言)、OML(对象建模语言)以及任何其他OO(面向对象)的符号来文档化OPEN过程产生工作产品。
3)提供完整的生命周期支持:
OPEN不仅包含生命周期的软件部分,而且还有商业和用户方面。
OPEN内含一个项目管理和复用框架,支持多项目开发。
3、OOSP过程[7](TheObject-OrientedSoftwareProcess)
OOSP(TheObject-OrientedSoftwareProcess),面向对象的软件过程是由ScottW.Ambler在他的《过程模式》一书中提出来的。
OOSP是一个过程模式的集合,这些过程模式是经过实践检验的管理大规模面向对象软件开发项目的技术总结。
OOSP主要针对中到大型组织,它提供了一个框架,目的是用对象技术成功地开发大型应用软件,开发易维护和增强的软件,并对项目进行管理,保证开发具有较高的质量。
OOSP具有如下特点:
1)它是一个软件过程的全面方法,考虑了较完整的生命周期。
2)它准确地刻画了大规模的关键软件,在大的方向上是顺序的,而在小的方面是迭代的。
3)它明确支持整体规划——基础设施过程,可得到大规模的复用及有效地管理软件项目集合。
4)OOSP明确包括了避免失败的过程,如使组织的工作泛化以便复用、执行风险管理、执行质量保证,以及软件交付时评估项目和项目组。
根据评估软件能力与成熟度的标准的能力成熟度模型(CapabilityMaturityModel,CMM),OPEN、OOSP与RUP均能支持CMM关键过程域的2级到3级标准。
OPEN和OOSP与RUP相比,优势在于它们都覆盖了完整的软件工程过程,而不仅仅是开发过程,RUP中缺少维护、软件操作与支持、组织与管理等方面的内容;OPEN与OOSP都支持多项目,而RUP集中于单一项目。
但OPEN和OOSP共同的缺点在于它们在市场营销方面做得不够,在市场上缺乏竞争力。
而RUP在推向市场后,凭借Rational公司和现在IBM公司的强大实力的支持,以其与UML的良好集成、有多种CASE工具的支持、不断的升级与维护等特点,迅速得到业界广泛的认同,市场竞争力上的巨大优势是RUP被广泛地用作软件开发的指导的最重要的原因[7,27,28]。
因此,本文选取的课题,希望对RUP方法及其应用进行深入研究和探讨,并以行政事业性单位收费票据系统的实际开发为例,按照RUP安排该软件系统的开发过程,用UML来描述系统分析和设计的成果,这样从需求分析开始,到最终系统的实现,便成功地完成了该项目的整个开发过程。
1.3本文的研究内容和结构安排
1.3.1本文的研究内容
本文主要探讨了如何将RUP用于组织和开发行政事业性单位收费票据系统软件,并分析了其优缺点。
理论研究和实际运用相结合,通过对RUP的理论探讨及如何运用到实际开发工作中的方法研究,结合相应的科研课题——行政事业性单位收费票据系统,运用RUP架构整个系统核心用例的软件模型。
研究内容主要包括如下几点:
1、分析RUP的核心思想,尤其抓住它的用例驱动、以架构为中心和迭代增量开发的三个关键点。
根据实际项目的具体情况,对RUP的通用框架进行裁剪,使其更好地服务于软件开发过程。
2、简要介绍UML统一建模语言,理解UML和RUP相辅相成、密不可分的关系并使其在RUP中正确应用。
3、分析设计了“行政事业性单位收费票据系统”的整体框架和系统软件功能模块。
4、将裁剪后适应于实际系统开发的RUP理论转换为用于指导实际工作的具体步骤,并运用RationalRose建模工具,构建实际系统核心用例的需求、分析、设计以及实施模型。
5、最终选用合适的开发工具和技术将行政事业性单位收费票据系统完整实现,并投入使用。
1.3.2结构安排
根据上述的研究内容,本文的结构安排如下:
1、第1章是绪论,首先简要介绍了课题研究的背景和意义;接着在研究现状中针对传统的软件过程讲述了目前几种面向对象的软件过程,相互比较了特点后提出选取RUP作为本文中课题的软件过程;最后介绍了本文的研究内容和结构安排。
2、第2章介绍了RUP的组织结构。
首先给出简要的RUP概述;接着介绍了RUP的生命周期,并与传统的瀑布模型相比较;再次根据所得RUP生命周期的二维模型,从横轴、纵轴角度分别阐述了它的动态组成和静态组成。
3、第3章是主要是对软件开发中RUP的应用特点进行研究。
首先针对RUP用例驱动、以架构为中心和迭代增量开发3个特点做了详细的介绍并说明三者缺一不可的重要性。
接着简单介绍了UML统一建模语言,并说明其与RUP密不可分的关系,最后描述了对RUP过程的裁剪研究。
4、第4章是对行政事业性单位收费票据系统的架构和功能分析。
5、第5章着重讲述了基于RUP的行政事业性单位收费票据系统的设计过程。
主要是根据第3章量体裁衣后的RUP过程来进行系统建模,紧扣它的3个特点,最后介绍了数据库设计。
6、第6章介绍了行政事业性单位收费票据系统的实现,包括开发工具选择、部分实现技术和主要功能实现界面等。
7、第7章是结论与展望,对全文进行一个总结和回顾,并对下一步工作进行展望。
第2章RUP的组织结构
2.1RUP概述
RUP(RationalUnifiedProcess)是由Rational公司开发的一种软件工程过程,主要由IvarJacobson的TheObjectoryApproach和TheRationalApproach发展而来,是文档化的软件工程产品[10,11,13]。
所有RUP的实施细节及方法引导均以Web文档的方式集成,由Rational公司开发、维护并销售,为各种软件开发组织提供了一种有效的分配、管理任务和职责的规范方法,保障开发组织能够在预定的进度和范围内开发出满足最终用户需要的高质量软件产品。
RUP又是一个通用框架,各个组织可根据自身情况及项目规模等对RUP进行裁剪和改进,以制定出合乎需要的软件工程过程[12]。
RUP的总体结构如图2-1所示:
图2-1RUP的总体结构
RUP吸收了多种开发模型的优点,具有很好的可操作性和实用性并且和目前应用广泛的统一建模语言(UnifiedModelLanguage,UML)有着良好集成、有多种CASE工具进行支持、不断的升级与维护,迅速得到软件开发行业的广泛认同,越来越多的软件开发组织以它作为软件开发模型框架。
RUP的核心思想在于:
它是以用例(UseCase)为驱动,以架构为中心的迭代化开发过程。
RUP自诞生时起,就引起了全球软件行业的关注,经过大量商业实践表明,RUP是解决软件开发过程中根本问题的方怯。
其主要特点包括:
1、迭代地开发软件;
2、管理需求;
3、应用基于构件的架构;
4、为软件建立可视化的模型;
5、不断验证软件质量;
6、控制软件的变更。
2.2RUP的生命周期
软件开发过程模型亦被称为软件生命周期模型,它描述了开发一个软件系统必需的所有活动和工作产品。
传统的软件开发模型(如瀑布模型)通常是一个一维的模型,开发工作划分为多个连续的阶段[1,7]。
在一个时间段内,只能作某一个阶段的工作,比如分析、设计或者实现。
而RUP的生命周期可用二维结构来描述,如图2-2所示,该图的一次循环代表了统一过程的一次生命周期。
RUP是一个将用户需求转化为软件系统所需的活动集合,该活动集合是在过程的生命周期中完成的。
图2-2RUP生命周期的二维结构[1