计算机专业 UML 建模论
文
姓 名:
班 级: 计本 0703 班
专 业: 计算机科学与技术
院 系: 信息学院计算机系
完成日期: 2010 年 12 月 24 日
目 录
目 录 ................................................................................................................................................I
序 言..................................................................................................................................................1
一、系统的概述................................................................................................................................1
(一)银行信息系统................................................................................................................1
二、需求分析....................................................................................................................................1
(一)需求分析........................................................................................................................1
三、系统的 UML 基本模型.............................................................................................................2
(一)、用例图..........................................................................................................................2
(二)、用例描述:..................................................................................................................3
(三)、银行信息系统的事件流..............................................................................................3
1.用例存款的事件流.........................................................................................................3
2. 用例转账的事件流.......................................................................................................4
3.用例查询的事件流.........................................................................................................4
(四)、活动图..........................................................................................................................5
1.存款活动图..................................................................................................................5
2.转账活动图..................................................................................................................5
3.查询活动图..................................................................................................................6
(五)时序图............................................................................................................................6
(六)类图................................................................................................................................7
1.系统中主要的类..........................................................................................................8
(七)状态图............................................................................................................................9
(八)部署图............................................................................................................................9
四、实验结论..................................................................................................................................10
五、总结及心得体会......................................................................................................................10
序 言
统一建模语言 (UML)是非专利的第三代建模和规约语言,是在开发阶段,说
明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。UML 展
现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特
别是在软件架构层次已经被验证有效。 UML 可以贯穿软件开发周期中的每一个阶
段。它最适于数据建模,业务建模,对象建模,组件建模。被 OMG 采纳作为业界
的标准。
一、系统的概述
(一)银行信息系统
银行是与人们生活密切相关的一个机构,银行可以提供存款、取款、转账等业务。
在银行设立账户的人或机构被称为银行的客户(customer)。一个客户可以在银行开设
多个账户(account),客户可以存钱到账户中,也可以从自己的账户中取钱,还可以将存款
从一个账户转到另一个账户。另外,客户可以随时查询自己的账户情况,以及查询以前所进
行的存款、取款等交易记录。客户还有权利要求关闭自己的账户。
实际生活中的银行功能其实还要复杂得多,但为了简化系统,本次设计只考虑银行的基
本功能。简化版的银行信息系统至少应具有如下功能:
1. 一个银行可以有多个账户;
2. 一个银行可以有多个客户;
3. 一个客户可以持有多个账户;
4. 一个账户可以有多个持有者;
5. 银行可以为客户开设账户;
6. 银行可以为客户注销账户;
7. 客户可以从自己账户中取钱;
8. 客户可以向自己账户中存钱;
9. 客户可以在同一银行的不同账户之间转账;
10. 客户可以在不同银行的不同账户之间转账;
11. 请完成登录、存款、取款、转账和查询几个模块的设计。
二、需求分析
(一)需求分析
银行系统是与生活紧密相关的一个机构,银行提供了存款、取款、转账等业务。在银行
设立账户的人或机构通常被称为银行的储户。一个储户可以在银行开多个账户,储户可以存
钱到账户中,也可以从自己的账户中取现,还可以将存款从一个账户转到另一个账户。储户
还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。后台管理员
可以对客户的账户进行注销、删除、查询等管理,还有就是银行利息、汇率、手续费之类参
数的设置,以及财务管理以及财务分析。
软件分别有开户,查询存取款,转账等功能。各个模块各有不同的功能,但都能完成查
询和存取功能。各模块的数据都存放在数据库中。数据的调用和连接都有程序来完成。
此软件所要完成的主要功能有三方面:如果是存款,用户填写存款单,然后交给收银员
键入系统,同时系统还要记录存款人姓名,住址,身份证号码,存款类型,存款日期,利率
及密码(可选)等信息,完成后由系统反馈成功存款信息给用户。如果是取款,用户填写取
款的相关信息(取款金额、取款币种)进行提交,系统要求用户输入密码以确认身份,核对
密码正确无误后系统计算利息并印出利息单给用户。如果是转账,用户填写转账的相关信息
进行提交,系统要求用户输入密码以确认身份,核对密码正确无误后系统计算利息并反馈信
息给用户。系统及时更新数据库。
外部功能:实现化窗口,开户/销户、存款/取款、查询/转账。
内部功能:同步,过滤,定位,识别,更新,连接。
三、系统的 UML 基本模型
(一)、用例图
通过分析对银行信息系统的需求分析,确定参与者有银行客户、收银员。
收银员具有维护系统信息、维护客户信息、查询客户情况和处理处理客户需求的作用。
用例包括:
1)开户、
2)存款、
3)取款、
4)转账、
5)查询、
6)销户等。
用例图如下所示:
1)银行信息系统用例分为两部分:Use Case View 和 Logical View
2)Use Case View 部分:
3)Logical View 部分:
4)具体用例关系图:
(二)、用例描述:
用例名称:银行信息系统
描述:银行客户对需要办理业务的需求以及收银员对事件的处理。
(三)、银行信息系统的事件流
1.用例存款的事件流
前置条件
在存款之前,客户已经办理银行账号并且带来现金若干,并到达银行网点。
后置条件
如果这个用例成功,这个存款事件是成功的,否则,系统没有变化。
扩充点
无
事件流
基流
(1)客户将银行卡交给收银员。
(2)收银员要求客户输入卡密码。
(3)客户输入卡密码,并确认密码。
(4)收银员提示,请客户选择服务类型。
(5)客户选择存款服务。
(6)收银员提示:存款数目。
(7)客户说出数目,并把钱交给收银员。
(8)收银员完成服务。
(9)收银员退还卡。
替代流
如果输入的密码无效,用户可以重新输入密码或者终止用例。
2. 用例转账的事件流
前置条件
在转账之前,客户已经办理银行账号,被转账人的账号已经存在并且已经知道了对
方的账号。
后置条件
如果这个用例成功,这个转账事件是成功的,否则,系统没有变化。
扩充点
无
事件流
基流
(1)客户填写转账单。
(2)客户把转账单和银行卡交给收银员。
(3)收银员要求客户输入卡密码。
(4)客户输入卡密码,并确认密码。
(5)收银员转账成功。
(6)收银员退还卡。
替代流
如果输入的密码无效,用户可以重新输入密码或者终止用例。
3.用例查询的事件流
前置条件
在查询之前,客户已经办理银行账号并且携带银行卡,并到达银行网点。
后置条件
如果这个用例成功,这个查询事件是成功的,否则,系统没有变化。
扩充点
无
事件流
基流
(1)客户将银行卡交给收银员。
(2)收银员要求客户输入卡密码。
(3)客户输入卡密码,并确认密码。
(4)收银员提示,请客户选择服务类型。
(5)客户选择查询服务。
(6)客户说出查询内容,收银员将内容反馈给客户。
(7)收银员完成服务。
(8)收银员退还卡。
替代流
如果输入的密码无效,用户可以重新输入密码或者终止用例。
(四)、活动图
活动图是基于对象的状态变迁所绘制的视图。
收银员首先凭着自己的系统用户名和密码登录系统,收银员可以通过银行客户提供的有
效证件号开户,提供客户账号开户、存款、取款、转账、查询、销户等功能,最后退出系统。
1.存款活动图
2.转账活动图
3.查询活动图
(五)时序图
时序图(Sequence Diagram)主要用于按照交互发生的一系列顺序,显示对象之间的这
些交互。收银员通过用户账号和密码登录系统,在系统的操作窗口对需要存款、取款、转账、
查询、销户的用户进行操作,最后退出操作窗口。
我们所开发的银行信息系统时序图如图所示:
操作时序图
(六)类图
类图是对象结构建模的一部分,类图描述系统中类的静态结构。类图是代码生成(将模
型转化为代码)的来源,也是逆向工程(将代码转化为模型)的目标设生成物。
类图设计如下图:
1.系统中主要的类
(1)用户类:
它的属性有用户名(Name)、密码(Password)、银行卡号(Cardnumber)、用
户身份证号码(ID)。
操作包括修改密码(Changpassword)、存款(deposit)、取款(cash)、转账
(transfer)、 查询(Chaxun)、、用户开户(Registered)。
(2)系统类:
customer
cID : String
cName : String
address : String
tel : String
Employee
eID : String
eName : String
address : String
password : String
admin : boolean
Product
pID : String
pName : String
storage : int
price : double
info : String
Order
oID : String
productList : List
cID : String
orderDate : Date
orderState : String
它的属性有电脑号(Computernumber)、机器地址(Mac)。
本身的操作没有,但有被管理员使用的操作。
(3)收银员类:
它的属性有用户名(name)、密码(password)。
操作包括用户开户(Registeredusers)、注销用户(Deleteusers)、查询用户信息
(Chaxun)、系统维护(Weihu)。
(七)状态图
状态图用来表示建模对象是如何改变其状态的,状态定义为对象行为在某一时刻的快照
或转折点。
(八)部署图
系统部署图如下:
四、实验结论
系统主要的实现目标是实现客户开户、存款、取款、转账、查询、销户和后台服务器端
系统的设计,提供完善的功能设计。
五、总结及心得体会
UML 工具很好的帮助我们实现了对银行信息系统的设计,通过 UML 建模,把事物从
抽象到实例化的过程,对每个对象进行细化分析,从而得到简单而方便,容易理解的模型结
构。通过此次试验收获很大,使我们认识到了通过 UML 模型可以高效完成软件设计,同时
也要感谢老师以及同学们对于我们的大力帮助,使我们能很好的完成此次软件工程设计,谢
谢!