UML案例-网上购物

上网导航 2023-08-11 288 0条评论
摘要: UML案例-网上购物,网上购物系统-学习案例 U M L只是建立在系统开发模型的规范语言,并非是标准开发过程。面向对象的开发过程仍然是按软件工程的方法进行。...

网上购物系统-学习案例 U M L只是建立在系统开发模型的规范语言,并非是标准开发过程。面向对象的开发过程仍然是按软件工程的方法进行。 面向对象的设计发法和传统的结构化设计一样,也是将分析阶段所建立的分析模型转变为软件设计模型。 标准建模语言U M L适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。当采用面向对象技术系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构。第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图、对象图、构件图和部署图等5种图行,是标准建模语言U M L的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和协作图等4种图形,是标准建模语言U M L的动态建模机制。 在介绍完了U M L的几种模、U M L的使用工具及U M L 的面向对象机制以后,我们也积累了一些U M L的使用经验并初步学习了一个开发过程发法学的框架。下面我们就通过一个事例来说明在一个应用中如何使用U M L。

通过前面 第1页 的讨论,首先在分析模型中用用例来描述应用。然后,将分析模型扩展成设计模型。最后,用J S P和S e r v l e t语言编辑,具体实现可以运行的应用。 我们将讨论的案例是一个“网上购物系统”,它主要是通过在网页上进行简单的对商品进行选购。该案例的目的主要是:一,学习U M L在面向对象技术中的应用。二,演示在一个完整的应用中如何使用U M L:从分析到设计模型到真正的代码和可运行的应用。三,学习使用U M L建模工具R a t i o n a l R o s e。本案例遵循的是一种顺序过程。如下图所示: 用户需求分析设计代码 组件图类图时序图状态图 用例 用例图 部署图 协作图 原代码 4.1 需求分析 分析就是描述系统的需求,通过定义系统中的关键域来建立模型。分析的根本目的的在开发者和提出需求的之间建立一种理解和沟通机制。分析不受技术方案或细节的限制。在分析阶段,不考虑代码或程序的问题。它是迈向真正理解需求和所要设计的系统的第一步。 分析的第一步是定义用例,既描述学生信息管理系统的功能、确定系统的功能需求。 首先,要确定角色。该系统的角色为客户。因为,角色并不是都表示人,也可以是外部系统。

所以,本系统的数据库处理角色就是一个外部系统。 系统的角色图如下: 角色图 系统的角色分析完后,其次该分析系统的用例,用例分析是对每个角色行为的分析,该系统的角色的用例如下: ●选购商品 ●向购物车添加商品 ●从购物车删除商品 ●购买商品并结帐 ●预览商品 从上是的用例中可以分析出,客户登陆首页时将会选择商品,根据客户需求,客户将选择商品,然后在将商品加入购物车中。客户将根据浏览商品的资料判断是否删除商品,如果客户对购物车的商品表示满意,客户将去结帐。根据以上对用例的分析可以得出此系统的用例图。 系统的用例图如下: 网上购物系统的用例图 在整个系统中,用例描述系统的功能需求.在分析阶段,利用他们来检查某个域类是否已定义.在设计阶段,可以用来证实技术反噶是否能够处理要求的功能.根据以上角色图和用例图就可以得到整个系统的用例如下: 网上购物系统的用例 接下来根据上提供的几个用例进一步描述每个用例的执行过程,这里我们就将用到时序图,它描述对象是如何交互的,并且将重点放在消息的序列上.下面我将分别介绍以上几个用例. 加入购物车时序图 该时序图描述了用户在登陆主页到向购物车内 添加商品的整过程。

对象从左到右布置时序图的顶部。从每个对象伸展的虚线叫做对象的生命线。在生命线声的窄矩形框被称做激活,激活表示正在执行的某个操作。如上图所示,当顾客登陆主页时,他即将看到数据库提供给他的一些商品,当顾客选择商品点击a d d t o C a r d按钮时,首页就将用户选择商品的信息传递给,在内将信息入数组并添加到购物车内。每次用户在E s h o p.j s p页内加入一件物品,页面就向控 制s e r v l e t发送一个请求。由s e r v l e t依次决定适当 的动作,然后处理要加入的物品的请求参数。然后它 例示一个新的C D B e a n(见代码清单4)表示所选物 品,并在会话内更新购物车对象。 从购物车中删除商品的时序图 该时序图描述了用户从购物车中删除商品随时间变化的过程。如上图所示,当顾客点击D e l e t e按钮时,C a r t.j s p 将用户选择的商品信息再一次传递给 S h o p p i n g S e r v l e t进行处理,并在通过它对购物 车的商品进行操作。 浏览购物车中的商品 如上图,在用户将选择的商品添加到购物车内以后,如果用户点击购物车内的按钮预览商品时,C a r t.j s p就会把用户点击的那一行商品的信息发送到D i s c.j s p内,在由它进行判断该商品的序号是那一种商品,然后在显示该商品的资料. 结帐时序图 C h e c k o u t.j s p仅从会话中取出购物车和所有请求的总数,然后显示所选的物品及总价格。

显示了结帐时客户端的时序图。一旦用户结帐,购物车商品的数量、价格等参数传递给S h o p p i n g S e r v l e t,由它在进行处理运算,并把最终的结果再传递个C h e c k o u t.j s p,再又它显示出来。 浏览店内的商品 当客户登陆首页时,用户选择的商品完全是由数据库提供的,用户可以对菜单中的商品进行选择. 4.2网上购物构件图 在分析阶段,构件图表达的U M L是现实世界中的实体。它是软件系统的一个物理单元,它驻留在计算机中而不是只存在系统分析员的脑海里。构件之间存在的唯一关系是构件的依赖性。构件依赖性指一个构件依赖于另一个构件。构件依赖性画成构件之间的虚线箭头。如下图箭头指的构 件表示被依赖,也就是说,C a r t、E s h o p、C h e c k o u t都依赖于S h o p p i n g S e r v l e t。下图描述的是在网上购物系统中几个构件之间的依赖关系。 网上购物购件图 4.3 网上购物类图 在面向对象建模技术中,客观世界的实体被映射为对象,并归纳成一个个类。对于想要描述的目标系统,其类模型和对象模型揭示了系统的结构。

在U M L中,类图和对 象图表示。类图技术是面向对象的方法的核心,它表示系统中类与类之间的交互。下图显示了网上购物整个系统的类图。 网上购物系统的类图 上图显示了从用户登陆首页选择商品到结帐离开类之间的关系,分别由4种类图组成。上图描述的是一种把J S P 与S e r v l e t联合使用来实现动态内容服务的方法。它吸取了两种技术各自的突出优点,用J S P生成表达层的内容,让S e r v l e t完成深层次的处理任务。也就是说S e r v l e t在整个的 系统中起到了支配作用。在这里,E s h o p、C a r t.j s p和C h e c k o u t.j s p在系统中几乎没有任何的操作,只负责提供与用户进行交互的界面,当用户通过E s h o p.j s p选择商品时,并点击按钮加入商品时,E s h o p.j s p会把信息传递给S e r v l e t,由它在进行处理后并送到购物车。S e r v l e t充当控制者的角色,负责管理对请求的处理,创建J S P页需要使用的b e a n 和对象,同时根据用户的动作决定把那个J S P页传给请求者。

特别要注意,在J S P页内没有处理逻辑;它仅负责检索原先由S e r v l e t创建的对象或B e a n s,从S e r v l e t中提取动态内容插入静态模板。在我看来,这是一种有代表性的方法,它清晰地分离了表达和内容,明确了角色的定义以及开发者与网页设计者的分工。客户机页窗体S e r v l e t服务器页 如图上图所示,C l a s s框图显示系统中类、接口、和关系的子集。典型的系统有许多不同的C l a s s框图。在R o s e 中用不同的图标表示C l a s s框图中的不同类。例如上图是用于建模W e b应用程序。R o s e中有许多W e b模型的类版型,如客户机页、服务器页和H T M L窗体。这些类放在C l s s框 图中,和传通的类一样可以包括属性、操作和关系。象上图介绍的类图。 传统的类图 4.4网上购物系统介绍 本系统是基于U M L构建W e b动态网站,所用的语言是J S P和S e r v l e t,在此系统中虽然没那么复杂,但在功能上基本完成了添加商品、删除商品、结帐和预览商品的几个基本功能。在系统的一种把J S P与S e r v l e t s联合使用来实现动态内容服务的方法。

它是两种语言最佳的结合点,用J S P生成表达层的内容,让S e r v l e t s完成深层次的处理任务。在这里,S e r v l e t s充当控制者的角色,负责管理对请求的处理,创建J S P页需要使用的b e a n和对象,同时根据用户的动作决定把那个J S P页传给请求者。特别要注意,在J S P页内没有处理逻辑;它仅负责检索原先由S e r v l e t s 创建的对象或b e a n s,从S e r v l e t中提取动态内容插入静态 模板。在我看来,这是一种有代表性的方法,它清晰地分离了表达和内容,明确了角色的定义以及开发者与网页设计者的分工。 连接类的直线显示类之间的关系。例如S h o p p i n g S e r v l e t与E s h o p.j s p就是一种继承关系, E s h o p.j s p与C a r t.j s p是聚集关系。其中前者包含后者。 4.5网上购物状态图 状态图用来描述一个特定对象的所有可能状态及引起其状态转移的事件。大多数面向对象技术都用状态图表示单个对象在起周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。

在这里我以购物车为例对它的状态进行分析,首先观察购物具有两个状态,车内有商品、车内无商品。然后再分析他的活动,如果选择商品,可添加到购物车内,可以继续选择商品。如果选够了商品,就从一个状态进入了另一个状态,一个状态可以加进五种信息:活动、进入操作、退出操作、事件和状态历史。活动是对象在特定状态时进行的行为。进入操作是对象进入某个状态时发生的行为。退出操作与进入操作相似,但它在退出某个状态时发生。如下图。 购物车状态图 4.6网上购物购物车活动图 活动图显示动作及其结果,它即可用来描述操作(类的方法)的行为,也可以描述用例和对象内部的工作过程。活动图是由状态图变化而来的,它们用于不同的目的。活动图主要强调的是动作。与状态图不一样,活动图中的动作状态之间的迁移于是靠事件触发的,当动作状态中的活动完成时迁移就触发,活动图中一个活动结束后将立即进入下一个活动。在下图描述了网上购物系统中购物车的活动图。和购物车的状态图相比它的活动图包含状态以外还 包括了购物车的几个活动,象添加商品、删除商品和结帐等等接个活动。我感觉状态图就好象活动图的整体设计,状态图可以包含几个活动图,也就是说一个状态可以引发出接个动作来。

但是状态图和活动图不能想时序图与协作图之间可以相互转换。图 4.8所示的就是网上购物系统中购物车的活动图。 购物车活动图 以上分别以购物车为例,说明了购物车的活动图和状态图。下面将分别介绍其它部分的状态图,在这里就详细描述了。 结帐状态图 浏览商品状态图 网上购物首页状态图 4.7网上购物的协作图 协作图用于描述相互协作的对象间的交互关系和链接关系,但侧重点不同。时序图着重体现交互的时间顺序,协作图侧重体现交互对象间的静态链接关系,同时时序图与协作图之间可以相互转换。图 4.8所示的就是购物车的时序图转化的协作图。 购物车协作图 4.8网上购物的部署图 部署图描述系统硬件的物理结构以及在此结构上执行的软件。部署图可以显示计算节点的拓扑结构和通信路径、结点上运行的软件组件、软件组件包含的逻辑单元等。部属图常常用于帮助理解分布式系统。在网上购物系统中,我们可以从网络上开始划分结构,该系统分为三层结构,分别针对数据库、服务器、和客户机。下图显示了网上购物系统的主要部属。 网上购物部署图 4.8小结 本章将U M L建模应用到构建系统设计上,并通过八 种框图,从各种角度观察系统来进行需求分析、系统设计。

通过一个完整的简单例子来说明U M L在整个系统设计所发挥的作用。 总结 通过这次的毕业设计,使我对U M L全新的理解,使我对U M L产生了更加浓厚的兴趣,在程序的设计过程中,我发现自己的软件知识尤其是对软件的整体设计不是完全理解,对于一些细节不够了解,对知识的了解不全面,有待学习和提高。 在每学期结束前,老师都会让我们设计一些程序,用我们当时或以前所学到的知识。那时就总有些困难没有基本的设计思想,完全没有按照软件工程的思想去,基本上是想到哪做到哪,完全没有按照软件工程的思想去。并没有及时认识到它的严重性,现在在做毕业设计的时候才知道。 大学这四年时光里,并不是把课堂上的或是我们学过的知识了解了就可以的,应该努力应用于实践,只有不断实践,才能知道自己的缺点,了解自己的不足并及时改正它、扩充自己的知识面。才能不断的提高自己自身的水平。这也是为什么大多数的学生都考研的情况。在我们去招聘的时候就应该清楚地了解自己的位置,有些工作的职位并不是由我们的学习成绩决定的,而是由自己所学的知识应用到各方面的能力和随即的判断力。就我言,我感觉到知识和能力是最重要的,只有先掌握好扎实的基本功,才能在以后工作和实践中不端进步。

通过这次的设计,知道自己的不足,我相信自己会在 一定时间内通过不断的学习和实践提高自己的能力,设计给我带来很大的帮助,同时开阔了我的眼界,使我明白只有自己亲自实践,才能了解自己所做的东西,如果没有实践,恐怕就不会有电流的产生,地球为什么是圆的,以及现在的一切。清洁实践不仅能锻炼自己,还能够提高自己的能力,增强自己的自信心。在面对困难时要勇敢的面对才有能力、有把握去克服它,征服它。虽然我现在还有所欠缺,但我相信在以后的工作和生活中,我会不断提高自己,完善自己。 参考文献 1.W e n d y B o g g s,M i c h a e l B o g g s著,邱仲潘译,《U M L与R a t i o n a l R o s e2002从入门到精通》,电子工业出版社,2002。 2.张龙祥著,《U M L与系统分析设计》,人民邮电出版社,2002。 3.蒋慧、吴礼发、陈卫卫著,《时代新潮流U M L 设计核心技术》,北京希望电子出版社,2001。 4.杨学瑜、王志军、刘同利著,《J S P入门与提高》,清华大学出版社,2002。 5.张海潘著,《软件工程导论》,清华大学出版社,1998。

文章版权及转载声明:

作者:上网导航本文地址:https://www.90xe.com/post/1672.html发布于 2023-08-11
文章转载或复制请以超链接形式并注明出处技术导航

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏