《银行系统的分析与设计》_第1页
《银行系统的分析与设计》_第2页
《银行系统的分析与设计》_第3页
《银行系统的分析与设计》_第4页
《银行系统的分析与设计》_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、银行系统的分析与设计-UML应用案例 一、系统需求银行是与生活紧密相关的一个机构,提供存款、取款、转帐、信用卡、代理等多种业务。在银行设立帐户的人或机构通常被称为银行的客户。为了简化,本次系统分析只考虑存款、取款、转帐等基本功能。根据上面对银行系统的基本需求分析,可知这个简化的银行系统至少应该具有如下功能:1、一个银行可以有多个帐户;2、一个银行可以有多个客户;3、一个客户可以持有多个帐户;4、一个账户可以有多个持有者;5、可以开户;6、可以注销账户;7、可以取钱;8、可以存钱;9、在银行内帐户转帐;10、不同银行的账户之间转帐二、分析问题领域(一)、识别参与者(角色)参与者代表与系统交互的人

2、、硬件设备或另一系统。它存在于系统的外部。通过分析银行系统的功能需求,可以识别出3个参与者:(1)Clerk(银行职员):银行的工作人员(2)CustomerActor(客户):任何在银行中开户的个人或组织(3)BankActor(银行):提供存、取等业务的银行。客户可在银行中开户或销户(关闭帐户)。 (二)、识别用例用例:规定系统或部分系统的行为,描述系统所执行的动作序列集,并为执行者产生一个可供观察的结果。通过对需求的进一步分析,可确定系统中有如下用例存在:(1)Login(登录):验证用户身份。(2)Deposit fund(存款):存钱到帐户。(二)、识别用例(3)Withdraw f

3、und(取款):从帐户中取钱。(4)Maintain Account(管理帐户):创建帐户(开户)、删除帐户(销户)及修改帐户信息。(5)Transfer fund(转帐)(6)Transfer fund within a bank(在银行内转帐)(7)Transfer fund between banks其中用例(5)是(6)和(7)的父用例。三、静态结构模型进一步分析系统需求,识别出类及类之间的关系,确定它们的静态结构和动态行为,是面向对象分析的基本任务。系统的静态结构模型主要用类图或对象图描述。静态建模分三步:(1)定义类、(2)确定类的名字、属性和操作(3)确定类与类之间的关系,建立类

4、图。(一)、定义系统对象类定义过系统需求,就可以根据系统需求来识别系统中所存在的对象。系统对象的识别可以通过寻找系统域描述和需求描述中的名词来进行,从系统需求描述中可以找到的名词有银行(Bank)、帐户(Account)、客户(Customer)、资金(Funds),这些是对象图中的候选对象。判断是否应该为这些候选对象创建类的方法是:是否有与该对象相关的身份和行为。如果有,则它是一个存在于模型中的对象,应该为之创建类。资金没有对象,也没有与资金相关的行为。(一)、定义系统对象类从上述分析可知,系统至少具有3个重要的类:Bank、Account、Customer。在银行中,对帐户进行存钱、取钱、

5、转帐操作,要保留业务记录。因此在系统中还应有代表这些业务记录的对象存在:存(Deposit)、取(Withdraw)、转帐(Transfer),这三个类都是一种业务记录,故可抽象出父类:Transaction。接着需确定这些对象的属性和行为。(1)类Bank的属性和行为bankCode: String name: Stringaddress: String Phone:String Fax:StringsetBankCode(code: String)setName(name: String)setAddress(address: String)setPhone(phone: String)s

6、etFax(fax: String)(设置私有属性)(1)类Bank的属性和行为getBankCode(code: String)getName(name: String)getAddress(address: String)getPhone(phone: String)getFax(fax: String)(访问私有属性)(2)类Account的属性和行为bank: Bank holder: CustomeraccountNo: String createDate: Datebalance: float (私有属性)getHolders(): Customer newAccount(hold

7、er:Customer,balance:float):voidremAccount(accountNo:String):void(销户)Withdraw(holderName:String,holderID:String,accountNo:String,money:float):float(返回取户余额)Deposit(holderName:String,holderID:String,accountNo:String,money:float):float(返回存款户余额)(2)类Account的属性和行为transferOut(accountNo: String, bankCode: St

8、ring, money: float): floattransferIn(accountNo:String, bankCode: String, money: float): floatnewBalance(): float(计算新的帐户余额)update(): void(更新数据库中的帐户信息)save(): void(将帐户信息存储到数据库中)delete(): void(从数据库中删除帐户)(2)类Account的属性和行为closeAccount(accountNo: String): voidgetAccount(accountNo:String): Account(返回指定贴的帐户

9、信息)query(holderName:String,holderID:String, accountNo:String, money:float, isSaving: Boolean):Boolean(查询存取帐户是否存在,若是取款,还要查询帐户余额是否足够)(3)类Customer的属性和行为Name: String customID: Stringaddress: String account: account getAccounts(): Account Query(name: String, id: String): BooleannewCustomer(name: String,

10、id: String, address: String, account: Account ):void(创建客户对象)save(): void(将客户信息存储到数据库中)update(): void(更新DB中客户信息)hasAccount():Boolean(判断客户是否还持有帐户)delete(): void(删除DB中的客户信息)(4)类Transaction的属性和行为私有属性:account: AccountcreateDate: Date fund: float(交易金额)newTransaction(account: Account, fund: float, date: Da

11、te): voidsave():void(将交易记录存储到数据库中)(5)类Deposit的属性和行为继承类Transaction,无私有属性newDeposit(account: Account, fund: float, date: Date):void(创建存款交易记录)save(): void(将存款交易记录存储到DB中)(6)类Withdraw的属性和行为继承类Transaction(同样有account,createDate及交易金额fund属性)。无私有属性。newWithdraw(account: Account, fund: float, date: Date): void(创建新的取款交易记录)save(): void(将取款交易记录存储到DB中)(7)类Transfer的属性和行为继承类TransactiontransferAccountNo: StringtransferBank:BanknewTransfer(account: Account, transferAccountNo: String, transferBank: Bank, fund: float, date: Date): void(创建新的转帐交易记录,可是收帐户或付帐户)save(): void(将转帐交易记录存储到DB中)(三)、建立类图识别出系统中的类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论