本科毕业设计论文_基于java的银行账户管理系统的设计与实现(编辑修改稿)内容摘要:
1. 存款 2. 取款 3. 转账 4. 查询余额 5. 修改密码 6. 返回 用户根据自己的需要, 选择相应的业务 根据用户的选择,进入相应的业务界面。 存款功能 在用户主菜单中 ,用户选 择 “ 存款 ” , 即可进 入 “ 存款 ” 子模 块,该模块需要用户输入存款金额,且要求输入的金额必须大于 0 并且为 100 的倍数,否则用户无法进行存款 ,如表 4 所示。 表 4 存款功能 输入 处 理 操作 存款金额 金额的校验 1. 金额不符要求,提示出错信息 ; 2. 金额符合要求,提示存款成功。 取款功能 在用户主菜单中,用户 选择 “ 取款 ” ,即可进入 “ 取款 ” 子模块 ,该模块需要用户输入取款金额,而且要求输入的金额必须大于 0 并且为 100 的倍数,还有取款金额不能大于该用户卡中的余额,否则用户无法进行取款业务 ,如表 5 所示。 表 5 取款功能 输入 处 理 操作 取款金额 金额校验 1. 金额不 符 要求,提示出错信息; 2. 金额 符 合要求,提示存款成功。 转账功能 在用户主 菜单中,用户选 择 “ 转账 ” , 即可进入 “转账 ”子模块,该模块需要用户输基于 JAVA 的银行账户管理系统的设计与实现 7 入转入账户的 ID,以及转入金额。 在 数据库 中需要对 转入账号的 ID 进行检索,如果数据库中存在转入账户的 ID,才能进行下一步的转账操作,同时也要对输入的金额进行校验,当两者均符合要求时,方可转账成功,否则给出相 关错误提示,转账失败 ,如表6 所示。 表 6 转账功能 输入 处 理 操作 1. 转入账号 2. 转入金额 ID 检索 金额校验 1. 与数据库匹配,根据 ID 是否存在 ,提示相关信息; 2. 金额不符要求,错误提示; 3. 符合要求,提示转账成功。 查询功能 在用户主菜单中,用户 选择 “ 查询 ” ,即可进入 “ 查询 余额 ” 子模 块,该模块不需要用户输入任何信息,进入该模块后即可看到当前登录用户的账户中的余额 ,如表 7 所示。 表 7 查询功能 修改密码 在用户主菜单中,用 户选择 “ 修改密码 ” ,即 可进入 “ 修改密码 ” 子模块,该模块需要用户输入相关注册信息(如用户名、密码、确认密码、证件号、电子邮箱等),并对输入的信息进行条件约束,当所有条件均满足时方可完 成注册,否则给出相关错误提示,注册失败 ,如表 8 所示。 表 8 修改密码 输入 处 理 操作 无 信息确认 退出系统 确认信息后返回到用户主菜单;或者 退出系统。 输入 处 理 操作 1. 用户名 2. 密码 3. 确认密码 4. 证件号 5. 电子邮箱 信息校验 信息校验无误,即可完成注册,同时跳转到登录模块,否则提示相关错误信息。 基于 JAVA 的银行账户管理系统的设计与实现 8 返回功能 在用户主菜单中,选 择 “ 返回 ” ,即 可返回到登录模块或者直接退出系统 ,如表 9所示。 表 9 返回功能 业务流程分析 本银行账户管理系统的设置是单用户多操作的模式,之前如果没有账户的用户必须先注册开户,之后用户需要用自己的真实姓名登录,确认无误后方可登录到 主菜单 界面,实现 相关 业务 操作。 主要业务流程如下图 1 所示。 图 1 系统业务流程图 数据流程分析 系统关联图 本银行账户管理系统直接面向对象是用户,而用户只需要实施对本系统的操作,然后由系统处理数据,并且将相关数据信息反馈给用户,如图 2 所示。 图 2 系统关联 图 输入 处 理 操作 无 无 返回到登录模块,或者直接退出系统。 基于 JAVA 的银行账户管理系统的设计与实现 9 顶层图 在系统的后台管理中, 必然 会涉及到大量数据的存储与读取,那么 在数据存储之前就需要对用户提供的数据进行分析校验, 只有 在符合规范的情况下,将处理后的数据反馈给用户 ,如图 3 所示。 图 3 系统顶层图 数据流图 数据流 图能够简洁的 表达 出 功能需求和数据需求及其联系 ,如图 4 所示,用户在注册或者登陆时,经过后台的检验处理,在数据正确无误的情况下,才能办理如存款、取款、转账等相关业务,并且同步更新数据库中数据信息。 图 4 数据详细流程图 基于 JAVA 的银行账户管理系统的设计与实现 10 第 4 章 数据库分析 数据库需求分析 数据 库需求分析是数据库结构设计中 必 不可少的,而且也是要做的第一个阶段,这个阶段主要是要 收集 基本数据、数据结构以及数据处理的流程等等,组成一份详尽的数据字典 [10],为以后进一步设计打下基础。 首先,在仔细调查银行账户管理过程的基础上,同时根据日常用户的基本的业务需求,我们可以得到本系统所要完成实现的用户的业务模块,如图 5 所示。 图 5 系统功能模块图 通过对银行账户管理的内容和数据流程的分析,可对用户详细 的 属性设置描述如下(见表 10— 表 15)。 表 10 用户 id 属性 表 11 用户 name 属性 数据项名称: id 数据项名称: name 数据项类型: 整型 数据项类型: 文本 数据项长度: 25 数据项长度: 0 可否为空: 不可 可否为空: 不可 是否主键: 是 是否主键: 否 简 述: 银行账户的序号 简 述: 进入系统的用户名 基于 JAVA 的银行账户管理系统的设计与实现 11 表 12 用户 password 属性 表 13 用户 personid 属性 表 14 用户 属性 表 15 用户 balance 属性 数据库概念结构设计 这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。 在 本 银行账户管理系统中,对于用户的 基础 数据有姓名、密码、证件号以及邮箱等,同时, 已注册用户要有自己的账户 ID,还得为用户提供准确的余额信息。 图 6 用户实体图 数据库逻辑结构设计 数据项名称: password 数据项名称: personid 数据项类型: 字符型 数据项类型: 字符型 数据项长度: 25 数据项长度: 25 可否为空: 不可 可否为空: 不可 是否主键: 否 是否主键: 否 简 述: 用户的登录密码 简 述: 用户的有效证件号 数据项名称: 数据项名称: balance 数据项类型: 字符型 数据项类型: 浮点型 数据项长度: 25 数据项长度: 25 可否为空: 可以 可否为空: 不可 是否主键: 否 是否主 键: 否 简 述: 用户的电子邮箱 简 述: 用户的账户余额 基于 JAVA 的银行账户管理系统的设计与实现 12 在数据库逻辑结构设计阶段,需要将 上面的 数据库概念结构转化为 Mysql 数据库系统所支持的 实际 数据模型,也就是数据 库的逻辑结构 [11]。 在上面的实体结构的基础上,形成数据库中的表格。 银行账户管理系统数据库中用户的基本信息表的设计如下 表 16 所示。 表 16 用户基本信息表 字段名 数据类型 长度 可否为空 说明 id int 25 否 主键 name text 无 否 password varchar 25 否 personid varchar 25 否 varchar 25 可以 balance double 25 否 数据库结构的实现 在需求分析、概念结构设计的基础上得到数 据库的逻辑结构之后,就可以在 Mysql数据库系统中实现该逻辑结构 [12]。 实现数据库的逻辑结构的方式是借助 Navicat for Mysql 来管理实现,详细步骤如下 所述。 1. 打开 Navicat for Mysql,选择 “Connection”出现 “New Connection”界面,在Connection Name 标签中填入项目名,如 “mybams”,其他选择默认,见图 7,之后可以看到如图 8 所示的界面。 图 7 新建 Connection 图 8 Connection 列表 2. 选中 “mybams”, 鼠标右击选择 “New Database”, 在 Database Name 标签中填入数据库名 , Character set 选择 “utfUTF8 Unicode”,其他选择默认 , 如图 9。 基于 JAVA 的银行账户管理系统的设计与实现 13 图 9 新建 DataBase 3. 双击展开 “accounts”数据库 , 选中 “Tables”, 鼠标右击选中 “New Table”, 进入填写数据项信息的界面 , 选中 下面的 “Auto Increment”( 表示 id 为自动增加 ), 填写完信息后保存 , 提示填入表名 ( 如 allaccount) 即可 , 如图 10 所示。 图 10 新建 Table 4. 这样我们在 Mysql 数据库系统中就创建了一个 accounts 数据库,并在该数据库下创建一 个 “allaccount”数据表,在后期的操作中只要连接到该数据库,就可以直接对数据库中的数据表进行操作。 基于 JAVA 的银行账户管理系统的设计与实现 14 第 5 章 系统设计 用户实体 本系统面向对象是用户,需要对用户的一些特性给予描述,对于之后的操纵进行方便有效的管理。 1. 用户实体的代码描述如下: public class Account { private long id。 // 账户序号 private String password。 // 账户密码 private String name。 // 真实姓名 private String personId。 // 身份证号码 private String。 // 客户的电子邮箱 private double balance。 // 账户余额 public Account(String password, String name, String personId, String , double balance) { = password。 = name。 = personId。 =。 = balance。 } } 2. 定义一个接口 , 所涉及到的方法只定义不实现 , 代码如下 : public interface AccountDao { public Account addAccount(Account a)。 // 添加账户 public Account deleteAccount(Account a)。 // 删除账户 public Account updateAccount(Account a)。 // 更新账户 public Account findAccountById(long id)。 // 根据 id 查找账户 public Account login(String name, String password)。 // 用户登录 } 3. 为用户编写其他相关的类 ( 如 BankDB), 在该类中 有用户开户 ( 注册 ) 、存款、基于 JAVA 的银行账户管理系统的设计与实现 15 取款等方法 , 用户会通过调用 BankDB 中的方法来操作自己的账户。 4. 定 义一个实现类实现接口中的所有方法,并且通过访问数据库更新账户。 界面代码设计 1. 启动系统即可弹出用户登录界面。 代码如下: public class BAMSClient extends { private CardLayout c。 private static BAMSClient client = new BAMSClient()。 // 创建 BAMSClient单例 private BAMSClient() { initComponents()。 } static BAMSClient getInstance() { return client。 } private void initComponents() { c = new CardLayout()。 setLayout(c)。 // 在此 JFrame中添加打开系统的第一个界面; (user_。本科毕业设计论文_基于java的银行账户管理系统的设计与实现(编辑修改稿)
相关推荐
通解为 12() jkr jkrU r c e c e ( 23) 于是 ()Ur是瞬时值表达式为 ( ) ( )12( , ) R e j t k r j t k rU r t c e c e (其中 1c 、 2c 为待定系数) ( 24) 假设 (, )Urt 仅是2 ()rft的函数,则 21( , ) ( )rr t f tr ( 25)
k r j t k rU r t c e c e (其中 1c 、 2c 为待定系数) ( 24) 假设 (, )Urt 仅是2 ()rft的函数,则 21( , ) ( )rr t f tr ( 25) 位于坐标原点的静止电荷 产生的标量电位为 () 4r r ( 26) 由于静态场是时变场的特殊情况,则时变场的标量位应为 ()(
5%.则 d1=(1+5%) mm= 取 d1 =26mm 从动轴 : d≥ C(PII/nII) 1/3=105() 1/3 = 考虑有键槽 ,将直径增大 5% 则 d2=(1+5%)mm = 取 d2=42mm 轴的结构设计 ( 1)轴上零件的定位,固定和装配 单级减速器中可将齿轮安排在箱体中央 ,相对两轴承对称分布, 主动轴采用齿轮轴 . ( 2)确定轴各段直径和长度 初选用 7207C
河南理工大学本科毕业设计 第三章 楼、屋面板结构设计 6 图 屋面及顶棚建筑做法 结构布置 该框架结构采用横向框架承重方案,楼板及屋面板类型如图。 图 楼板、屋面板区格类型划分 板的受力分析级 及 配筋计算 荷载计算 1) 屋面板荷载 恒载标准值 屋面建筑做法 (查 《中南标准图集 98ZJ001》 ) kN/㎡ 河南理工大学本科毕业设计 第三章 楼、屋面板结构设计 7 屋面钢筋混凝土板 25
们希望无论何时何地都能够方便、快捷、灵活的通过语音、数据、图像与视频等多种方式进行通信。 视觉信息给人们直观、生动的形象,图像 /视频的传输更受到广泛的关注。 数字信号处理技术、物理媒体与网络技术、超大规模集成电路技术突飞猛进的发展,使得多媒体通信成为研究和 应用的热点。 其中,最为关键的技术是数字视频的处理和传输技术,它将电视技术、计算机技术和通信技术结合在一起,在电视系统
很感兴趣,转发了这条 状态 , 就把 这条消息通过 他 的粉丝继续传播了下去 ;已知不传播状态则是知道了 这条 消息 ,但是因为不感兴趣,没有转发这消息或发布相关的消息。 如 图 21所示 , 这是 一个 用户 状态示意图, 用户 A发布了一条状态, B和 C关注 了 A,所以知道了 A发布的消息, B不感兴趣,忽略了这条消息,成为了已知不传播状态,这条消息 的 传播 在 B处中断,而 C