毕业设计UML案例网上购物.docx
- 文档编号:29519673
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:44
- 大小:691.06KB
毕业设计UML案例网上购物.docx
《毕业设计UML案例网上购物.docx》由会员分享,可在线阅读,更多相关《毕业设计UML案例网上购物.docx(44页珍藏版)》请在冰豆网上搜索。
毕业设计UML案例网上购物
摘要
本论文共分四部分,分别介绍了统一建模语言(UML)、RationalRose软件、面向对象程序分析与设计以及通过一个简易电子商务系统的例子介绍如何应用UML和Rose进行项目需求分析、结构规划和生成框架代码,以及如何从现有系统逆向转出代码,生成Rose模型。
该设计的主要目的是对统一建模语言的学习过程,并在学习中,通过一个简单的例子来理解UML语言的建模思想。
本设计是通过一个购物车的例子来理解UML语言的。
通过面向对象程序设计方法与UML思想的结合,对系统进行建模。
即设计UML中的用例图、顺序图、活动图、状态图、类图、组件图和部署图。
通过这些UML框图生成代码。
然后,根据生成的代码框架及UML模型来完善整个程序。
这个网上购物系统,主要是实现向购物车中添加和删除商品及对商品进行结帐的功能。
系统是用JSP语言实现的,它的主要功能都是通过Servlet控制的。
该程序的设计思想都是通过UML语言体现的,论文详细描述了整个设计及学习的全过程。
关键字:
统一建模语言,JSP,电子商务。
Abstract
ThispaperisdividedintofourpartsandintroducesseparatelyUnifiedModelingLanguage,RationalRosesoftware,OOAandOOD.ByapieceofeasyE-businesssystem,ItshowshowtoapplyUMLandRosetocarryonRequirementAnalysisandStructureplanandtoturnintoprojectcode,andhowtotransfertoprojectcodereverselyandproduceRosemodelfromaexistingsystem.
ThemainpurposeofthisdesignistostudycourseofUnifiedModelingLanguage.Duringstudying,themodelingthoughtofUMLcanbeunderstoodthroughasimpleexample.InordertounderstandthethoughtofUML,anexampleofshoppingcartiscitinged.ThroughthecombinationofthemethodofOODandthethoughtofUML,themodelofthesystemisrealized.Namely,itistodesignUseCaseDiagram、SequenceDiagram、StateDiagram、ClassDiagram、ComponentDiagramandDeploymentDiagram.ThecodeisproducedbyusingtheseUMLblockdiagrams.Then,thewholeprogramisperfectedaccordingtocodeframethatareproducedandUMLmodel.
Theonlineshoppingsystemmainlyrealizesfunctionsofaddinggoodstoshoppingcartanddeletinggoodsfromshoppingcartandcheckingout.ThesystemisdevelopedbyJSPlanguage,andthemainfunctionsofitarecontrolledthroughServlet.ThedesignphilosophyofthisprocedurewasallembodiedthroughUMLlanguage.thepaperhasdescribedindetailthedesignandwholestudyingprocesses.
KeyWords:
UnifiedModelingLanguage,JSP,E-business.
前言
好的分析与设计可以成就一个好的系统,这就是为什么在软件开发过程中的需求分析和设计阶段最具挑战性。
虽然目前人们普遍开始采用面向对象的分析与设计,但很少有开发人员使用形式化的方法。
这主要是由于缺乏同一的语言或语义,来为复杂的软件系统的组件进行定义,可视化,构建和编制文档。
UML改变了这一现状。
UML是由三位面向对象方法领域著名的方法学家GradyBooch,JamesRumbaugh和IvarJvarjacobson提出,结合了他们以及其它众多优秀软件方法和思想,得到了世界多家知名公司的使用和支持,于1997年11月被OMG组织采纳,成为面向对象建模的标准语言.国际软件社会第一次有了一个标准的建模语言。
一个成功的系统开发项目的成功之处在于它能够在想象者和实现这些想象的系统开发人员之间建立起沟通的桥梁。
统一建模语言(UnifiedModelingLanguage,UML)就是一种建立桥梁的工具。
它能帮你捕捉住对系统所发挥的想象力,并是你能够用这些想象出来的东西来和项目的风险承担人(在这里可以理解我用户)进行交流。
UML借助与一套符号和图形来帮助我们完成这些工作。
每种图形在开发过程中都发挥其各自不同的作用。
在这里我将本论文分为三个部分。
第一部分为“UML的概述”部分。
在这一部分中我首先是对UML进行了一个综述,介绍了UML从诞生到发展的过程。
并比较详细的描述了UML的几个图的组成。
然后转向面向对象这个主题,面向对象的概念是建立对象图和类图时要用到的最基本的概念。
还讨论了用例(usecase)用于展示从用户角度所观察到的系统功能的UML组件,我还花了一些额外的时间来讨论和用例有关的一些基本概念。
因为在使用UML的大部分时间里我所用到的东西都是建立在这两个基本概念上的。
在第一部分还介绍其余的UML图。
第二部分为“Rose的简介”部分,在本部分中介绍被大多数公司所提倡的建模工具包,而且是软件包中最有名的RationalRose,通过几个的视图简单的描述了Rose的基本组成部分。
第三部分为“学习案例”部分,通过一个真实的学习案例介绍了一种简化的系统开发方法,而且详细描述了系统需求分析,设计开发和代码生成的整个过程。
1统一建模语言(UML)简介
软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。
其中最重要的、具有划时代重大意义的成果之一就是统一建模语言(UML:
UnifiedModelingLanguage)的出现。
在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。
采用UML作为我国统一的建模语言是完全必要的:
首先,过去数十种面向对象的建模语言都是相互独立的,而UML可以消除一些潜在的不必要的差异,以免用户混淆;其次,通过统一语义和符号表示,能够稳定我国的面向对象技术市场,使项目根植于一个成熟的标准建模语言,从而可以大大拓宽所研制与开发的软件系统的适用范围,并大大提高其灵活程度。
统一建模语言(UML)是用来对软件密集系统进行描述、构造、视化和文档编制的一种语言。
首先,也是最重要的一点,统一建模语言融合了Booch、OMT和OOSE方法中的概念,它是可以被上述及其他方法的使用者广泛采用的一门简单、一致、通用的建模语言。
其次,统一建模语言扩展了现有方法的应用范围。
特别值得一提的是,UML的开发者们把并行分布式系统的建模作为UML的设计目标,也就是说,UML具有处理这类问题的能力。
第三,统一建模语言是标准的建模语言,而不是一个标准的开发流程。
虽然UML的应用必然以系统的开发流程为背景,但根据我们的经验,不同的组织,不同的应用领域需要不同的开发过程。
举个例子来说,开发错综复杂的软件是非常有趣的工作,但开发这种软件与构造严格实时的航空电子系统是大不一样的,后者是性命攸关的大事。
因此首先把精力集中在设计通用的元模型上(统一不同方法的语义),其次是建立通用的表示法(提供对这些语义的形象化的表达)。
虽然UML的开发者们将继续倡导从用例驱动到体系结构为中心最后反复改进、不断添加的软件开发过程,但实际上设计标准的开发流程并不是非常必要的。
1.1UML的诞生
目前人们普遍开始采用面向对象的分析与设计,但是很少有开发人员使用形象化的设计方法,其主要原因就是缺乏统一的语言语义来为复杂软件系统的组件定义、可视化、构建和编制文档。
而UML的出现彻底的改变了这一现状,并成为了面向对象建模的标准语言。
1.2什么是UML
对象分析与设计的一种标准表示。
UML不是一种可视化的程序设计语言,而是一种可视化的建模语言;UML不是工具或者是知识库的规格说明,而是一种语言规格说明,是一种表示的标准;UML不是过 UML(UnifiedModelingLanguage)是一种标准的图形化建模语言,它是面向程和方法,但是允许任何一种过程和方法使用它。
1.3UML的使用目的
1、UML易于使用,能够进行可视化建模;
2、与具体的实现无关,可应用于任何语言平台和工具平台;
3、与具体的过程无关,可应用于任何软件开发的过程;
4、简单并且可扩展,具有扩展和专有化机制,便于扩展,无须对核心概念进行修改;
5、为面相对象的设计与开发中涌现出的高级概念提供支持,强调软件在开发过程中对架构、框架、模式和组件的重用;
6、与最好的软件工程实践经验集成;
7、有利于面对对象工具的市场成长;
1.4UML的架构
UML是由图和元模型组成的。
图是UML的语法,而元模型则给出图的意思,是UML的语义。
UML的语义是定义在一个四层建模概念框架中的,其层结构如下:
1、元元模型层,组成UML的基本元素“事物”,代表要定义的所有事物;
2、元模型层,组成了UML的基本元素,包括面向对象和面向组件的概念。
这一层的每一个概念都是元元模型中“事物”概念的实例;
3、模型层,组成了UML的模型,这一层的每个概念都是元模型中概念的一个实例,这一层的模型通常叫做类模型或者类型模型;
4、用户模型层,这个层中的所有所有元素都是UML模型的例子。
这一层中的每个概念都是模型层的一个实例,也是元模型的一个实例。
这一层的模型通常叫做对象模型或实例模型。
1.5UML的行业特性
UML在各个行业都得到了广泛的应用,并迅速成为了一个事实上的工业标准,它成为人们用来为各种系统建模、描述系统架构、商业架构和商业过程的统一工具。
UML之所以得到普及的主要原因不外乎以下几点:
1、UML是国际统一的标准,用它表示的产品符合国际标准,产品能够得到广泛的认可。
2、作为国际标准,国际软件业和商业对UML的支持也相当普遍因而采用它将可以得到最广泛的技术支持和工具支持。
3、UML采用图的形式来表述系统的视图,图形化易于理解的优势使得不同知识背景的客户用户、领域专家、系统分析以及开发人员可以方便的交流。
4、UML是一种标准的表示方法,任何方或者过程都可以采用UML,它与具体的方法和过程无关,具有通用性。
5、UML具有良好的可扩展性,可适用到不同的领域,在具有通用性的同时还具有使自身专用化的能力。
6、UML与最好的软件实践经验集成,其自身虽然没有表述任何方法或过程,但是却要求使用它的过程具有以下的特征:
以架构为中心、用例驱动、支持迭代和递增地开发。
这些特征体现了软件开发的成功经验。
7、UML对软件设计和分析实践中涌现出来的新思想和新方法提供了很好的支持,它支持模式、框架和组件等概念,提供从“概念模型到现时代码”的可跟踪性。
1.6UML的主要内容
客观世界是一个复杂巨系统,需要从不同的角度来考察,才能真正理解这个系统。
为了能支持从不同角度来考察系统,标准建模语言UML定义了下列5类、共10种模型图:
第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。
用例图用于需求分析阶段,他的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。
在UML中,一个系统由若干个用例图描述,用例图的主要元素是用例和角色。
如图,是在网上商店系统经理的用例图如下:
网上购物系统用例图
第二类是静态图(Staticdiagram),包括类图、对象图和包图。
类图包对象
其中类图描述系统中类的静态结构。
不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。
类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
对象图是类图的实例,几乎使用与类图完全相同的标识。
他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。
一个对象图是类图的一个实例。
由于对象存在生命周1期,因此对象图只能在系统某一时间段存在。
包由包或类组成,表示包与包之间的关系。
包图用于描述系统的分层结构。
第三类是行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。
其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。
通常,状态图是对类图的补充。
在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。
ATM系统状态图
活动图很象流程图。
它显示出工作步骤、判断点和分支。
这种类型的图可用与表达一个对象和操作和一个业务过程。
活动图是对状态图的扩张图。
状态图突出显示的是状态,而活动图突出显示的是活动。
每个活动的图标被表示为圆角矩形,比状态图标更扁更接近椭圆。
活动图的起始点和终止点图符和状态图一样。
活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
第四类是交互图(Interactivediagram),描述对象间的交互关系。
其中时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。
除显示信息交换外,协作图还显示对象以及它们之间的关系。
如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择协作图。
这两种图合称为交互图。
网上商店AddtoCart时序图
第五类是实现图(Implementationdiagram)。
实现图有可以分为两种,构件图和部署图。
构件图中包括构件、接口和关系。
它与前介绍的图有明显的不同。
它不是诸如类或者状态这样的概念实体模型,它表达的是真实世界中的实体---软件构件。
软件构件驻留在计算机中,而不是只存在于分析员的脑海里。
构件的图标是左边附有两个小矩形的大矩形框。
其中构件图描述代码部件的物理结构及各部件之间的依赖关系。
如下图。
ATM系统构件图
一个构件可能是一个资源代码部件、一个二进制部件或一个可执行部件。
它包含逻辑类或实现类的有关信息。
构件件图有助于分析和理解部件之间的相互影响程度。
部署图定义系统中软硬件的物理体系结构。
它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。
在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。
ATM系统部署图
从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。
其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、构件图和部署图等五个图形,是标准建模语言UML的静态建模机制。
其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。
它包括状态图、活动图、时序图和协作图等四个图形,是标准建模语言UML的动态建模机制。
因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。
1.7UML的应用领域
1.7.1在不同类型系统中的应用
UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。
其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。
总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
以下是常见的UML应用:
系统信息--向用户提供信息的存储、检索、交换和提交。
处理存放在关系或对象数据库中大量具有复杂关系的数据;
技术系统--处理和控制技术设备,它们必须处理设计的特殊接口,标准软件相对较少,技术系统通常是实时系统;
嵌入式实时系统--在嵌入到其它设备硬件上执行的系统。
通常是通过低级程序设计进行的,需要实时支持;
分布式系统--分布在一组机器上运行的系统,数据很容易从一台机器传到另一台计其。
需要同步通信机制来确定数据完整性,通常是建立在对象机制上的。
1.7.2在软件开发过程中的应用
UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。
在需求分析阶段,可以用用例来捕获用户需求。
通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。
分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。
为实现用例,类之间需要协作,这可以用UML动态模型来描述。
在分析阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。
这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。
编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。
在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。
因为在早期阶段,模型仅仅是理解和分析系统结构的工具,过早考虑编码问题十分不利于建立简单正确的模型。
UML模型还可作为测试阶段的依据。
系统通常需要经过单元测试、集成测试、系统测试和验收测试。
不同的测试小组使用不同的UML图作为测试依据;单元测试使用类图和类规格说明;集成测试使用构件图和协作图;系统测试使用用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。
总之,标准建模语言UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。
1.8小结
系统开发是一种人力活动,如果没有易于理解的表示法系统,开发过程就会冒很大的错误风险。
UML就是一套表示法系统,它已经成为系统开发领域中的标准。
UML是由GradyBooch、JamesRumbaugh和IvarJacobson发明的。
UML由一组图组成它使得系统分析员可以利用这一标准来建立能够为客户、程序员以及任何参与开发的的风险人员理解的多角度的系统蓝图。
因为不同承担人通常使用不同种图相互交流,因此UML包含所有这些种类的图是很有必要的。
UML模型只说明一个系统应该做什么,并没有告诉我们系统应该怎么做。
2RationalRose
2.1Rose简介
RationalRose是分析和设计面向对象软件系统的强大的可视化工具,可以用来先建模系统再编写代码,从而一开始就保证系统结构合理。
利用模型可以更方便地捕获设计缺陷,从而以较低的成本修正这些缺陷。
RationalRose支持业务模型,帮助了解系统的业务,有助于系统分析,可以先设计使用案例和UseCase框图,显示系统的功能。
也可以用Interaction框图显示对象之间的如何配合,提供所需功能。
Class框图可以显示系统中的对象及其相互关系。
Component框图可以演示类如何映射到实现组建。
最后,Deployment框图可以显示系统的网络设计。
Rose模型是系统的图形,包括所有UML框图、角色、使用案例、对象、类、组件和部署节点。
它详细描述系统的内容和工作方法,开发人员可以用模型作为所建系统的蓝图。
蓝图是Rose模型很好的比喻。
就象房子有一组蓝图,让建筑队的不同成员从不同角度使用,Rose模型包含许多不同的框图,使项目小组可以从不同角度观察这个系统。
用Rose能避免一些老问题:
往往开发出来的系统不是客户心目中想象的系统,而且维护系统时总会遇到这样和那样的问题。
在传统的过程中,我们采用如下步骤:
传统开发过程
用户的需求被建成文档,但设计在开发人员的脑子里,因此只有某个开发人员知道系统的结构。
如果这个开发人员离开,则这个信息也将离开。
如果你代替他,则你会知道要了解这个文档有多么费事。
Rose模型采用的过程如下:
Rose模型开发过程
设计被建成文档,开发人员就可以在编码之前在一起讨论设计决策了,不必担心系统设计中每个人选不同的方向。
但这个模型不仅为开发人员使用:
(1)整个小组用BusinessUseCase框图了解系统针对的业务。
(2)客户和项目经理用UseCase框图取得系统的高级视图,确定项目的范围。
(3)项目经理用UseCase框图和文档将项目分解成为管理的小块。
(4)分析人员和客户用使用案例文档了解系统提供的功能。
(5)技术作者用使用案例文档开始编写拥护手册和培训计划。
(6)分析人员和开发人员用Sequence和Collaboration框图了解系统的逻辑流程,系统中的对象及其对象间的消息。
(7)质量保证人员用使用案例文档和Sequence,Collaboration框图取得测试脚本所需要的信息。
(8)开发人员用Class框图和Statechart框图取得系统各部分的细节及其相互关系的信息。
因此,Rose是整个项目组使用的工具,是每个小组成员可以收集所需要信息的范围和分析,设计信息的仓库。
2.2Rose模型四个视图
Rose模型的四个视图是:
UseCase视图、Logical视图、Component视图和Deployment视图。
2.2.1 UseCase视图
UseCase视图包括系统中的所有角色使用案例和UseCase框图,还可能包括一些Sequence或Collaboration框图。
UseCase视图是系统中与实现无关的视图。
图2.1是Rose浏览器中的UseCase视图。
图2.1UseCase视图
UseCase框图,显示角色、使用案例和它们之间的交互。
Interaction框图,显示一个使用案例流程涉及的对象或类。
角色,是与所建系统交互的外部实体。
使用案例,是系统的高层功能块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 UML 案例 网上 购物