UML实例中ATM类图和用例图解析

开发 架构
本文向大家介绍一下UML实例中ATM类图和用例图,我们在日常生活中也经常和ATM打交道,本文就以ATM系统为例将前面几章中学到的用例图、类图知识运用到此例中。

在学习UML的过程中,经常会遇到UML实例问题,这里就向大家介绍一个UML实例中ATM类图和类图,主要以ATM取款机为例向大家讲解UML的使用,希望本文的介绍对你的学习有所帮助。

UML实例中ATM类图和用例图

"例,比也"(《说文》),本次连载将给出一个利用UML进行建模的完整实例,综合应用前面学到的知识,达到"举此以例其余"(元刘壎《隐居通议·欧阳公》)的目的。

在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在在城市的大街小巷随处可见。我们在日常生活中也经常和ATM打交道。本章我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。

1.1UML实例中ATM用例图

首先看一下UML实例中的用例图,参与者"银行储户"和ATM机。简化后的ATM机仅有取款、存款及其余功能。其余功能不做详细说明。

图1.1自动取款机(ATM)系统用例图

银行储户在ATM机上完成取款、存款及其他业务。

1.2UML实例中ATM类图

图1.2银行系统类图

我们来看一下UML实例中ATM类图,图1.2所示的银行系统类图和图3.5是类似的,只是将工作人员换成了ATM。整个银行系统包括了帐户库、银行储户库及ATM系统。

许多单个的帐户组成了帐户库。帐户具有帐户类型、帐户号、余额三个属性,均为private,其类型分别为char,int,double。六个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance为protected其余均为public。

setType设置帐户类型,返回类型为void,参数类型为char,输入帐户类型。

getType获取帐户类型,返回类型为char,无参数。

setAccountNumbe设置帐户号,返回类型为void,参数类型为int,输入帐户号。

getAccountNumbe获取帐户号,返回类型为int,无参数。

caculateBalance计算余额,返回类型为void,参数为double,***个参数为输入存取款数额,第二个参数为存款余额,既为输入也为输出。

getBalance获取帐户余额,返回类型为double,无参数。

许多银行储户组成了储户库。ATM系统包含了许多ATM机。银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。更多的属性及操作都可以一一加上,使这个类图更详细更完整,从而使参与项目的每个成员都能无歧义的明了整个设计的类的结构。同样对于一个真正的银行系统,这个类图过于简单。比如帐户类型我们可以先定义一个abstractclass,它包含一个帐户最基本的属性及操作。而有些操作先定义为abstract,如余额的计算。然后再继承这个abstractclass,我们可以有savingaccount和checkingaccount等等。不同的帐户有不同的余额计算方法,我们可以加上具体的算法。对于不同的帐户可能还有一些它特有的操作,我们也可以加上,比如savingaccount在存款达到多少时可以享受机票打折的优惠。对于此UML实例中ATM类图不仅可以使设计者明确的表达自己的设计意图,也能帮组自己整理思路,充实及优化自己的设计。

 【编辑推荐】

  1. UML精粹 UML类图全面剖析
  2. 专家指导 UML类图关系表示方法
  3. 四种UML类图关系简明介绍
  4. UML类图关系大全
  5. UML基础与应用--UML类图解析

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-06-13 14:37:04

UML实践

2010-06-18 14:56:15

UML综合实例

2010-07-06 15:57:58

UML图形

2010-06-10 10:20:21

2010-06-13 14:51:27

UML实践

2010-07-02 08:57:45

UML用例图

2010-06-07 19:02:52

UML用例图

2010-06-18 18:07:19

UML用例图

2010-07-02 09:06:29

UML用例建模

2010-07-12 12:32:35

UML用例图

2010-07-12 09:37:26

UML建模

2010-07-08 16:34:01

UML包图

2010-07-09 09:00:22

UML建模

2010-07-12 10:25:44

UML类图

2010-07-06 16:19:56

UML图形

2010-07-02 10:25:50

UML模型图

2010-06-18 18:27:13

UML构件图

2010-07-05 12:50:01

用Visio画UML用

2010-06-30 14:46:49

UML类图

2010-06-30 17:36:58

UML用例图
点赞
收藏

51CTO技术栈公众号