《UML案例银行系统》由会员分享,可在线阅读,更多相关《UML案例银行系统(23页珍藏版)》请在金锄头文库上搜索。
1、UMLUML案例银行系统案例银行系统UMLUML统一建模语言统一建模语言一、需求分析一、需求分析一、需求分析一、需求分析 银行与我们的生活息息相关。它为每一个人提供了一系列的金融服务。实际生活中的银行业务功能及其复杂,这里所介绍的银行系统只涉及银行中最基本的功能。 本银行系统的功能性需求包括以下内容: (1)客户可以在银行开立一个或多个账户。 (2)客户能够将钱款存入已经开立的账号中。 (3)客户可从自己的账户中进行提款。 (4)客户能够将账户中的存款转账至另一个账户。 (5)客户可以随时查询自己账户的情况包括以前进行的存款、取款等的交易记录。 (6)客户也有权利要求取消账户。UMLUML统一
2、建模语言统一建模语言二、二、二、二、创建系统用例模型创建系统用例模型创建系统用例模型创建系统用例模型 银行职员用例能够通过该系统进行如下活动: (1)登录银行系统。银行职员在登录系统时,必须通过系统的身份验证才能进入银行系统主界面进行下一步的操作。 (2)对客户的账户进行管理,包括为客户创建新的账户、修改账户信息和删除账户。UMLUML统一建模语言统一建模语言二二二二、创建系统用例模型创建系统用例模型创建系统用例模型创建系统用例模型 客户与银行职员之间是依赖的关系,客户必须依赖于职员才能完成各种用例。银行职员作为客户的代理完成与用例的交互。客户用例能完成的具体功能如下。 (1)存款。用户通过银
3、行职员将钱款存入的自己的账户中。 (2)取款。用户通过银行职员从自己的账户中将钱款取出。 (3)转账。用户通过银行职员将一个账户中的钱款转至其他的账户。由于转账既可以在同一银行之间进行,也可以在不同的银行之间进行,因此这里用了二个用例,使用本行转账和跨行转账来描述。本行转账和跨行转账是转账的子用例,它们之间是继承的关系。(UMLUML统一建模语言统一建模语言三、创建系统静态模型三、创建系统静态模型三、创建系统静态模型三、创建系统静态模型 根据系统需求,创建静态系统类图。我们可以识别系统中存在的主要实体类:银行(Bank)、账户(Account)和客户(Customer)。 辅助类:存款(Dep
4、osit)、取款(Withdraw)和Transfer(转账),这三个类又可以抽象出父类Transaction。 用户界面类:主界面类(MainForm),登录界面(LoginFrame),查询界面(QueryFormo),取款界面(WithdrawForm),账户界面(AccountForm)和转账界面(TransferForm)。UMLUML统一建模语言统一建模语言三、三、三、三、创建系统动态模型创建系统动态模型创建系统动态模型创建系统动态模型 1 1 1 1、银行职员登录银行系统的序列图、银行职员登录银行系统的序列图、银行职员登录银行系统的序列图、银行职员登录银行系统的序列图和交互图和交
5、互图和交互图和交互图 银行职员登录银行系统用例的工作流程: (1)银行职员想通过系统进行某一项操作。 (2)银行职员启动系统,在登录页面LoginFrame输入自己的用户名和密码并提交。 (3)系统验证银行职员的用户名和密码是否正确,如正确创建系统主界面。 (5)如果身份验证未通过,返回错误提示信息。UMLUML统一建模语言统一建模语言三、三、三、三、创建系统动态模型创建系统动态模型创建系统动态模型创建系统动态模型 2 2、客户存款的序列图和交互图、客户存款的序列图和交互图、客户存款的序列图和交互图、客户存款的序列图和交互图 客户存款用例的具体工作流程如下: (1)客户向银行职员提出存款要求。
6、 (2)银行职员在系统主界面请求存款操作,系统创建存款界面。 (3)银行职员添加存款信息后,提交至账户类。 (4)账户类确认数据库是否存在该账户,如存在创建一个存款交易记录,再将记录保存到数据库。计算新账户的余额,最后更新数据库中该账户的信息。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 客户取款用例的工作流程描述如下: (1)客户向银行职员提出取款要求。 (2)银行职员在系统主界面请求取款操作,系统创建取款界面。 (3)银行职员添加取款信息后,提交至账户类。 (4)账户类确认数据库是否存在该账户,并确认账户中的金额是否足
7、够支付所取款项,如可足够支付则创建一个取款交易记录,再将记录保存到数据库。计算新账户的余额,最后更新数据库中该账户的信息。3 3 3 3、客户取款、客户取款、客户取款、客户取款序列图和交互图序列图和交互图序列图和交互图序列图和交互图UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 客户进行本行转账的工作流程如下: (1)客户向银行职员提出本行转账的要求。 (2)银行职员在系统主界面请求转账操作,系统创建转账界面。 (3)银行职员添加转账款信息后,提交至账户类(转出)。 (4)账户类确认是否存在该账户,并确认账户中的金额是否足够
8、支付转账款项,如可足够支付则计算新的账户余额,更新数据库中该账户的信息,发送消息给转账类,创建转账交易记录,保存转账交易记录。 (5)转账界面将转账信息传递给账户(转入),查询该账户是否存在。如存在计算账户余额,然后更新数据库的数据。发送消息给转账类,创建转账交易记录,保存转账交易记录。4 4 4 4、客户本行转账序列图和交互图客户本行转账序列图和交互图客户本行转账序列图和交互图客户本行转账序列图和交互图UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 客户进行跨行转账的基本工作流程如下: (1)客户向银行职员提出跨行转账的要
9、求。 (2)银行职员在系统主界面请求转账操作,系统创建转账界面。 (3)银行职员添加转账款信息后,提交至账户类。 (4)账户类确认是否存在该账户,并确认账户中的金额是否足够支付转账款项。 (5)如可足够支付则计算新的账户余额,更新数据库中该账户的信息。 (6)发送消息给转账类,创建转账交易记录,保存转账交易记录。 (7)最后,发送转账通知到另一家银行。5 5 5 5、客户跨行转账的序列图和交互图、客户跨行转账的序列图和交互图、客户跨行转账的序列图和交互图、客户跨行转账的序列图和交互图UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态
10、模型 客户开立新账户的基本工作流程如下: (1)客户向银行职员提出开立账户要求。 (2)银行职员在系统主界面请求创建账户操作,系统创建账户界面。 (3)银行职员添加账户信息后,提交至账户类。 (4)账户类确认数据库是否已存在该客户的账户。如不存在,则创建新客户对象。 (5)然后将客户信息保存到数据库中。6 6 6 6、客户开立账户序列图和协作图、客户开立账户序列图和协作图、客户开立账户序列图和协作图、客户开立账户序列图和协作图 UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 客户删除账户的基本工作流程如下: (1)客户向银行
11、职员提出删除账户要求。 (2)银行职员在系统主界面请求查询账户操作,系统创建查询界面。 (3)银行职员在查询界面提交账号,从账户类中获得指定账户的信息,同时系统创建账户界面。 (4)银行职员在账户界面确认删除,并将删除命令提交给账户类。 (5)账户类结算账户金额,关闭账户,从数据库中删除账户,并更新数据库中客户的相关信息。 (6)判断是否还有和客户相关的账户存在。如果没有,最后删除数据库中客户的信息。7 7 7 7、客户删除账户的序列图和协作图、客户删除账户的序列图和协作图、客户删除账户的序列图和协作图、客户删除账户的序列图和协作图 UMLUML统一建模语言统一建模语言三、创建系统动态模型三、
12、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 客户修改账户信息的工作流程如下: (1)客户向银行职员提出修改账户信息的要求。 (2)银行职员在系统主界面请求查询账户操作,系统创建查询界面。 (3)银行职员在查询界面提交账号,从账户类中获得指定账户的信息,同时系统创建账户界面。 (4)银行职员修改账户信息后,提交给账户界面。 (5)账户界面发送消息更新数据库中客户的信息,同时更新账户信息。8 8 8 8、客户修改账户信息序列图和协作图、客户修改账户信息序列图和协作图、客户修改账户信息序列图和协作图、客户修改账户信息序列图和协作图 UMLUML统一建模语言统一建模语言三、创建系统动态模
13、型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 在银行系统中,有明确状态转换的类是账户。账户包含以下三种状态:被创建的新账户、被修改后账户、睡眠账户和被删除的账户。它们之间的转化规则是: (1)客户开立账户时,新的账户被创建。 (2)客户要求变更原有账户信息时,账户内容被改变。 (3)账户长期未使用,银行将其定义为睡眠账户的状态。 (4) 客户注销账户,账户被删除。9 9、银行账户状态图、银行账户状态图、银行账户状态图、银行账户状态图 UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1010、银行职员登录系统活
14、动图、银行职员登录系统活动图、银行职员登录系统活动图、银行职员登录系统活动图 银行职员登录系统的活动图中,创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下: (1)系统提示用户输入用户名和密码。 (2)银行职员输入用户名和密码后提交,系统验证是否正确。 (3)如正确,进入主界面,否则,显示错误信息,并提示用户重新输入。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1111、客户存款活动图、客户存款活动图、客户存款活动图、客户存款活动图 客户存款的活动图中,创建二个泳道,分别是银行职员对象和系统对象,具体的
15、活动过程描述如下: (1)系统提示输入用户的相关信息和存款金额。 (2)银行职员将相关信息输入后提交,系统判断账户是否存在且有效。 (3)如果账户有效并存在,建立交易记录,同时修改账户金额,保存交易记录。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1212、客户取款活动图、客户取款活动图、客户取款活动图、客户取款活动图 活动图中创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下: (1)系统提示输入用户的相关信息和取款金额。 (2)银行职员将相关信息输入后提交,系统判断账户是否存在且有效,账户中的余额是否
16、大于取款金额。 (3)如果账户有效并存在同时金额足够,建立交易记录,同时修改账户金额,保存交易记录。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1313、客户转账活动图、客户转账活动图、客户转账活动图、客户转账活动图 客户转账活动图创建二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下: (1)系统提示输入用户的相关信息和转账金额。 (2)银行职员将相关信息输入后提交,系统判断账户是否存在且有效,账户中的金额是否大于转账金额。 (3)如果账户有效并存在同时金额足够,建立交易记录,同时修改账户金额,保存交易记录。
17、 (4)判断转入账户是否属于同一银行。如是同一银行,系统先确认转入账户是否存在并有效。如有效更新账户相关信息,建立转账记录,保存转账记录。(5)如果转入和转出账户不是同一银行,则发送转账通知给另一个银行。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1414、创建账户活动图、创建账户活动图、创建账户活动图、创建账户活动图 创建账户的活动图,需要创建二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下: (1)系统提示输入用户的相关信息和存款金额。 (2)银行职员输入相关信息后提交。 (3)系统为客户创建账户,并将账
18、户信息保存到数据库。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1515、客户修改账户活动图、客户修改账户活动图、客户修改账户活动图、客户修改账户活动图 客户修改账户的活动图,我们创建了二个泳道,分别是银行职员对象和系统对象,具体的活动过程描述如下: (1)系统提示输入用户的账号。 (2)银行职员输入账号后提交。系统查询账户信息并显示。 (3)银行职员修改账户信息后提交,系统更改账户信息。UMLUML统一建模语言统一建模语言四、创建系统部署模型四、创建系统部署模型四、创建系统部署模型四、创建系统部署模型1 1、系统构件图、
19、系统构件图、系统构件图、系统构件图 在银行系统中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。 我们根据类图创建系统构件图,包括银行构件(Bank)、客户构件(Customer)、银行职员构件(Clerk)、界面构件(Form)、账户构件(Account)、账户管理构件(Transaction)和主程序构件。UMLUML统一建模语言统一建模语言四、创建系统部署模型四、创建系统部署模型四、创建系统部署模型四、创建系统部署模型2 2、系统部署图、系统部署图、系统部署图、系统部署图 在银行系统中,系统包括四种节点,分别是:数据库服务器(Database Server)节点,负责数据的存储;系统服务器(Bank Server)节点,用于处理系统的业务逻辑;内部客户端节点(In Client)和外部客户端节点(Out Client),使用者通过客户端登录系统进行操作。