软件设计初稿 银行账户管理系统 软件设计报告 学 院: 计算机学院 姓 名:任海芬 高宇 学 号:31509023 31509004 指导教师:王显荣老师 项目要求 AccountManager 应用程序,用于管理银行账户信息,参考下图,利用程序设计语言,(Java或C#)类库中提供的观察者设计模式,设计并实现银行客户账户管理(存,取操作,)的多视图(文本,条形以及饼图)软件。 系统功能描述 会议管理系统具体的模块划分如下图所示: 银行账户管理系统实现的功能主要是取款的功能、存款功能、不同的账户的管理和账户的余额的显示,显示的方式分别为条形图和圆饼图展示两个账户的余额情况以及其之间的关系. 作业流程 用户用例图 银行用户用例描述: 软件设计初稿 用例1 用例名称:取款 执行参与者:银行用户 前置条件:用户使用该银行账户管理系统 事件流: ① 用户需要进行银行用户管理系统的使用,用例开始 ② 输入取款金额 ③ 取款金额合法 ④ 点击取款按钮 ⑤ 成功显示用户余额信息,则用例结束 用例2 用例名称:存款 参与执行者:银行用户 前置条件:用户使用该银行账户管理系统 事件流: ⑥ 用户需要进行银行用户管理系统的使用,用例开始 ① 输入存款的金额 ② 点击存款按钮 ③ 成功显示账户存款余额 ④ 显示用户取款后账户信息,用例结束 数据结构和算法设计 类图 类图如下: 类图描述: Subject:父类。 Observer:List -〉 具体观察者对象的列表。 +attach(Observer *observer): -〉能把具体的观察者对象放到列表中. +detach(Observer *observer); —>把列表中的具体的对象删除. 软件设计初稿 +notifyObservers(): —> 执行所有List里面Observer的Update函数. ——-——-—--———-——-——-——-——-——-—-----——-—-—-----——----——--—--—-—-—- double observerStates: 输入的金额变量。 +setState();getState(); Observer:接口. +Update(Subject *subject); —〉抽象出所有子类(观察者)的公共方法。 ConcreteSubject: 具体的被观察者者. double subjectStates:—> 金额信息。 concreteObserver: concreteObserver1:—〉具体的观察者。 顺序图 用户使用银行账户管理系统时,输入存款或者取款的金额,若输入的金额被验证合法之后,用户选择具体的存款操作或者取款操作,系统根据金额和当前用户账户的余额,进行用户账户金额的修改,然后返回用户.返回的方式分别为条形图方式,以及圆饼图的方式。 用户状态图 银行账户的状态图,用户输入金额之后,选择具体的取款或存款操作,若用户的账户可用,且金额合法则会以条形图以及圆饼图的图方式来显示用户当前的账户余额。 系统实现 本文来源:https://www.wddqw.com/doc/bfa44f3fcfbff121dd36a32d7375a417866fc14f.html