第一章 绪论
1.1课题背景与意义
自新世纪以来,我国经济发生翻天覆地的变化。中国经济发展迎来空前巨大的机遇与挑战,世界性的发展交流在这三十年较近四十年的时间中整体性上升发展,东西文化的碰撞,不断为国民经济的发展注入新鲜血液。以服务业为代表的第三产业不仅满足了消费者的需求,而且为他们选择的多样化提供了诸多便捷。饮食行业成为商家提高利润的突破口,物质文化的不断满足之后必定是精神世界的不断丰富,第三产业进入繁荣时期。但是饮食行业的就餐方式依然落后,传统的去实体店就餐已经不能满足年轻人和大众的要求。
中国是一个自古以来就喜欢和看重饮食的国家,从古至今。当代社会人们在大中型城市的生活节奏不断加快。许多人或是忙于工作,或是忙于学业,无法静静的坐下来品尝美味的佳肴。随着21世纪的到来,电子商务的潮流冲击了中国的思想文化,人们越来越倾向于网上购物和网络消费,网上订餐这种新潮的就餐方式已然成为了现代的主流消费方式,被人们广泛认同。
综合比较饿了么,美团等市面上已经存在的网上订餐软件,现今的订餐软件功能十分强大,在借鉴学习优秀的订餐软件的基础上开发出了一个网页版的网上订餐系统。经过考查餐饮行业的发展现状发现,我国以大中型城市为代表的餐饮行业中,网上订餐迅速崛起,随着餐饮行业规模的不断扩大,提供多样化订餐方式是对传统酒店行业改革的主要特点。而传统的实体点餐已经不能适人们快节奏的生活方式,所以要想订餐行业长期发展,必须运用新型订餐模式,解决传统订餐方式的各种弊端。
1.2开发工具及技术
1.2.1开发工具
本课题开发主要使用MyEclipse和汤姆猫后台服务器结合开发,开发阶段主界面前端主要使用JSP技术进行开发,下面对以上列出的几种技术进行简单介绍与分析。
1.2.1.1 MyEclipse
MyEclipse是一个IDE环境下比较常用的开发软件,广泛用于J2EE和Java的开封。其功能十分强悍,可以对开发软件进行调试,提高调试或开发效率。其可以直接地翻译源文件,十分省心省力,并且对各类源文件都基本支持,具有健壮性,可兼容性等优势,可以轻松的进行JAVA WEB开发,具有可视化编辑器和快捷操作栏,同时还可以优化JAVAEE开发,方便的找到关键技术的解决方案,同时MyEclipse也全面支持各种插件,支持个性定制和扩展化,个性化功能。对于本系统关键技术采用JSP的网上订餐系统来说,MyEclipse无疑是最适合的,开发最便捷的开发平台。
1.2.1.2 Tomcat
Tomcat是一个主要由Apache、Sun公司共同努力,开发的服务器,同时它是一个开源的,免费给社会大众使用的服务器,它是开发JSP应用程序,应用于MyEclipse平台的最佳服务器,十分适合个人开发以及中小型企业以及用户比较零散的情况下使用,可以这样理解,汤姆猫服务器就像一个中介,通过使用它来对HTML页面进行响应,汤姆猫服务器是阿帕奇服务器的一个延伸扩展软件,当前最新版的汤姆猫服务器版本为9.0.0,本系统主要采用汤姆猫服务器部署已经开发好的网上订餐系统。
1.2.2 JSP技术
JSP最早是由SunMicrosystems公司提出的,经过其推广,很多的计算机和软件公司逐渐共同参与开发。其主要是通过在HTML文件(.htm,.html)中嵌入Scriptlet和JSP标签来实现的。这样,内嵌的Java程序就可以生效,对数据库做出请求、或者启用E-mail等。JSP大概出现上世纪末,SunMicrosystems公司希望利用它来建立动态性的网站,并利用其兼容性和扩展性,来扩大平台应用。从实际效果来看,JSP技术的出现使Web的建设和设计创新不断。其特点大概有以下几点:
依托JSP技术,工程技术人员可利用XML或HTML标识来对web等页面进行修改或推翻设计。这些页面上的内容也可以依托JSP来设计或实现。另外,网站服务器中的内容将被储存在Servlet和JavaBean中,同时还体现在脚本中。如此一来,利用JSP编程语言设计的服务器,其内容发送的信息和要求都可以通过JSP索引来解释,或者根据其脚本来设计或建立。当然,这些最终的内容也会通过HTML或XML形式反馈到浏览器中。通过这样的方式,能够使源代码的编写者维护自己的专利和权益,也可以保证web页面的兼容性和可拓展性。
一般来说,单独的JSP页面不发生复杂的数据分析和处理,其一般用于爬虫或索引提炼攫取数据。
JSP是基于Java编程语言的,其内部具有tags和scriptlets,可以用于储存动态页面运作需要的一套程序方式。另外,JSP将动态页面运作需要的一套程序方式与静态的网页设计分离,这样的模块分块使JSP具有兼容和扩展性,开发性更高。说到底,JSP技术能实现动态的页面控制,并且可以让页面运作程序与静态的页面分离。
JSP页面由两部分组成,分别为HTML和Java代码。一般来说,上游的服务器如果收到来自外部请求或信息,会对Java代码进行分析或运算处理,从而以HTML的方式回馈到网页浏览器中。Java Servlet是其基础,规模较大的JSP项目开发一般依托Java Servlet和JSP这两者。在技术上,JSP具有了Java特有的容易理解、容易上手、适用性广,不挑平台、安全性高等特点。这些优势保证了其在整个因特网中广为使用。在上世纪末出现后,如今不少公司都使用其服务器,如比较有名的IBM、Oracle、Bea,其逐渐成为电子商务软件开发的“宠儿”。,
具体来看,JSP有如下的显而易见的优势:
(1)可以多次的复用。可在各类系统内嵌套使用,而不需要重新编写代码。这是其优于PHP之处。
(2)另外,其兼容性比较好。基本不挑平台,常见的平台都能兼容和开发、应用、扩展。这刚好与PHP的不可拓展性互补。
(3)适用性广。无论是war小文件或多层次的平台以及服务器,其都能兼容和运行。对各类规模不一的平台都能进行数据分析、处理,反馈,其展现出极强的适应能力。
(4)可依托种类丰富、功能优异的工具。经过接近20年的发展,JSP如今已拥有了很多开发工具,这些工具功能强大,几乎覆盖了程序开发和设计方方面面,并且几乎不需耗费金钱即可得到,为开发人员提供了便利性。
1.2.3 B/S模式分析
C/S模式是由Client、Server和middleware构成的。其中Client主要用于客户与标准组件进行信息的交互和传递。Server主要是集中对数据库资源进行管理,当有多个请求同时需要某资源时,可以进行优化和分配。Middleware是在用户与服务器之间起到第三者的连通作用,通过其连接,可以让请求和信息在用户与服务器之间顺畅流通。
B/S与C/S模式最大的不同是用户端。从外在使用上看,B/S一般无须在计算机上安装专用的客户端,不需要通过专用的程序与服务器发生连接。其连接一般通过标准化设定的浏览器即可实现。这样可以避免安装客户端的繁琐,可以释放用户的硬盘空间,让用户电脑界面更加美观清晰,使用效果更佳。
从操作体验上来说,在C/S模式下,用户想要熟悉地操作,与服务器发生请求和信息交互,那么需要对安装的用户端有一定掌握,对其界面和基本操作要比较熟悉。而对于B/S模式来说,由于浏览器的界面是经标准化的,操作方式和按钮大同小异,用户无须耗费太多的时间成本即可轻松上手。从系统安全和日常维护来说,B/S无疑更省事。
从目前的发展来看,B/S已经具备了网上公开信息功能,这是在MIS上拓展而来的。而C/S暂时实现不了这一功能。在预约挂号软件的应用中,运用这种网上公告和发布功能,可以减少医院纸质材料的打印和派发,也使其运营效率提升。
从以上B/S与C/S的比对,可以发现在MIS平台中,B/S具有不可比拟的优势。因此本课题设计中选用了B/S架构。B/S架构图如下图1.1所示:
图1.1 B/S架构图
1.3软硬件需求
硬件需求:
CPU:Pentium以上计算机
内存: 512M以上
软件需求:
操作系统版本:Windows XP /vista/Win7
开发工具:MyEclipse 6.5
后台服务器:Apache Tomcat 6.0
开发语言:Java
浏览器:IE6.0
开发过程中使用的机器配置:
CPU:intel酷睿i5
内存: 8G
软件需求:
操作系统版本:Win7
开发工具:MyEclipse 6.5
后台服务器:Apache Tomcat 6.0
开发语言:Java
浏览器:360浏览器
第二章 系统分析
2.1可行性分析
在我们着手开发一个新系统时,我们或多或少会遇到各种限制,诸如时间上的限制或是资源上的限制。因而我们必须在着手开发项目之前进行一系列的可行性分析,进行可行性分析并不是浪费时间和资源,而是对时间和资源进行一个长远的规划,规避这些不必要的系统开销,具体的,我们从以下这几个方面:开发所使用的技术的可行性,开发经费消耗的经济的可行性,开发完成后和过程中的操作的可行性,设计开发过程中的法律可行性几个方面来进行详细的阐述。
2.1.1技术可行性
在进行系统开发的第一步,便是对本系统进行技术可行性的分析,本系统的所采用的开发平台是MyEclipse,本系统所采用的开发数据库是MySQL,主要采用JAVA语言和JSP语言来完成系统的绝大多数功能,在太原理工大学学习期间,我们学习了WEB-JSP技,JAVA技术,数据库系统概论,了解了MYSQL数据库的使用原理和操作规范,由此分析,技术可行性分析通过。
2.1.2经济可行性
步入21世纪,正是一个各种科技创新日新月异的时代,信息化的管理,信息化的系统使得人们的生活方式发生了改变,同样信息化使得网上订餐系统可以在原来老旧的订餐方式发生改变,可以为采用网上订餐系统的企业带来巨大收益;同时,网上订餐系统对硬件的要求斌并不是十分的严苛,普通用户和中小型企业完全都可以负担的起,开发成本较低,对服务器的要求也并不是很高,开发网上订餐系统所带来的高效率和便捷实用性将远大于开发网上订餐系统所投入的成本和心血,而且可维护性和可扩展性都十分健康良好,将会给系统使用者带来很大的经济收益,据此分析,经济可行性分析通过。
2.1.3操作可行性
在开发该系统完成前,分析开发完成后的系统,可以看出网上订餐系统在输入添加界面多采用条形框和下拉框形式,操作起来简单方便,对操作人员的技术要求很低,同时界面十分简单,十分容易上手,只要对网页有一定了解会操作微软windows系统的人员均可以轻松,愉快的使用本系统,即使开发人员零基础,也可以简单教学之后就可以熟练操作本系统,不但如此,本系统的功能结构操作一目了然,采用简约的理念,来设计本系统的操作界面,简易便捷,由此而言,得出结论,网上订餐系统在操作上是可行的,操作可行性通过。
2.1.4法律可行性
本人开发网上订餐系统过程中所使用的开发平台MyEclipse,数据库Mysql都使用的是正版软件,是官方供给使用学习者使用的开源免费软件,同时代码都是经过自己独立思考所编写的,并且都是自己学习和运用到实际项目中,同时引用的部分都清晰的给出了所引用的作者,所引用的部分出自的文章,所以总得来说不存在任何侵权问题,因而满足法律可行性满足的要求,法律可行性通过。
综合以上的分析,在技术,经济,操作,法律可行性几个方面都进行了分析,并且分析结果都通过,由此可以得出,基于jsp的网上订餐系统的开发是完全可以实现的,我们可以对网上订餐系统进行开发。
2.2用户的需求分析
用户的需求分析对于网上订餐系统的开发是十分重要的,清楚明确的需求分析对于条理地开发系统起到至关重要的作用。
综合分析本系统所面向的受众群体,具体的对用户的需求分析如下:
对于系统普通用户:
系统普通用户希望系统具有良好的界面,简洁的操作,并且系统响应时间短,可以简单快速的注册成为系统会员,对所选中的商品进行下订单,购买等操作。并且可以在下订单之后清楚地看到订单的明细信息,而且还可以与系统后台管理员进行留言互动。
对于系统后台管理员:
系统后台管理员希望系统具有良好的后台界面,操作简单,可维护性好,并且可以兼容不同的平台和浏览器,系统响应时间短,具有健壮性和稳定性,可以快速,方便地对菜品信息,会员信息,留言信息等等系统数据库信息进行管理和对整个系统进行维护。
2.3系统的功能模块图
系统的功能模块图可以清楚的在宏观上看清整个系统的功能,了解系统的大致功能模块,功能模块图可以描绘如图2.3所展示:
网上订餐系统主要的操作人员模块划分可以主要划分为用户的模块和管理员的模块两大模块。
对于用户模块,用户可以进行网上点餐,或是注册成为会员。
对于系统管理员,网上订餐系统的后台管理人员可以进行对已经买单的用户进行信用的评价,对交易完成后的订单进行操作和查看。例如增加或删除或编辑等;还可以对菜品信息管理,例如增加或删除或编辑等。还可以对用户信息管理,例如增加或编辑或删除用户的信息;还可以对菜品类别管理,例如增加或编辑或删除菜品类别的信息,具体的用用系统功能模块图进行表述,可以描述成为以下图2.3样式:
在对上述总体的系统功能模块进行分析之后,我们进行进一步的细化,细化用户点餐功能。用户点餐功能又可以进一步分为菜品查询,查看购物车,查看订单,进行留几大功能模块,具体的功能模块图如下2.1所展示:
在对上述总体的系统功能模块进行分析之后,我们进行进一步的细化,细化用户点餐功能。用户点餐功能又可以进一步分为菜品查询,查看购物车,查看订单,进行留言几大功能模块,具体的功能模块图如下图2.2所示:
功能模块分析
接下来便开始对系统进行总体的功能模块模块分析,根据以上的对各个可行性的各个方面都综合进行的深入详细分析,该系统在功能模块上可以划分为以下几个宏观的功能模块系统。
(1)用户信息管理
该模块主要的功能由系统的管理员完成,管理员进入到系统的后台对在前台进行会员注册的用户进行删除,查看用户信息两大功能模块进行操作,具体的可采用例图进行表述,可以描述成为以下图2.3样式:
(2)订单信息管理功能
该模块主要的功能由系统的管理员完成,管理员进入到系统的后台对已经在前台下单的用户的订单进行查看,对已经在前台下单的用户的订单进行受理,对已经在前台下单的用户的订单进行删除,具体的用用例图进行表述,可以描述成为以下图2.4样式:
(3)菜品信息管理功能
该模块主要的功能由餐馆用户完成,餐馆用户进入到系统的后台,对本店想要新增的新菜品进行手动的添加,对已经存在的菜品信息进行查看审阅,对已经存在的菜品信息进行删除,具体的用用例图进行表述,可以描述成为以下图2.5样式:
菜品信息管理功能主义包括查看菜品的信息,添加菜品的信息,删除菜品的信息、
(4)用户订餐功能
用户订餐功能的主要操作对象是普通用户(注册会员),普通用户进入系统前台,即系统主页进行查看已经拥有的菜品的菜品信息,或是满意后购买想购买的菜品,具体的用用例图进行表述,可以描述成为以下图2.6样式:
2.4设计的基本思想
设计思想遵循以下几点:
1.网上订餐系统的开发过程中使用的并非是app形式,而是B/S结构模式,这种设计模式的特色是前台和后台处理层次十分分明,在适用用户方面,适用于当前时代下大部分会上网,熟悉上网操作的普通用户和管理人员。
2.本系统开发完成后,最大的特点就是采用了面向对象的原则,我们之所以使用面向对象技术来开发系统,就是因为我们开发系统时对系统准确的掌握,以及精准的抽象,通过良好的抽象可以在总的架构上更清楚的对系统进行架构,从而使系统更加稳定,效率更高化。
3.本系统在开发过程中使用模块化的功能设计与分析。模块化设计的核心思想是讲系统的整体功能不断细化求精,细化成为最小的单位——模块。
4.本系统在开发过程中,在界面设计上设计的十分简洁,界面设计时遵循了界面简洁性,友好性,可交互性等一系列特征,可供初次使用本系统的人轻松的使用本系统,不会有任何操作障碍。
5.本系统设计与实现的漫长过程中,始终遵循在太原理工软件需求工程的基本原理这门课程中所学到的速度优先准则,结合pert图和甘特图计划了设计系统的大体生命周期,在设计开发网上订餐系统中,尽量做到速度优先,同时尽可能的减少资源的占用和使用。
6.网上订餐系统开发过程阶段,开发阶段尽量做到即突出攻破重点的项目和内容,又要分析细节,重基础同时也不丢失细节,在遵循这些原则的基础上同时一定要符合设计的要求,符合设计的主题,同时注重可扩展性,可以更多的兼容平台与操作系统,可以方便的扩充功能。
2.6性能需求
2.6.1系统的安全性
网上订餐系统采用的进入系统身份不同,所具有的权限也不相同,所具有的操作也不同,相应的在可以使用的系统功能上也有很大差别。因而要将二者严格地区别开来,具体的来说:
若是想登陆系统后台对各种信息进行管理,必须要拥有管理员权限,没有取得管理员权限的普通用户不能进入系统后台对各种数据进行修改,从而在这一点上保证了系统关键核心数据的安全性和隐私性,使得数据不会丢失或是被他人修改。
2.6.2数据的完整性
1.各种记录信息的完整性,信息记录内容不能为空
2.各种数据间相互联系的正确性
3.相同数据在不同记录中的一致性
2.7界面需求
当前界面设计已经成为衡量软件是否优秀的一个关键判断标准,一个设计简洁,操作方便的界面会获得社会各界人士的芳心,会有效的提高使用者的使用率,以及软件的受众程度,并且可以简化管理员的操作,减少用户对网上订餐系统的上手难度,JSP技术是设计网上订餐系统所使用的主要技术,它可以增加网上订餐系统界面的丰富多彩程度,同时,在丰富多彩的基础上,还要注重以下几个方面,他们包括:网上订餐系统的数据的输入设计,网上订餐系统数据的输出设计。
1.输出设计
针对本系统的输出的主要内容和信息是对于普通用户在前台进行的注册信息,订单信息,留言信息,在经过网上订餐系统的处理后变成高效率的,统一格式的,管理方便的信息,以供系统管理员对这些信息进行分类和管理,输出的主要工作和任务便体现于此。
网上订餐系统的设计过程中,为了方便系统管理员对这些信息进行查阅,编辑,后台采用了frame框架对后台进行设计,同时将表格设计的尽量简单优化,去除掉无所谓的信息栏目,使得系统的后台管理人员可以方便的管理系统后台,清晰的反应后台各个部门和组件的联系,表格的设计做到简化和精炼,使得系统后台管理人员的管理难度简小。
2.输入设计
对于本系统的输入模块的设计,输入模块的设计是十分精准的,要求十分严格的,因为一旦输入的数据有误或者出现了偏差,会导致整个数据库和整个系统的混乱,要处理输入数据产生的问题将会耗费大量的人力物力和经费。
具体的,结合本系统进行分析和研究,输入设计的准则应该有如下几条:
1)输入数据应该满足类型与数据库中所定义的数据类型相同,并且满足数据库中字段设置的长度格式要求,输入数据应当尽量考虑用户,做到精简化,同时尽量缩小减少用户的输入数据的数量,从而减少错误率,从而是输入的数据更加规范化。
2)输入过程和启动输入过程的准备阶段应该尽量精炼,从而减少错误的出现和用户使用的难度。
3)采用定时回溯检查的方法,定时对之前部分的数据的正确程度进行检查,以便及时发现错误和改正错误,减少后期发现错误的维护性改正的难度。
结合以上分析,下面给出网上订餐系统的初始化操作界面(用户端),可以清楚的看到系统的各个功能,操作简单,同时输入数据时也十分简单,减少了错误的数据输入的可能性,具体的用户操作界面如图2.7所展示:
结合以上分析,下面给出网上订餐系统的初始化操作界面(系统管理员端),可以清楚的看到后台系统修改的各个功能,操作简单,同时输出数据在视图上也十分简单,减少了错误的数据输出的可能性,具体的用户操作界面如图2.8所展示:
第三章 数据库设计
3.1数据库的分析与设计
数据库是用来存储数据的一个大的仓库,但它又不仅是局限于对信息的存储,通过建立数据库,我们可以对数据更好的管理、存储以及查询,而且更为重要的是,我们还可以实现共享数据。数据库中的数据结构表明了具体事务之间的关系。而描述实体类型和实体之间关系的则称之为数据库模型,任何数据库系统都有其特有的数据模型,在本系统中,经过对系统数据库的功能特点以及对需求的分析,最终选择关系模型作为本系统的数据模型。
3.1.1数据库的概念结构设计
在建立数据库的过程中,最为关键的工作就是建立其数据模型,由于客观世界里的具体事物通常都很难将其转化成计算机可以理解的信息,这就要求我们要先将客观世界中的事物转化成可以独立于计算机存在的信息结构,于是就有了概念模型 。E-R 图能够直观地表示概念模型。E-R图的几大常用元素:实体(用矩形框所描述)联系(菱形框所描述)属性(椭圆形框表示),联系有一对一(1…1),一对多(1…n),多对多(n…n)
概念设计:概念设计是进行系统设计的一个十分重要的阶段,概念设计主要完成的任务是在深入,详细了解系统的功能以后建立整个系统的概念模型和概念结构,然后将概念模型转换成图形的形式,比较常用的图形有ER图,类图等等,这里针对网上订餐系统进行ER图(实体-联系图)来对整个系统进行展示。
ER图(实体-联系图):
ER图(实体-联系图)由以下几个固定图形所构成:
实体形-矩形表示,矩形内为实体名称。
属性-椭圆形或圆角矩形来表示,主属性的下面要相应的添加下划线。
联系-菱形表示,菱形内部为联系的内容。
概念设计最终要完成委托方所委托系统的数据库的总体概念结构,也叫概念模式。概念模式有助于委托方更加清楚的认识系统,清楚系统实体之间的联系,用ER图(实体-联系图)可以让用户更加调理化,直观化的了解系统。
第四章 程序截图
五、联系与交流
q:969060742 完整代码、报告、sql、辅导视频