第9章 综合实例 - 银行核心业务系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.2.2 创建系统静态模型
(5)Deposit类
Deposit +newDeposit(account: Account, fund: float, dateTime: DateTime): void +save()
9.2.2 创建系统静态模型
(6)withdraw类
Withdraw +newWithdrawt(account: Account, fund: float, dateTimห้องสมุดไป่ตู้: DateTime): void +save()
(4)Deposit类、Withdraw类、Transfer类继承Transaction类 (5)AccountForm类、QueryForm类、TransferForm类、DWForm
类是MainForm类的一部分。
(6)AccountForm类、QueryForm类、TransferForm类、DWForm 类要依赖Account类。
第9章 银行核心业务系统
9.1 需求分析
银行可提供存款、取款、转账等业务。实际生活中银 行的功能及其复杂,为了简化系统,本例只考虑银行的基 本功能。
9.1 需求分析
银行系统至少具有如下功能: • 一个客户可以持有一个或多个账户。 • 开户 • 注销账户 • 存钱 • 取钱 • 本行转账 • 跨行转账 • 查询账户情况,包括存款、取款等交易记录
9.2.4 创建系统的部署模型
系统构件图
9.2.4 创建系统的部署模型
2.创建部署图 部署图描绘的是对系统节点上运行资源的安排。在银行系统中,系 统包括四种结点,分别是: 数据库服务器结点 负责数据的存储
系统服务器结点
用于处理系统的业务逻辑 内部客户端结点、外部客户端结点 银行职员通过客户端登录系统,为客户提供存款、取款、转账服务, 并维护账户信息。
9.2.3 创建系统动态模型
(1)登录用例序列图
(2)存款用例序列图
(3)取款用例序列图
(4)本行转账用例序列图
(4)本行转账用例序列图
(5)开户用例序列图
(6)销户用例序列图
(6)销户用例序列图
(7)修改账户用例序列图
9.2.3 创建系统动态模型
2.创建活动图 在银行系统中,有如下的交互行为:
9.2.4 创建系统的部署模型
系统部署图
AccountForm +newAccountForm(): void +newAccoungForm(acount: Account): void +newAccount(): void +delAccount(): void +modAccount(): void
9.2.2 创建系统静态模型
(13)AccountForm类
9.2.2 创建系统静态模型
1.确定类 必须保存的基本信息 银行(Bank)、账户(Account)和客户(Customer) 保留业务记录 存款(deposit)、取款(withdraw)和转账(Transfer) 交易(Transaction)---从存款、取款、转账中抽象出来 图形化界面 主界面(MainForm)、登录界面(LoginForm) 查询界面(QueryForm)、存取款界面(DWForm) 账户界面(AccountForm)、转账界面(TransferForm)
9.2 系统建模
步骤: 通过使用用例驱动创建系统的用例模型,获取系统的需 求。 使用系统的静态模型创建系统的内容。 通过动态模型对系统的内容进行补充和说明。 通过部署模型完成系统的部署工作。
9.2.1 创建系统用例模型
创建系统用例模型的第一步是确定系统的参与者。 通过分析银行系统的功能需求,可以识别一下三种参 与者: 银行职员(Clerk) 可以创建、删除、修改账户 客户(Customer) 可以存钱、取钱、转账 银行
9.2.2 创建系统静态模型
2.确定属性和操作 (1)Bank类
Bank -code: String -name: String -address: String -phone: String -fax: String +setBankCode(code: String): void +setName(name: String): void +setAddress(address: String): void +setPhone(phone: String): void +setFax(fax: String): void +getBankCode(): String +getName(): String +getAddress(): String +getFax(): String
9.2.2 创建系统静态模型
(8)MainForm类
MainForm +newMainForm(): void +deposit(): void +withDraw(): void +transfer(): void +newAccount(): void +delAccount(): void +modAccount(): void
9.2.2 创建系统静态模型
(9)LoginForm类
LoginForm +newLoginForm(): void +inputInfo(): void +validate(name: String, password: String): boolean
9.2.2 创建系统静态模型
(10)QueryForm类
QueryFrom +newQueryForm(): void +query(): void()
9.2.2 创建系统静态模型
(11)DWForm类
DWFrom +newDWForm(): void +deposit(): void +withDraw(): void
9.2.2 创建系统静态模型
(12)AccountForm类
系统类图
系统类图
9.2.3 创建系统动态模型
系统的动态模型分为交互模型和行为模型。 用序列图、协作图来描述交互模型 用状态图、活动图来描述行为模型
9.2.3 创建系统动态模型
1.创建序列图 在银行系统中,有如下的交互行为: 登录、存款、取款、转账(本行转账、跨行转账) 开户、销户、修改账户
9.2.1 创建系统用例模型
1.银行职员用例图 银行职员通过该系统进行如下活动: 登录 管理账户 包括创建、删除、修改账户信息。
9.2.1 创建系统用例模型
9.2.1 创建系统用例模型
2.客户用例图 银行职员作为客户的代理与用例进行交互,即客户依 赖银行职员完成存钱、取钱、转账等操作。
9.2.2 创建系统静态模型
(3)Customer类
Customer -cuntomerID: String -name: String -address: String +newCustomer(name: String, customeId: String, address: String): Customer +save() +update() +delete() +hasAccount(): Boolean
9.2.2 创建系统静态模型
(2)Account类
Account -bankCode: String -customerId: String -accountNo: String -createDate: DateTime -balance: float +newAccount(cunstomer: Customer, balance: float): Account +remAccount(accountNo: String): void +withdraw(accountNo: String, money: float): void +deposit(accountNo: String, money: float): void +transferOut(accountNo: String, bankCode: String, money: float): float +transferIn(accountNo: String, bankCode: String, money: float): float +newBalance(): float +getAccount(accountNo: String): Account +getBankCode(): String +getCustomerId(): String +update(): void +save(): void +delete(): void +query(customer: Customer, accountNo: String): boolean
TransferFrom +newTransferForm(): void +transfer()
9.2.2 创建系统静态模型
3.确定类之间的关系 (1)Customer类与Account类: 一对多的关系 (2)Bank类与Account类:一对多的关系
(3)Account类与Transaction类:一对多的关系
登录、存款、取款、转账(本行转账、跨行转账)
开户、销户、修改账户
(1)登录活动图
(2)存款活动图
(3)取款活动图
(4)转账活动图
(5)开户活动图
(6)修改账户活动图
9.2.4 创建系统的部署模型
1.创建构件图 根据类图创建系统构件图,包括银行构件(Bank)、客户构件 (Customer)、银行职员构件(Clerk)、界面构件(Form)、账户构件 (Account)和交易管理构件(Transaction)。
9.2.2 创建系统静态模型
(4)Transaction类
Transaction -account: Account -datetime: DateTime -fund: float +newTransaction(account: Account, fund: float, datetime: DateTime): Transaction +save()
9.2.2 创建系统静态模型
(7)Transfer类
Transfer -transferAccountNo: String +newTransafer(account: Account, transaferAccountNo: String, fund: float, Datetime: DateTime): void +save(): void