食堂卡管理系统实验报告.docx
- 文档编号:30527361
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:15
- 大小:126.82KB
食堂卡管理系统实验报告.docx
《食堂卡管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《食堂卡管理系统实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
食堂卡管理系统实验报告
西南大学荣昌校区
信息管理系
《食堂卡(消费,查询)管理系统》
课程设计报告
学生姓名:
学号:
专业班级:
指导教师:
二0一二年四月二十六日
需求分析。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1
1.系统设计。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1
1.1系统目标。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
2
1.2系统功能需求。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
2
1.3系统的数据流图。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
3
2数据库的概念设计。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
4
2.1数据库列表展示。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
4
2.2数据库设计部分代码。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
5
3.系统部分窗体展示。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
7
3.1用户登录窗口。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
7
3.2登陆后跳转的欢迎界面。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
7
3.3操作主界面。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
8
3.4添加用户界面。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
8
4.关键代码展示。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
9
4.1.添加用户代码。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
9
4.2.主窗体部分代码。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
9
4.3.登录窗体代码。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
10
4.4.查询用户代码。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
11
5.对本设计的总结。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
12
6.参考资料。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
12
需求分析
高校管理中,和同学们息息相关的是食堂管理系统,每一天食堂的消费量是庞大的,如果没有一个完整的管理系统,完全由人工管理这么庞大的数字量,是一件让人身心疲惫的事情,可见一个良好的食堂智能卡管理系统是很必要的,该系统能够对消费记录,充值记录有一个详细的统计和记录。
也提供密码服务和消费限定遗失管理等基本功能,有效的保证了在智能卡遗失的情况下迅速的对方卡进行挂失处理。
1.系统设计
本系统主要使用的开发语言是C#,结合sql数据库,对系统进行编程和数据库管理,本系统的主要涉及范围是消费记录和充值查询,辅助作用是密码服务,消费限定,遗失管理等。
本系统结合了现实中智能卡消费的需要,对同学们的实际需求做了详细的调查,最终决定出这个操作简便,便于管理的食堂智能卡管理系统。
系统设计E/R图
1.1系统目标:
实现一个食堂消费管理系统,完成餐卡信息管理,餐卡信息查询,窗口信息管理,餐卡消费管理和窗口信息查询等功能。
1.2系统功能需求:
本系统管理员能够对餐卡信息增加,修改,查询,删除等。
功能划分:
用户通过身份验证后进入主界面。
主界面为超级用户提供5项选择:
餐卡办理,餐卡挂失,餐卡充值,餐卡解除挂失,餐卡查询。
功能描述:
●餐卡办理:
管理员通过插入表和更新表来为餐卡使用人员办理新卡。
新生报到时,学生要到管理员那里办理新卡,管理员通过插入表信息来办理。
当卡主的卡丢失或损坏且确定要办理新卡时,管理员通过更新表的信息来办理新卡。
●餐卡挂失
当学生的餐卡找不到但是不能确定还能否找到时,学生可以到擦卡管理员那里去挂失。
管理员通过修改表的信息暂时禁用此卡。
●餐卡解除挂失
学生找到丢失的餐卡后,可以到管理员那里解除挂失。
管理员通过修改表的信息让此卡能从新使用。
●餐卡充值
餐卡余额不足时,学生可能无法到食堂消费,此时要到管理员那里充值。
管理员通过修改表的信息为餐卡充值。
●餐卡查询
就餐时可能出现刷错卡的情况,当刷错卡但是刷卡人员没有注意到时两方就会产纠纷,这时要到餐卡管理员那里查询消费情况。
1.3系统的数据流图:
了解用户的应用要求,使用信息流程图分析应用系统中的信息流。
食堂消费管理系统的简单信息流如下。
(1)系统的上下文数据流图如图5-38
2数据库的概念设计
2.1数据库列表展示
餐卡信息表:
定义如下:
域名
含义
数据类型
长度
例子
备注
卡号
餐卡卡号
Char
12
540907010238
主码
是否挂失
挂失情况
0
金额
餐卡余额
Int
100.00
卡主信息表:
域名
含义
数据类型
长度
例子
备注
证件号
卡主的证件号
Char
5
12345
主键
姓名
卡主姓名
Char
12
张三
卡号
卡主的擦卡卡号
Char
12
540907010152
2.2数据库设计部分代码
--使用master数据库
usemaster
go
--判断数据库是否存在,如果myDb存在,则删除myDb数据库
ifexists(select*fromsysdatabaseswherename='myDb')
--删除myDb数据库
dropdatabasemyDb
go
--创建数据库myDb
createdatabasemyDb
go
--使用myDb
usemyDb
go
--判断表是否存在
ifexists(select*fromsysobjectswherename='userInfo')
droptableuserInfo
go
--创建表userInfo
createtableuserInfo
(
--字段名数据类型约束
idintidentity(1,1)notnull,--自动增长
userNamevarchar(20)notnull,--用户名
passwordvarchar(20)notnull--密码
)
go
--向userInfo表添加一条数据
insertintouserInfovalues('admin','123456')
go
--查询userInfo中的数据
select*fromuserInfo
go
selectidas编号,userNameas用户名,passwordas密码fromuserInfo
go
createtableuserMessage
(
--字段名数据类型约束
idintidentity(1,1)notnull,--自动增长
userNamevarchar(20)notnull,--用户名
userNumvarchar(20)notnull,---学号
Money_JEvarchar(20)notnull,--消费金额
Money_YEvarchar(20)notnull,--余额
)
go
--向userMessage表添加一条数据
insertintouserInfovalues('张三','123456'100,50)
insertintouserInfovalues('李四','121222'10,69)
insertintouserInfovalues('麻子','333333'14,50)
insertintouserInfovalues('小强','555555'110,54)
go
--查询userMessage中的数据
select*fromuserInfo
go
selectidas编号,userNameas用户名,userNumas学号,Money_JEas消费金额,Money_YEas余额fromuserMessage
go
3.系统部分窗体展示
3.1用户登录窗口
3.2登陆后跳转的欢迎界面
3.3操作主界面
3.4添加用户界面
4.关键代码展示
4.1.添加用户代码
privatevoidbtnOk_Click(objectsender,EventArgse)
{
//获取新的用户名和密码
stringuserName=this.txtUserName.Text;
stringpassword=this.txtPassword.Text;
stringstrConn="DataSource=.;InitialCatalog=myDb;UserID=sa";
SqlConnectionconn=newSqlConnection(strConn);
conn.Open();
stringsql=string.Format("insertintouserInfovalues('{0}','{1}')",userName,password);
SqlCommandcmd=newSqlCommand(sql,conn);
intcount=cmd.ExecuteNonQuery();
if(count==1)
{
MessageBox.Show("添加新用户成功!
");
}
else
{
MessageBox.Show("添加新用户失败!
");
}
/
conn.Close();
4.2.主窗体部分代码
stringuserName;
publicFrmMain(stringuserName)
{
this.userName=userName;
InitializeComponent();
}
privatevoidFrmMain_Load(objectsender,EventArgse)
{
//显示用户名
this.toolStripStatusLabel1.Text=userName;
}
privatevoidtimer1_Tick(objectsender,EventArgse)
{
//显示系统当前时间
this.toolStripStatusLabel3.Text=System.DateTime.Now.ToString();
}
privatevoidtoolStripLabel1_Click(objectsender,EventArgse)
{
FrmAddUserInfoobj=newFrmAddUserInfo();
obj.MdiParent=this;
obj.Show();
}
privatevoidFrmMain_FormClosed(objectsender,FormClosedEventArgse)
{
//关闭整个应用程序
Application.Exit();
}
privatevoid查询用户ToolStripMenuItem_Click(objectsender,EventArgse)
{
//创建查询用户的窗体对象
FrmSelectUserInfoobj=newFrmSelectUserInfo();
obj.MdiParent=this;
obj.Show();
}
4.3.登录窗体代码
privatevoidbtnOk_Click(objectsender,EventArgse)
{
//获取登录名
stringuserName=this.txtUserName.Text;
//获取密码
stringpassword=this.txtPassword.Text;
//创建连接数据库的字符串
stringstrConn="DataSource=.;InitialCatalog=myDb;UserID=sa";
SqlConnectionconn=newSqlConnection(strConn);
conn.Open();
stringsql=string.Format("select*fromuserInfowhereuserName='{0}'andpassword='{1}'",userName,password);
SqlCommandcmd=newSqlCommand(sql,conn);
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.HasRows)//数据阅读器中是否有数据
{
//创建一个FrmMain对象
FrmMainobj=newFrmMain(userName);
//显示主窗体
obj.Show();
//影藏登录窗体
this.Hide();
}
else
{
MessageBox.Show("登录失败!
");
}
conn.Close();
4.4.查询用户代码
privatevoidFrmSelectUserInfo_Load(objectsender,EventArgse)
{
stringstrConn="DataSource=.;InitialCatalog=myDb;UserID=sa";
SqlConnectionconn=newSqlConnection(strConn);
conn.Open();
stringsql="selectidas编号,userNameas用户名,passwordas密码fromuserInfo";
SqlDataAdapteradapter=newSqlDataAdapter(sql,conn);
DataSetds=newDataSet();
adapter.Fill(ds);
this.dataGridView1.DataSource=ds.Tables[0].DefaultView;//将ds中的第一张表的数据绑定到DataGridView中
//6、关闭连接对象--关闭开关
conn.Close();
}
5.对本设计的总结
通过对这个系统的设计,在这个学期内有了很大的收获,从开始的需求分析、数据库设计、系统设计到最后软件架构的实现、代码的编写,遇到了很多问题,通过查资料,向老师请教,在线提问等多种方式,最终一一解决,从而积累、学习到了很多知识!
在系统的实现过程中遇到了,诸如汉字乱码问题等,最大的问题还是由于刚开始的需求分析阶段未完全考虑遇到的问题导致最后功能很多都未能实现。
6.参考资料
VisualC#程序设计实用教程清华大学出版社杨建军编著
C#全能速查宝典人民邮电出版社王小科编著
C#开发实战1200例清华大学出版社王小科编著
VisualC#2010从入门到精通清华大学出版社夏普,周靖编著
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 食堂 管理 系统 实验 报告