综合课设报告吃在青岛网站的设计与实现.docx
- 文档编号:23689558
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:33
- 大小:1.11MB
综合课设报告吃在青岛网站的设计与实现.docx
《综合课设报告吃在青岛网站的设计与实现.docx》由会员分享,可在线阅读,更多相关《综合课设报告吃在青岛网站的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。
综合课设报告吃在青岛网站的设计与实现
青岛理工大学
综合课程设计报告
院(系):
专业:
班级:
姓名:
学号:
题目:
指导教师:
第一章前言
1.1课题背景
在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。
信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。
人类社会就处在一个对信息进行有效合理的加工中。
它将促进整个社会的发展。
随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。
在当今信息时代,人们的生活方式随着Internet的不断发展发生了不同寻常的改变。
基于Internet的远程教育作为本世纪的新型教学方式倍加受到人们重视,如何改革传统的教学模式,增强教学手段,提高教学效果是摆在我们面前的一个新问题。
中国是举世闻名的美食大国,拥有五千年的饮食文化帮巨大的餐饮市声,满足个的温饱问题已不是当今的热点,人们的生活方式逐渐在转变着,包含已经成为了一种时尚,一种享受。
民以食为天,随着人民生活水平和生活方式的转变,渐渐的人们发现餐饮业具有巨大的投资市场。
随着餐饮业投资者的不断涌入,许多新一代的快餐店,披萨店,餐饮在国内开始风靡,随处可见
随着社会的脚步加速,人们对时间越来越看重,而网络的普及率越来越高,相比繁琐的寻找合适的就餐地点而言,网商定餐越来越受人们的欢迎,尤其是高品位生活的白领及高层收入人士。
餐饮业的未来肯定要涉及电子商务。
餐饮行业进入网络营销必须注重行业的品牌建设和特色经营,提升餐饮业的文化品位和网络餐饮的文化特色。
要搞电子商务,必须提高餐饮业的文化品位,摒弃传统餐饮业低层次的服务方式,走特色美食文化之路。
有了自己的网站或有了自己的虚拟店面,不能只是简单地介绍饭店的地址、订座电话或几张炒菜图片,一定要突出餐饮的深层次服务,如企业精神、特色菜肴、休闲、文化娱乐、在同行业中的特色优势、投诉处理、意见反馈甚至互动交流。
总之,餐饮业要触网,最重要的是要提升它的特色文化品位,重点定位在培养各阶层顾客对品牌的忠诚度上,处处体现出企业对客户的“爱心、欢乐、洁净、美味”的体贴;同时,也要兼顾网络文化的特点,让消费者能在网路上产生闻其香、诱其色、顺其意、进其餐、醉其眠的感觉
1.2项目分工
我组为两人:
组员:
主要负责程序设计及后台代码的编写,具体有用户管理、店铺管理、菜单管理、管理员管理,数据库设计与实现。
组员:
主要负责部分后台代码编写及前台jsp页面的实现,包括图片管理、公告管理、前台页面的设计及实现
1.3开发工具
本网站利用java采用MVC三层架构模型编写核心后台代码,B/S结构;前台利用jsp、jquery、javascript、html、css等主流网站设计技术编写。
数据库使用MySQL,采用jdbc数据库连接技术。
1.3.1java简介
ava是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。
由JamesGosling和同事们共同研发,并在1995年正式推出。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java[1]被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
另一方面,Java技术也不断更新。
(2010年Oracle公司收购了SUN) 由四方面组成:
Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。
1.3.2Myeclipse简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
1.3.3MySQL数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
1.3.4Jquery技术
jQuery是一个兼容多浏览器的javascript框架,核心理念是writeless,domore(写得更少,做得更多)。
jQuery在2006年1月由美国人JohnResig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由DaveMethvin率领团队进行开发。
如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。
jQuery是免费、开源的,使用MIT许可协议。
jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。
除此以外,jQuery提供API让开发者编写插件。
其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。
1.3.5MVC模型
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
比如一批统计数据可以分别用柱状图、饼图来表示。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
[1-2]
模型-视图-控制器(MVC)是XeroxPARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。
后来被推荐为Oracle旗下Sun公司JavaEE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。
模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。
1.3.6B/S模型
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或 SQLServer等数据库。
浏览器通过WebServer同数据库进行数据交互。
第2章需求分析
2.1任务概述
创建一个网站介绍青岛的各个饭店、餐馆的情况,让顾客能够快速了解各个饭店的特色,目前饭店的房间、停车位占用情况,顾客可进行房间预定。
要求:
1每个饭店的管理员可在此网站上注册自己的饭店,并实时进行相关数据的更新(主要是房间预定情况和停车位剩余情况)。
2在网站上能够实时显示出各个饭店的房间剩余数量和停车位剩余数量,已方便顾客选择可去的饭店。
3在网站上应有公告区、新闻区、为饭店做展示的展示区等公共区域。
2.1.1系统目标
本系统需要满足以下几个系统设计目标。
(1)实用性原则:
真正为用户的实际工作服务,方便餐馆顾客了解各大饭馆的情况及特色,方便选择去处,饭店管理也可更好的宣传自己的特色及减少很多开支。
(2)可靠性原则:
必须为顾客提供信息安全的服务,以保证餐馆的各类私密信息的不被泄露。
(3)友好性原则:
本网站面向的用户是普通打众,所以网站操作上要求简单、方便、快捷,便于用户使用。
(4)可扩展性原则:
采用开发的标准和接口,便于网站向更大的规模和功能扩展。
2.1.2用户特点
用户在网站上注册之后,可以注册自己的餐馆,但是每个账户最多只能注册三个店铺,用户可以在自己的网站后台对自己的相关信息进行查看及修改,可以管理自己的店铺,实时更新自己的店铺信息,如剩余房间和车位、店铺图片等;便于顾客可以随时能够了解到自己的店铺,提高餐馆的效率。
2.2系统的功能需求
2.2.1系统角色功能需求
本网站有两种角色:
普通用户,管理员。
详细划分如下:
(1)管理员:
管理用户信息,管理店铺信息,推荐店铺或菜式,发布公告
(2)普通用户:
管理个人信息,管理店铺,管理菜单,
.2.2.2功能模块
网站主要功能模块,各个子模块功能需求如下:
操作员管理模块:
管理员登录,查看管理员信息及修改管理员密码,用户修改及删除,店铺修改及删除,菜单修改及删除,推荐或取消推荐店铺或菜单,发布公告,修改及删除公告。
用户管理模块:
用户登录,查看及修改个人信息,注册店铺,管理店铺(增加、删除、修改、查看),管理菜单(增加菜式、修改菜式、删除菜式、查看菜式)
前台:
显示各大商家的店铺信息供顾客浏览,顾客通过商家的联系电话进行咨询预定。
2.3系统的性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以
下的性能需求:
(1)系统处理的准确性和及时性
网站系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。
由于系统的查询功能对于整个系统的功能和性能完成很重要。
因此,在系统开发过程中,系统采用优化的SQL语句及安全扩展存储过程来保证系统的准确性和及时性。
(2)系统的易用性和易维护性
网站是直接面对使用人员的,而有些使用人员往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。
(3)系统的响应速度
网站设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。
系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。
严格保证操作人员不会因为速度问题而影响工作效率。
2.4系统的数据需求
通过对网站系统功能需求的分析,可以初步确定网站的基本数据需求。
由各个功能模块可以进一步确定具体的数据需求,具体数据需求如下:
(1)用户信息管理模块数据需求
该模块主要是用户个人信息,需要表示用户信息的数据,应包含用户编号、用户名、用户密码、用户的店铺编号、店铺数量、备注、电话、邮箱、注册、注册日期
(2)店铺管理模块数据需求
该模块主要管理用户店铺信息,需要表示店铺信息的数据,应包含店铺编号、店铺名称、房间总数、被占用的房间数、停车位总数、被占用车位数、店铺电话、店铺图片、营业时间、注册时间、店铺地址、店铺详细信息、备注、推荐状态
(3)菜单管理模块数据需求
该模块主要管理菜单信息,需要表示菜单信息的数据,应包含菜品编号、
菜品名称、菜品简介、菜品图片、所属店铺编号、推荐状态
(4)公告管理模块数据需求
该模块管理公告信息,需要表示公告的信息数据,应包括公告编号、公告标题、公告内容、发布日期
第3章系统总体设计
3.1系统功能设计
3.1.1系统总体模块
本网站分为网站前台、管理员后台、商家后台。
管理员块又分为用户管理、店铺信息管理、菜品管理、公告管理,普通用户块又分为个人信息修改、密码修改、店铺管理、菜单管理。
前台由商家注册、商家登录、设为首页、收藏首页、帮助、日期、区域选择、搜索、店铺信息列表、公告、推荐店铺、推荐菜品等信息组成,点击店铺图片或名称进入对应店铺首页,前台各大功能如图3.1:
图3.1前台功能图
用户后台,包括用户个人信息管理、店铺管理、菜品管理等功能,如图3.2:
图3.2用户后台功能
管理员后台,包括用户个人信息管理、店铺管理、菜品管理、公告管理等功能
如图3.3:
图3.3管理员后台
第4章数据库设计
4.1数据库概念设计
网站根据数据需求分析规划出的实体有:
用户信息、店铺信息、菜品信息、公告信息、管理员信息,给出了各实体的实体属性图。
(1)用户信息表对应的实体属性
用户信息表的作用是存储用户编号、用户名、密码、店铺编号1,店铺编号2,店铺编号3、店铺数量、电话、邮箱、注册日期、备注的实体属性如图4.1所示。
图4.1用户实体
(2)公告信息表对应实体属性
图4.2公告信息实体
(4)店铺信息表对应的实体属性
店铺信息表的作用是存储店铺编号、店铺名、房间总数、车位位、被占车位数、被占房间数、电话、图片、营业时间、注册日期、地址、店铺详情、推荐状态,店铺信息表的实体属性如图4.3所示
图4.3店铺信息实体
(4)菜品信息表对应的实体属性
菜品信息表的作用是存储菜品编号、菜品名、店铺编号、菜品图片、菜品详情、推荐状态,属性如图4.4所示。
图4.4菜品信息实体
(5)管理员信息表对应的实体属性
管理员信息表的作用是管理员账号、密码。
实体属性图4.5如下
图4.5管理员实体
4.2数据库逻辑设计
表4.1数据库表的简要说明
表汇总
表名简要说明
admin管理员信息表,存放管理员信息
menuinfo菜品信息表,存放菜品的信息
shopinfo店铺信息表,存放店铺的信息
publicmess公告信息表,存放公告信息
userinfo用户信息表,存放用户的信息
4.2.2表逻辑结构设计
表一管理员信息表admin
名称
字段名称
数据类型
主键
非空
管理员账号
Admin
文本
Yes
Yes
密码
Password
文本
No
Yes
表二菜品信息表menuinfo
名称
字段名称
数据类型
主键
非空
菜品编号
did
数字
Yes
yes
店铺编号
sid
文本
外键
Yes
菜品名
dishName
文本
No
Yes
菜品图片
dishPic
文本
No
no
推荐状态
recommend
文本
No
No
菜品详情
innumber
数字
No
Yes
表三店铺信息表shopinfo
名称
字段名称
数据类型
主键
非空
店铺编号
Sid
文本
Yes
yes
店铺名
shopName
文本
No
Yes
房间总数
totalRoom
数字
No
No
车位总数
totalPark
数字
No
no
被占房间数
occupyRoom
数字
no
no
被占车位数
occupyPark
数字
No
No
电话
shopTel
文本
No
Yes
图片
shopPiC
文本
No
No
注册日期
registerTime
时间类型
No
Yes
营业时间
businessTime
文本
No
Yes
地址
Address
文本
No
Yes
店铺详情
shopDetails
文本
No
Yes
推荐状态
Recommend
文本
No
No
表四用户信息表userinfo
名称
字段名称
数据类型
主键
非空
用户编号
Sid
文本
Yes
yes
用户名
username
文本
No
yes
密码
Password
文本
No
Yes
店铺编号1
Sid_1
文本
外键
Yes
店铺编号2
Sid_2
文本
外键
Yes
店铺编号3
Sid_3
文本
外键
Yes
店铺数量
shopCount
数字
No
Yes
电话
Tel
文本
No
Yes
邮箱
文本
No
Yes
注册日期
Date
时间类型
No
Yes
备注
Content
文本
No
Yes
第5章详细设计
5.1程序结构的设计
(1)登录模块,首先接受用户输入的用户名和密码,然后在数据库中查询
是否有此用户以及密码是否正确,若正确则进入系统。
该模块流程图如下图所示。
图5.1登录模块流程图
(2)店铺信息管理(操作包括增删改查)用户登录到后台,选择操作(店铺添加、删除、查询、修改等操作,管理员还有推荐,取消推荐),如果选择添加,系统首先判断该该用户是否已经添加了三个店铺,若不是执行该操作,否则返回提示不能再添加店铺。
流程图5.2所示。
图5.2店铺信息管理流程图
(3)用户注册,用户输入基本信息,先判断用户输入是否规范,在判断用户名是否已经存在,然后写入数据库,注册成功,如图5.3。
5.3用户注册流程图
(4)用户管理菜品,对菜品进行添加、修改、删除等操作,管理还包括推荐、取消推荐,如图5.4:
图5.4用户管理菜品流程图
(5)用户个人信息管理,修改个人信息,如图5.5:
图5.5个人信息管理流程图
(6)修改密码,首先输入原密码,在两次输入密码,如图5.6:
图5.6密码修改流程图
(7)公告管理,包括添加公告、修改、删除的操作,如图5.7:
图5.7公告管理流程图
5.2前台设计
5.2.1登录界面
登录:
用户输入的用户名及密码,获取数据库中此用户名的详细信息,如果密码或用户名错误,用户不存在,则提示用户名或密码错误,否则,进入后用户后台。
用户登录界面如图5.8所示
图5.8用户后台登录页面
图5.9管理员后台登录页面
5.2.2网站首页
5.2.3店铺首页
5.2.4用户后台页面
5.2.5管理员后台页面
5.2.6修个人信息
5.2.7修改密码
5.2.8添加菜品
5.2.9添加公告
5.2.10添加店铺
第6章总结
本次课设是大学里除毕业设计时间最长的一次课设,难度也仅次于毕设,当初选题时候,以为做一个网站很容易,因为在学习的时候就是学习做网站,但是那些都只是一小部分,真正要做成一个完整的网站,要考虑的问题有很多很多的方面,涉及到很多的知识,这次课设的时间虽然有五周,但是还是觉得时间不够用,网站做到今天,算是已经有了一个基本的样子了,但是还是有很多欠缺的功能,比如还没有实现顾客在线订购的功能,由于时间的关系,也由于自己没有过个真正的项目经验,所以在当初设计网站的时候,有很多的问题没有想到,等到做到一半的时候才发现这些问题,如数据库中的表缺少某些属性字段,如果再去添加这些字段的话,就会影响整个系统,这样就会很麻烦,但是没有办法,必须去解决,网站实现涉及内容很多,所以在实现过程中也遇到了很多的问题,很多东西甚至以前都没有接触过,这些都得从头去学,虽然很苦,但总算是学到了东西,中途遇到难题之后,也想过要放弃这个项目,另选题目,但是想到这个项目已经做了这么久了,放弃了真的挺可惜挺也遗憾的,所以还是咬紧牙关挺了过来了,虽然至今的成品做的还是很烂,但是我会把它作为我更加努力学习的驱动力。
本次课设中遇到的问题,有些还是没有解决,如在进行区域选择时,用jquery实现区域名称的实时选中显示效果,由于每次选择区域后就会刷新页面,所以显示选择后马上有消失了,回到了最初的显示效果,该问题还有待于我后期再去解决,网站没有用户在线订购付款的功能,这是我最遗憾的地方,本想去实现的时候但是由于时间的关系,又怕耽误了答辩,所以只能留在后期去处理了,本次是用了mysql数据库,其实使用起来很简单,但是乱码问题确实很让人伤脑筋,餐饮网站最多的就是图片,所以我使用的是smartupload组件来实现上传的,在上传过程中,由于在form表单中加入了控制属性,所以上传数据都变成了流,在服务器端取数据的是就又遇到了乱码问题,这次乱码让我查了好久的资料才解
决,课设过程虽然很枯燥,但是当看到自己的产品时,心中也不失快乐。
参考文献
[1] 周影 .网络编程语言JSP实例教程.电子工业出版社,2003.6.
[2] 清宏计算机工作室 .JSP编程技巧.机械工业出版社,2002.1.
[3] Jose Annunziato.JSP 速成教程.机械工业出版社,2002.1.
[4] 王珊,萨师煊.数据库系统概论(第四版).高等教育出版社2006.5
[5]古月声.javaweb程序设计与项目实战.电子工业出版社2011.6
[6]陈天河.轻量级web应用开发宝典.电子工业出版社2011.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 报告 青岛 网站 设计 实现