c课程设计公交卡管理系统论文_第1页
c课程设计公交卡管理系统论文_第2页
c课程设计公交卡管理系统论文_第3页
c课程设计公交卡管理系统论文_第4页
c课程设计公交卡管理系统论文_第5页
免费预览已结束,剩余28页可下载查看

付费下载

下载本文档

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

文档简介

1、摘要公交卡信息管理是城市公交管理中的一部分,城市人口的增 多,人流量增加,为了减少堵车,保护环境,很多人选择乘公交 车出行。为了加快上车速度,减少站点停车时间,增加人们的出 行效率,有了无人售票系统,并使用公交卡乘车。公交卡管理信 息系统主要解决公交卡的信息管理问题,设计开发一个简单的公 交卡管理系统,实现公交卡的注册、充值、挂失、激活和注销, 用户信息的修改,操作员密码的修改和一些简单的查询功能。在课程设计中,系统开发平台为Win7,程序设计语言采用 C#,数据库釆用SQL Server 2005,程序运行平台为Win7。程序 通过调试运行,初步实现了设计标,并且经过适当完善后,将 可以应用

2、在公交管理部门的管理中,解决实际问题。 引言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引言城市公交

3、的“无人售票”系统经过多年的运作,在管理上已 日趋完善,但新的课题乂呈现在我们的面前。“零钞不够”,这是 实行无人售票以来乘客与公交公司之间最大的矛盾。“无人售票” 对车辆的承运速度和业务管理无疑是起很大的促进作用,但是山 于“不设找赎”,对身上没有足够零钞的乘客来讲,肯定是增加了 经济负担,这正是推行“无人售票”之后,乘客最大意见之处。“无人售票”需要完善,另外随着经济环境的变化,取消月票, 也是势在必行。非接触式IC卡技术的推出为实现城市公交自动收 费提供了现代技术的支持。二. 开发环境和开发工具2.1 C#语言简介C#是美国微软公司推出的windows操作系统下的应用程序 开发平台Vis

4、ual S (简称VS.net)家族中的一员,C#是对 C+进行了很大改进的一种完全面向对象的可视化程序设计语 言。由于C#采用了类似于Visual Basic的较易使用的程序设计界 面,从而成为了一种更加简单易学、功能强大的应用程序开发工 具。C#是一种先进的、面向对象的语言,使用C#语言可以让开 发人员快速的建立大范圉的基于MS网络平台的应用,并且提供 大量的开发工具和服务,帮助开发人员开发基于计算机和通信的 各种应用。由于C#是一种面向对象的开发语言,所以C#可以大 范圉地适用于高层商业应用和底层系统的开发。即使是通过简单 的C#构造,也可以让各种组件方便的转变为基于Web的应用, 并且

5、能够通过Internet被各种系统或是其他开发语言所开发的应 用调用。2. 2开发背景随着科学技术的不断发展,讣算机科学日渐成熟,其强大的 功能已为人们所深刻认识,它已进入人类社会的各个领域并发挥 着越来越重要的作用。采用计算机进行信息化管理已成为现在管 理方式的变革方向,而公交卡管理的全面自动化、信息化则也是 其变革的方向之一。公交卡信息管理的好坏对公交车和乘客来说 都至关重要,在很大程度上影响着人们的岀行。因此,本文所研 究的公交卡管理信息系统具有一定的使用价值和现实意义。一直以来,人们乘坐公交都使用现金,售票员找零。到现在 使用无人售票系统,在人们的零钞不够等原因的情况下,就逐渐 开始了

6、使用公交卡乘车的方法,但公交卡管理工作量大、容易混 乱,另外时间一长,将产生大量的文件和数据,这对于查找、更 新和维护都带来了不少的困难。鉴于此,本文研究了一种基于关 系型数据库的公交卡信息管理方案。利用SQL SERVER 2005数 据库管理系统灵活性和开发效率高的特点,采用面向对象的C# 方法,开发出公交卡管理信息系统。该系统所具有的优点:检索 迅速、查找方便、可靠性高、存储量大、保密性好、信息利用率 高、成本低等。该系统能够极大地提高公交卡信息管理的效率, 节省管理公交卡所需要的人力、物力,降低公交公司的管理费用, 为公交卡信息管理的信息化、正规化奠定了坚实的基础。2. 3开发环境本文

7、所采用的开发环境主要是基于数据库系统的SQLSERVER 2005和基于面向对象程序设计的C#°利用SQL SERVER 2005创建公交卡注册信息表,充值表,挂失表,注销表,激活表 以及用C #连接数据库用的管理员信息表。利用C#中的控件按钮 以及一些程序代码实现一些特定的功能,例如:用户注册、充值、 挂失、查询用户信息等,极大的提高了公交卡信息管理的效率。 这些功能都可以在此文研究的系统中简单的实现,当然对于一些 复杂的操作还要再仔细的考虑! SQL SERVER 2005是我们大二学 的内容,里面的查询语句是重点,而C#和SQL SERVER 2005的 结合就能够解决我们需要

8、解决的问题。三. 公交卡管理信息系统的分析与设计3.1系统需求分析在公交卡管理系统中,管理员要为每个用户建立账户,并且 录入用户信息,包括基本的姓名、性别、联系方式等,用户通过 管理员注册后,会发放给用户一张公交卡,包括卡号和用户姓名 和照片等基本信息。持有公交卡的用户,通过接触公交车上的刷 卡机器,用户即可正常的乘坐公交车。当然,系统还提供强大的 信息查询服务,查询可以通过多种方式实现,包括通过公交卡号 查询和用户的身份证号码查询的方式。通过这些方式可以查询用 户的基本信息和用户的充值消费情况。公交卡管理员通过该系统 能够提供公交卡的挂失和注销服务,为丢失了公交卡的用户或者 不愿再使用公交卡

9、的用户提供更加优质的服务。3. 2系统总体设计3. 2. 1系统总体结构设计系统分三个模块:公交卡管理模块,用户管理模块和查询模 块。系统功能总结构图如下:3. 2. 2系统功能模块设计系统要实现的主要是公交卡的管理,而公交卡管理有以下功 能:(1)公交卡注册:通过此功能,通过用户提供的信息,管 理员录入注册信息即可完成公交卡的注册,用户即可正常使用公 交卡;(2)公交卡的充值:用户可以完成对公交卡的充值,可以 继续使用公交卡;(3)公交卡的注销:如果用户要换卡或者不想继续使用公 交卡可以通过此项功能实现;(4)公交卡挂失:挂失丢失的公交卡,冻结公交卡上的余 额,让丢失的公交卡不能再被其他人使

10、用;(5)公交卡激活:对挂失的公交卡进行激活,用户可以继续 使用。公交卡管理功能结构图:公交卡管理注 册充 值挂 失激活注 销用户管理功能结构图:修改用P信息查询用户信息四. 数据库设计4. 1数据库需求分析根据系统需求分析,要完成系统预定功能,需建立数据表:注册表、充值表、挂失表、激活表、注销表、管理员表等六张表。4. 2数据库概念结构设计数据库&R图设计如下:注册卡编号注册时间注销注销时间列名数据类型int卡号 身份证E 卡类型 注册时间 真实姓名 电话 地址 性别 卡状态 卡金额varchar(lO) varchar(25) varchar(lO) datetime varcha

11、r(lO) varchar(20) varchar(5O) varchar(2) varchar(lO) float卡编号4. 3数据库逻辑结构设计公交卡管理系统主要管理公交卡的信息,一个用户对应一个 公交卡,故数据库设计中将公交卡与用户作为一个实体创建数据 表。管理员信息表z W - dbo.manager列名数据类型varchar(lO)姓名varchar(lO)密码varchar(lO)用户卡信息/注册表充值表列名數据类型允诈空intB充值时间 充值钱数datetime moneynB挂失表列名数提类型允许空into挂失时间datetime0激活表列名数据类型允许空nrr=x=s 函心曰

12、into激若时间datetimeo注销表列名数据类型允许空int0注誚时间datetime0B五. 系统详细设计与实现5.1公共类设计与实现using System;using Systcni.Collections.Gcneric;using System.Linq;using System.Text;namespace公交卡管理系统class user public static string userid;public static string username; public static string userpassword;产生验证码函数public static string

13、 GetVailidateCode(int n)strings sourceCode = HaH, Hb McM, udH, Me f,“qT,r;sTTUyVTWTXTYTZ” ;Random r = new Randoni();/string ValidateCode=,n,;StringBuildcr s = new SlringBuildcr(): for (int i = 0; i < n; i+)(s.Append(sourceCoder.Next(sourceCode.Length 1);return s.ToStringO;5. 2数据访问层类设计与实现using Sys

14、tem;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Windows.Forms: namespace公交卡管理系统class dbpublic static string sqlconn = HData Sourcc=.SQLEXPRESS; Initial Catalog=MyBusTicket:Integratcd Security=TrueM;public static SqlC

15、onnection conn = new SqlConnection(sqlconn);public static void bindgrid(DataGridView dg, string sqlstr)SqlDataAdapter adp = new SqlDataAdapter(sqlstr. conn); DataSet ds = new DataSetO;adp.FilI(ds, Hyongh);dg.DataSource = ds.Tables,yonghu,'.DcfaultView;5. 3界面设计与实现5. 3.1登陆界面设计与实现登陆界面设计:登陆界而代码:usin

16、g System;using Systcni.Collections.Gcneric; using System.ComponentModel; using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Systeni.Data.SqlClient;namespace公交卡管理系统public partial class Login : Formpublic Login()InitializeComponentO;窗体居中 StartPo

17、sition = FormStartPosition.CenterScrecn;调用 user 类中 GetV ailidateCode()加载验 iiE 码private void Login_Load(object sender, EventArgs e)label5.Text = user.GetVailidateCode(4);)private void buttonl_Click(object sender, EventArgs e)trystring sqlstr = "select * from manager where 账号,+ textBoxl.Text + ma

18、nd 密码屮 + textBox2.Text +;SqlDataAdapter adp = new SqlDataAdapter(sqlstr, db.conn);DataSet ds = new DataSetO;adp.Fill(ds, Myonghun);if (textBoxl.Text = ,M,)MessagcBoxShow(”用户名不能为空! H); textBoxl.Focus();elseif (ds.TablesnyonghuM.Rows.Count > 0)/用户ID、密码正确int i = string.Compare(textBox3.Text, label5

19、Text, true);if (i=0)/验证码正确登陆成功,保存用户信息,隐藏login窗 体,打开mainform窗体user.userid = textBoxl.Text; user.userpassword = textBox2.Text; user.username=ds.TablesMyonghuMJ.Rows0.ItemArray l.ToString(); this.Hide();mainform f = new mainformO; f.Show();elseMcssagcBox.Show(”验证码错误! M);else/用户划、密码不一致McssagcBox.Show(”请

20、仔细核对用户ID和密码! ”);textBox2.Clear();textBoxl.Focus();catch (Exception ex)MessageBox.Show(ex.Message);finally点击退出,退岀程序private void button2_Click(object sender. EvcntArgs e)Application .Exit ();)/鼠标点击验证码文本框时,文本框淸空private void textBox3_MouseClick(object sender, MouseEventArgstextBox3.Clear();5. 3. 2主界面设计与

21、实现主界面设计:主界面代码: using System;using Systcm.Collections.Gcneric;using Systcm.ComponentModel;using System.Data;using System.Drawing;using Systeni.Linq;using System.Text;using System.Windows.Forms;namespace公交卡管理系统public partial class mainform : Formpublic mainformOInitializeComponentO;窗体居中StartPosition =

22、 FormStartPosition.CenterScreen;private void niainform_Load(object sender, EvcntArgs e)timer 1. Interval = 1000;timer 1 .Enabled = true;private void 退出ToolStripMenuItem_Click(object sender,EventArgs e)/弹出退出确龙窗口,确定时退出if (MessagcBox.ShowC确定退出?”提示”,MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Di

23、alogResult.Yes)Application.Exit();private void 注销ToolStripMenuIteml_Click(object sender.EventArgs e)/弹出注销确疋窗口,确定时注销if (MessageBox.Show("确定注销该账号? ”,"提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) (this.Close();Login 1 = new Login();l.Show();private void 修改密WT

24、oolStripMenuItem_Click(object sender,EventArgs e)xiugaimima x = new xiugaimima(); x.Show();private void 充值TooIStripMenuIteni_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();pr

25、ivate 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.ShowQ;

26、)private void timerl_Tick(object sender, EventArgs e)toolStripStatusLabeI3.Text = DateTime.Now.ToStringO;private void 统计査询ToolStripMenuItem_Click(object sender.EventArgs e)chaxun ex = new chaxun();cx.Show();private void 査询用户ToolStripMenuIteml_Click_l (object sender,EventArgs e)userXC u = new userXCO

27、;u.Show();)private void 修改用户ToolStripMenuItem_Click(object sender.EventArgs e)updateUser ud = new updateUser(); ud.Show();5. 4测试修改密码功能:注册功能:当所注册卡号与已有卡号重复时,提示卡号重复:当注册时身份证号不满足15-18位数字的要求时,提示充值界而:输入卡号査询用户余额,点击充值按钮,充值成功公交卡充隹卡号0003查询冲值成功后自动刷新当前用户余额,挂失界面:定号0003自份证号222222222222222222挂失时同2013/6/4 19:31:25挂失

28、卡号为0002的公交卡己挂矢C-MA挂失后激活界面:注销界面:卡号0003222222222222222222卡号为0003的公交卡己注销注销身份证号:013/6/4 19:33:56心公交卡注铠修改用户信息界面:选中一行,下面标签中显示当前选中行的详细可修改信息修改标签内容后,自动更新用户信息表中数据,<侈改用戶惑厶查询界面:基本信息查询,可以按公交卡号和身份证号查询充值记录查询,也可以按公交卡号和身份证号查询,点击确定按钮界面关闭分类查询界面:充值统计可以统计每个注册过的卡号的充值总钱数,并按充值总 钱数降序排列,为根据每个卡当月充值总钱数超过一定量后卡类 型进行自动升级做准备。结束语课程设计对学生而言是其对所学课程内容掌握情况的一次自 我验证,从而有着极其重要的意义。通过课程设讣能提高学生对 所学知识的综合应用能力,能全面检查并掌握所学内容在本次设 计的全过程中,我对所学的知识有了一个比较系统的认识和理解。 涉及了各方面的知识,大大扩展了我的知识面,同时是我学会了 如何使用所学的知识去解决一些实际的问题。在设计中我深知自 己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去, 总会出现这样或那样的问题,不是理论没有掌握好,而是光知道 书本上的知识是远远不够的,一定要把理论知识和实践结合起来。 把学到的知识应用到时间中去,多

温馨提示

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

评论

0/150

提交评论