《银行管理系统课设报告(共14页).doc》由会员分享,可在线阅读,更多相关《银行管理系统课设报告(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 数据库系统课程设计报告 题 目 银行管理系统的设计与实现 学生姓名 梁有权 学 号 036 学 院 计算机与软件学院专 业 网络工程指导教师 马 瑞二一五 年 四 月 二十四 日目 录1 绪论 选题目的及意义1 设计内容12 需求分析 功能需求1 数据需求1 其他需求13数据库设计概念结构设计2逻辑结构设计2物理结构设计24 系统功能设计45 系统实现 开发环境4 主要功能的运行结果及代码46 总结18参考文献1 绪论选题的目的及意义 银行管理系统:该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高
2、,所以完成这个题目,能更好的训练数据库设计和VC的编程能力,选择该题目就是充分训练数据库表设计的能力和运用VC的能力。 设计内容用户管理模块:建立新用户、删除老用户、更改用户操作;账户操作模块:账户信息、活期存取款操作、查询活期操作记录、定期存款、定期取款、查询定期操作记录;数据库模块:数据库备份、数据库恢复;2 需求分析2.1 功能需求对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于账户部分,可以查询用户的信息,包括各种基本信息、活期余额、定期账单等;对于账户操作部分,有活期存取款、定期存取款操作,另外操作完成之后存储相应的操作记录并能够查询操作记录等功能。2.2 数据需求账
3、户信息:帐号varchar(20),开户人姓名varchar(20),账户密码char(6),身分证号varchar(20),账户余额float,开户日期datetime,开户地址varchar(30);活期操作:帐号varchar(20),金额float,类型(存入,支出),账户余额float,利息float,存入日期datetime;定期存款:帐号varchar(20),存款人姓名varhcar(10),存款金额float,存款日期datetime,存储年份int,存储利率float;定期取款:帐号varchar(20),取款人姓名varhcar(10),取款金额float,取款日期dat
4、etime;定期历史操作记录:帐号varchar(20),存取款人姓名varhcar(10),类型(存入,支出),办理日期datetime,存储年份int,存储利率float;2.3 其它需求完成数据库的备份与恢复,系统登录对话框等功能。3. 数据库设计概念结构设计活期存取款存储帐号银行储户开户地址姓名性别帐户余额开户日期密码身份证号定期存取款定期操作记录活期操作记录 银行管理系统E-R图 逻辑结构设计储户(帐号,姓名,密码,身份证号,性别,帐户余额,开户日期,开户地址);活期存取款(nID,帐号,金额,类型,办理日期,利息,账户余额);定期存款(nID,帐号,存款人姓名,金额,存储年份,年利
5、率,存储日期);定期取款(nID,帐号,取款人姓名,取款金额,取款日期);定期记录(nID,帐号,存取款人姓名,类型,操作金额,年份,操作日期) 物理结构设计储户表序号字段名称字段描述数据类型长度属性1CNo帐号Varchar20PK2CName开户人姓名Varhcar20非空3CPassword登录密码Char6非空4CID身份证号Varchar20非空5CSex性别Char 2非空6CBalance帐户余额Float8非空7CDate开户日期Datetime8非空8CAddress开户地址Varchar30非空主键:帐号;约束条件:各属性均非空,密码长度为6位;活期存取款表序号字段名称字段
6、描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchar20非空3CMoney操作金额Float8非空4CStyle操作类型Varchar10非空5CDate操作日期Datetime8非空6CInterest利息Float8非空7CBalance帐户余额Float8非空主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;定期存款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchar20非空3CName存款人姓名Varchar10非空4CMoney存款金额Float8非空5CDate存款日期Datetime8非空6CYear存储年份I
7、nt4非空7CRate存储利率Float8非空主键:nID;外键:帐号;被参照表:储户表约束条件:各属性均非空;定期取款表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchar20非空3CName取款人姓名Varchar10非空4CMoney取款金额Float8非空5CDate取款日期Datetime8非空主键:nID;外键:nID;被参照表:定期存款表约束条件:各属性非空定期操作记录表序号字段名称字段描述数据类型长度属性1nID序号Int4PK2CNo帐号Varchar20非空3CName存取款人姓名Float8非空4CStyle操作类型Char4非空5CMo
8、ney存取款金额float8非空6CYear存储年份Int4非空7CDate存取款日期Datetime8非空主键:nID;外键:nID;被参照表:定期存款表,定期取款表约束条件:各属性非空4.系统功能设计银行管理系统银行账户系统管理理新建账户删除账户更改账户账户管理退出系统账户操作查看账户信息活期操作定期操作活期存取款查看历史记录定期存款定期取款查看历史记录数据库管理数据库备份数据库恢复账户登录,身份验证图4-1银行管理系统功能结构图5 .系统实现 系统开发环境软件:SQL Sever 2000,VC+操作系统:Window XP硬件:Pentiun 4 DDR 512MB 120G硬盘主要功
9、能的运行结果及代码数据库创建过程及其连接(1).进入企业管理器窗口,选择“新建SQL Sever注册”;(2).选中“数据库”文件夹,单击鼠标右键,选择“新建数据库”,输入数据库名Bank;(3).单击“确定”按钮,关闭对话框,数据库创建成功。完成“账户登录”的窗口ID控件类型成员变量说明IDC_EDIT1CStringm_strNo用户帐号IDC_EDIT1CEditm_ctrNoIDC_EDIT2CStringm_strPassword登录密码IDC_EDIT2CEditm_ctrPasswordIDC_EDIT3CStringm_strRePassword确认密码IDC_EDIT3CEd
10、itm_ctrRePasswordIDOK“OK”按钮IDCANCLE“Cancle”按钮(1) 添加记录集类CAccountSet类,基类为CRecordSet,数据表为account表;(2) 在CLoginDlg类中添加CAccontSet类的成员变量m_recordset;(3) 为“CBankApp”类添加为CString型的成员变量strNO;(4) IDOK控件的消息响应函数:void CLoginDlg:OnOK() UpdateData(TRUE);if (m_strNo = )MessageBox(Please Input the Account Number!);();r
11、eturn ;if (m_strPassword = )MessageBox(Please Input the Password!);();return ;if (m_strRePassword = )MessageBox(Please Input the Confirm Password!);();return ;if (m_strPassword != m_strRePassword)MessageBox(Two Passwords Are Differed!);m_strPassword = ;m_strRePassword = ;UpdateData(FALSE);();return
12、;CString strSQL;(select * from Account where CNo = %s,m_strNo);if (!(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(Open Database Filed!,Database Error,MB_OK);return ;if != m_strPassword)MessageBox(Password Error! Please Rewrite!);();m_strPassword = ;m_strRePassword = ;UpdateData(FALSE);();return ;CBankA
13、pp * ptheApp = (CBankApp *) AfxGetApp();ptheApp-strNo = m_strNo;CDialog:OnOK();(5) 在“CBankApp”类中的“InitInstance()”函数中添加登录对话框的对象:CLoginDlg dlg;if () != IDOK)return FALSE;完成“退出系统”的功能:在CMainFrame类中添加菜单的消息响应函数:void CMainFrame:OnExit() if (MessageBox(确定退出该系统,提示,MB_YESNO) = IDYES)PostQuitMessage(1);return
14、;完成“查询账户信息”的功能:ID控件类型成员变量说明IDC_DATETIMEPICKER1CTimem_tmDate开户日期IDC_EDIT1CStringm_strNo帐号IDC_EDIT2CStringm_strName姓名IDC_EDIT3CStringm_strAddress开户地址IDC_EDIT4CStringm_strBalance帐户余额IDC_LIST1CListCtrlm_ctrList列表控件IDOK“确定”按钮(1)添加初始化对话框OnInitDialog()响应函数,初始化对话框信息;(2)为CAccountInfo类添加void型的成员函数RefreshList(
15、),初始化列表信息。完成“数据库备份”的功能:(1) 在应用类里为master数据库添加名为master的数据源SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,SQL Server,DSN=master0SERVER=(local)0DATABASE=master0 Trusted_Connection=Yes);(2) 在MainFrame类里添加数据库备份的消息响应函数:void CMainFrame:OnDatabaseBackup() ak)|*.bak|,NULL);if () = IDOK)strBackup = ();Invalidate(FA
16、LSE);if (strBackup != )CDatabase database;if (!()if (_T(master)CString strSQL; (backup database bank to disk = %s,strBackup);(strSQL);();MessageBox(数据库备份成功!,提示,MB_OK);完成“数据库还原”的功能:(1)在MainFrame类里添加数据库还原的消息响应函数:void CMainFrame:OnDatabaseRecovery() ak)|*.bak|所有文件 |,NULL);if () = IDOK)strRecovery = ();
17、InvalidateRect(FALSE);if (strRecovery != )CDatabase database;if (!()if (_T(master)CString strSQL; (restore database bank from disk = %s,strRecovery);(strSQL);();MessageBox(数据库恢复成功!,提示,MB_OK);6.总结通过此次三个周的数据库与程序设计方法学联合课程设计的训练,初步了解了数据库的设计方法和VC如何访问数据库并进行数据库的后台编程。通过参照贾老师所给的例子,了解了很多VC方面的知识,比如如何访问打开数据库记录,如
18、何运用List Control控件等,这些知识都是第一次接触,经过多次运用之后,对它们都有所深入的了解,掌握如何运用它们。另外数据库设计方面,通过此次训练能力也得到了稍微的提高,这也是第一次独立设计数据库,所以一开始有好多设计不完善的地方,有几次都是不得不重新来过,后来经过罗老师的指点后,数据库表的设计才有所完善,同时也积累了些数据库设计的经验。此次设计的银行管理系统实现的功能还很有限,都是些基本的功能,还有很多改进完善的地方,比如办理信用卡的业务,此次只是办理的银行储蓄卡的业务;实现帐号密码变更的功能,查询列出同一用户多个帐户的功能。这些功能等以后再添加了,因为这次课程设计时间有限,所以完成的功能也就很有限,但感觉收获很大,很有成就感。参考文献1. 王珊 萨师煊. 数据库系统概论.高等教育出版社, 2008 (4) : 198 233专心-专注-专业