食品消费管理系统数据库课程设计.docx

上传人:b****8 文档编号:9405663 上传时间:2023-05-18 格式:DOCX 页数:60 大小:641.11KB
下载 相关 举报
食品消费管理系统数据库课程设计.docx_第1页
第1页 / 共60页
食品消费管理系统数据库课程设计.docx_第2页
第2页 / 共60页
食品消费管理系统数据库课程设计.docx_第3页
第3页 / 共60页
食品消费管理系统数据库课程设计.docx_第4页
第4页 / 共60页
食品消费管理系统数据库课程设计.docx_第5页
第5页 / 共60页
食品消费管理系统数据库课程设计.docx_第6页
第6页 / 共60页
食品消费管理系统数据库课程设计.docx_第7页
第7页 / 共60页
食品消费管理系统数据库课程设计.docx_第8页
第8页 / 共60页
食品消费管理系统数据库课程设计.docx_第9页
第9页 / 共60页
食品消费管理系统数据库课程设计.docx_第10页
第10页 / 共60页
食品消费管理系统数据库课程设计.docx_第11页
第11页 / 共60页
食品消费管理系统数据库课程设计.docx_第12页
第12页 / 共60页
食品消费管理系统数据库课程设计.docx_第13页
第13页 / 共60页
食品消费管理系统数据库课程设计.docx_第14页
第14页 / 共60页
食品消费管理系统数据库课程设计.docx_第15页
第15页 / 共60页
食品消费管理系统数据库课程设计.docx_第16页
第16页 / 共60页
食品消费管理系统数据库课程设计.docx_第17页
第17页 / 共60页
食品消费管理系统数据库课程设计.docx_第18页
第18页 / 共60页
食品消费管理系统数据库课程设计.docx_第19页
第19页 / 共60页
食品消费管理系统数据库课程设计.docx_第20页
第20页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

食品消费管理系统数据库课程设计.docx

《食品消费管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《食品消费管理系统数据库课程设计.docx(60页珍藏版)》请在冰点文库上搜索。

食品消费管理系统数据库课程设计.docx

食品消费管理系统数据库课程设计

课程设计报告

 

课程:

数据库系统概论

班级:

XXX

姓名:

XXX

学号:

XXX

教师:

XXXX

 

江苏师范大学

计算机科学与技术学院

食品消费管理系统的设计与实现

一、绪论

在现代化的企业管理中,食品消费管理系统有着十分重要的作用,然而,用大型软件系统来用于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用,与之相反还有些学校食堂始终是人工售货,费时费力,甚至人多时会出现记错帐的现象,营业完后,还要人工统计一天来的消费情况,是人劳累。

出于这种目的制作了学校食堂的食品消费管理系统。

二、系统分析

1、需求分析

通过对学生在学校餐厅的消费流程进行分析,完成具有菜单管理、点菜及结账管理、食品管理、客户消费管理、按时间段结算、员工管理、餐厅管理等相关功能的小型数据库管理应用系统。

同时还要完成进人员、餐厅、食品价目表的维护,完成消费表的生成,并计算每顿饭消费金额。

以及按人员、时间段、餐厅统计计算消费总额,按食品类别、时间段、餐厅统计计算消费总额,最后完成用户管理功能,完成数据备份与恢复功能。

2、食品消费管理系统的主要功能

2.1人员信息维护功能

按条件查询人员的基本信息,以及添加一个人员的基本信息,包括编号,姓名,职务,对人员的信息进行更改及删除功能。

餐厅信息维护功能

2.2餐厅信息维护功能

查询所有餐厅的基本信息,以及插入新开餐厅的基本信息,包括餐厅编号,餐厅名称,日销售额,餐厅职工人数。

还能对餐厅的基本信息进行更改及删除功能。

2.3食品信息维护功能

查询所有食品的基本信息,以及插入新的食品的基本信息,包括食品编号,食品名称,食品类别,食品单价。

还能对食品的基本信息进行更改及删除功能。

2.4消费者的维护功能

增加或者删除消费者(即学生的信息)

2.5统计消费总额功能

要求能按人员、某时间段、餐厅统计计算消费总额,同时还能按食品类别、某时间段、餐厅统计计算消费总额,统计每顿饭的总额。

2.6消费表记录生成功能

能按要求生成消费记录,生成消费记录需要满足相应的条件就是其中的有些信息必需键入才能生成消费记录。

2.7管理员管理功能

管理员管理功能主要用于管理用于进入这个系统的管理员,功能是实现密码的修改。

三、系统设计

3.1程序运行平台

本系统采用C/S体系结构,Tomcat6.0

具体操作如下:

将jsp,html源文件放于Tomcat的webapps的文件加下,再编译,链接,执行等。

3.2开发工具

Sqlsever2000

3.3功能模块更新

本系统按照功能划分为以下六个模块:

食品管理(包括食品信息录入和食品信息查询与删除及更改)、人员管理(包括食品信息录入和食品信息查询与删除及更改)、餐厅管理(包括食品信息录入和食品信息查询与删除及更改)和统计消费总额和消费记录生成和用户系统管理(包括密码更改)。

系统的功能模块图如图1所示:

图1系统的功能模块图

3.4数据库数据

3.4.1数据库概念结构设计

本系统主要有食品和餐厅和餐厅人员和消费人员三个实体集,一个餐厅有若工作人员,一个人员只能从属于一个餐厅,这两个实体集间是一对多的关系;一个餐厅可以有多种食品,一种食品也可以在不同餐厅中,这两个实体集之间是多对多联系;一个消费人员可以点多道菜,每道菜可以被多个消费人员点,这两个实体集间关系是多对多关系;为保证系统的安全性,设置了管理员这一实体集,用来存放合法用户的姓名、密码。

本系统的E-R图如图2所示:

图2系统的E-R图

 

3.4.2数据库逻辑结构设计

根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型:

food(vno,vname,price,belong)

其中各项含义分别为:

食品(食品编号,菜名,菜价,食品类型)

worker(wno,wname,wposition,rno)

其中各项含义分别为:

员工(员工编号,员工名字,员工职位,所在餐厅)

restaurant(rno,rname,daysum,wnum)

其中各项含义分别为:

餐厅(餐厅编号,餐厅名称,日销售额,职工人数)

stu(no,sname)

其中各项含义分别为:

消费者(学号,姓名)

consume(rno,cinfo,vno,vnum,ctime,cmoney,belong)

其中各项含义分别为:

消费者(餐厅号,学号,菜编号,菜数量,消费时间,消费额,菜类型)

Manager(mname,mpasssword)

其中各项含义分别为:

管理员(管理员名字,管理员密码)

根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:

表1食品信息表food的表结构

表2餐厅人员信息表worker的表结构

表3餐厅信息表rstaurant的表结构

表4消费表信息表consume的表结构

表5消费者学生信息表stu的表结构

表6管理员信息表manager的表结构

四、系统实现

4.1添加数据源

打开控制面板,选择“管理工具”,选择“数据源(ODBC)”,添加系统DSN,选择“SQLServer”,选择“使用用户输入登录ID和密码的SQLServer验证”,然后测试连接,完成数据源的添加。

4.2系统调试

在tomcat的文件夹下,运行webapps,打开tomcat服务器,然后打开浏览器,在地栏输入http:

//127.0.0.1:

8080/xitongrukou/entrance.jsp,即可进入食品消费系统界面(entrance.jsp)。

界面如下:

《entrance.jsp》其代码如下:

<%@pagecontentType="text/html;charset=GB2312"%>

<center>食品消费管理系统</center>

********欢迎光临!

若要进入服务请点一下击图片!

********

点击图片后,进入了消费者和管理员身份的选择界面(systementer.jsp),如下:

《systementer.jsp》代码如下:

<%@pagecontentType="text/html;Charset=GB2312"%>

<%@pageimport="java.sql.*"%>

<%@pageimport="java.util.*"%>

<%@pageimport="java.text.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport="java.lang.*"%>

欢迎进入食品消费管理系统


请用点击的方式,选择您的身份



&&&&&&&&消费者&&&&&&&


***************************************************************************



&&&&&&&&管理员&&&&&&&



&&&&&&&退出系统&&&&&&&&&&&

如果是消费者则无需登录,直接进入点菜系统;如果是管理员则需要用用户名和密码登录,选择管理员,进入登录界面(Login.jsp)如下:

《Login.jsp》代码如下:

<%@pagecontentType="text/html;charset=GB2312"%>

**输入用户名和密码:

**


登录名称:


输入密码:



********退出登录*********

《helpLogin.jsp》代码如下:

<%@pagecontentType="text/html;charset=GB2312"%>

<%@pageimport="java.sql.*"%>

<%@pageimport="java.util.*"%>

<%@pageimport="java.text.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport="java.lang.*"%>

<%Stringloginname=newString(request.getParameter("logname").trim().getBytes("ISO-8859-1"));

Stringloginpassword=newString(request.getParameter("password").trim().getBytes("ISO-8859-1"));

%>

<%Connectioncon;

Statementstm;

Stringsql;

ResultSetrs;

intm=1;

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:

odbc:

my1","sa","sa");

stm=con.createStatement();

sql="select*frommanager";

rs=stm.executeQuery(sql);

while(rs.next()){

if(loginname.equals(rs.getString

(1).trim())&&loginpassword.equals(rs.getString

(2).trim())){%>

管理员登陆成功!

去管理员界面<%

m=0;break;

}

}%>

<%if(m==1){%>

forwardpage="back.jsp"/><%

}

%>

<%mit();

con.close();

stm.close();

rs.close();

}catch(Exceptione){e.printStackTrace();}

%>




********退出登录*********

如果输入错误密码或用户名,会跳转到重新输入页面(back.jsp),如下:

《back.jsp》代码如下:

<%@pagecontentType="text/html;charset=GB2312"%>

**用户名或密码错误!

请重新输入用户名和密码:

**


登录名称:


输入密码:



********退出登录*********

这次输入正确的用户名和密码,则界面显示如下,名为“teacher”,密码为“111111”。

点击去管理员登录界面,则进入管理员界面(manager.jsp),如下:

《manager.jsp》代码如下:

<%@pagecontentType="text/html;Charset=GB2312"%>

********欢迎来到管理员界面!

********



****对食品维护!

****



**对餐厅人员维护!

**



**对餐厅维护!

**



**对消费者维护!

**



**按条件统计消费总额**



**修改密码!

**



**退出登录**

因为对食品,餐厅人员,餐厅以及消费者表的维护基本相同,所以选择其中之一来进行测试,点击“对餐厅人员的维护”,进入餐厅人员管理界面(worker.jsp),如下

《worker.jsp》代码如下:

<%@pagecontentType="text/html;Charset=GB2312"%>

********欢迎来到餐厅人员管理界面!

********


****删除****



****添加****



****更新****



****查询****



****返回管理员主菜单****

测试更新功能,点击更新,进入按条件更新界面(wupdate.jsp),如下:

《wupdate.jsp》代码如下:

<%@pagecontentType="text/html;Charset=GB2312"%>

********修改员工信息********


****修改员工名****




****修改员工职务****

>

更新操作基本相同,选择其中之一进行测试,点击更新员工职务,进入更新职务的页面(wupdatep.jsp),如下:

《wupdatep.jsp》代码如下:

<%@pagecontentType="text/html;charset=GB2312"%>

<%@pageimport="java.sql.*"%>

<%@pageimport="java.util.*"%>

<%@pageimport="java.text.*"%>

<%@pageimport="java.lang.*"%>

<%Connectioncon;

Statementsql;

ResultSetrs;

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundExceptione)

{out.print(e);

}

try{con=DriverManager.getConnection("jdbc:

odbc:

my1","sa","sa");

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMworker");

out.print("");

out.print("");

out.print(""+"人员号");

out.print(""+"人员名");

out.print(""+"职务");

out.print(""+"所在餐厅");

out.print("");

while(rs.next())

{out.print("");

out.print(""+rs.getString

(1)+"");

out.print(""+rs.getString

(2)+"");

out.print(""+rs.getString(3)+"");

out.print(""+rs.getString(4)+"");

out.print("");

}

out.print("");

con.close();

}

catch(SQLExceptione1)

{out.print(e1);

}

%>

********请输入要更新的信息********

输入想要修改的人员编号:


输入原职位:


输入现职务:



********退出登录*********

跳转页面《wupdate2.jsp》代码如下:

<%@pagecontentType="text/html;charset=GB2312"%>

<%@pageimport="java.sql.*"%>

<%@pageimport="java.util.*"%>

<%@pageimport="java.text.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport="java.lang.*"%>

<%

Stringwno=newString(request.getParameter("wno").trim().getBytes("ISO-8859-1"));

Stringwposition=newString(request.getParameter("wposition").trim().getBytes("ISO-8859-1"));

Stringnewposition=newString(request.getParameter("newposition").trim().getBytes("ISO-8859-1"));

%>

<%

Connectioncon;

Statementstm;

Stringsql;

ResultSetrs;

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:

odbc:

my1","sa","sa");

stm=con.createStatement();

sql="updateworkersetwposition=\'"+newposition+"\'wherewposition=\'"+wposition+"\'andwno=\

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2