食堂饭卡管理系统_第1页
食堂饭卡管理系统_第2页
食堂饭卡管理系统_第3页
食堂饭卡管理系统_第4页
食堂饭卡管理系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、数学与计算机学院课程设计说明书课 程 名 称: 软件工程课程设计 课 程 代 码: 8404131 题 目: 食堂饭卡管理系统 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 5 月 14 日完 成 时 间: 2012 年 5 月 30 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日目录引言11 需求分析11.1数据库需求分析11.2用户需求21.3系统功能需求21.4数据描述31.5数据库描述31.6各个模块之间的E-R图41.7数据采集42

2、概要设计42.1系统运行环境42.2总体设计42.2.1.处理流程42.2.2.系统总体结构和模块设计。52.3接口设计53 详细设计63.1 程序设计说明63.2 注册界面代码设计73.3 充值界面代码分析83.4 消费界面代码分析103.5 挂失界面代码分析133.6 注销界面代码分析154 模块分析164.1 初始化模块164.2 跳转界面164.3 饭卡注册界面194.4 饭卡充值界面194.5 饭卡消费界面204.6 饭卡挂失界面214.7 饭卡注销界面225 系统测试23总 结23致 谢24参考文献25摘 要随着社会的不断进步,技术的不断更新,计算机的普及使得很多软件和程序更加方便

3、人们的生活,也使得它们为人们做的各种服务更加人性化、更加方便,特备是在服务类行业。分析当今高速发展的社会,服务类行业的发展也越来越居主导地位,贴近我们生活的便是食堂消费。生活节奏的加快,也使得人们希望在食堂消费时花费的时间尽可能的少,所以在这种形式要求下,做了这个小型的应用软件食堂饭卡管理。通过本软件,管理员可以方便的对学生信息进行注册、对饭卡进行充值、挂失和注销饭卡,并且本系统还模拟了学生食堂的消费过程,直观的显示了我们生活中的食堂消费过程,提高了我们的消费效率,使我们的生活更加方便。关键词:食堂饭卡管理系统 注册 充值 挂失 注销 消费模拟引言饭卡管理系统是一套针对大学校园食堂交费和一般消

4、费等方面的信息管理系统,它包括学生或教职工(后面把这两者统称为持卡者,把这两者的基本信息文档统一放在学校持卡者信息表中)在校内消费的各方面内容:刷卡消费、查询、充值和持卡者信息管理等,方便对饭卡信息进行各项操作,定时进行数据的备份和更新,保持数据的一致性和准确性。另外,各方面的内容应该相互联系,最终产生各种查询统计报表,以供持卡者进行检查。 对于此系统的任务就是把人们从繁琐的交费、找零工作中解放出来,用计算实现存款、消费、查询修改、删除以及存储等功能。同时,用计算机能够快速准确地完成资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。1 需求分析 饭卡管理系统是一套针对大学校园食堂交费和一

5、般消费等方面的信息管理系统,它包括学生或教职工(后面把这两者统称为持卡者,把这两者的基本信息文档统一放在学校持卡者信息表中)在校内消费的各方面内容:刷卡消费、查询、存款和持卡者信息管理等,方便对饭卡信息进行各项操作,定时进行数据的备份和更新,保持数据的一致性和准确性。另外,各方面的内容应该相互联系,最终产生各种查询统计报表,以供持卡者进行检查。 对于此系统的任务就是把人们从繁琐的交费、找零工作中解放出来,用计算实现注册、充值、消费、挂失以及注销等功能。同时,用计算机能够快速准确地完成资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。1.1数据库需求分析数据库的设计是指对于一个给定的应用环

6、境,构造最有效的数据库模式,建立数据及应用系统,实质能够有效地存储数据,满足用户的需求,数据库设计是在数据库管理系统支持下进行的。根据数据流程图,可以列出以下数据项和数据结构:饭卡信息数据:饭卡ID、学生学号、姓名、余额、是否可用。1.2用户需求利用食堂信息管理系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理工作方面的工作量。大大降低食堂管理人员在信息管理精力上的投入,使企业获得更大的利润空间。与此同时给广大学生用户带来方便。在实用性上达到了双赢。1.3系统功能需求食堂饭卡管理系统主要有以下几项功能:注册:饭卡初始信息的录入、饭卡初始余额充值:对饭卡进行充值消费模拟:对饭卡余额进行

7、操作挂失:使饭卡不可用注销:在数据库中删除学生信息数据流程图如下:注册饭卡成功功充值消费挂失 、注销图1 饭卡总体操作流程图1.4数据描述 饭卡信息表:字段名数据类型含义说明空值情况Cardidint饭卡号码主键Snonchar(15)学号可以为空Snamevarchar(50)姓名可以为空Cmoneynchar(50)卡上余额可以为空AbleInt饭卡是否可用不可为空 图2 饭卡信息表1.5数据库描述本软件采用关系型数据库。 图3 数据库建立过程1.6各个模块之间的E-R图姓名名饭卡信息卡号学号余额是否可用 图4 模块关系图1.7数据采集通过键盘向软件系统录入数据。2概要设计根据上面的数据流

8、图和数据字典抽象出实体和个实体的属性,饭卡ID作为主键,学生信息、饭卡余额与饭卡可用作为表中信息。实体属性饭卡饭卡ID、学生学号、姓名、余额、是否可用。2.1系统运行环境Microsoft Visual Studio2008和Sql server20052.2总体设计.处理流程 (1)系统启动,进入身份验证;(2)初始化系统,导入数据库;(3)进入等待页面状态,通过选择执行各个任务;(4)一个任务执行完毕后重新进入页面等待状态;(5)所有任务执行完毕后退出系统。.系统总体结构和模块设计。通过以上分析,我们进一步设计出了工资管理系统的总体结构模块图登陆网页初始化重新登录等待页面状态注册饭卡饭卡充

9、值饭卡消费饭卡挂失饭卡注销图5 总体结构模块图2.3接口设计1.外部接口(1) 用户界面运用图形用户界面(GUI)。(2) 软件接口软件运行于windows以上和XP平台上。2.内部接口(1) 初始化模块:系统初始时由操作系统调用,之后进入页面等待状态;(2) 等待页面模块:由系统功能各个模块调用,调用完毕之后退出系统;(3) 饭卡信息查询模块;(4) 饭卡信息修改模块;(5) 关闭系统模块。3 详细设计在以上工作的基础上,我们对有输出要求的全部数据进行各种分析后,进一步实现了整个系统的人机接口的结合,提出了系统细化后的数据流图和系统的总体结构模块图。3.1程序设计说明数据库的建立CREATE

10、 TABLE dbo.shitang(cardid int COLLATE NOT NULL,sno nchar(15) COLLATE NOT NULL,sname varchar(50) COLLATE NOT NULL,cmoney nchar(50) COLLATE NULL,able int COLLATE NOT NULL,CONSTRAINT cardid PRIMARY KEY CLUSTERED,) ;3.2 注册界面代码设计protected void Button1_Click(object sender,EventArgs e) string sqlconnstr =

11、ConfigurationManager.ConnectionStrings"ConnectionString".ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; sqlcommand.CommandText ="insert into shitang(sno,sname,cmoney,able)values(sno,sn

12、ame,cmoney,able)" /sqlcommand.Parameters.AddWithValue("cardid", TextBox1.Text); sqlcommand.Parameters.AddWithValue("sno", TextBox2.Text); sqlcommand.Parameters.AddWithValue("sname", TextBox3.Text); sqlcommand.Parameters.AddWithValue("cmoney", TextBox4.Tex

13、t); sqlcommand.Parameters.AddWithValue("able", TextBox5.Text); try sqlconn.Open(); sqlcommand.ExecuteNonQuery(); Label1.Text="成功增加记录" catch(Exception ex) Label1.Text="错误原因:"+ex.Message; finally sqlcommand=null; sqlconn.Close(); sqlconn=null; 3.3 充值界面代码分析protected void B

14、utton1_Click(object sender, EventArgs e) string sqlconnstr = ConfigurationManager.ConnectionStrings"ConnectionString".ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; sqlconn.Open(); sqlcomma

15、nd.CommandText = "select * from shitang where cardid=cardid" sqlcommand.Parameters.AddWithValue("cardid", TextBox1.Text); SqlDataReader sqldatareader = sqlcommand.ExecuteReader(); while (sqldatareader.Read() Label1.Text += sqldatareader.GetString(3) + "<br/>" ; sq

16、lcommand = null; sqlconn.Close(); sqlconn = null; protected void Button2_Click1(object sender, EventArgs e) int intUpdateCount; string sqlconnstr = ConfigurationManager.ConnectionStrings"ConnectionString".ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand s

17、qlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; if (TextBox1.Text.Trim() = "") return; sqlcommand.CommandText = "update shitang set cmoney=cmoney+" + TextBox3.Text + "where cardid=" + TextBox1.Text.Trim(); sqlcommand.CommandType = CommandType.Text; try sq

18、lconn.Open(); intUpdateCount = sqlcommand.ExecuteNonQuery(); if (intUpdateCount > 0) Label2.Text = "充值成功" else Label2.Text = "该记录不存在" catch (Exception ex) Label2.Text = "错误原因:" + ex.Message; finally sqlcommand = null; sqlconn.Close(); sqlconn = null; 3.4 消费界面代码分析 pro

19、tected void Button1_Click(object sender, EventArgs e) Label3.Text = "" Label3.ForeColor = System.Drawing.Color.Black; string sqlconnstr = ConfigurationManager.ConnectionStrings"ConnectionString".ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand s

20、qlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; sqlconn.Open(); sqlcommand.CommandText = "select * from shitang where cardid=cardid" sqlcommand.Parameters.AddWithValue("cardid", TextBox1.Text); SqlDataReader sqldatareader = sqlcommand.ExecuteReader(); if (sqldatare

21、ader.Read() if (sqldatareader.GetInt32(0) > 0) if (sqldatareader.GetInt32(4) = 0) / Response.Write(""); Label3.Text = "本卡已挂失!" Label3.ForeColor = System.Drawing.Color.Red; return; Label3.Text = sqldatareader.GetString(3); else Label3.Text = "本卡不存在!" Label3.ForeColor

22、= System.Drawing.Color.Red; return; sqlcommand = null; sqlconn.Close(); sqlconn = null; protected void Button2_Click(object sender, EventArgs e) int intUpdateCount; string sqlconnstr = ConfigurationManager.ConnectionStrings"ConnectionString".ConnectionString; SqlConnection sqlconn = new Sq

23、lConnection(sqlconnstr); SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; if (TextBox1.Text.Trim() = "") return; sqlcommand.CommandText = "update shitang set cmoney=cmoney-" + TextBox2.Text + "where cardid=" + TextBox1.Text.Trim(); sqlcommand.C

24、ommandType = CommandType.Text; try sqlconn.Open(); intUpdateCount = sqlcommand.ExecuteNonQuery(); if (intUpdateCount > 0) Label2.Text = "消费成功" else Label2.Text = "该记录不存在" catch (Exception ex) Label2.Text = "错误原因:" + ex.Message; finally sqlcommand = null; sqlconn.Clos

25、e(); sqlconn = null; 3.5 挂失界面代码分析 protected void Button2_Click(object sender, EventArgs e) int intDeleteCount; string sqlconnstr = ConfigurationManager.ConnectionStrings"ConnectionString".ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand sqlcommand = new S

26、qlCommand(); sqlcommand.Connection = sqlconn; /sqlcommand.CommandText = "delete from shitang where cardid=cardid" sqlcommand.CommandText = "update shitang set able = 0 where cardid=cardid" sqlcommand.Parameters.AddWithValue("cardid", TextBox1.Text); try sqlconn.Open();

27、intDeleteCount = sqlcommand.ExecuteNonQuery(); if (intDeleteCount > 0) Label1.Text = "成功挂失" else Label1.Text = "该记录不存在" catch (Exception ex) Label1.Text = "错误原因" + ex.Message; finally sqlcommand = null; sqlconn.Close(); sqlconn = null; 3.6 注销界面代码分析protected void Butt

28、on1_Click(object sender, EventArgs e) int intDeleteCount; string sqlconnstr = ConfigurationManager.ConnectionStrings"ConnectionString".ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; sqlcomm

29、and.CommandText = "delete from shitang where cardid=cardid" /sqlcommand.CommandText = "update shitang set able = 0 where cardid=cardid" sqlcommand.Parameters.AddWithValue("cardid", TextBox1.Text); try sqlconn.Open(); intDeleteCount = sqlcommand.ExecuteNonQuery(); if (in

30、tDeleteCount > 0) Label1.Text = "成功注销" else Label1.Text = "该记录不存在" catch(Exception ex) Label1.Text="错误原因"+ex.Message; finally sqlcommand=null; sqlconn.Close(); sqlconn=null; 4 模块分析4.1初始化模块当我们开始运行这个软件时,会出现如图8界面,即初始化界面: 图 6 登陆界面4.2 跳转界面当我们点击相应的操作要求时,会跳转到如图6界面,即跳转界面:图 7

31、 跳转界面4.3饭卡注册界面 图8 饭卡注册界面4.4 饭卡充值界面图9 饭卡充值界面4.5 饭卡消费界面由于有三个饭卡模拟选择,此处只选择食堂消费模拟:图10 饭卡消费模拟如果饭卡已经挂失,则不能使用:图11 饭卡挂失出错如果没有此饭卡,则会跳出:图12 饭卡不存在4.6 饭卡挂失界面图13 饭卡挂失4.7 饭卡注销界面图 14 饭卡注销5 系统测试软件测试是保证软件质量的关键,它是对需求分析设计和编码的最后审核。在软件生命周期的各个阶段,都不可避免地会产生一些错误,通常在每个软件阶段过后都会对这个软件进行测试,以保证软件的高质量性。软件测试是为了发现程序中的错误而执行程序的过程,有的测试方案可能迄今为止尚未发现一个错误,有的测试方案的发现错误的频率会比较高。一般的测试方案有:白盒测试和黑

温馨提示

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

评论

0/150

提交评论