




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Web程序设计课程设计报告设计题目:银行储蓄系统专业班级:信息管理与信息系统132班姓名:谭彦婷学号:8日期I:2015年6月26日目录1.概论- 1 -1.1编写目的- 1 -1.2管理信息系统要求- 1 -1.3参考文献- 1 -2.问题定义32.1实现目标:32.2系统功能32.3主要任务43.可行性研究54.需求分析64.1功能需求64.2具体功能需求:65.概要设计75.1将数据库的概念模型转换为关系模型75.2各个功能模块的E-R图76.详细设计96.1数据库逻辑结构设计96.2前台程序与数据库交互数据流图106.3建立数据库逻辑关系图127.编程137.1功能选择137.2管理员
2、登录界面147.3用户登录界面157.4管理员功能界面187.5用户功能界面298.测试339.运行和维护4110.附录4310.1数据库建库语句4310.2总结与分析45Web程序设计银行储蓄系统1. 概论1.1 编写目的学生根据所学的数据库原理与.NET程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库管理系统的目的。1.2 管理信息系统要求从开始的系统需求分析到最后的软件测试,都要有详细的计划,设计文档应按照软件工程的要求书写。需要提交相关设计文档及项目源码。系统中的数据表设计应合理
3、、高效,尽量减少数据冗余。软件界面要友好、安全性高。软件要易于维护、方便升级。1.3 参考文献C#程序设计实用教程(第二版),谷涛 主编,中国邮电出版社,2013年,标准书号:ISBN 987-115-30104-8;数据库系统原理,陆慧娟编著,中国电力出版社,2011年,标准书号:978-7-5083-7811-4.相关技术说明1、前台开发语言c#C#(C Sharp)作为微软公司专门为.NET Framework 量身订做的编程语言,在Web系统、Web Service开发、桌面应用、类库及COM开发等多个领域,都显示了强大的功能。2、数据库SQL ServerSQL Server 201
4、2 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。SQL Server 2012 允许使用 Microsoft .NET 和visual studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据特点: 可信任的
5、使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。 高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。2. 问题定义2.1 实现目标:该系统实现银行的活期存取款业务。整个系统由前台程序和数据库构成。前台程序面向银行柜员和用户。银行柜员通过管理账户登录可以进行查询,新建用户账户或增加银行和进行存取款操作。用户通过账户和密码登录可以查询登录账户的余额和交易明细,也可以进行取款操作。但不可以进行存款操作。使用者通过前台程序向数据库发送信息,获取数据库信息或更改数据库信息。2.2 系统功能
6、前台程序功能表模块功能说明登录主菜单选择管理员或用户管理员模块信息查询创建用户创建账户增加银行存取款用户模块查询功能查询余额或交易明细取款功能数据库功能表模块实现说明存取款触发器取款时检验余额,并按利率刷新余额,更新账户余额,增加交易记录查询交易视图显示详细信息查询视图为方便查询2.3 主要任务用户有以下需求:建立用户信息档案;建立账户;完成日常交易信息检索、进行存/取款等工作,必须进行身份验证。具体要求如下1、 存折信息数据包括:账号,用户,开户日期,开户银行,账户密码,账户余额等。2、 交易明细数据包括:交易时间,交易类型,交易金额,交易账户等;3、 检索系统根据银行、账号、用户等进行查询
7、;4、 取款 输入账号和密码后,能根据密码判断用户是否合法,能判断取款金额是否超过余额,如果一切合法,对交易账户进行更新并对增加交易记录。5、 存款 在登录以后输入金额便可以更新账户余额和增加交易记录。3. 可行性研究通过在经济可行性,社会可行性,技术可行性等方面研究,本系统数据库采用SQLSrver,C#语言开发系统。由于数据库无法进行定时更新操作,改为在每一次存取款 前计算利息并更新余额,再进行存取款操作。 4. 需求分析4.1 功能需求用户管理模块要求能增加新用户,删除无效用户,修改用户操作。账户管理模块能够定期计算利息,按照活期和定期的利率不同计算,一个用户可以有多个账户,一个账户只能
8、有一个用户。能够按照存取款不同操作更新余额,余额限定不能小于零。也可以进行增加用户或删除用户。交易管理,取款操作也要求取款金额不能大于账户余额,定期存款取款扣除5%余额。查询时可以查询到交易明细,包括交易时间,金额,操作类型,账户,以及用户名。4.2 具体功能需求:1、 登录主菜单:选择管理员或者用户并用账户及密码或管理员及密码登录;2、 开户功能:管理员可以新建用户,并未新建用户开户;3、 存取款功能:管理员可以为账户进行交易,也需要验证账户密码。管理员也可以用这个功能为开户的账户设置初始金额;4、 管理员查询功能:系统为管理员提供多种查询方式,通过账号查询,通过用户查询,通过银行查询单个或
9、多个账户的信息。也可以查询多个或单个账户的交易记录;5、 用户查询功能:用户可以查询登录账户信息和交易明细; 6、 用户取款功能:对登录账户进行取款操作。5. 概要设计5.1 将数据库的概念模型转换为关系模型用户(用户名,用户号,账号,用户所在地)账户(账号,开户日期,开户行号,余额,账户密码,账户类型)支行(支行号,支行所在地)交易(交易号,账号,交易时间,交易银行)省份(省份号,省份名称)城市(省份号,城市号,城市名称)5.2 各个功能模块的E-R图1、 用户E-R图用户账号用户所在地用户名用户号2、 账户E-R图账户类型账户账号用户号开户行号余额账户密码3、 支行E-R图支行支行号支行所
10、在地suozaidi4、 交易E-R图交易支行号交易时间号账号号交易号号5、 省份E-R图省份省份名称号省份号号6、 城市E-R图城市城市名称号城市号号省份号号6. 详细设计6.1 数据库逻辑结构设计根据设计好的各实体E-R图创建数据库的逻辑结构,本系统采用了送了SQL Server 2012数据库,数据库名称为银行储蓄系统数据库银行储蓄系统包含以下6个表:用户表用户、省份表省份、城市表城市、账户表账户、支行表支行、交易表交易。数据库各表的结构如下:1、 用户表用来储存用户信息,逻辑结构如下表所示:字段名属性是否主键描述用户号Char(7)是用户名Nvachar(50)否账号Char(10)否
11、(外键)用户所在地Char(2)否(外键)2、 省份表逻辑结构表:字段名属性是否主键描述省份号Char(2)是省份名称Nvarchar(20)否3、 城市表逻辑结构表:字段名属性是否主键描述城市号Char(2)是城市名称Nvachar(20)否省份号Char(2)否(外键)4、 账户表逻辑结构表:字段名属性是否主键描述账号Char(10)是开户日期Date否开户行号Char(6)否(外键)余额numeric(13,3)否账户密码Char(6)否账户类型Char(4)否约束为定期/活期5、 支行表逻辑结构表:字段名属性是否主键描述支行号Char(6)是支行所在地Char(2)否(外键)支行名Nv
12、achar(50)否6、 交易表逻辑结构表:字段名属性是否主键描述交易号Char(6)是交易时间Data否账号Char(10)否(外键)交易金额numeric(13,3)否交易类型Char(4)否约束为存款/取款交易银行Char(2)否(外键)6.2 前台程序与数据库交互数据流图根据不同需求,设计不同功能,并为这些功能设计不同的数据流图。1、 管理员功能模块2、 用户功能模块3、 管理员登录4、 用户登录城市名称城市号省份号省份省份号6.3 建立数据库逻辑关系图交易类型交易时间交易金额账号支行号交易号用户号用户名账号用户交易支行号支行名称城市号账户密码开户日期账号支行号用户号余额账户类型账户支
13、行城市省份7. 编程7.1 功能选择1、 界面设计2、 功能源码private void button1_Click(object sender, EventArgs e)/单击管理员的事件-隐藏主窗口并打开Formgl this.Hide (); Formgl f= new Formgl (); f.ShowDialog ();private void button2_Click(object sender, EventArgs e)/单击用户的事件-隐藏主窗口并打开Formyh this.Hide (); Formyh fy = new Formyh (); fy.Show ();priv
14、ate void label3_Click(object sender, EventArgs e)/单击关闭,结束程序 System.Environment.Exit(0);7.2 管理员登录界面1、 登录界面2、 功能源码 private void button1_Click(object sender, EventArgs e)/单击登录事件 if (textBox1.Text = )/检验输入是否为空 MessageBox.Show(账户输入不能为空); textBox1.Focus (); return; else if (textBox2.Text = ) MessageBox.Sh
15、ow(密码输入不能为空); textBox2.Focus (); return; else if (textBox1.Text = & textBox2.Text = ) Formgl2 f = new Formgl2 (); f.Show (); this.Hide (); return; /登录成功 else MessageBox.Show(账户或密码错误); return; private void button2_Click(object sender, EventArgs e)/单击退出,返回上一层 this. Close (); Formain f = new Formain ()
16、; f.Show (); private void label3_Click(object sender, EventArgs e)/单击关闭,退出程序 System.Environment.Exit(0); 7.3 用户登录界面1、 登录界面2、 功能源码 private void button1_Click(object sender, EventArgs e)/单击登录事件 SqlCommand selectCMD;/连接数据库 SqlDataReader sqlr; if (this.tetuser.Text = )/检查输入是否为空 MessageBox.Show(账户不能为空);
17、tetuser.Focus (); return; else if (this.tetpwd.Text = ) MessageBox.Show(密码不能为空); tetpwd.Focus(); return; else Program.m = tetuser.Text; SqlConnection myCon = new SqlConnection(); myCon.ConnectionString = uid=sa;pwd=;server=.;database=银行储蓄系统;/链接数据库 if (myCon.State = ConnectionState.Closed) myCon.Open
18、(); selectCMD = new SqlCommand(select * from 账户 where 账号=no, myCon);/装配 selectCMD.Parameters.AddWithValue(no, tetuser.Text); sqlr = selectCMD.ExecuteReader (); while (sqlr.Read () user = sqlr账号.ToString().Trim();/赋值 pwd = sqlr账户密码.ToString().Trim(); if (user = tetuser.Text & pwd = tetpwd.Text) sqlr.
19、Close();/数据库断开连接 myCon.Dispose(); this.Hide();/隐藏用户登录界面 Formyh2 f = new Formyh2();/打开用户界面 f.ShowDialog(); return; else MessageBox.Show(用户名或密码输入不正确); return; private void button2_Click(object sender, EventArgs e)/单击退出事件-返回上一层 this.Close(); Formain f = new Formain(); f.Show(); private void label3_Clic
20、k(object sender, EventArgs e)/单击关闭,退出程序 System.Environment.Exit(0); 7.4 管理员功能界面1、 功能界面2、功能源码 private void button1_Click(object sender, EventArgs e)/单击退出事件-返回上一层 this.Close(); Formgl f = new Formgl(); f.Show(); private void button2_Click(object sender, EventArgs e)/点击查询事件 int flag = 0; string sqlstri
21、ng = ; if (textBox1.Text.Trim() = )/检查非空 if (comboBox1.SelectedIndex = 0) sqlstring = select * from view_zh; flag = 1; if (comboBox1.SelectedIndex = 1) sqlstring = select * from view_yh; flag = 1; if (comboBox1.SelectedIndex = 2) sqlstring = select * from v_yinh; flag = 1; if (comboBox1.SelectedInde
22、x = 3) sqlstring = select * from view_jymx; flag = 1; else if (comboBox1.SelectedIndex = 0) sqlstring = select * from view_zh where 账号= + textBox1.Text; flag = 1; if (comboBox1.SelectedIndex = 1) sqlstring = select * from view_yh where Num= + textBox1.Text; flag = 1; if (comboBox1.SelectedIndex = 2)
23、 sqlstring = select * from v_yinh where 银行代号= + textBox1.Text; flag = 1; if (comboBox1.SelectedIndex = 3) sqlstring = select * from view_jymx where 账号= + textBox1.Text; flag = 1; if (flag = 1)/链接数据库,并向数据库提交查询语句 DataSet datas = new DataSet(); SqlConnection sqlcon = new SqlConnection(server=.;uid=sa;P
24、assword=;database=银行储蓄系统); if (sqlcon.State = ConnectionState.Closed) sqlcon.Open(); SqlDataAdapter sqla = new SqlDataAdapter(sqlstring, sqlcon); datas.Clear(); sqla.Fill(datas); dataGridView1.DataSource = datas.Tables0;/显示到dataGridView1里 sqlcon.Close(); private void button3_Click(object sender, Eve
25、ntArgs e)/新建账户 string unum=; string znum=; string ynum=; string type = ; string pwd=; string sqlstring; int go; string sqlnum = ; DataSet datas; SqlCommand sqlcom;/连接数据库 SqlDataReader sqlr; SqlConnection myCon = new SqlConnection(server=.;uid=sa;Password=;database=银行储蓄系统); if (textBox2.Text = |textB
26、ox4.Text=|textBox5.Text=|textBox6.Text=) MessageBox.Show(必须输入必要项); go = 0; else sqlstring = select * from 账户 where 账号 = + textBox4.Text + ; go = 1; znum = textBox4.Text.Trim(); unum = textBox2.Text; ynum = textBox5.Text; if (comboBox2.SelectedIndex = 0) type = 定期; if (comboBox2.SelectedIndex = 1) ty
27、pe = 活期; /money = Convert.ToDouble(textBox2.Text);/将string类型强制转换为double pwd = textBox6.Text.Trim(); datas = new DataSet(); /myCom = new SqlConnection(server=.;uid=sa;Password=;database=银行储蓄系统); if (myCon.State = ConnectionState.Closed) myCon.Open(); sqlcom = new SqlCommand(select * from 账户 where 账号=
28、no, myCon);/装配 sqlcom.Parameters.AddWithValue(no, textBox4.Text); sqlr = sqlcom.ExecuteReader(); while (sqlr.Read() sqlnum = sqlr账号.ToString().Trim();/赋值 if (sqlnum = textBox4.Text & go = 1) sqlr.Close(); sqlcom.Dispose(); MessageBox.Show(此账户号的账户已存在!, 提示); else if (go = 1) sqlr.Close(); string inser
29、t = insert into 账户(账号,用户号,开户行号,账户密码,账户类型) values(+znum+,+unum+,+ynum+,+pwd+,+type+); SqlCommand sqlcom1 = new SqlCommand(insert, myCon);/装配 int count = sqlcom1.ExecuteNonQuery(); if (count 0) MessageBox.Show(新建成功!, 提示); else MessageBox.Show(新建失败!, 提示); return; private void button4_Click(object sende
30、r, EventArgs e)/新建用户 string unum; string uname; string ad; string sqlstring; int go; string sqlnum=; DataSet datas; SqlCommand sqlcom;/连接数据库 SqlDataReader sqlr; SqlConnection myCon = new SqlConnection(server=.;uid=sa;Password=;database=银行储蓄系统); if (textBox8.Text = ) MessageBox.Show(必须输入用户号); go = 0;
31、 else sqlstring = select * from 用户 where 用户号 = + textBox8.Text + ; go = 1; unum = textBox8.Text.Trim(); uname = textBox9.Text; ad = textBox10.Text; datas = new DataSet(); /myCom = new SqlConnection(server=.;uid=sa;Password=;database=银行储蓄系统); if (myCon.State = ConnectionState.Closed) myCon.Open(); sq
32、lcom = new SqlCommand(select * from 用户 where 用户号=no, myCon);/装配 sqlcom.Parameters.AddWithValue(no, textBox8.Text); sqlr = sqlcom.ExecuteReader(); while (sqlr.Read() sqlnum = sqlr用户号.ToString().Trim();/赋值 if (sqlnum = textBox8.Text & go = 1) sqlr.Close(); sqlcom.Dispose(); MessageBox.Show(此用户号的用户已存在!
33、, 提示); else if (go = 1) sqlr.Close(); string insert = insert into 用户(用户号,用户名,用户所在地) values( + unum + , + uname + , + ad + ); SqlCommand sqlcom1 = new SqlCommand(insert, myCon);/装配 int count = sqlcom1.ExecuteNonQuery(); if (count 0) MessageBox.Show(新建成功!, 提示); else MessageBox.Show(新建失败!, 提示); return;
34、 private void button5_Click(object sender, EventArgs e)/增加银行 string ynum; string yname; string c; string sqlstring; int go; string sqlnum = ; DataSet datas; SqlCommand sqlcom;/连接数据库 SqlDataReader sqlr; SqlConnection myCon = new SqlConnection(server=.;uid=sa;Password=;database=银行储蓄系统); if (textBox11.
35、Text = ) MessageBox.Show(必须输入用户号); go = 0; else sqlstring = select * from 支行 where 支行号 = + textBox11.Text + ; go = 1; ynum = textBox11.Text.Trim(); yname = textBox12.Text; c=textBox3.Text; datas = new DataSet(); if (myCon.State = ConnectionState.Closed) myCon.Open(); sqlcom = new SqlCommand(select * from 支行 where 支行号=no, myCon);/装配 sqlcom.Parameters.AddWithValue(no, textBox11.Text); sqlr = sqlcom.ExecuteReader(); while (sqlr.Read() sqlnum = sqlr支行号.ToString().Trim();/赋值 if (sqlnum = textBox11.Text & go = 1) sqlr.Close(); sqlcom.Dispose(); MessageBox.Show(此银行号的银行已存在!, 提示); else if (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国红高粱二曲酒数据监测研究报告
- 2025至2030年中国直角塑钢窗数据监测研究报告
- 2025年极限运动项目建议书
- 石灰灰合同范本
- 新法 劳动合同范本
- 连锁店铺 合同范本
- 修蹄服务合同范本
- 化学气相沉积设备进展考核试卷
- 农产品批发与农业产业化考核试卷
- 2025年自返式取样器项目发展计划
- 《成功之路+进步篇+1》第1课课件
- 城轨站务班组管理
- 《燃煤火力发电企业设备检修导则》
- 专题 勾股定理与全等三角形的综合运用( 基础题&提升题&压轴题 )(解析版)
- (高清版)TDT 1013-2013 土地整治项目验收规程
- 内蒙古机电职业技术学院单独招生(机电类)专业知识考试题库(必练500题)
- 电梯井道作业安全规程培训
- 人教版三年级上册数学应用题100题及答案
- 大数据在人力资源管理中的应用案例
- 福州地铁公司招聘考试题目
- 2024-2025年美的集团财务报表分析
评论
0/150
提交评论