银行存储系统UML建模Word下载.docx
《银行存储系统UML建模Word下载.docx》由会员分享,可在线阅读,更多相关《银行存储系统UML建模Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
![银行存储系统UML建模Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/24/18851fb1-64bc-44c6-aee9-a25be11afd21/18851fb1-64bc-44c6-aee9-a25be11afd211.gif)
日期:
2014年12月25日
一、系统概述
银行是与人们生活密切相关的一个机构,银行可以提供存款、取款、转账等业务。
在银行设立账户的人或机构被称为银行的客户(customer)。
一个客户可以在银行开设多个账户(account),客户可以存钱到账户中,也可以从自己的账户中取钱,还可以将存款从一个账户转到另一个账户。
另外,客户可以更改自己的账户情况,以及查询以前所进行的存款、取款等交易记录。
客户还有权利要求关闭自己的账户。
银行系统是与生活紧密相关的一个机构,银行提供了存款、取款、转账等业务。
在银行设立账户的人或机构通常被称为银行的储户。
一个储户可以在银行开多个账户,储户可以存钱到账户中,也可以从自己的账户中取现,还可以将存款从一个账户转到另一个账户。
储户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。
软件分别有开户,销户,改户,存取款,转账等功能。
各个模块各有不同的功能,但都能完成查询和存取功能。
各模块的数据都存放在数据库中。
数据的调用和连接都有程序来完成。
二、系统需求分析(生成用例模型,初步的时序图\活动图,系统的部署架构)
2.1需求分析
实际生活中的银行功能其实还要复杂得多,但为了简化系统,本次设计只考虑银行的基本功能。
简化版的银行系统至少应具有如下功能:
(1)一个银行可以有多个账户;
(2)一个银行可以有多个客户;
(3)一个客户可以持有多个账户;
(4)一个账户可以有多个持有者;
(5)银行可以为客户开设账户;
(6)银行可以为客户注销账户;
(7)客户可以从自己账户中取钱;
(8)客户可以向自己账户中存钱;
(9)客户可以在同一银行的不同账户之间转账;
(10)客户可以在不同银行的不同账户之间转账;
2.2用例模型
参与者是系统外部的一个实体,它以某种方式参与用例的执行过程,参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。
每个参与者可以参加一个或多个用例,它通过交换信息与用例发生交互,参与者有工作人员(clerk),客户(customer)和银行(bank)。
用例是描述执行者使用系统以打到某个目的涉及的一系列场景的集合。
通过从各个参与的角度进行分析,根据用户需求,将系统功能划分为登录、存款、取款和转账功能模块。
三、面向对象分析
3.1分析静态建模(用例图类对象图部署图)
(1)用例图:
(2)类图:
类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,还包括类的内部结构,描述的静态关系在系统的整个生命周期都是有效的。
类图中的类可以在直接在某种面向对象的编程语言中被实现,虽然一个类图仅仅显示的是系统中的类,但是存在一个变量,确定了显示各个类的真实实例的位置。
类图是对象系统建模中最常用的图,它是定义其他图的基础,在类图的基础上,可以使用状态图、协作图、组件图和配置图等进一步描述系统其他方面的特性。
类图是面向对象系统的核心。
类图的直观性不论在分析阶段、设计阶段还是编码阶段都有十分重要的作用,软件开发人员在清楚地看到系统的设计之后,很容易提高编码的效率。
类图包含7个元素:
类、接口、协作、关联关系、泛化关系、依赖关系、实现关系。
给定一个类图,可以判断一个对象是否表示了系统的一个可能状态。
对象之间的关系是由类图上对应的关联关系来定义的。
两个类之间的关联关系表明了他们的对象在运行时存在的连接关系。
类是对显示世界中具有相同性质和行为的一类对象的抽象,它封装了这些类对象所共有的属性和操作。
(3)部署图:
在银行系统中,系统包括四种节点,分别是数据库服务器(DatabaseServer)节点,负责数据的存储;
系统服务器节点(BankServer),用于处理系统的业务逻辑;
内部客户端节点(InClient)和外部客户端节点(OutClient),使用者通过客户端登录系统进行操作。
3.2分析动态建模(时序图状态图活动图协作图)
(1)时序图
1).银行职员登录银行系统用例的工作流程:
a.银行职员想通过系统进行某一项操作。
b.银行职员启动系统,在登录页面LoginForm输入自己的用户名和密码并提交。
c.系统验证银行职员的用户名和密码是否正确,如正确创建系统主界面。
d.如果身份验证未通过,返回错误提示信息
2).客户存款用例的具体工作流程如下:
a.客户向银行职员提出存款要求。
b.银行职员在系统主界面请求存款操作,系统创建存款界面。
c.银行职员添加存款信息后,提交至账户类。
d.账户类确认数据库是否存在该账户,如存在创建一个存款交易记录,再将记录保存到数据库。
计算新账户的余额,最后更新数据库中该账户的信息。
3).客户取款用例的工作流程描述如下:
a.客户向银行职员提出取款要求。
b.银行职员在系统主界面请求取款操作,系统创建取款界面。
c.银行职员添加取款信息后,提交至账户类。
d.账户类确认数据库是否存在该账户,并确认账户中的金额是否足够支付所取款项,如可足够支付则创建一个取款交易记录,再将记录保存到数据库。
4)客户进行本行转账的工作流程如下:
a.客户向银行职员提出本行转账的要求。
b.银行职员在系统主界面请求转账操作,系统创建转账界面。
c.银行职员添加转账款信息后,提交至账户类(转出)。
d.账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项,如可足够支付则计算新的账户余额,更新数据库中该账户的信息,发送消息给转账类,创建转账交易记录,保存转账交易记录。
e.转账界面将转账信息传递给账户(转入),查询该账户是否存在。
如存在计算账户余额,然后更新数据库的数据。
发送消息给转账类,创建转账交易记录,保存转账交易记录。
5)客户进行跨行转账的基本工作流程如下:
a.客户向银行职员提出跨行转账的要求。
c.银行职员添加转账款信息后,提交至账户类。
d.账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项。
e.如可足够支付则计算新的账户余额,更新数据库中该账户的信息。
f.发送消息给转账类,创建转账交易记录,保存转账交易记录。
g.最后,发送转账通知到另一家银行。
6)客户开立新账户的基本工作流程如下:
a.客户向银行职员提出开立账户要求。
b.银行职员在系统主界面请求创建账户操作,系统创建账户界面。
c.银行职员添加账户信息后,提交至账户类。
d.账户类确认数据库是否已存在该客户的账户。
如不存在,则创建新客户对象。
e.然后将客户信息保存到数据库中。
7)客户删除账户的基本工作流程如下:
a.客户向银行职员提出删除账户要求。
b.银行职员在系统主界面请求查询账户操作,系统创建查询界面。
c.银行职员在查询界面提交账号,从账户类中获得指定账户的信息,同时系统创建账户界面。
d.银行职员在账户界面确认删除,并将删除命令提交给账户类。
e.账户类结算账户金额,关闭账户,从数据库中删除账户,并更新数据库中客户的相关信息。
f.判断是否还有和客户相关的账户存在。
如果没有,最后删除数据库中客户的信息。
8)客户修改账户信息的工作流程如下:
a.客户向银行职员提出修改账户信息的要求。
d.银行职员修改账户信息后,提交给账户界面。
e.账户界面发送消息更新数据库中客户的信息,同时更新账户信息。
(2)状态图
在银行系统中,有明确状态转换的类是账户。
账户包含以下三种状态:
被创建的新账户、被修改后账户、睡眠账户和被删除的账户。
它们之间的转化规则是:
a客户开立账户时,新的账户被创建。
b客户要求变更原有账户信息时,账户内容被改变。
c账户长期未使用,银行将其定义为睡眠账户的状态。
d客户注销账户,账户被删除。
(3)活动图
1)银行职员登录系统的活动图中,创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
a系统提示用户输入用户名和密码。
b银行职员输入用户名和密码后提交,系统验证是否正确。
c如正确,进入主界面,否则,显示错误信息,并提示用户重新输入。
2)客户存款的活动图中,创建二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
a系统提示输入用户的相关信息和存款金额。
b银行职员将相关信息输入后提交,系统判断账户是否存在且有效。
c如果账户有效并存在,建立交易记录,修改账户金额,保存交易记录。
3)客户取款的活动图中创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
a系统提示输入用户的相关信息和取款金额。
b银行职员将相关信息输入后提交,系统判断账户是否存在且有效,账户中的余额是否大于取款金额。
c如果账户有效并存在同时金额足够,建立交易记录,同时修改账户金额,保存交易记录。
4)客户转账活动图创建二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
a系统提示输入用户的相关信息和转账金额。
b银行职员将相关信息输入后提交,系统判断账户是否存在且有效,账户中的金额是否大于转账金额。
d判断转入账户是否属于同一银行。
如是同一银行,系统先确认转入账户是否存在并有效。
如有效更新账户相关信息,建立转账记录,保存转账记录。
e如果转入和转出账户不是同一银行,则发送转账通知给另一个银行。
5)创建账户的活动图,需要创建二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
b银行职员输入相关信息后提交。
c系统为客户创建账户,并将账户信息保存到数据库。
6)客户修改账户的活动图,我们创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:
a系统提示输入用户的账号。
b银行职员输入账号后提交。
系统查询账户信息并显示。
c银行职员修改账户信息后提交,系统更改账户信息。
(4)协作图
见4.2.(4)。
四、面向对象设计
4.1设计静态建模(用例图类对象图构件图,部署图)
(3)构件图:
(4)部署图:
4.2设计动态建模(时序图状态图活动图协作图)
登陆时序图
本行转账时序图
跨行转账时序图
存款时序图
取款时序图
开立账户时序图
删除账户时序图
修改账户信息时序图
银行账户状态图
登陆活动图
创建账户活动图
存款活动图
取款活动图
转账活动图
修改账户活动图
登陆交互图
本行转账交互图
跨行转账交互图
存款交互图
取款交互图
开立账户交互图
删除账户交互图
修改账户信息交互图
五、实验小结
在这次课程设计中,我对UML的几种图有了更深刻的理解,明白了什么时候需要什么图,这些图分别能表达的意思,及各图的优缺点。
对于建模过程中,遇到的问题通过询问辅导老师和上网查找资料,得到了比较满意的解决,避免了自己的眼高手低,从实践中发现自己的不足,并及时改正。
对Rational
Rose的UML功能运用的更加系统,更加熟练;
但是更让我明白,UML的知识是十分丰富的,我现在的认识还不够,我将会在以后的学习中,不断提高自己的UML知识。
六、参考文献
UML实验指导书