银行信息系统.docx
- 文档编号:10644194
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:26
- 大小:1.18MB
银行信息系统.docx
《银行信息系统.docx》由会员分享,可在线阅读,更多相关《银行信息系统.docx(26页珍藏版)》请在冰豆网上搜索。
银行信息系统
银行信息管理系统
一、题目要求
设计一个银行信息管理系统,实现日常的功能,比如查询信息、存款、取款、贷款、还款、开户以及销户等功能,要求不同身份登录,以实现信息的安全性。
二、需求分析
银行信息管理系统面向的使用对象有银行客户和银行管理人员两种不同的身份,所以要在登录时选择不同的身份登录。
银行客户可以使用的功能如下:
(1)查询自己的信息
(2)修改自己的信息
(3)修改密码
(4)查询自己账户的存款、贷款和还款记录等信息。
银行管理人员可以使用的客户操作功能如下:
(1)开户和销户功能
(2)给已经注册的客户进行存款开户和贷款开户
(3)给客户办理取款、存款、贷款以及还款等业务
(4)根据不同的查询项目,查询到相应的客户信息和存款贷款信息。
三、数据库设计
银行管理系统的E-R图如下页图片所示:
根据实际情况,用11张表保存银行职工、银行客户、存款贷款关系等对象。
表的具体设计以及数据的类型如下所示:
branch表:
保存银行信息
其中branch_name表示银行名称,branch_city表示银行所在城市,assets表示银行的总资产。
account表:
保存存款账号信息
其中account_number表示存款账号;balance表示存款数额;branch_name表示存款银行,参照branch表。
depositor表:
保存储户信息
customer_id表示客户ID,参照customer表;account_number表示存款号,参照account表;access_date表示存款日期。
customer表:
保存客户个人信息
customer_id表示客户ID;customer_name表示客户姓名;customer_street表示居住街道;customer_city表示居住城市;employee_id表示给该客户开户的银行工作人员的ID号;password表示用户密码。
loan表:
保存贷款账号信息
loan_number表示贷款账号;amount表示贷款数额,branch_name表示贷款开户的银行名称。
borrower表:
保存贷款关系信息
customer_id表示客户的ID号码,参照customer表;loan_number表示贷款账号,参照loan表。
payment表:
保存还款记录
loan_number表示贷款号,参照loan表;payment_number表示还款号码;payment_date表示还款日期,payment_date表示还款金额。
employee表:
保存银行职工信息
employee_id表示银行工作人员的ID号码;employee_name表示银行工作人员的姓名;manager_id表示所属经理的ID号码;telephone_number表示电话号码;employment_length表示工作年限;password表示登陆密码;bank_name表示工作的银行名称。
dependent_name表:
保存银行职工的家属信息
employee_id表示员工ID;dependent_name表示员工家属姓名。
checking_account表:
保存支票信息
account_number表示存款账号;balance表示金额;overdraft_amount表示超支额度。
saving_account表:
保存存折信息
account_number表示存款号;balance表示金额;inter_rate表示存折利率。
四、数据库关系图
根据银行管理的实际情况,做出如下参照,详细参照如下页图片所示:
五、用户权限说明
用户类型分为银行工作人员和银行顾客,登录时根据用户的不同显示不同的对话框,以实现不同用户的不同权限。
银行客户的权限如下所示:
(1)查询自己的信息
(2)修改自己除姓名和用户ID外的个人信息,比如居住地,居住街道等信息
(3)修改密码
(4)查询自己账户的存款、贷款和还款记录等信息。
银行管理人员可以使用的客户操作权限如下:
(1)开户和销户功能
(2)给已经注册的客户进行存款开户和贷款开户
(3)给客户办理取款、存款、贷款以及还款等业务
(4)根据不同的查询项目,查询到相应的客户信息和存款贷款信息。
六、功能模块设计
登陆对话框模块设计
程序开始运行时,弹出登录对话框。
用户通过下拉列表框选择不同的身份,输入用户名和用户密码,在“登陆”按钮的响应函数中根据用户类型在不同的表格中查找相关信息,如果查找到用户存在,则根据用户的不同身份显示不同的对话框。
如果该用户是银行客户,则显示客户对话框,如果该用户是银行职工,则显示银行工作人员对话框。
客户对话框模块设计
在弹出客户对话框时,在对话框的初始化函数中初始化ListControl控件,然后调用SQL语句,查询当前登录客户的信息,然后调用显示函数将客户的信息(除密码)显示在ListControl控件上,同时将客户对话框中的编辑按钮、确认按钮和EditBox和置为不可用,防止用户误点击。
此时,当用户点击ListControl控件中的某一行时,将个人信息显示在EditBox中,同时将编辑按钮置为可用,点击编辑按钮可以将部分允许编辑的的编辑框置为可编辑,然后将确认按钮置为可用。
当用户点击查询存款账户信息时,调用SQL语句,查询相关内容,然后重新初始化ListControl控件,将数据库中的相应记录显示在ListControl控件上,点击查询贷款账户信息和查询还款记录时亦然,此时,用户点击ListControl控件中的某一行,则不会将部分内容显示在编辑框中。
点击修改密码按钮时,弹出修改密码对话框,在对话框中输入原始密码,然后输入两次新密码,如果新密码不相同或者原始密码错误,则不能成功修改密码。
银行员工对话框模块设计
在对话框的初始化函数中,初始化ListControl控件,将所有客户信息显示在ListControl控件中。
当银行客户有取款要求时,根据用户输入的存款账号、取款金额和密码,银行工作人员点击确认取款后,调用SQL语句,修改用户信息所在数据库中的记录值,如果余额不足,则不能成功取款。
当银行客户有存款要求时,根据用户输入的存款账号和金额,点击确认按钮后在消息响应函数中响应函数调用SQL语句,修改用户信息所在数据库中的记录值,同时修改银行的总资产。
若用户没有存款账户,则需先新建存款账户,如果在客户表中无记录,还要先开户,然后在添加存款账户。
当存款或贷款账户金额为零时,系统将自动删除该账户,且当贷款账户为零时,系统在删除贷款账户时会将该贷款账户的还款记录也一并删除。
当客户还款时,程序还将在payment表中插入一条还款记录,还款号码为系统根据时间自动生成,以PA开头,以区分于存款和贷款账号。
当银行工作人员点击开户按钮时,弹出开户对话框,用户ID由系统根据当前时间自动生成,用户的开户银行为默认银行工作人员所属的银行,且不可编辑,操作员ID默认为当前操作员的ID,且不可编辑。
用户输入姓名、密码和街道地址等信息后,点击确定按钮,在消息响应函数中调用insertSQL语句,将信息插入到customer表中。
当用户点击存款和贷款开户按钮时,弹出存款开户或贷款开户对话框,其中“时间”编辑框为获取当前系统时间(年月日),存款账户和贷款账户由系统自动生成,存款账户以AC开头,贷款账户以LO开头,后加系统时间,以此区分,开户银行为默认银行工作人员所属的银行,且不可编辑。
销户功能是将客户从customer表中删去,前提是用户的存款和贷款业务已经全部取走或还清,否则无法销户。
当用户的存款和贷款业务均已完成后,输入用户的ID,然后调用deleteSQL语句,在customer表中删去该用户的记录。
查询功能根据用户选择的查询项目和对应值,在该项目对应的多个表中通过不同类的对象调用SQL语句查询该记录,查询到则重新根据查询到的记录集初始化ListControl控件,显示相关的内容。
七、程序设计
登陆对话框设计:
各控件以及关联的变量如下表所示:
控件名称
控件ID
关联变量
响应函数
属性
组合框
IDC_COMBO_LOGIN
CStringm_LoginSelect
登陆身份
编辑框
IDC_EDIT_USERNAME
CStringm_UserName
用户名
编辑框
IDC_EDIT_PASSWORD
CStringm_PassWord
密码
命令按钮
IDC_BTN_LOGIN
OnBtnLogin()
登陆
命令按钮
IDC_BTN_ESC
OnBtnEsc()
退出
点击“登陆”按钮时,响应函数判断组合框和编辑框的内容是否为空,如果为空,则提示用户重新输入,若不为空,则根据用户输入的用户名和密码在数据库中查找相关记录,如果找到记录,则弹出相应的对话框。
客户对话框设计:
控件名称
控件ID
关联变量
响应函数
属性
列表视图
IDC_LIST_CUS
OnClickListCus()
分组框
IDC_STATIC
个人信息
编辑框
IDC_EDIT_CUS_ID
CStringm_cus_cusid
客户ID
编辑框
IDC_EDIT_CUS_NAME
CStringm_cus_cusname
客户姓名
编辑框
IDC_EDIT_CUS_CITY
CStringm_cus_cuscity
城市
编辑框
IDC_EDIT_CUS_STREET
CStringm_cus_cusstreet
居住街道
命令按钮
IDC_BTN_CUS_EDIT
OnBtnCusEdit()
编辑
命令按钮
IDC_BTN_CUS_CONFIRM
OnBtnCusConfirm()
确认修改
命令按钮
IDC_BTN_SEL_ACC
OnBtnSelAcc()
查找存款
命令按钮
IDC_BTN_SEL_LOAN
OnBtnSelLoan()
查找贷款
命令按钮
IDC_BTN_SEL_PAY
OnBtnSelPay()
还款记录
命令按钮
IDC_BTN_EDIT_PW
OnBtnEditPw()
修改密码
命令按钮
IDC_BTN_CUS_ESC
OnBtnCusEsc()
退出
在客户对话框操作时,在对话框的初始化函数中初始化ListControl控件,然后调用SQL语句,查询当前登录客户的信息,然后调用显示函数将客户的信息(除密码)显示在ListControl控件上。
此时,当用户点击ListControl控件中的某一行时,将个人信息显示在EditBox中。
当用户点击查询存款账户信息时,调用SQL语句,使用表类的对象在数据库中查询相关内容,然后重新初始化ListControl控件,将数据库中的相应记录显示在ListControl控件上,点击查询贷款账户信息和查询还款记录时亦然,此时,用户点击ListControl控件中的某一行,则不会将部分内容显示在编辑框中。
客户改密码对话框设计:
控件名称
控件ID
关联变量
响应函数
属性
编辑框
IDC_EDIT_PWEX
CString
m_edit_pwex
原始
密码
编辑框
IDC_EDIT_PWNEW1
CString
m_edit_pwnew1
新密码
编辑框
IDC_EDIT_PWNEW2
CStringm_edit_pwnew2
新密码
命令
按钮
IDC_BTN_EDITPW_CONFIRM
OnBtnEditpwConfirm()
确认
命令
按钮
IDC_BTN_EDITPW_ESC
OnBtnEditpwEsc()
退出
点击修改密码按钮时,弹出修改密码对话框,在对话框中输入原始密码,然后输入两次新密码,如果新密码不相同或者原始密码错误,则不能成功修改密码,如果成功修改密码,使用customer类的对象调用SQL语句更新数据库中的内容,则弹出对话框提示修改成功,下次登录时使用新密码。
银行职工对话框设计:
控件名称
控件ID
关联变量
响应函数
属性
列表视图
IDC_LIST1
CListCtrl
m_CusList
分组框
IDC_STATIC
取款
分组框
IDC_STATIC
贷款
分组框
IDC_STATIC
存款
分组框
IDC_STATIC
还款
分组框
IDC_STATIC
查询
编辑框
IDC_EDIT_OUTACC
CStringm_OutAcc
取款账户
编辑框
IDC_EDIT_OUTAMO
doublem_OutAmo
取款金额
编辑框
IDC_EDIT_PWD
CStringm_OutPwd
密码
编辑框
IDC_EDIT_INACC
CStringm_InAcc
存款账户
编辑框
IDC_EDIT_INAMO
doublem_InAmo
存款金额
编辑框
IDC_EDIT_LOAN_NUM_OUT
CString
m_LoanNumOut
贷款账号
编辑框
IDC_EDIT_LOAN_OUTAMO
double
m_LoanAmoOut
贷款金额
编辑框
IDC_EDIT_LOAN_NUM_IN
CString
m_LoanNumIn
还款账号
编辑框
IDC_EDIT_LOAN_INAMO
double
m_LoanAmoIn
还款金额
组合框
IDC_COMBO_SELECT
CString
m_item
查询项目
编辑框
IDC_EDIT_SELECT
CStringm_lookfor
查询值
命令按钮
IDC_BTN_OUT_CONFIRM
OnBtnOutConfirm()
取款
命令按钮
IDC_BTN_INCONFIRM
OnBtnInconfirm()
存款
命令按钮
IDC_BTN_LOANOUT
OnBtnLoanout()
贷款
命令按钮
IDC_BTN_LOANIN
OnBtnLoanin()
还款
命令按钮
IDC_BTN_SELECT
OnBtnSelect()
查询
命令按钮
IDC_BTN_ADD
OnBtnAdd()
开户
命令按钮
IDC_BTN_ADD_ACC
OnBtnAddAcc()
存款开户
命令按钮
IDC_BTN_ADD_LOAN
OnBtnAddLoan()
贷款开户
命令按钮
IDC_BTN_DELCUS
OnBtnDelcus()
销户
命令按钮
IDC_BTN_ESC
OnBtnEsc()
退出
在对话框的初始化函数中,初始化ListControl控件,将所有客户信息显示在ListControl控件中。
当银行客户有取款要求时,根据用户输入的存款账号、取款金额和密码,银行工作人员点击确认取款后,调用SQL语句,修改用户信息所在数据库中的记录值,如果余额不足,则不能成功取款。
当银行客户有存款要求时,根据用户输入的存款账号和金额,点击确认按钮后在消息响应函数中响应函数调用SQL语句,修改用户信息所在数据库中的记录值。
若用户没有存款账户,则需先新建存款账户,如果在客户表中无记录,还要先开户,然后在添加存款账户。
当客户还款时,程序还将在payment表中插入一条还款记录,还款号码为系统根据时间自动生成,以PA开头,以区分于存款和贷款账号。
当存款或贷款账户金额为零时,系统将自动删除该账户,且当贷款账户为零时,系统在删除贷款账户时会将该贷款账户的还款记录也一并删除。
查询功能根据用户选择的查询项目和对应值,调用selectSQL语句,在多个表中查询所需的数据,查询到则重新根据查询到的记录集初始化ListControl控件,逐次显示查询到的相关内容。
开户对话框设计:
控件名称
控件ID
关联变量
响应函数
属性
编辑框
IDC_EDIT_ADD_ID
CString
m_Add_Name
客户ID
编辑框
IDC_EDIT_ADD_NAME
CString
m_Add_Street
姓名
编辑框
IDC_EDIT_ADD_PW
CString
m_Add_Pw
密码
编辑框
IDC_EDIT_ADD_CITY
CString
m_Add_ID
城市
编辑框
IDC_EDIT_ADD_STREET
CString
m_Add_City
居住街道
编辑框
IDC_EDIT_ADD_EMPID
CString
m_Add_EmpID
操作员ID
命令按钮
IDC_BTN_ADD_CONFIRM
OnBtnAddConfirm()
确认
命令按钮
IDC_BTN_ADD_ESC
OnBtnAddEsc()
退出
当银行工作人员点击工作人员对话框上的开户按钮时,弹出开户对话框,用户ID由系统根据当前时间自动生成,用户的开户银行为默认银行工作人员所属的银行,且不可编辑,这样可以防止银行工作人员输入出错,导致不符合参照要求插入出错的情况。
操作员ID默认为当前操作员的ID,且不可编辑。
用户输入姓名、密码和街道地址等信息后,点击确定按钮,在消息响应函数中使用customer类的对象调用insertSQL语句,将信息插入到customer表中。
存款开户对话框设计:
控件名称
控件ID
关联变量
响应函数
属性
编辑框
IDC_EDIT_ACC_NUM
CString
m_accnum
存款账号
编辑框
IDC_EDIT_CUSID
CString
m_accdate
客户ID
编辑框
IDC_EDIT_BANKNAME
CString
m_acccusid
银行名称
编辑框
IDC_EDIT_ACCADD_DATE
CString
m_bankname
存款日期
命令按钮
IDC_BTN_ADD_ACC_CONFIRM
OnBtnAddAccConfirm()
确认
命令按钮
IDC_BTN_ADDACC_ESC
OnBtnAddaccEsc()
退出
当银行工作人员点击工作人员对话框上的存款开户按钮时,弹出存款开户对话框,其中“时间”编辑框为获取当前系统时间(年月日),且不可编辑,客户的存款账户由系统自动生成,存款账户以AC开头,后加系统时间,以此区分,开户银行为默认银行工作人员所属的银行,且不可编辑,也是为防止输入错误引起的参照不正常。
贷款开户对话框设计:
控件名称
控件ID
关联变量
响应函数
属性
编辑框
IDC_EDIT_ADD_LOAN_ID
CString
m_AddLoanID
客户ID
编辑框
IDC_EDIT_ADD_LOAN_NUM
CString
m_AddLoanNum
贷款号
编辑框
IDC_EDIT_ADD_LOAN_BANK
CString
m_AddLoanBank
贷款银行
命令按钮
IDC_BTN_ADD_LOAN_CONFIRM
OnBtnAddLoanConfirm()
确认
命令按钮
IDC_BTN_ADD_LOAN_ESC
OnBtnAddLoanEsc()
退出
当银行工作人员点击工作人员对话框上的贷款开户按钮时,弹出存款开户对话框,其中客户的存款账户由系统自动生成,存款账户以LO开头,后加系统时间,以此区分,开户银行为默认银行工作人员所属的银行,且不可编辑,防止输入错误引起的参照不正常。
销户对话框设计:
控件名称
控件ID
关联变量
响应函数
属性
编辑框
IDC_EDIT_DEL_ID
CString
m_DelCusID
客户ID
命令按钮
IDC_BTN_DELCONFIRM
OnBtnDelconfirm()
确认
命令按钮
IDC_BTN_DEL_ESC
OnBtnDelEsc()
退出
销户功能是将客户从customer表中删去,前提是用户的存款和贷款业务已经全部取走或还清,否则无法销户。
当用户的存款和贷款业务均已完成后,输入用户的ID,然后通过customer类的对象调用deleteSQL语句,在customer表中删去该用户的记录。
八、用户手册
银行客户手册:
1.登录时输入自己的用户名和密码,选择银行客户登陆方式。
2.登陆后可以点击上方自己的信息,点击后自己的信息将会显示在编辑框中,此时可以点击编辑按钮,修改自己的部分信息,用户名和ID不可修改,点击确认完成修改。
修改成功后系统将弹出相应的对话框提示。
3.点击界面上的“查询存款”按钮可以将自己的存款信息显示在上方的控件中。
4.点击界面上的“查询贷款”按钮可以将自己的贷款信息显示在上方的控件中。
5.点击界面上的“还款记录”按钮可以将自己的还款记录信息显示在上方的控件中,当还款记录过长时序拉动滚动条才能看到全部信息。
6.点击修改密码对话框时会弹出修改密码对话框,输入原始密码,然后输入两次新密码,如果原始密码错误或者新密码的两次输入不一致,则不能成功修改密码,成功修改密码后系统将弹出对话框提示修改成功。
银行工作人员手册:
1.登录时输入自己的用户名和密码,选择管理员登陆方式。
2.登陆后下方将显示全部的客户信息,根据用户输入的账号、金额和密码等信息可以为银行客户提供取款、存款、贷款和还款业务。
3.根据查询项目不同可以查询不同的项目,例如按照客户ID查询,按照客户姓名查询,按照存款账号查询存款信息,按照贷款账号查询贷款信息。
4.点击开户按钮可以在数据库中新添加一名用户,只有先添加一名用户才可以为该用户办理存款开户或者贷款开户业务。
5.办理存款开户业务或者贷款开户业务时账号均为系统自动生成,根据客户输入点击确定即可完成该业务操作。
6.点击销户时,如果客户还有未完成的存款或贷款业务,则不能为该客户办理销户业务,系统会弹出对话框提示操作失败。
应先将该客户的存款取完和将贷款还清后才可以完成销户业务操作。
九、程序运行截图
登陆对话框:
工作人员对话框:
取款操作:
存款操作:
贷款操作:
还款操作:
查询操作:
开户操作:
存款开户操作:
贷款开户操作:
销户操作:
客户登陆对话框:
修改个人信息:
查询
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行 信息系统