基于Web的Java开发设计课程设计 推荐Word下载.docx
《基于Web的Java开发设计课程设计 推荐Word下载.docx》由会员分享,可在线阅读,更多相关《基于Web的Java开发设计课程设计 推荐Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
1.1课题背景及意义
俗话说“人生在世,吃穿二事”,人即使为高级动物,但仍需与其他动物一样以食为天。
从古至今,零零总总的各类美食也是孕育而生,长盛不衰。
饮食行业也成为众多行业里常张常新的行业。
社会发展至今,随着人们的生活质量的提高,对于饮食的需求不再仅限于温饱,而是呈现出多形态的需求。
很多白领及学生工作,学习紧张没有时间去到实体店里排队买餐,他们需要一种快捷的方式满足自己的用餐需求。
另外很多的宅男宅女也需要一种便捷的方式订餐,来节省自己的时间。
随着网络的普及以及人们需求的增长,网上订餐必定会成为一种趋势。
传统的订餐方式存在很多问题,比如说到餐厅就餐,在学校或者公司餐厅排队买饭花费的时间很长效率很低。
我们国家现在的个人订餐方式还处于电话订餐的层次上,不可否认,电话订餐的确方便,但是这种方式存在他自身的缺陷,例如,本身订餐的效率低,订餐人的信息和订单容易混淆和丢失。
因此,网上订餐的出现和发展是很有必要的,据了解在我国的部分地区网上订餐这种订餐形式已经得以发展,麦当劳,肯德基以及很多大型饭店已经投入使用网上订餐业务来满足客户的用餐需求。
网上购物的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。
整个菜品市场一片繁荣。
在中国,网上购物有发展的必要,也有发展的基础,发展网上购物的各方面条件也日趋成熟,但是还存在一些问题,只有把问题解决好了,才能保证网上购物的蓬勃发展。
1.2课程设计的主要工作
本次课程设计主要有七大任务:
1.研究网上订餐系统的背景和意义,现实生活中传统订餐存在的问题,以及网上订餐在国内的使用情况。
2.介绍本次网上订餐系统使用的开发技术。
以及使用的B/S的结构。
3.进行需求分析,明确在网上订餐系统中所要实现的功能。
4.进行总体设计,分析并设计系统功能和数据库。
5.进行详细设计,分析设计MVC模式在网上订餐中的使用情况以及功能的各个实现。
6.进行功能测试,给出测试环境和测试结果。
7.总结,通过以上各个环节的设计和测试找出自己的不足,总结经验。
该系统分为前台和后台两个部分,前台部分主要是面向用户的,前台主要供客户进行用户注册,登录以及菜单的浏览和菜品订购。
而后台主要是面向管理人员的,供管理人员对前台数据进行管理。
对于本系统的不同使用者,其功能与业务逻辑是不尽相同的。
对于普通用户而言,系统主要像用户展示一个美观的界面,用户在可以浏览各类资讯,查询餐饮信息,订餐。
而管理员则需要在后台维护这些数据。
本系统的主要功能应是用户的订餐,用户可以查询菜品信息,当发现自己满意的以后,在订单中进行选择然后提交。
管理员在后台可以查看用户的订餐请求,进行处理,处理完成后,管理员回应客户请求,以便该客户可以在前台看见相关信息。
1.3应用的开发技术
1.3.1MVC模式
MVC全称是Model-View-Controller,表示一种软件架构模式。
它把软件系统分为三个基本部分:
模型,视图和控制器。
MVC的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。
除此之外此模式通过对复杂度的简化使程序结构更加直观。
同时可以实现工作人员的分工作业。
模型(Model):
数据库管理员进行数据管理和数据库设计。
数据模型用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。
模型有对数据直接访问的权利,例如对数据库的访问。
视图(View):
界面设计人员进行图形界面设计。
在视图中一般没有程序上的逻辑。
为了实现视图上的刷新功能,视图需要访问它监视的数据模型,因此应该事先在被它监视的数据那里注册。
控制器(Controller):
程序员编写程序应有的功能即算法。
控制器起到不同层面间的组织作用,用于控制应用程序的流程。
它处理事件并作出响应。
MVC模型如下:
在本次网上订餐系统中,JSP对应View,负责生成最终的动态网页并返回给浏览器。
Servlet对应controller,处理HTTP请求,负责生成JSP中使用的JavaBean组件或对象,Servlet创建JSP所需要JavaBean和对象,然后根据用户的请求,决定将哪个JSP页面发送给客户。
而JavaBeans对应的是Model,实现各个客户,管理员,菜单和订单的应用逻辑与功能。
MVC具体的模块设计在详细设计中将做具体介绍。
1.3.2JSP技术
JSP是从1998年开始出现的新技术。
由SUN公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。
在传统的网页HTML文件中加入脚本片段和JSP标记,构成JSP网页。
JSP技术为创建显示动态生成内容的web页面提供了简便的方法。
JSP作为Java家族的一员,局有很多优点:
1.一次编写,到处运行。
2.系统支持多平台。
3.强大的可伸缩性。
4.多样化和功能强大的开发工具支持。
5.支持服务端组建。
虽然在我国JSP还不是主流技术,但是由于JSP的强大优势,许多网站都有转向利用JSP来开发动态网站的趋势。
JSP在本次设计中对应View来表现页面,主要实现对界面功能即用户登录和注册界面,管理员登录界面,菜品信息,用户信息等展示。
1.3.3Servlet技术
第一段:
技术简介。
通过Servlet来完成大量的事务处理。
第二段:
在系统完成中Servlet的作用。
Servlet是先于JSP的一种服务器端技术,1997年随着Java语言的广泛使用,Servlet技术迅速成为动态Web应用的主要开发技术。
Servlet是一种独立于平台和协议的服务器端的Java小应用程序,它基于Java技术的Web组件,运行在服务端口,本身没有main()方法,有另一个应用程序如tomcat调用和管理,用于生成动态内容。
Servlet在本系统中处于控制者的位置,处理HTTP请求,负责生成JSP中客户,管理员使用的JavaBean组件或对象,Servlet创建JSP所需要JavaBean和对象,然后根据用户的请求行为,决定将哪个JSP页面发送给客户或管理员。
1.4开发工具
1.系统软件平台
数据库:
SQLServer2005,
操作系统:
WindowsXP、Windows7
2.开发工具
开发语言:
JSP
开发结构:
B/S
开发工具:
MyEclipse6.0.1
SQLServer是一个关系数据库管理系统。
它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNⅨ操作系统上的应用。
SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3层结构。
B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
MyEclipse企业级工作平台,即MyEclipseEnterpriseWorkbench,是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
1.5小结
本章首先介绍了网上订餐系统的背景和意义,交代了网上订餐的必要性和趋势,并且介绍了本课题研究的任务和结构。
同时介绍了本次系统开发使用了B/S结构,采用MVC模式以MyEclipse为平台进行的。
另外本章对本系统使用的开发语言也做了介绍。
2需求分析
需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,本章将从用户需求方面特别是功能需求来对系统进行分析和设计。
2.1实际业务操作流程
现在我国还处在电话订餐和到餐厅排队买饭的阶段,电话订餐具有它一定的优越性,方便快捷,但同时具有一定的局限性,比如客户信息的保存问题和订单信息的提交问题。
排队买餐更是浪费时间,而且还会出现供不应求,买不到饭的情况,很不方便。
传统订餐模式流程图:
2.2功能需求
顾客:
(1)顾客登录网上订餐系统进行菜单的浏览或者注册为会员,以会员形式登录的顾客享受订餐服务。
(2)当顾客确定订餐完毕后,顾客可以将其提交至餐厅后台系统,并生成订单。
(3)顾客可以对系统或者餐厅有意见或者建议的留言给管理员。
管理员:
(1)管理员登录后台点餐系统并将顾客点餐提交到后厨显示
(2)管理员可以管理会员信息,进行增删修改。
(3)管理员可以发布菜单,也可以添加、删除和修改菜单。
对用户功能列表如下:
类型
功能
客户
用户注册
用户登录
查看菜品
进行订餐完成订单提交
反馈意见到留言板
管理员
管理员登录
查看客户信息,也可对其增删修改
发布菜单,对菜单进行增删修改
查看订单信息
查看留言板
2.3小结
本章主要介绍了没有网上订餐下的实际业务操作流程以及本系统客户和管理员的需求分析,列出了本系统主要实现的功能。
3概要设计
经过需求分析阶段的工作,已经明确本系统要做什么了,而总体设计的基本目的就是解决怎么做的,本次系统是一个基于互联网的订餐平台,主要完成客户和管理员的各个服务。
总体设计主要完成系统方案和软件结构。
3.1系统总体设计
3.1.1框架设计
本次网上订餐的模型如下:
其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。
而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。
3.1.2功能设计
顾客网上订餐功能分析:
根据对顾客网上订餐系统业务流程的分析,可以看出顾客点菜主要涉及到一些数据库的逻辑和程序应用逻辑。
具体的功能归纳如下:
1.顾客登录网上订餐系统进行菜单浏览、
2.顾客注册为会员。
3.会员对自己的个人信息进行更改,比如送餐地址和联系电话。
以及账户密码。
4.顾客对已选的菜单进行更改选择的数量或者取消选择。
5.当顾客确定订餐完毕后,顾客将其提交只服务器后台点餐系统,并生成订单。
管理员后台管理系统功能分析:
1.管理员在后台登录。
2.管理员可以对餐厅网上订餐系统上的菜单进行添加、删除和修改,比如更改菜单的图片,价格,菜单的描述,更换新品,添加新菜等。
3.管理员对菜单进行管理,确定订单的生成。
4.管理员查询订单。
客户和管理员的数据流图:
3.2数据库设计
数据库E-R图
数据库表设计
1.用户注册表(tb_user):
用户注册需要的数据中必须包含用户名(username),密码(userpassword),地址(address),联系电话(tel)等信息。
tb_user
列名
数据类型
长度
uid
int
4
username
varchar
50
userpassword
address
tel
13
2.菜品信息表(food):
菜品信息表主要描述菜品信息,如:
菜品ID号(foodid),此ID号为系统自动生成;
菜品名称(fname);
菜品价格(price);
图片信息(images)。
food
foodId
price
money
8
images
fname
3.订单表(orders):
订单表有一下描述信息。
订购人姓名(name),地址(address),联系电话(tel),价格(price),备注信息(context)等,
orders
name
numeric
9
context
text
16
4.订单菜单表(shop):
shop
fId
num
Money
5.管理员表(admin):
只有一个管理员,用户名和密码数据库内建表时默认用户名为李燕平,密码是111530409.
连接数据库关键代码
try
{Class.forName("
com.microsoft.sqlserver.jdbc.SQLServerDriver"
);
}
catch(ClassNotFoundExceptione)
{e.printStackTrace();
returnfalse;
try
{Connectioncn=DriverManager.getConnection("
jdbc:
sqlserver:
//127.0.0.1:
1433;
databasename=自建数据库"
"
sa"
123456"
PreparedStatementpstmt=cn.prepareStatement("
SQL语言"
对象调用代码
pstmt.executeUpdate();
pstmt.close();
cn.close();
returntrue;
catch(SQLExceptionex)
{ex.printStackTrace();
returnfalse;
}}
3.3小结
本章主要从系统的总体设计和数据库的设计两方面阐述软件系统的设计方案和软件结构。
这个阶段的基本目的是有比较抽象的概括的方式去确定系统如何完成预定的任务。
而如何具体实现程序的设计,除了结构设计作为前提外还需要详细设计来确定应该怎样具体地实现所要求的系统。
4功能详细设计与实现(8-10页为宜)
详细设计阶段的根本目的是确定应该怎样具体地实现所要求的系统,本阶段对目标系统做出精确描述,即设计出程序的蓝图,所以,详细设计的结果基本上决定了最终的程序代码的质量。
详细设计的目标不仅仅看他的逻辑是否正确的实现每个模块功能,更重要的是设计出的处理过程应该尽可能简单易懂。
详细设计在整个设计思想中站重要地位。
4.1系统框架各层次实现
4.1.1Model设计
1.Admin.java:
本类有一个与类同名的无参构造函数,属于JavaBean规范,本包其他各类均有类似函数,不再列举。
Admin类中使用setX()和isX()来实现对管理员属性的赋值和取值,其中包括管理员名字和密码。
通过isExists()查询数据库中的表admin来判断管理员是否存在。
若有异常,抛出异常。
2.User.java:
User类中使用setX()和getX()来实现对客户属性的赋值和取值,其中包括客户的名字、密码、地址和电话。
通过addUser()把用户信息添加到数据库的表tb_user中。
3.Users.java:
User类中使用setX()和isX()来实现对客户属性的赋值和取值,其中包括客户的名字和密码。
通过isExists()查询数据库中的表tb_user来判断用户是否存在。
4.Foodc.java:
Foodc类中使用setX()和getX()来实现对菜品属性的赋值和取值,其中包括菜品的号码、名称、价格和图片信息。
通过addFoodc()把菜品信息添加到数据库的表food中。
5.Orderc.java:
Orderc类中使用setX()和getX()来实现对订单属性的赋值和取值,其中包括订购人姓名、地址、联系电话、价格和备注信息。
通过addOrderc()把用户信息添加到数据库的表orders中。
4.1.2View设计
主界面:
主要实现三个超链接
管理员登录界面:
用户注册界面:
注册成功后进入用户登录界面
用户登录界面:
用户登录后界面:
菜品界面:
主要显示菜名,图片,价格
订单菜单界面:
提交后数据导入数据库管理员可看见订单
管理员登录后界面:
菜单管理界面:
主要实现菜单的增删改
订单管理界面:
点已处理按钮,数据库删除订单信息
用户信息管理界面:
实现用户的增删改
管理员添加用户界面:
其他操作与此类似不再截图
4.1.3Controller设计
1.GLogin.java:
定义GLogin继承HttpServlet,重写doGet()和doPost(),通过request对象调用getParameter()方法获得JSP文本框内容,定义Admin类的对象调用setX()方法实现数据属性值传递,即管理员名字和密码,定义结果集对象,使用executeQuery方法执行Select语句。
最后根据结果控制JSP,成功则跳到管理员登录后的界面,即index2.jsp。
否则停在本界面。
2.Reg.java:
定义GLogin继承HttpServlet,重写doGet()和doPost(),通过request对象调用getParameter()方法收集数据,定义Users类的对象调用setX()方法传递数据,调用JavaBean。
最后根据结果控制JSP,成功则跳到用户登录后的界面,即index3.jsp。
3.Login.java:
定义Login继承HttpServlet,重写doGet()和doPost(),通过request对象调用getParameter()方法获得JSP文本框内容,定义User类的对象调用setX()方法实现数据属性值传递,即用户名和密码,定义结果集对象,使用executeQuery方法执行Select语句。
4.OrderCL.java:
定义OrderCL继承HttpServlet,重写doGet()和doPost(),通过request对象调用getParameter()方法收集数据,即订单人信息和订餐信息,定义Orderc类的对象调用setX()方法传递数据,调用JavaBean。
最后根据结果控制JSP,订单成功则跳到订单成功的界面,即dingdanchenggong.jsp。
5.CDadd.java:
定义CDadd继承HttpServlet,重写doGet()和doPost(),通过request对象调用getParameter()方法收集数据,即添加的菜单的各个信息,定义cdadd类的对象调用setX()方法传递数据,调用JavaBean。
最后根据结果控制JSP,添加成功则跳到管理员主界面,即index2.jsp。
否则停在本页。
用户的添加以及其他功能与此类似。
4.2主要功能的设计与实现
实现的全部功能表:
表4.1实现的主要功能细节
序号
功能细节
备注
1
主界面设计
实现三个超链接,用来跳转其他页面
2
实现用户信息的输入,注册成功,数据存入数据库
3
实现用户信息的输入和数据库匹配,成功,跳到用户使用界面
实现管理员信息的输入和匹配,成功跳到管理员使用界面。
5
菜品的展示
显示各个菜名,图片,价格等
6
订单菜单
以简式菜单的形式用户可多项选择菜品。
提交后订单生成
7
菜单管理
实现菜单的增添删改
订单管理
显示订单的各项信息,管理员处理后删除
用户管理
管理员操作用户的增删修改
10
留言板功能
用户可对订餐服务或者其他进行评价等
4.2.1功能1用户注册
1.流程设计
是
否
2.技术应用
本流程使用JSP+Ser