银行系统分析与设计.pptx
《银行系统分析与设计.pptx》由会员分享,可在线阅读,更多相关《银行系统分析与设计.pptx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、系统需求一、系统需求银行是与生活紧密相关的一个机构,提供存款、取款、转帐、信用卡、代理等多种业务。在银行设立帐户的人或机构通常被称为银行的客户。为了简化,本次系统分析只考虑存款、取款、转帐等基本功能。第1页/共60页根据上面对银行系统的基本需求分根据上面对银行系统的基本需求分析,可知这个简化的银行系统至少析,可知这个简化的银行系统至少应该具有如下功能:应该具有如下功能:1、一个银行可以有多个帐户;2、一个银行可以有多个客户;3、一个客户可以持有多个帐户;4、一个账户可以有多个持有者;5、可以开户;6、可以注销账户;7、可以取钱;8、可以存钱;9、在银行内帐户转帐;10、不同银行的账户之间转
2、帐第2页/共60页二、分析问题领域二、分析问题领域(一)、识别参与者(角色)(一)、识别参与者(角色)参与者代表与系统交互的人、硬件设备或另一系统。它存在于系统的外部。通过分析银行系统的功能需求,可以识别出3个参与者:(1)Clerk(银行职员):银行的工作人员(2)CustomerActor(客户):任何在银行中开户的个人或组织(3)BankActor(银行):提供存、取等业务的银行。客户可在银行中开户或销户(关闭帐户)。第3页/共60页(二)、识别用例(二)、识别用例用例:规定系统或部分系统的行为,描述系统所执行的动作序列集,并为执行者产生一个可供观察的结果。通过对需求的进一步分析,可确定
3、系统中有如下用例存在:(1)Login(登录):验证用户身份。(2)Deposit fund(存款):存钱到帐户。第4页/共60页(二)、识别用例(二)、识别用例(3)Withdraw fund(取款):从帐户中取钱。(4)Maintain Account(管理帐户):创建帐户(开户)、删除帐户(销户)及修改帐户信息。(5)Transfer fund(转帐)(6)Transfer fund within a bank(在银行内转帐)(7)Transfer fund between banks其中用例(5)是(6)和(7)的父用例。第5页/共60页系统用例图系统用例图依赖依赖类属类属第6页/共6
4、0页(三)、用例的事件流描述三)、用例的事件流描述用例的事件流是对完成用例行为所需的事件的描述。事件流描述了系统应该作什么,而不是描述系统应该怎样做。下面对前面识别出的用例逐个进行描述。第7页/共60页1、“登录登录”活动图活动图第8页/共60页2、“存款存款”的活动图的活动图第9页/共60页3、“取款取款”的活动图的活动图第10页/共60页4、“转帐转帐”的活动图的活动图第11页/共60页5、开户(创建帐户)的活动图、开户(创建帐户)的活动图输入客输入客户基本户基本信息信息第12页/共60页6、“删除帐户删除帐户”的活动图的活动图前提是待删除帐户的余额为零,对于需结息的单位帐户,还要让该帐户
5、的余额积数为零时才可以删除,否则影响轧帐平衡,系统将不能正常工作。实际应用中要根据是何种帐户来作不同的处理。(P188图有误)第13页/共60页7、“修改帐户修改帐户”的活动图的活动图第14页/共60页三、静态结构模型三、静态结构模型进一步分析系统需求,识别出类及类之间的关系,确定它们的静态结构和动态行为,是面向对象分析的基本任务。系统的静态结构模型主要用类图或对象图描述。静态建模分三步:(1)定义类、(2)确定类的名字、属性和操作(3)确定类与类之间的关系,建立类图。第15页/共60页(一)、定义系统对象类(一)、定义系统对象类定义过系统需求,就可以根据系统需求来识别系统中所存在的对象。系统
6、对象的识别可以通过寻找系统域描述和需求描述中的名词来进行,从系统需求描述中可以找到的名词有银行(Bank)、帐户(Account)、客户(Customer)、资金(Funds),这些是对象图中的候选对象。判断是否应该为这些候选对象创建类的方法是:是否有与该对象相关的身份和行为。如果有,则它是一个存在于模型中的对象,应该为之创建类。资金没有对象,也没有与资金相关的行为。第16页/共60页(一)、定义系统对象类(一)、定义系统对象类从上述分析可知,系统至少具有3个重要的类:Bank、Account、Customer。在银行中,对帐户进行存钱、取钱、转帐操作,要保留业务记录。因此在系统中还应有代表这
7、些业务记录的对象存在:存(Deposit)、取(Withdraw)、转帐(Transfer),这三个类都是一种业务记录,故可抽象出父类:Transaction。接着需确定这些对象的属性和行为。第17页/共60页(1)类)类Bank的属性和行为的属性和行为bankCode:String name:Stringaddress:String Phone:String Fax:StringsetBankCode(code:String)setName(name:String)setAddress(address:String)setPhone(phone:String)setFax(fax:Strin
8、g)(设置私有属性)第18页/共60页(1)类)类Bank的属性和行为的属性和行为getBankCode(code:String)getName(name:String)getAddress(address:String)getPhone(phone:String)getFax(fax:String)(访问私有属性)第19页/共60页(2)类)类Account的属性和行为的属性和行为bank:Bank holder:CustomeraccountNo:String createDate:Datebalance:float (私有属性)getHolders():Customer newAccou
9、nt(holder: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(返回存款户余额)第20页/共60页(2)类)类Account的属性和行为的属性和行为transferOut(account
10、No:String,bankCode:String,money:float):floattransferIn(accountNo:String,bankCode:String,money:float):floatnewBalance():float(计算新的帐户余额)update():void(更新数据库中的帐户信息)save():void(将帐户信息存储到数据库中)delete():void(从数据库中删除帐户)第21页/共60页(2)类)类Account的属性和行为的属性和行为closeAccount(accountNo:String):voidgetAccount(accountNo:S
11、tring):Account(返回指定贴的帐户信息)query(holderName:String,holderID:String,accountNo:String,money:float,isSaving:Boolean):Boolean(查询存取帐户是否存在,若是取款,还要查询帐户余额是否足够)第22页/共60页(3)类)类Customer的属性和行的属性和行为为Name:String customID:Stringaddress:String account:account getAccounts():Account Query(name:String,id:String):Boolea
12、nnewCustomer(name:String,id:String,address:String,account:Account):void(创建客户对象)save():void(将客户信息存储到数据库中)update():void(更新DB中客户信息)hasAccount():Boolean(判断客户是否还持有帐户)delete():void(删除DB中的客户信息)第23页/共60页(4 4)类)类TransactionTransaction的属性和行为的属性和行为私有属性:account:AccountcreateDate:Date fund:float(交易金额)newTransact
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 系统分析 设计
限制150内