佛山职业技术学院 冯欣悦
基于UML的银行管理系统的建模
佛山职业技术学院冯欣悦
本文简单介绍了UML的基本建模方法,通过分析银行管理系统,结合软件工程面向对象的分析方法与开发技术,基于UML设计了系统的用例模型、静态模型、动态模型以及部署模型,使得系统开发人员根据建立起来的模型进行编码,降低了系统的开发成本,减小了系统的开发风险,从而为系统的顺利开发与正确实施提供了保证。
UML;用例;模型;银行管理系统
UML(Unified Modeling Language)的中文名称翻译为“统一建模语言”,它是一种标准语言,它的定义良好、易于表达并且功能强大。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。
UML主要有用例模型、静态模型、动态模型与部署模型,使用这四种模型,开发者可以从各个角度来观察和展示系统的建模。本文结合Rational Rose2003工具,通过UML来设计银行管理系统,并详细的阐述了UML的建模过程。
2.1系统总体需求分析
银行是金融机构之一,它与我们的生活息息相关。在现实生活中,银行的业务及其功能非常的复杂,为了便于学习,本文只简单介绍了银行这个庞大系统最基本的功能。本银行系统的功能如下:
(1)客户可以开户。(2)客户可以存钱。(3)客户可以对已存入的钱进行管理,可以查看余额、取款以及转账等。
(4)客户可以销户。
2.2建立系统用例模型
银行职员用例图(见图1):
(1)登录银行系统。银行职员只有顺利通过系统的身份验证才能登录系统并进入银行系统进行下一步的操作。
(2)管理客户的账户,包括:创建账户、删除账户以及修改账户信息。
图1 银行职员用例图
图2 客户用例图
客户用例(见图2)如下:
(1)存款。银行职员帮助客户将钱存入客户账户中。
(2)取款。银行职员帮助客户将钱从自己账户中取出。
(3)转账。银行职员可以帮助客户转账,可以转至同一银行的其它账户,也可以转至不同银行的不同账户。转账又分为两种:本行转账和跨行转账,转账与本行转账和跨行转账之间是继承关系。
2.3建立系统静态模型
根据系统需求,创建系统静态模型。我们可以分析出系统中存在的主要实体类:Bank、Account以及Customer。
辅助类:Deposit、Withdraw以及 Transfer转账,这三个类又可以抽象出父类Transaction。
用户界面类:MainForm、LoginFrame、QueryFormo、WithdrawForm、AccountForm、以及TransferForm。(见图3)
图3 银行管理系统类图
2.4建立系统动态模型
2.4.1 银行职员登录银行系统的系列图(见图4)与交互图(见图5)
银行职员登录银行系统用例的工作流程:
(1)银行职员进入系统,打开LoginFrame,输入自己的用户名和密码并提交。
(2)系统对银行职员输入的用户名和密码进行验证,如果正确,则创建系统主界面。
(3)如果用户名和密码不正确,未通过验证,则返回错误提示信息。2.4.2 银行账户状态图(见图5)
图4 银行职员登录银行系统的序列图
图5 银行职员登录银行系统的交互图
在银行系统中,账户有明确的状态转换。账户包含以下三种状态:被创建的新账户、被修改后账户、睡眠账户和被删除的账户。
(1)当客户开立账户时,将创建一个新的账户。
(2)客户若要求修改原来账户的内容,则账户信息被修改。
(3)账户长期搁置未使用,银行则认为账户进入了睡眠账户状态。
(4)客户不再使用该账户,可对账户进行注销,账户被删除。
图5 银行账户状态图
图6 银行职员登录系统活动图
2.4.3银行职员登录系统活动图
银行职员登录系统的活动图(见图6)中,创建了Clerk和System两个泳道,具体活动描述如下:
(1)系统要求用户需输入用户名和密码、并做出提示。
(2)银行职员输入用户名和密码并提交,系统收到用户名和密码并验证是否正确。
(3)如用户名和密码正确,则进入主界面,否则,则显示错误信息,并提示用户需重新输入。
2.5建立系统部署模型(见图7)
在银行管理系统中,系统包括In Client、 Out Client、Database Server以及Bank Server四个节点。
图7 银行管理系统部署图
本文以银行管理系统为例,描述了基于 UML 的建模过程,通过 Rational Rose 2003 工具对银行管理系统进行了面向对象的建模设计,建立了系统的用例、静态、动态以及部署四种模型。无论所要开发的系统所属什么领域,无论所面对的工程项目多么复杂,设计者都可以借助UML来进行规划和设计,并以此来对系统的机构进行描述,从而使得开发人员在编码前有了参照,进而加快了开发的速度,提高了开发的质量。这一技术的深入与普及,促进了整个软件产业的快速发展。