数据库课程设计报告 题 目: 银行账户管理系统 院系名称: 计算机学院 专业名称: 软件工程 班 级: 09级01班 学生姓名: *** 学号(8位): ******* 指导教师: ***
设计起止时间:2011年12月19日~2011年12月30日 一. 设计目的
银行账户管理是银行业务流程中十分重要的且必备的环节,由于银行有大量数据需
要处理,全部采用人工方式明显不现实:这不仅需要花费很高的成本,而且处理事务的
效率和质量都存在很大的问题,出于这些问题的考虑,使用计算机来处理这类问题就成
为一个相当理想的方案。利用计算机可以极大地降低成本,更重要的是可以几乎没有错
误地高效地处理所有的事务,所以做一款基于银行账户管理方面的系统是十分必要的。
本次课程设计通过对《银行账户管理系统》中银行业务流程的基本实现以及用户环
节的事务处理,旨在体验数据库设计和实现的基本过程中掌握数据库模式的设计、分析
和实现方法,了解数据库应用系统软件开发的一般过程。 二. 设计内容
分别完成银行业务功能、ATM功能和用户管理功能,并设计数据库以支持这些功能的实现,最后通过代码进行具体实现以及数据库链接。
所用数据库:SQL Server 2008 开发语言:Java
数据库设计:使用了六张表,分别为:管理员表(admin)、ATM机表(ATM)、ATM机出纳
表(ATMOutIn)、银行柜台出纳表(BankOutIn)、银行卡表(card)、用户 表(users)。
三个触发器,分别为:冻结用户账号操作(userstatus_update)、 ATM机存取款操作(ATMOutIn_insert)和 银行存取款操作(BankOutIn_insert)。 一个视图、一个虚表:用户操作查询
(allInfo(userId,cunquTime,cunquAddress,cunquMoney,cunq uSummary,balanceMoney))。
银行业务功能:设置管理员账号,赋予管理员权限以实现开户、销户、存款、取款、查
询、办卡和挂失功能。
ATM功能:ATM机连接系统数据库,实现用户登录、存(取)款以及用户查询功能。
用户管理:通过登录功能获得系统数据库中自己的用户信息,并有权限修改系统允许用
户修改的信息。
三(概要设计 1(功能模块图;
2(各个模块详细的功能描述。 银行业务功能: , 管理员登录
在数据库中添加管理员数据,管理员可登录系统并有权限完成与 用户相关所有操作。 , 开户
收集用户信息,为用户分配账号并通过程序在系统数据库中添加用户信 息。 , 销户
根据账号在数据库中查找用户,确认用户身份信息后,管理员通过程序删 除数据库中用户信息。 , 存款
根据卡号在数据库中查找用户,依据存入金额,管理员通过程序修改数据 库中用户的金额信息。 , 取款
根据卡号在数据库中查找用户,通过密码确认用户,依据取出金额,经判 断取出金额合法后(不大于余额),管理员通过程序修改数据库中用户的
金额信息。 , 查询
以用户卡号、账号或身份证号之一为关键字,在数据库中查找用户,依据 业务需求显示用户信息(开户人信息、用户近期操作记录)。 , 办卡 为用户账号绑定卡号,由管理员通过程序将卡号以及用户设置的密码存入 系统数据库相应用户信息中。 , 挂失
根据账号在数据库中查找用户,用户提供登录密码确认用户身份信息后, 管理员通过程序将数据库中用户卡状态信息由“使用”改为“冻结”。 ATM功能: , 登录
ATM机依据用户卡号和密码在系统数据库中查询用户信息,在信息匹配的 情况下进入用户操作界面。 , 存款
ATM机依据用户存入金额,通过程序修改数据库中用户的金额信息。 , 取款
ATM机依据取出金额, 通过对比本机余额和数据库中用户余额,若金额 合法则通过程序修改数据库中用户的金额信息,否则弹出错误信息。 用户管理: , 登录
依据用户账号和密码由管理员或ATM机在系统数据库中查询用户信息,在 信息匹配的情况下用户获得用户管理权限。 , 查询个人信息
打印数据库中记录的用户个人信息。
, 修改个人信息
收集用户新信息,由管理员操作,修改数据库中用户拥有修改权限的相应 数据。
, 查询近期操作
依据用户提供所要查询时间范围,由管理员或ATM机通过程序查询系统数 据库中用户的操作记录。 四(详细设计
1(功能函数的调用关系图
public static void mian(String[] args){
用户类 AdminLoginJFrame() AdminDao 管理员登录界面 卡查询 ChaxunKaInfo(String userId) 操作
KaMimaXiuGai(String cardId) 卡密修改 UserLoginJFrame() 操作 MainFrame() 用户登录界面 KaCaoZuo(String times,String cardId)
主界面 卡操作记
ChaXunCaoZuo(Users user) 录
查询近期 操作 UserGuanLi(String ATMId,String cardId) 用户管理 ATMLoginJFrame() actionPerformed(ActionEvent e) ATM机登录界面 登录方法 UserChaXun(String cardId) 用户信息 查询 } 2(重点设计及编码 数据库设计:
create database account