c课程设计公交卡管理系统论.doc_第1页
c课程设计公交卡管理系统论.doc_第2页
c课程设计公交卡管理系统论.doc_第3页
c课程设计公交卡管理系统论.doc_第4页
c课程设计公交卡管理系统论.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要公交卡信息管理是城市公交管理中的一部分,城市人口的增多,人流量增加,为了减少堵车,保护环境,很多人选择乘公交车出行。为了加快上车速度,减少站点停车时间,增加人们的出行效率,有了无人售票系统,并使用公交卡乘车。公交卡管理信息系统主要解决公交卡的信息管理问题,设计开发一个简单的公交卡管理系统,实现公交卡的注册、充值、挂失、激活和注销,用户信息的修改,操作员密码的修改和一些简单的查询功能。 在课程设计中,系统开发平台为Win7,程序设计语言采用C#,数据库采用SQLServer2005,程序运行平台为Win7。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在公交管理部门的管理中,解决实际问题。目 录一引言2二开发环境和开发工具22.1 C#语言简介22.2开发背景32.3开发环境3三公交卡管理信息系统的分析与设计43.1 系统需求分析43.2 系统总体设计43.2.1系统总体结构设计53.2.2系统功能模块设计5四数据库设计64.1数据库需求分析64.2 数据库概念结构设计64.3数据库逻辑结构设计9五系统详细设计与实现105.1 公共类设计与实现105.2数据访问层类设计与实现115.3界面设计与实现125.3.1 登陆界面设计与实现125.3.2主界面设计与实现155.4 测试19结束语28参考文献30一引言城市公交的“无人售票”系统经过多年的运作,在管理上已日趋完善,但新的课题又呈现在我们的面前。“零钞不够”,这是实行无人售票以来乘客与公交公司之间最大的矛盾。“无人售票”对车辆的承运速度和业务管理无疑是起很大的促进作用,但是由于“不设找赎”,对身上没有足够零钞的乘客来讲,肯定是增加了经济负担,这正是推行 “无人售票”之后,乘客最大意见之处。“无人售票”需要完善,另外随着经济环境的变化,取消月票,也是势在必行。非接触式IC卡技术的推出为实现城市公交自动收费提供了现代技术的支持。二开发环境和开发工具2.1 C#语言简介C#是美国微软公司推出的windows操作系统下的应用程序开发平台Visual S(简称VS.net)家族中的一员,C#是对C+进行了很大改进的一种完全面向对象的可视化程序设计语言。由于C#采用了类似于Visual Basic的较易使用的程序设计界面,从而成为了一种更加简单易学、功能强大的应用程序开发工具。C#是一种先进的、面向对象的语言,使用语言可以让开发人员快速的建立大范围的基于网络平台的应用,并且提供大量的开发工具和服务,帮助开发人员开发基于计算机和通信的各种应用。由于C#是一种面向对象的开发语言,所以C#可以大范围地适用于高层商业应用和底层系统的开发。即使是通过简单的C#构造,也可以让各种组件方便的转变为基于Web的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。2.2开发背景随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行信息化管理已成为现在管理方式的变革方向,而公交卡管理的全面自动化、信息化则也是其变革的方向之一。公交卡信息管理的好坏对公交车和乘客来说都至关重要,在很大程度上影响着人们的出行。因此,本文所研究的公交卡管理信息系统具有一定的使用价值和现实意义。一直以来,人们乘坐公交都使用现金,售票员找零。到现在使用无人售票系统,在人们的零钞不够等原因的情况下,就逐渐开始了使用公交卡乘车的方法,但公交卡管理工作量大、容易混乱,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。鉴于此,本文研究了一种基于关系型数据库的公交卡信息管理方案。利用SQL SERVER 2005数据库管理系统灵活性和开发效率高的特点,采用面向对象的方法,开发出公交卡管理信息系统。该系统所具有的优点:检索迅速、查找方便、可靠性高、存储量大、保密性好、信息利用率高、成本低等。该系统能够极大地提高公交卡信息管理的效率,节省管理公交卡所需要的人力、物力,降低公交公司的管理费用,为公交卡信息管理的信息化、正规化奠定了坚实的基础。2.3开发环境本文所采用的开发环境主要是基于数据库系统的SQL SERVER 2005和基于面向对象程序设计的C#。利用SQL SERVER 2005创建公交卡注册信息表,充值表,挂失表,注销表,激活表以及用连接数据库用的管理员信息表。利用C#中的控件按钮以及一些程序代码实现一些特定的功能,例如:用户注册、充值、挂失、查询用户信息等,极大的提高了公交卡信息管理的效率。这些功能都可以在此文研究的系统中简单的实现,当然对于一些复杂的操作还要再仔细的考虑!SQL SERVER 2005是我们大二学的内容,里面的查询语句是重点,而C#和 SQL SERVER 2005的结合就能够解决我们需要解决的问题。三公交卡管理信息系统的分析与设计 3.1 系统需求分析在公交卡管理系统中,管理员要为每个用户建立账户,并且录入用户信息,包括基本的姓名、性别、联系方式等,用户通过管理员注册后,会发放给用户一张公交卡,包括卡号和用户姓名和照片等基本信息。持有公交卡的用户,通过接触公交车上的刷卡机器,用户即可正常的乘坐公交车。当然,系统还提供强大的信息查询服务,查询可以通过多种方式实现,包括通过公交卡号查询和用户的身份证号码查询的方式。通过这些方式可以查询用户的基本信息和用户的充值消费情况。公交卡管理员通过该系统能够提供公交卡的挂失和注销服务,为丢失了公交卡的用户或者不愿再使用公交卡的用户提供更加优质的服务。3.2 系统总体设计3.2.1系统总体结构设计系统分三个模块:公交卡管理模块,用户管理模块和查询模块。系统功能总结构图如下:主界面公交卡管理用户管理综合查询3.2.2系统功能模块设计系统要实现的主要是公交卡的管理,而公交卡管理有以下功能:(1)公交卡注册:通过此功能,通过用户提供的信息,管理员录入注册信息即可完成公交卡的注册,用户即可正常使用公交卡;(2)公交卡的充值:用户可以完成对公交卡的充值,可以继续使用公交卡;(3)公交卡的注销:如果用户要换卡或者不想继续使用公交卡可以通过此项功能实现;(4)公交卡挂失:挂失丢失的公交卡,冻结公交卡上的余额,让丢失的公交卡不能再被其他人使用;(5)公交卡激活: 对挂失的公交卡进行激活,用户可以继续使用。公交卡管理功能结构图:公交卡管理注 册充 值挂 失激 活注 销用户管理功能结构图:用户管理查询用户信息修改用户信息四数据库设计 4.1数据库需求分析根据系统需求分析,要完成系统预定功能,需建立数据表:注册表、充值表、挂失表、激活表、注销表、管理员表等六张表。 4.2 数据库概念结构设计数据库E-R图设计如下:卡号卡状态卡编号卡余额卡类型公交卡用户卡编号身份证号姓名性别电话地址管理员账号姓名密码注册卡编号注册时间充值卡编号充值时间充值钱数挂失卡编号挂失时间激活卡编号激活时间注销卡编号注销时间 4.3数据库逻辑结构设计公交卡管理系统主要管理公交卡的信息,一个用户对应一个公交卡,故数据库设计中将公交卡与用户作为一个实体创建数据表。管理员信息表用户-卡信息/注册表充值表挂失表激活表注销表五系统详细设计与实现5.1 公共类设计与实现using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 公交卡管理系统 class user public static string userid; public static string username; public static string userpassword; /产生验证码函数 public static string GetVailidateCode(int n) string sourceCode = a, b, c, d, e, f, g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z, 2, 4, 3, 5, 6, 7, 8, 9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z ; Random r = new Random(); /string ValidateCode=; StringBuilder s = new StringBuilder(); for (int i = 0; i 0) /用户ID、密码正确 int i = string.Compare(textBox3.Text, label5.Text, true); if (i=0) /验证码正确 /登陆成功,保存用户信息,隐藏login窗体,打开mainform窗体 user.userid = textBox1.Text; user.userpassword = textBox2.Text; user.username=ds.Tablesyonghu.Rows0.ItemArray1.ToString(); this.Hide(); mainform f = new mainform(); f.Show(); else MessageBox.Show(验证码错误!); else /用户名、密码不一致 MessageBox.Show(请仔细核对用户ID和密码!); textBox2.Clear(); textBox1.Focus(); catch (Exception ex) MessageBox.Show(ex.Message); finally /点击退出,退出程序 private void button2_Click(object sender, EventArgs e) Application .Exit (); /鼠标点击验证码文本框时,文本框清空 private void textBox3_MouseClick(object sender, MouseEventArgs e) textBox3.Clear(); 5.3.2主界面设计与实现主界面设计:主界面代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 公交卡管理系统 public partial class mainform : Form public mainform() InitializeComponent(); /窗体居中 StartPosition = FormStartPosition.CenterScreen; private void mainform_Load(object sender, EventArgs e) timer1.Interval = 1000; timer1.Enabled = true; private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) /弹出退出确定窗口,确定时退出 if (MessageBox.Show(确定退出?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Application.Exit(); private void 注销ToolStripMenuItem1_Click(object sender, EventArgs e) /弹出注销确定窗口,确定时注销 if (MessageBox.Show(确定注销该账号?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) this.Close(); Login l = new Login(); l.Show(); private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) xiugaimima x = new xiugaimima(); x.Show(); private void 充值ToolStripMenuItem_Click(object sender, EventArgs e) chongzhi cz = new chongzhi(); cz.Show(); private void 挂失ToolStripMenuItem_Click(object sender, EventArgs e) guashi gs = new guashi(); gs.Show(); private void 激活ToolStripMenuItem_Click(object sender, EventArgs e) jihuo jh = new jihuo(); jh.Show(); private void 注册ToolStripMenuItem_Click(object sender, EventArgs e) regedit rd = new regedit(); rd.Show(); private void 注销ToolStripMenuItem_Click(object sender, EventArgs e) zhuxiao zx = new zhuxiao(); zx.Show(); private void timer1_Tick(object sender, EventArgs e) toolStripStatusLabel3.Text = DateTime.Now.ToString(); private void 统计查询ToolStripMenuItem_Click(object sender, EventArgs e) chaxun cx = new chaxun(); cx.Show(); private void 查询用户ToolStripMenuItem1_Click_1(object sender, EventArgs e) userXC u = new userXC(); u.Show(); private void 修改用户ToolStripMenuItem_Click(object sender, EventArgs e) updateUser ud = new updateUser(); ud.Show(); 5.4 测试修改密码功能:注册功能:当所注册卡号与已有卡号重复时,提示卡号重复:当注册时身份证号不满足1518位数字的要求时,提示充值界面:输入卡号查询用户余额,点击充值按钮,充值成功冲值成功后自动刷新当前用户余额,挂失界面:挂失后激活界面:若不挂失,不能激活注销界面:修改用户信息界面:选中一行,下面标签中显示当前选中行的详细可修改信息修改标签内容后,自动更新用户信息表中数据,查询界面:基本信息查询,可以按公交卡号和身份证号查询充值记录查询,也可以按公交卡号和身份证号查询,点击确定按钮界面关闭分类查询界面:充值统计可以统计每个注册过的卡号的充值总钱数,并按充值总钱数降序排列,为根据每个卡当月充值总钱数超过一定量后卡类型进行自动升级做准备。结束语课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容在本次设计的全过程中,我对所学的知识有了一个比较系统的认识和理解。涉及了各方面的知识,大大扩展了我的知识面,同时是我学会了如何使用所学的知识去解决一些实际的问题。 在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论