食堂饭卡管理系统.docx
《食堂饭卡管理系统.docx》由会员分享,可在线阅读,更多相关《食堂饭卡管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
食堂饭卡管理系统
数学与计算机学院
课程设计说明书
课程名称:
软件工程课程设计
课程代码:
8404131
题目:
食堂饭卡管理系统
年级/专业/班:
学生姓名:
学 号:
开始时间:
2012年5月14日
完成时间:
2012年5月30日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书(计算书、图纸、分析报告)撰写质量(45)
总分(100)
指导教师签名:
年月日
摘要
随着社会的不断进步,技术的不断更新,计算机的普及使得很多软件和程序更加方便人们的生活,也使得它们为人们做的各种服务更加人性化、更加方便,特备是在服务类行业。
分析当今高速发展的社会,服务类行业的发展也越来越居主导地位,贴近我们生活的便是食堂消费。
生活节奏的加快,也使得人们希望在食堂消费时花费的时间尽可能的少,所以在这种形式要求下,做了这个小型的应用软件——食堂饭卡管理。
通过本软件,管理员可以方便的对学生信息进行注册、对饭卡进行充值、挂失和注销饭卡,并且本系统还模拟了学生食堂的消费过程,直观的显示了我们生活中的食堂消费过程,提高了我们的消费效率,使我们的生活更加方便。
关键词:
食堂饭卡管理系统注册充值挂失注销消费模拟
引言
饭卡管理系统是一套针对大学校园食堂交费和一般消费等方面的信息管理系统,它包括学生或教职工(后面把这两者统称为持卡者,把这两者的基本信息文档统一放在学校持卡者信息表中)在校内消费的各方面内容:
刷卡消费、查询、充值和持卡者信息管理等,方便对饭卡信息进行各项操作,定时进行数据的备份和更新,保持数据的一致性和准确性。
另外,各方面的内容应该相互联系,最终产生各种查询统计报表,以供持卡者进行检查。
对于此系统的任务就是把人们从繁琐的交费、找零工作中解放出来,用计算实现存款、消费、查询]修改、删除以及存储等功能。
同时,用计算机能够快速准确地完成资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。
1需求分析
饭卡管理系统是一套针对大学校园食堂交费和一般消费等方面的信息管理系统,它包括学生或教职工(后面把这两者统称为持卡者,把这两者的基本信息文档统一放在学校持卡者信息表中)在校内消费的各方面内容:
刷卡消费、查询、存款和持卡者信息管理等,方便对饭卡信息进行各项操作,定时进行数据的备份和更新,保持数据的一致性和准确性。
另外,各方面的内容应该相互联系,最终产生各种查询统计报表,以供持卡者进行检查。
对于此系统的任务就是把人们从繁琐的交费、找零工作中解放出来,用计算实现注册、充值、消费、挂失以及注销等功能。
同时,用计算机能够快速准确地完成资料的统计和汇总工作,迅速地打印出各种报表资料以供使用。
数据库需求分析
数据库的设计是指对于一个给定的应用环境,构造最有效的数据库模式,建立数据及应用系统,实质能够有效地存储数据,满足用户的需求,数据库设计是在数据库管理系统支持下进行的。
根据数据流程图,可以列出以下数据项和数据结构:
饭卡信息数据:
饭卡ID、学生学号、姓名、余额、是否可用。
用户需求
利用食堂信息管理系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理工作方面的工作量。
大大降低食堂管理人员在信息管理精力上的投入,使企业获得更大的利润空间。
与此同时给广大学生用户带来方便。
在实用性上达到了双赢。
系统功能需求
食堂饭卡管理系统主要有以下几项功能:
注册:
饭卡初始信息的录入、饭卡初始余额
充值:
对饭卡进行充值
消费模拟:
对饭卡余额进行操作
挂失:
使饭卡不可用
注销:
在数据库中删除学生信息
数据流程图如下:
注册
饭卡
成功功
充值
消费
挂失、注销
图1饭卡总体操作流程图
数据描述
饭卡信息表:
字段名
数据类型
含义说明
空值情况
Cardid
int
饭卡号码
主键
Sno
nchar(15)
学号
可以为空
Sname
varchar(50)
姓名
可以为空
Cmoney
nchar(50)
卡上余额
可以为空
Able
Int
饭卡是否可用
不可为空
图2饭卡信息表
数据库描述
本软件采用关系型数据库。
图3数据库建立过程
各个模块之间的E-R图
姓名名
饭卡信息
卡号
学号
余额
是否可用
图4模块关系图
数据采集
通过键盘向软件系统录入数据。
2概要设计
根据上面的数据流图和数据字典抽象出实体和个实体的属性,饭卡ID作为主键,学生信息、饭卡余额与饭卡可用作为表中信息。
实体
属性
饭卡
饭卡ID、学生学号、姓名、余额、是否可用。
系统运行环境
MicrosoftVisualStudio2008和Sqlserver2005
总体设计
2.2.1.处理流程
(1)系统启动,进入身份验证;
(2)初始化系统,导入数据库;
(3)进入等待页面状态,通过选择执行各个任务;
(4)一个任务执行完毕后重新进入页面等待状态;
(5)所有任务执行完毕后退出系统。
2.2.2.系统总体结构和模块设计。
通过以上分析,我们进一步设计出了工资管理系统的总体结构模块图
登陆网页
初始化
重新登录
等待页面状态
注册饭卡
饭卡充值
饭卡消费
饭卡挂失
饭卡注销
图5总体结构模块图
接口设计
1.外部接口
(1)用户界面
运用图形用户界面(GUI)。
(2)软件接口
软件运行于windows以上和XP平台上。
2.内部接口
(1)初始化模块:
系统初始时由操作系统调用,之后进入页面等待状态;
(2)等待页面模块:
由系统功能各个模块调用,调用完毕之后退出系统;
(3)饭卡信息查询模块;
(4)饭卡信息修改模块;
(5)关闭系统模块。
3详细设计
在以上工作的基础上,我们对有输出要求的全部数据进行各种分析后,进一步实现了整个系统的人—机接口的结合,提出了系统细化后的数据流图和系统的总体结构模块图。
程序设计说明
数据库的建立
CREATETABLE[dbo].[shitang](
[cardid][int]COLLATENOTNULL,
[sno][nchar](15)COLLATENOTNULL,
[sname][varchar](50)COLLATENOTNULL,
[cmoney][nchar](50)COLLATENULL,
[able][int]COLLATENOTNULL,
CONSTRAINT[cardid]PRIMARYKEYCLUSTERED,
);
注册界面代码设计
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringsqlconnstr=["ConnectionString"].ConnectionString;
SqlConnectionsqlconn=newSqlConnection(sqlconnstr);
SqlCommandsqlcommand=newSqlCommand();
=sqlconn;
="insertintoshitang(sno,sname,cmoney,able)values(@sno,@sname,@cmoney,@able)";
onnectionString;
SqlConnectionsqlconn=newSqlConnection(sqlconnstr);
SqlCommandsqlcommand=newSqlCommand();
=sqlconn;
();
="select*fromshitangwherecardid=@cardid";
"@cardid",;
SqlDataReadersqldatareader=();
while())
{
+=(3)+"
";
};
sqlcommand=null;
();
sqlconn=null;
}
protectedvoidButton2_Click1(objectsender,EventArgse)
{
intintUpdateCount;
stringsqlconnstr=["ConnectionString"].ConnectionString;
SqlConnectionsqlconn=newSqlConnection(sqlconnstr);
SqlCommandsqlcommand=newSqlCommand();
=sqlconn;
if=="")
return;
="updateshitangsetcmoney=cmoney+"++
"wherecardid="+=;
try
{
();
intUpdateCount=();
if(intUpdateCount>0)
="充值成功";
else
="该记录不存在";
}
catch(Exceptionex)
{
="错误原因:
"+;
}
finally
{
sqlcommand=null;
();
sqlconn=null;
}
}
消费界面代码分析
protectedvoidButton1_Click(objectsender,EventArgse)
{
="";
=stringsqlconnstr=["ConnectionString"].ConnectionString;
SqlConnectionsqlconn=newSqlConnection(sqlconnstr);
SqlCommandsqlcommand=newSqlCommand();
=sqlconn;
();
="select*fromshitangwherecardid=@cardid";
"@cardid",;
SqlDataReadersqldatareader=();
if())
{
if(0)>0)
{
if(4)==0)
{
onnectionString;
SqlConnectionsqlconn=newSqlConnection(sqlconnstr);
SqlCommandsqlcommand=newSqlCommand();
=sqlconn;
if=="")
return;
="updateshitangsetcmoney=cmoney-"++
"wherecardid="+=;
try
{
();
intUpdateCount=();
if(intUpdateCount>0)
="消费成功";
else
="该记录不存在";
}
catch(Exceptionex)
{
="错误原因:
"+;
}
finally
{
sqlcommand=null;
();
sqlconn=null;
}
}
}
挂失界面代码分析
protectedvoidButton2_Click(objectsender,EventArgse)
{
intintDeleteCount;
stringsqlconnstr=["ConnectionString"].ConnectionString;
SqlConnectionsqlconn=newSqlConnection(sqlconnstr);
SqlCommandsqlcommand=newSqlCommand();
=sqlconn;
onnectionString;
SqlConnectionsqlconn=newSqlConnection(sqlconnstr);
SqlCommandsqlcommand=newSqlCommand();
=sqlconn;
="deletefromshitangwherecardid=@cardid";
[1]
张海藩,软件工程导论学习辅导,清华大学出版社,2004.
[2]史济民等,软件工程-原理、方法与应用,高等教育出板社,2004
[3]孙家广,软件工程-理论、方法与实践,高等教育出板社,2006
[4]陈明.实用软件工程基础,清华大学出版社,2003.
[5]殷人昆.实用软件工程,清华大学出版社,2003.
[6]宋波.UML面向对象技术与实践,科学出版社,2004.