




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、银行存储系统 UML建模UML 课程实验报告( 2014 - 2015年度第一 学期 )课程名称:UML课程实验报告题目:银行存储系统院系:计算机与信息技术学院班级:学号:姓名:指导教师:设计周数:8 周个人成绩:日期:2014 年 12 月 25 日目录目录 .3一、 系统概述 .6二、 系统需求分析 .72.1需求分析72.2用例模型8三、面向对象分析93.1分析 静态建模(用例图类对象图 部署图) .9(1)用例图:9(2)类图:10(3)部署图:123.2分析 动态建模(时序图状态图 活动图协作图) .12(1)时序图13(2)状态图17(3)活动图18(4)协作图21四、面向对象设计
2、214.1设计 静态建模(用例图类对象图 构件图,部署图).21(1)用例图:21(2)类图:21(3)构件图:23(4)部署图:234.2设计 动态建模(时序图状态图 活动图协作图) .24(1)时序图24(2)状态图29(3)活动图29(4)协作图33五、 实验小结.37六、 参考文献.37一、 系统概述银行是与人们生活密切相关的一个机构, 银行可以提供存款、取款、转账等业务。在银行设立账户的人或机构被称为银行的客户( customer )。一个客户可以在银行开设多个账户(account),客户可以存钱到账户中,也可以从自己的账户中取钱, 还可以将存款从一个账户转到另一个账户。 另外,客户
3、可以更改自己的账户情况,以及查询以前所进行的存款、 取款等交易记录。客户还有权利要求关闭自己的账户。银行系统是与生活紧密相关的一个机构, 银行提供了存款、取款、转账等业务。在银行设立账户的人或机构通常被称为银行的储户。 一个储户可以在银行开多个账户, 储户可以存钱到账户中,也可以从自己的账户中取现, 还可以将存款从一个账户转到另一个账户。 储户还可以随时查询自己账户的情况,并查询以前所进行的存款、取款等交易记录。软件分别有开户,销户,改户,存取款,转账等功能。各个模块各有不同的功能, 但都能完成查询和存取功能。 各模块的数据都存放在数据库中。数据的调用和连接都有程序来完成。二、 系统需求分析(
4、生成用例模型, 初步的时序图 活动图,系统的部署架构)2.1需求分析实际生活中的银行功能其实还要复杂得多,但为了简化系统,本次设计只考虑银行的基本功能。简化版的银行系统至少应具有如下功能:( 1) 一个银行可以有多个账户;( 2) 一个银行可以有多个客户;( 3) 一个客户可以持有多个账户;( 4) 一个账户可以有多个持有者;( 5) 银行可以为客户开设账户;( 6) 银行可以为客户注销账户;( 7) 客户可以从自己账户中取钱;( 8) 客户可以向自己账户中存钱;( 9) 客户可以在同一银行的不同账户之间转账;( 10)客户可以在不同银行的不同账户之间转账;2.2用例模型参与者是系统外部的一个
5、实体,它以某种方式参与用例的执行过程,参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。每个参与者可以参加一个或多个用例,它通过交换信息与用例发生交互,参与者有工作人员(clerk ),客户 ( customer )和银行( bank)。用例是描述执行者使用系统以打到某个目的涉及的一系列场景的集合。通过从各个参与的角度进行分析, 根据用户需求,将系统功能划分为登录、存款、取款和转账功能模块。三、 面向对象分析3.1分析 静态建模(用例图类对象图部署图)(1)用例图:( 2) 类图:类图描述系统中类的静态结构, 它不仅定义系统中的类, 描述类之间的联系, 还包括类的内部结构, 描述的静
6、态关系在系统的整个生命周期都是有效的。类图中的类可以在直接在某种面向对象的编程语言中被实现, 虽然一个类图仅仅显示的是系统中的类,但是存在一个变量,确定了显示各个类的真实实例的位置。类图是对象系统建模中最常用的图, 它是定义其他图的基础, 在类图的基础上, 可以使用状态图、 协作图、组件图和配置图等进一步描述系统其他方面的特性。类图是面向对象系统的核心。 类图的直观性不论在分析阶段、 设计阶段还是编码阶段都有十分重要的作用, 软件开发人员在清楚地看到系统的设计之后, 很容易提高编码的效率。类图包含 7 个元素:类、接口、协作、关联关系、泛化关系、依赖关系、实现关系。给定一个类图, 可以判断一个
7、对象是否表示了系统的一个可能状态。 对象之间的关系是由类图上对应的关联关系来定义的。两个类之间的关联关系表明了他们的对象在运行时存在的连接关系。类是对显示世界中具有相同性质和行为的一类对象的抽象, 它封装了这些类对象所共有的属性和操作。(3)部署图:在银行系统中, 系统包括四种节点, 分别是数据库服务器(Database Server)节点,负责数据的存储;系统服务器节点( BankServer ),用于处理系统的业务逻辑;内部客户端节点 (In Client) 和外部客户端节点 (Out Client) ,使用者通过客户端登录系统进行操作。3.2分析 动态建模(时序图状态图活动图协作图)(1
8、) 时序图1).银行职员登录银行系统用例的工作流程:a.银行职员想通过系统进行某一项操作。b. 银 行 职 员 启 动 系 统 , 在 登 录 页 面 LoginForm 输入自己的用户名和密码并提交。c.系统验证银行职员的用户名和密码是否正确,如正确创建系统主界面。d.如果身份验证未通过,返回错误提示信息2).客户存款用例的具体工作流程如下:a.客户向银行职员提出存款要求。b.银行职员在系统主界面请求存款操作,系统创建存款界面。c.银行职员添加存款信息后,提交至账户类。d.账户类确认数据库是否存在该账户,如存在创建一个存款交易记录,再将记录保存到数据库。 计算新账户的余额,最后更新数据库中该
9、账户的信息。3).客户取款用例的工作流程描述如下:a.客户向银行职员提出取款要求。b.银行职员在系统主界面请求取款操作,系统创建取款界面。c.银行职员添加取款信息后, 提交至账户类。d.账户类确认数据库是否存在该账户,并确认账户中的金额是否足够支付所取款项,如可足够支付则创建一个取款交易记录,再将记录保存到数据库。 计算新账户的余额,最后更新数据库中该账户的信息。4)客户进行本行转账的工作流程如下:a.客户向银行职员提出本行转账的要求。b. 银行职员在系统主界面请求转账操作,系统创建转账界面。c.银行职员添加转账款信息后,提交至账户类(转出)。d.账户类确认是否存在该账户,并确认账户中的金额是
10、否足够支付转账款项, 如可足够支付则计算新的账户余额, 更新数据库中该账户的信息,发送消息给转账类,创建转账交易记录, 保存转账交易记录。e.转账界面将转账信息传递给账户(转入),查询该账户是否存在。如存在计算账户余额,然后更新数据库的数据。 发送消息给转账类, 创建转账交易记录, 保存转账交易记录。5)客户进行跨行转账的基本工作流程如下:a.客户向银行职员提出跨行转账的要求。b. 银行职员在系统主界面请求转账操作,系统创建转账界面。c.银行职员添加转账款信息后,提交至账户类。d.账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项。e.如可足够支付则计算新的账户余额,更新数据库中
11、该账户的信息。f. 发送消息给转账类,创建转账交易记录,保存转账交易记录。g.最后,发送转账通知到另一家银行。6)客户开立新账户的基本工作流程如下:a.客户向银行职员提出开立账户要求。b.银行职员在系统主界面请求创建账户操作,系统创建账户界面。c.银行职员添加账户信息后,提交至账户类。d.账户类确认数据库是否已存在该客户的账户。如不存在,则创建新客户对象。e.然后将客户信息保存到数据库中。7)客户删除账户的基本工作流程如下:a.客户向银行职员提出删除账户要求。b.银行职员在系统主界面请求查询账户操作,系统创建查询界面。c.银行职员在查询界面提交账号,从账户类中获得指定账户的信息, 同时系统创建
12、账户界面。d.银行职员在账户界面确认删除,并将删除命令提交给账户类。e.账户类结算账户金额,关闭账户,从数据库中删除账户,并更新数据库中客户的相关信息。f. 判断是否还有和客户相关的账户存在。如果没有,最后删除数据库中客户的信息。8)客户修改账户信息的工作流程如下:a.客户向银行职员提出修改账户信息的要求。b.银行职员在系统主界面请求查询账户操作,系统创建查询界面。c.银行职员在查询界面提交账号,从账户类中获得指定账户的信息, 同时系统创建账户界面。d.银行职员修改账户信息后,提交给账户界面。e.账户界面发送消息更新数据库中客户的信息,同时更新账户信息。(2) 状态图在银行系统中,有明确状态转
13、换的类是账户。账户包含以下三种状态:被创建的新账户、 被修改后账户、睡眠账户和被删除的账户。它们之间的转化规则是:a 客户开立账户时, 新的账户被创建。b 客户要求变更原有账户信息时,账户内容被改变。c 账户长期未使用,银行将其定义为睡眠账户的状态。d 客户注销账户,账户被删除。(3) 活动图1)银行职员登录系统的活动图中, 创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:a 系统提示用户输入用户名和密码。b 银行职员输入用户名和密码后提交,系统验证是否正确。c 如正确,进入主界面,否则,显示错误信息,并提示用户重新输入。2)客户存款的活动图中,创建二个泳道,分别是银行职
14、员对象和系统对象, 具体的活动过程描述如下:a 系统提示输入用户的相关信息和存款金额。b 银行职员将相关信息输入后提交,系统判断账户是否存在且有效。c 如果账户有效并存在,建立交易记录,修改账户金额,保存交易记录。3)客户取款的活动图中创建了二个泳道,分别是银行职员对象和系统对象, 具体的活动过程描述如下:a 系统提示输入用户的相关信息和取款金额。b 银行职员将相关信息输入后提交,系统判断账户是否存在且有效, 账户中的余额是否大于取款金额。c 如果账户有效并存在同时金额足够,建立交易记录,同时修改账户金额,保存交易记录。4)客户转账活动图创建二个泳道, 分别是银行职员对象和系统对象, 具体的活
15、动过程描述如下:a 系统提示输入用户的相关信息和转账金额。b 银行职员将相关信息输入后提交,系统判断账户是否存在且有效, 账户中的金额是否大于转账金额。c 如果账户有效并存在同时金额足够,建立交易记录,同时修改账户金额,保存交易记录。d 判断转入账户是否属于同一银行。如是同一银行,系统先确认转入账户是否存在并有效。如有效更新账户相关信息,建立转账记录,保存转账记录。e 如果转入和转出账户不是同一银行,则发送转账通知给另一个银行。5)创建账户的活动图,需要创建二个泳道,分别是银行职员对象和系统对象, 具体的活动过程描述如下:a 系统提示输入用户的相关信息和存款金额。b 银行职员输入相关信息后提交
16、。c 系统为客户创建账户,并将账户信息保存到数据库。6)客户修改账户的活动图, 我们创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下:a 系统提示输入用户的账号。b 银行职员输入账号后提交。系统查询账户信息并显示。c 银行职员修改账户信息后提交,系统更改账户信息。(4) 协作图见 4.2.(4)。四、 面向对象设计4.1设计 静态建模(用例图类对象图构件图,部署图)(1) 用例图:(2) 类图:(3) 构件图:(4) 部署图:4.2设计 动态建模(时序图状态图活动图协作图)(1) 时序图登陆时序图本行转账时序图跨行转账时序图存款时序图取款时序图开立账户时序图删除账户时序图修改账户信息时序图(2) 状态图银行账户状态图(3) 活动图登陆活动图创建账户活动图存款活动图取款活动图转账活动图修改账户活动图(4) 协作图登陆交互图本行转账交互图跨行转账交互图存款交互图取款交互图开立账户交互
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论