《《银行系统的分析与设计》(21页PPT).pptx》由会员分享,可在线阅读,更多相关《《银行系统的分析与设计》(21页PPT).pptx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、银行系统的分析与设计-UML应用案例 一、系统需求一、系统需求v银行是与生活紧密相关的一个机构,提供存款、取款、转帐、信用卡、代理等多种业务。v在银行设立帐户的人或机构通常被称为银行的客户。v为了简化,本次系统分析只考虑存款、取款、转帐等基本功能。根据上面对银行系统的基本需求分析,可知这个简化的银行系统至少应该具有如下功能:v1、一个银行可以有多个帐户;v2、一个银行可以有多个客户;v3、一个客户可以持有多个帐户;v4、一个账户可以有多个持有者;v5、可以开户;6、可以注销账户;v7、可以取钱;8、可以存钱;v9、在银行内帐户转帐;v10、不同银行的账户之间转帐二、分析问题领域二、分析问题领域
2、(一)、识别参与者(角色)(一)、识别参与者(角色)v参与者代表与系统交互的人、硬件设备或另一系统。它存在于系统的外部。v通过分析银行系统的功能需求,可以识别出3个参与者:v(1)Clerk(银行职员):银行的工作人员v(2)CustomerActor(客户):任何在银行中开户的个人或组织v(3)BankActor(银行):提供存、取等业务的银行。客户可在银行中开户或销户(关闭帐户)。(二)、识别用例(二)、识别用例用例:规定系统或部分系统的行为,描述系统所执行的动作序列集,并为执行者产生一个可供观察的结果。通过对需求的进一步分析,可确定系统中有如下用例存在:(1)Login(登录):验证用户
3、身份。(2)Deposit fund(存款):存钱到帐户。(二)、识别用例(二)、识别用例v(3)Withdraw fund(取款):从帐户中取钱。v(4)Maintain Account(管理帐户):创建帐户(开户)、删除帐户(销户)及修改帐户信息。v(5)Transfer fund(转帐)v(6)Transfer fund within a bank(在银行内转帐)v(7)Transfer fund between banksv其中用例(5)是(6)和(7)的父用例。三、静态结构模型三、静态结构模型v进一步分析系统需求,识别出类及类之间的关系,确定它们的静态结构和动态行为,是面向对象分析的
4、基本任务。v系统的静态结构模型主要用类图或对象图描述。v静态建模分三步:(1)定义类、(2)确定类的名字、属性和操作(3)确定类与类之间的关系,建立类图。(一)、定义系统对象类(一)、定义系统对象类v定义过系统需求,就可以根据系统需求来识别系统中所存在的对象。v系统对象的识别可以通过寻找系统域描述和需求描述中的名词来进行,从系统需求描述中可以找到的名词有银行(Bank)、帐户(Account)、客户(Customer)、资金(Funds),这些是对象图中的候选对象。v判断是否应该为这些候选对象创建类的方法是:是否有与该对象相关的身份和行为。如果有,则它是一个存在于模型中的对象,应该为之创建类。
5、资金没有对象,也没有与资金相关的行为。(一)、定义系统对象类(一)、定义系统对象类v从上述分析可知,系统至少具有3个重要的类:Bank、Account、Customer。v在银行中,对帐户进行存钱、取钱、转帐操作,要保留业务记录。因此在系统中还应有代表这些业务记录的对象存在:存(Deposit)、取(Withdraw)、转帐(Transfer),这三个类都是一种业务记录,故可抽象出父类:Transaction。v接着需确定这些对象的属性和行为。(1)类)类Bank的属性和行为的属性和行为vbankCode:String name:Stringvaddress:String Phone:Stri
6、ng Fax:StringvsetBankCode(code:String)vsetName(name:String)vsetAddress(address:String)vsetPhone(phone:String)vsetFax(fax:String)(设置私有属性)(1)类)类Bank的属性和行为的属性和行为vgetBankCode(code:String)vgetName(name:String)vgetAddress(address:String)vgetPhone(phone:String)vgetFax(fax:String)(访问私有属性)(2)类)类Account的属性和行的
7、属性和行为为bank:Bank holder:CustomeraccountNo:String createDate:Datebalance:float (私有属性)getHolders():Customer newAccount(holder:Customer,balance:float):voidremAccount(accountNo:String):void(销户)Withdraw(holderName:String,holderID:String,accountNo:String,money:float):float(返回取户余额)Deposit(holderName:String,
8、holderID:String,accountNo:String,money:float):float(返回存款户余额)(2)类)类Account的属性和行为的属性和行为vtransferOut(accountNo:String,bankCode:String,money:float):floatvtransferIn(accountNo:String,bankCode:String,money:float):floatvnewBalance():float(计算新的帐户余额)vupdate():void(更新数据库中的帐户信息)vsave():void(将帐户信息存储到数据库中)vdelet
9、e():void(从数据库中删除帐户)(2)类)类Account的属性和行为的属性和行为vcloseAccount(accountNo:String):voidvgetAccount(accountNo:String):Account(返回指定贴的帐户信息)vquery(holderName:String,holderID:String,accountNo:String,money:float,isSaving:Boolean):Boolean(查询存取帐户是否存在,若是取款,还要查询帐户余额是否足够)(3)类)类Customer的属性和行为的属性和行为vName:String customI
10、D:Stringvaddress:String account:account vgetAccounts():Account vQuery(name:String,id:String):BooleanvnewCustomer(name:String,id:String,address:String,account:Account):void(创建客户对象)vsave():void(将客户信息存储到数据库中)vupdate():void(更新DB中客户信息)vhasAccount():Boolean(判断客户是否还持有帐户)vdelete():void(删除DB中的客户信息)(4 4)类)类Tr
11、ansactionTransaction的属性和行为的属性和行为v私有属性:account:AccountvcreateDate:Date fund:float(交易金额)vnewTransaction(account:Account,fund:float,date:Date):voidvsave():void(将交易记录存储到数据库中)(5)类)类Deposit的属性和行为的属性和行为v继承类Transaction,无私有属性vnewDeposit(account:Account,fund:float,date:Date):void(创建存款交易记录)vsave():void(将存款交易记录
12、存储到DB中)(6)类)类Withdraw的属性和行为的属性和行为v继承类Transaction(同样有account,createDate及交易金额fund属性)。v无私有属性。vnewWithdraw(account:Account,fund:float,date:Date):void(创建新的取款交易记录)vsave():void(将取款交易记录存储到DB中)(7)类)类Transfer的属性和行为的属性和行为v继承类TransactionvtransferAccountNo:StringvtransferBank:BankvnewTransfer(account:Account,tra
13、nsferAccountNo:String,transferBank:Bank,fund:float,date:Date):void(创建新的转帐交易记录,可是收帐户或付帐户)vsave():void(将转帐交易记录存储到DB中)(三)、建立类图(三)、建立类图v识别出系统中的类后,还要识别出类间的关系(关联、聚合、组合、类属、依赖、实现关系,前面已讲过),然后就可以建立类图了。v在处理复杂问题时,通常使用分类的方法来有效地降低问题的复杂性。在面向对象建模技术中,也可以采用同样的方法将客观世界的实体映射为对象,并归纳成类。类、对象及它们之间的关系是面向对象技术中最基本的元素。类图是面向对象系统
14、最常用的图,类图描述了类集、接口集、协作及它们之间的关系。1、每一个成功者都有一个开始。勇于开始,才能找到成功的路。11月-2211月-22Tuesday,November 8,20222、成功源于不懈的努力,人生最大的敌人是自己怯懦。07:47:3607:47:3607:4711/8/2022 7:47:36 AM3、每天只看目标,别老想障碍。11月-2207:47:3607:47Nov-2208-Nov-224、宁愿辛苦一阵子,不要辛苦一辈子。07:47:3607:47:3607:47Tuesday,November 8,20225、积极向上的心态,是成功者的最基本要素。11月-2211月
15、-2207:47:3607:47:36November 8,20226、生活总会给你另一个机会,这个机会叫明天。08十一月20227:47:36上午07:47:3611月-227、人生就像骑单车,想保持平衡就得往前走。十一月227:47上午11月-2207:47November 8,20228、业余生活要有意义,不要越轨。2022/11/87:47:3607:47:3608 November 20229、我们必须在失败中寻找胜利,在绝望中寻求希望。7:47:36上午7:47上午07:47:3611月-2210、一个人的梦想也许不值钱,但一个人的努力很值钱。11/8/2022 7:47:36 AM07:47:3608-11月-2211、在真实的生命里,每桩伟业都由信心开始,并由信心跨出第一步。11/8/2022 7:47 AM11/8/2022 7:47 AM11月-2211月-22谢谢大家谢谢大家