基于JSP和MySQL的网上订餐系统

攀登者ing

发布日期: 2020-08-03 18:59:48 浏览量: 705
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

摘 要

随着社会不断的更替发展,科技日新月异,人们的饮食生活方式以及作息等等方面都发生了翻天覆地的变化。发展到现今社会,人们的饮食方式不再局限于传统的在饭店中就餐,越来越多的人开始使用网上订餐,网上订餐已经成为当前十分流行的就餐方式。

本课题剖析当前形势下的订餐系统以及当前已开发出的订餐系统,例如美团外卖,饿了么软件,分析各个软件的长处,结合自身所学习的知识,开发出的基于B/S结构的网上订餐系统。网上订餐系统的开发,使得人们可以足不出户尽享美食,而且迎合了当今时代的发展潮流。网上订餐系统具有良好的用户界面,响应迅速,可维护性好,操作简便等优点。

网上订餐系统开发的过程中使用的开发平台是当今比较流行的平台MyEclipse,使用的服务器也是人们普遍使用的Tomcat服务器,主要编程语言采用的是jsp语言和java语言,在设计开发网上订餐系统的同时,充分考虑了系统的可扩展性和兼容性,可维护性,所开发出的网上订餐系统可以满足人们对于日常订餐的需要。

网上订餐系统将系统的主要使用操作人员设置分成网上订餐系统的后台管理员和普通用户两大类,系统所具有的主要功能模块为:查看菜品的信息模块,查询菜品信息的模块,注册成为系统会员模块,我的购物车模块,我的订单模块,系统留言板模块,系统后台管理模块。本文首先介绍了课题的背景与意义,之后从系统分析,数据库的设计,系统的功能与实现,系统测试这些方面来对系统进行分析测试。

关键词:网上订餐,JSP,MyEclipse,B/S结构

Abstract

With the continuous development of the community, science and technology with each passing day, people’s food lifestyle and work and so on have undergone enormous changes. Development to the present society, people’s diet is no longer limited to the traditional dining in the hotel, more and more people began to use online ordering, online ordering has become a very popular dining style.

This topic analyzes the current situation of the ordering system and the current development of the ordering system, such as the US group take-away, hungry software, analysis of the strengths of each software, combined with their own learning knowledge, developed based on B / S structure Online ordering system. Online ordering system has a good user interface, fast response, good maintainability, easy operation and so on.

Online meal ordering development process used in the development of the platform is more popular platform MyEclipse, the use of the server is also commonly used Tomcat server, the main programming language is used jsp language and java language, in the design and development of online ordering system at the same time , Taking full account of the system scalability and compatibility, maintainability, the development of the online ordering system to meet people’s daily needs for the meal.

Online meal ordering will be the main use of the system operator set up into the online ordering system of the background administrator and the general user two categories, the system has the main function modules: View the menu information module, check the menu information module, registered as a system Member module, my shopping cart module, my order module, system message board module, system background management module. This paper first introduces the background and significance of the subject, and then analyzes and tests the system from the aspects of system analysis, database design, system function and implementation, and system testing.

Keywords: Online meal ordering,JSP, MyEclipse, B/S structure

第一章 绪论

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有如下的显而易见的优势:

  • 可以多次的复用:可在各类系统内嵌套使用,而不需要重新编写代码。这是其优于PHP之处

  • 兼容性比较好:基本不挑平台,常见的平台都能兼容和开发、应用、扩展。这刚好与PHP的不可拓展性互补

  • 适用性广:无论是war小文件或多层次的平台以及服务器,其都能兼容和运行。对各类规模不一的平台都能进行数据分析、处理,反馈,其展现出极强的适应能力

  • 可依托种类丰富、功能优异的工具:经过接近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.3 软硬件需求

  • 硬件需求

    • CPU:Pentium以上计算机
    • 内存: 512M以上
  • 软件需求

    • 操作系统版本:Windows 7
    • 开发工具:MyEclipse 6.5
    • 后台服务器:Apache Tomcat 6.0
    • 开发语言:Java
    • 浏览器:IE6.0
  • 开发过程中使用的机器配置

    • CPU:intel酷睿i5
    • 内存: 8G
    • 软件需求:
    • 操作系统版本:Windows 7
    • 开发工具: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所示:

2.4 功能模块分析

接下来便开始对系统进行总体的功能模块模块分析,根据以上的对各个可行性的各个方面都综合进行的深入详细分析,该系统在功能模块上可以划分为以下几个宏观的功能模块系统。

2.4.1 用户信息管理

该模块主要的功能由系统的管理员完成,管理员进入到系统的后台对在前台进行会员注册的用户进行删除,查看用户信息两大功能模块进行操作,具体的可采用例图进行表述,可以描述成为以下图2.3样式:

2.4.2 订单信息管理功能

该模块主要的功能由系统的管理员完成,管理员进入到系统的后台对已经在前台下单的用户的订单进行查看,对已经在前台下单的用户的订单进行受理,对已经在前台下单的用户的订单进行删除,具体的用用例图进行表述,可以描述成为以下图2.4样式:

2.4.3 菜品信息管理功能

该模块主要的功能由餐馆用户完成,餐馆用户进入到系统的后台,对本店想要新增的新菜品进行手动的添加,对已经存在的菜品信息进行查看审阅,对已经存在的菜品信息进行删除,具体的用用例图进行表述,可以描述成为以下图2.5样式:

菜品信息管理功能主义包括查看菜品的信息,添加菜品的信息,删除菜品的信息。

2.4.4 用户订餐功能

用户订餐功能的主要操作对象是普通用户(注册会员),普通用户进入系统前台,即系统主页进行查看已经拥有的菜品的菜品信息,或是满意后购买想购买的菜品,具体的用用例图进行表述,可以描述成为以下图2.6样式:

2.5 设计的基本思想

设计思想遵循以下几点:

  • 网上订餐系统的开发过程中使用的并非是app形式,而是B/S结构模式,这种设计模式的特色是前台和后台处理层次十分分明,在适用用户方面,适用于当前时代下大部分会上网,熟悉上网操作的普通用户和管理人员

  • 本系统开发完成后,最大的特点就是采用了面向对象的原则,我们之所以使用面向对象技术来开发系统,就是因为我们开发系统时对系统准确的掌握,以及精准的抽象,通过良好的抽象可以在总的架构上更清楚的对系统进行架构,从而使系统更加稳定,效率更高化

  • 本系统在开发过程中使用模块化的功能设计与分析。模块化设计的核心思想是讲系统的整体功能不断细化求精,细化成为最小的单位——模块

  • 本系统在开发过程中,在界面设计上设计的十分简洁,界面设计时遵循了在太原理工学习时所学习的界面简洁性,友好性,可交互性等一系列特征,可供初次使用本系统的人轻松的使用本系统,不会有任何操作障碍

  • 本系统设计与实现的漫长过程中,始终遵循在太原理工软件需求工程的基本原理这门课程中所学到的速度优先准则,结合pert图和甘特图计划了设计系统的大体生命周期,在设计开发网上订餐系统中,尽量做到速度优先,同时尽可能的减少资源的占用和使用

  • 网上订餐系统开发过程阶段,开发阶段尽量做到即突出攻破重点的项目和内容,又要分析细节,重基础同时也不丢失细节,在遵循这些原则的基础上同时一定要符合设计的要求,符合设计的主题,同时注重可扩展性,可以更多的兼容平台与操作系统,可以方便的扩充功能

2.6 性能需求

2.6.1 系统的安全性

网上订餐系统采用的进入系统身份不同,所具有的权限也不相同,所具有的操作也不同,相应的在可以使用的系统功能上也有很大差别。因而要将二者严格地区别开来,具体的来说:

若是想登陆系统后台对各种信息进行管理,必须要拥有管理员权限,没有取得管理员权限的普通用户不能进入系统后台对各种数据进行修改,从而在这一点上保证了系统关键核心数据的安全性和隐私性,使得数据不会丢失或是被他人修改。

2.6.2 数据的完整性

  • 各种记录信息的完整性,信息记录内容不能为空

  • 各种数据间相互联系的正确性

  • 相同数据在不同记录中的一致性

2.7 界面需求

当前界面设计已经成为衡量软件是否优秀的一个关键判断标准,一个设计简洁,操作方便的界面会获得社会各界人士的芳心,会有效的提高使用者的使用率,以及软件的受众程度,并且可以简化管理员的操作,减少用户对网上订餐系统的上手难度,JSP技术是设计网上订餐系统所使用的主要技术,它可以增加网上订餐系统界面的丰富多彩程度,同时,在丰富多彩的基础上,还要注重以下几个方面,他们包括:网上订餐系统的数据的输入设计,网上订餐系统数据的输出设计。

2.7.1 输出设计

针对本系统的输出的主要内容和信息是对于普通用户在前台进行的注册信息,订单信息,留言信息,在经过网上订餐系统的处理后变成高效率的,统一格式的,管理方便的信息,以供系统管理员对这些信息进行分类和管理,输出的主要工作和任务便体现于此。

网上订餐系统的设计过程中,为了方便系统管理员对这些信息进行查阅,编辑,后台采用了frame框架对后台进行设计,同时将表格设计的尽量简单优化,去除掉无所谓的信息栏目,使得系统的后台管理人员可以方便的管理系统后台,清晰的反应后台各个部门和组件的联系,表格的设计做到简化和精炼,使得系统后台管理人员的管理难度简小。

2.7.2 输入设计

对于本系统的输入模块的设计,输入模块的设计是十分精准的,要求十分严格的,因为一旦输入的数据有误或者出现了偏差,会导致整个数据库和整个系统的混乱,要处理输入数据产生的问题将会耗费大量的人力物力和经费。

具体的,结合本系统进行分析和研究,输入设计的准则应该有如下几条:

  • 输入数据应该满足类型与数据库中所定义的数据类型相同,并且满足数据库中字段设置的长度格式要求,输入数据应当尽量考虑用户,做到精简化,同时尽量缩小减少用户的输入数据的数量,从而减少错误率,从而是输入的数据更加规范化

  • 输入过程和启动输入过程的准备阶段应该尽量精炼,从而减少错误的出现和用户使用的难度

  • 采用定时回溯检查的方法,定时对之前部分的数据的正确程度进行检查,以便及时发现错误和改正错误,减少后期发现错误的维护性改正的难度

结合以上分析,下面给出网上订餐系统的初始化操作界面(用户端),可以清楚的看到系统的各个功能,操作简单,同时输入数据时也十分简单,减少了错误的数据输入的可能性,具体的用户操作界面如图2.7所展示:

结合以上分析,下面给出网上订餐系统的初始化操作界面(系统管理员端),可以清楚的看到后台系统修改的各个功能,操作简单,同时输出数据在视图上也十分简单,减少了错误的数据输出的可能性,具体的用户操作界面如图2.8所展示:

第三章 数据库设计

3.1 数据库的分析与设计

数据库是用来存储数据的一个大的仓库,但它又不仅是局限于对信息的存储,通过建立数据库,我们可以对数据更好的管理、存储以及查询,而且更为重要的是,我们还可以实现共享数据。数据库中的数据结构表明了具体事务之间的关系。而描述实体类型和实体之间关系的则称之为数据库模型,任何数据库系统都有其特有的数据模型,在本系统中,经过对系统数据库的功能特点以及对需求的分析,最终选择关系模型作为本系统的数据模型。

3.1.1 数据库的概念结构设计

在建立数据库的过程中,最为关键的工作就是建立其数据模型,由于客观世界里的具体事物通常都很难将其转化成计算机可以理解的信息,这就要求我们要先将客观世界中的事物转化成可以独立于计算机存在的信息结构,于是就有了概念模型 。E-R 图能够直观地表示概念模型。E-R图的几大常用元素:实体(用矩形框所描述)联系(菱形框所描述)属性(椭圆形框表示),联系有一对一(1…1),一对多(1…n),多对多(n….n)。

概念设计:概念设计是进行系统设计的一个十分重要的阶段,概念设计主要完成的任务是在深入,详细了解系统的功能以后建立整个系统的概念模型和概念结构,然后将概念模型转换成图形的形式,比较常用的图形有ER图,类图等等,这里针对网上订餐系统进行ER图(实体-联系图)来对整个系统进行展示。

ER图(实体-联系图)由以下几个固定图形所构成:  

  • 实体形-矩形表示,矩形内为实体名称

  • 属性-椭圆形或圆角矩形来表示,主属性的下面要相应的添加下划线

  • 联系-菱形表示,菱形内部为联系的内容

概念设计最终要完成委托方所委托系统的数据库的总体概念结构,也叫概念模式。概念模式有助于委托方更加清楚的认识系统,清楚系统实体之间的联系,用ER图(实体-联系图)可以让用户更加调理化,直观化的了解系统。

实体 属性 实体间关系

这里根据上述介绍以及对网上订餐系统的深入分析,所描绘出的ER图(实体-联系图)如下所展示:

管理员信息E-R图

管理员的属性主要包括以下几个方面:编号ID,登录账号,登录密码。

用户信息的E-R(实体—联系图)图

用户信息主要的属性主要包括,用户ID,账号,密码,姓名几个属性。

菜品信息实体E-R图

菜品信息主要的属性包括菜品ID,编号,名称,介绍,图片,价格几个属性。

订单信息E-R图

订单信息主要包括订单ID(订单由系统生成的数字ID),订单编号,送货地址,付款方式,金额,用户ID,状态,订单编号等几个属性。

购物车信息E-R图

购物车实体主要包括购物车ID,菜品ID,订单ID,数量几个属性。

评价信息E-R图

评价实体主要包括评价属性,内容,用户ID,评价时间几个属性。

系统总体ER图

系统总体ER图主要从顾客,菜品,管理员三大实体的角度切入分析,描绘出的ER图,具体的ER图如下3.7所展示:

3.1.2 数据库的逻辑结构设计

结合本系统,对数据库进行逻辑结构的设计后可以建立各种表如下所展示:

系统管理员的信息表主要内容是记录系统管理员注册时所填写的一系列信息 表的结构以及内容分布如表3.1所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
Admin_id int 10 管理员ID
userName varchar 50 登陆账号
userPw varchar 50 登陆密码

用户的信息表主要记录普通用户注册成为会员时所必须填写的一系列信息,表的结构以及内容分布如表3.2所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
user_id int 10 用户ID
loginname varchar 50 帐号
loginpw varchar 50 密码
name varchar 50 姓名

留言信息表的功能是用来保存顾客在订餐完成后对系统的留言,ID是主码(key word),表的结构以及内容分布如表3.3所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
Liuyan_id int 10 留言ID,主键递增
neirong varchar 50 信息内容
liuyanshi varchar 50 留言时间
user_id varchar 50 用户
huifu varchar 50 回复信息
huifushi varchar 50 回复时间

菜品信息表主要记录的是系统已上架的菜品的详细信息。其中ID是主码(key word),表的结构以及内容分布如表3.4所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
Caipin_id int 10 菜品ID
Catelog_id int 10 名称
mingcheng varchar 50 名称
jieshao varchar 50 介绍
fujian varchar 50 图片
shichangjia int 价格

订单的信息表的主要部分是记录已下的订单的详细信息,其中订单ID是是主码(key word),表的结构以及内容分布如表3.5所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
Dingdan_id int 10 订单ID
bianhao varchar 50 订单编号
shijian varchar 10 下单时间
zhuangtai varchar 10 状态
huifu varchar 50 排队计时
songhuodizhi varchar 50 送货地址
fukuanfangshi varchar 50 付款方式
jine int 50 订单金额
User_id int 4 用户ID

购物车的信息表的主体内容是记录了购物车内已经购买的菜品的一系列信息 ,其中购物车ID是主码(key word),表的结构以及内容分布如表3.6所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
Gouwuche_id int 10 购物车ID
goods_id int 10 菜品ID
goods_quantity int 10 数量

评价信息表的主体内容是保存系统后台管理员对前台用户的评价信息,其中评价ID是主码(key word)表的结构以及内容分布如表3.7所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
Pingjia_id int 10 评价ID
shuxing varchar 50 评价属性
neirong varchar 90 内容
shijian varchar 50 时间
User_id int 4 用户ID

菜品分类表主要存储诸如凉拌菜,热炒菜等等的菜品类别的信息,其中ID是主码(key word)表的结构以及内容分布如表3.8所展示的一样。

列名 数据类型 长度 允许空 是否主键 说明
Catelog_id int 10 菜品类别ID
name varchar 50 菜品类别

3.1.3 数据库的连接原理

网上订餐系统数据库连接也是开发该系统的关键环节,主要采用JDBC方式,这些知识在太原理工大学开设的JSP课程中有所学习,具体的操作步骤如下图3.8所示:

网上订餐系统连接数据库的程序采用DAO(数据访问对象)模式来对数据库进行处理操作,具体思想如下类图3.9所展示:

网上订餐系统在开发过程中,为了连接数据库,编写了一个DB.java文件,具体的部分代码如下所展示:

  1. public class DB
  2. {
  3. private Connection con;
  4. private PreparedStatement pstm;//PreparedStatement对象pstm
  5. private String user = "root";
  6. private String password = "8888";
  7. private String className = "com.mysql.jdbc.Driver";//驱动程序对象
  8. ...
  9. }

3.2 中文乱码问题处理

在开发过程中,我们遇到了中文乱码问题,手动在各个页面设置十分复杂麻烦,并且十分占用开销。

在web.xml中配置代码如下所展示:

  1. <filter>
  2. <filter-name>SetChartEncoding</filter-name>
  3. <filter-class>com.util.EncodingFilter</filter-class>
  4. <init-param>
  5. <param-name>encoding</param-name>
  6. <param-value>UTF-8</param-value> <!--设置你想用的字符集,UTF-8-->
  7. </init-param>
  8. </filter>
  9. <filter-mapping>
  10. <filter-name>SetChartEncoding</filter-name>
  11. <url-pattern>/*</url-pattern>
  12. </filter-mapping>

与此相对应的EncodingFilter.java文件中:

  1. public void init(FilterConfig filterConfig) throws ServletException {
  2. this.filterConfig = filterConfig;
  3. this.encoding = filterConfig.getInitParameter("encoding");
  4. }

为了进一步的处理中文乱码,我们采用如下的方式来处理:

  1. public class EncodingFilter implements Filter {
  2. protected String encoding = null;
  3. protected FilterConfig filterConfig = null;
  4. public void destroy() {
  5. this.encoding = null;
  6. this.filterConfig = null;
  7. }
  8. //采用encodingfilter统一处理字符集
  9. public void doFilter(ServletRequest request, ServletResponse response,
  10. FilterChain chain) throws IOException, ServletException {
  11. String encoding = selectEncoding(request);
  12. if (encoding != null) { // 对请求进行编码设置
  13. request.setCharacterEncoding(encoding);
  14. response.setCharacterEncoding(encoding);
  15. }

3.3 数据流程图

数据流图主要由以下几个模块组成:

根据以上对原有网上订餐的系统流程图的描述,我们从系统的多个方面进行了分析,希望使系统的管理更加合理,在使用中更具有可行性,由顶层开始向下对网上订餐系统逐步分层,逐步细化。下面给出系统的顶层图。

3.3.1 系统顶层图

系统顶层图,也叫顶层数据流图,是用来描绘整个系统各个用户或者系统对于该系统的输入和输出,具体的,针对本系统来说,网上订餐系统的外部系统或人员有顾客和管理员两大部分,系统顶层图反映了外部对系统的输入数据流以及系统经过一系列处理后的输出数据流,从系统顶层图上可以清晰的看出系统的数据流向,便于开发人员和用户方更加深入的了解系统,具体地如图3.11所示:

3.3.2 系统0层图

根据模块功能不同,把系统分为系统后台管理员登录模块,注册会员登录模块,菜品查询模块,管理购物车模块,管理订单模块,留言管理模块,信息管理模块几个大的模块作为系统的零层。各个模块独立,但各个模块之间又可以相互调用数据,进而完成数据的综合存储,一起实现系统的预期功能。网上订餐系统的0层图如图3.12所示:

3.4 时序图

时序图,是用来表述系统各个行为的先后顺序的一种图形,它使得初次接触网上订餐系统的用户能够清楚地了解该系统各个动作的先后顺序,协作顺序,时序图的最顶端的矩形框表示系统的各个参与者,实线表示传递的消息或者行为,虚线表示返回的消息或者行为。以下是该系统的时序协作流程:

用户订餐时序流程:

  • 登录主页

  • 查看网上订餐系统主页的各种菜品信息,查询想要购买的菜品的信息

  • 选择自己想要购买的菜品,点击菜品的图片,添加菜品进入购物车

  • 确定菜品无误后,购买该菜品

  • 订单的内容发送到各个餐厅

  • 餐厅经理通知送餐人员进行送餐,同时向管理员反馈自己的送餐情况

  • 管理人员更改后台的订单里面的菜品的状态,改为送餐状态,同时通知送餐人员向顾客送餐

下面展示的是订餐的时序图,如下图3.13所展示的一样:

3.5 数据字典

3.5.1 数据结构

数据结构表达了数据与数据之间的构成组合关系,对于网上订餐系统来说,数据结构条目如下:

  • 数据结构名称:t_admin

    • 含义说明:主要定义了管理员的信息
    • 组成:管理员用户的ID,管理员用户的账号,管理员用户的密码
  • 数据结构名称:t_catelog

    • 含义说明:主要定义了菜品类别的信息
    • 组成:菜品类别的ID,菜品类别的名称,菜品类别是否删除
  • 数据结构名称:t_goods

    • 含义说明:主要定义了菜品的信息
    • 组成:菜品的ID,菜品类别的id,菜品的编号,菜品的名称,菜品的介绍,菜品的图片,菜品的价格,菜品是否删除
  • 数据结构名称:t_liuyan

    • 含义说明:主要定义了留言的相关信息
    • 组成:留言的ID,留言的内容,留言的时间,用户的ID,回复内容,回复时间
  • 数据结构名称:t_order

    • 含义说明:主要定义了订单的信息
    • 组成:订单的ID,订单的编号,订单的时间,订单的状态,订单的回复,订单的送货地址,订单的付款方式,订单的金额,用户的ID
  • 数据结构名称:t_orderitem

    • 含义说明:主要定义了购物车的信息
    • 组成:购物车的ID,菜品的ID,购物车中菜品的数量
  • 数据结构名称:t_user

    • 含义说明:主要定义了注册会员的信息
    • 组成:会员的ID,会员的账号,会员的密码,会员的名字,是否删除了会员
  • 数据结构名称:t_xinyong

    • 含义说明:主要定义了管理员对用户的信用评价信息
    • 组成:信用评价的ID,信用评价的属性,信用评价的内容,信用评价的时间,顾客的ID

3.5.3 数据流

网上订餐系统的数据流如下所示:

  • t_admin=管理员用户的ID+管理员用户的账号+管理员用户的密码

  • t_catelog=菜品类别的ID+菜品类别的名称+菜品类别是否删除

  • t_goods=菜品的ID+菜品类别的id+菜品的编号+菜品的名称+菜品的介绍+菜品的图片,菜品的价格+菜品是否删除

  • t_liuyan=留言的ID+留言的内容+留言的时间+用户的ID+回复内容+回复时间

  • t_order=订单的ID+订单的编号+订单的时间+订单的状态+订单的回复+订单的送货地址+订单的付款方式+订单的金额+用户的ID

  • t_orderitem=购物车的ID+菜品的ID+购物车中菜品的数量

  • t_user=会员的ID+会员的账号+会员的密码+会员的名字+是否删除了会员

  • t_xinyong=信用评价的ID+信用评价的属性+信用评价的内容+信用评价的时间+顾客的ID

3.5.4 数据存储

从数据存储可以看出数据的去向来源头,对于一个系统的数据流分析十分重要,以下是数据存储的具体说明。

  • 文件名:管理员信息表

    • 组成:管理员用户的ID+管理员用户的账号+管理员用户的密码
    • 组织方式:索引方式 以管理员用户的ID为主键
  • 文件名:菜品类别信息表

    • 组成:菜品类别的ID+菜品类别的名称+菜品类别是否删除
    • 组织方式:索引方式 以菜品类别的ID为主键
  • 文件名:菜品信息表

    • 组成:菜品的ID+菜品类别的ID+菜品的编号+菜品的名称+菜品的介绍+菜品的图片+菜品的价格+菜品是否删除
    • 组织方式:索引方式 以菜品的ID为主键
  • 文件名:留言信息表

    • 组成:留言的ID+留言的内容+留言的时间+用户的ID+回复内容+回复时间
    • 组织方式:索引方式 以留言的ID为主键
  • 文件名:订单信息表

    • 组成:订单的ID+订单的编号+订单的时间+订单的状态+订单的回复+订单的送货地址+订单的付款方式订单的金额+用户的ID
    • 组织方式:索引方式 以订单的ID为主键
  • 文件名:购物车信息表

    • 组成:购物车的ID+菜品的ID+购物车中菜品的数量
    • 组织方式:索引方式 以购物车的ID为主键
  • 文件名:注册会员信息表

    • 组成:会员的ID+会员的账号+会员的密码+会员的名字+是否删除了会员
    • 组织方式:索引方式 以为会员的ID主键

第四章 系统功能的设计与实现

在网上订餐系统开发的历程中,由前文对网上订餐系统进行需求分析和系统分析之后,便进入最重要的环节之一详细设计,下文将对系统的主要功能用户处理的模块,后台管理员处理模块这两大模块进行分析,具体的又可以划分成为用户的注册与登录,留言内容的管理,用户信息的管理,菜品信息的管理,用户订餐功能来对系统的详细设计进行进一步的阐述。

在进行系统软件的设计中,要遵循一些原则和规范,这样才能规范设计流程,便于进行开发。本系统遵循着以下设计原则:

  • 良好的适用性:系统最终要面向用户,用户的评价决定系统的优劣。也就是说我们所设计的软件需要满足客户的需求。因此本文的设计遵循的是用户需求优先的原则

  • 结构稳定性:在进行开发设计之前,往往需要对系统的整体结构做一个设计,其中包括模块的设计,数据库的设计,界面的设计等等。一旦确定了体系的结构,这些设计便能流程化的进行。因此,维持一个稳定的结构才能保证后续一系列的工作的进行

  • 可扩展性:衡量一个系统的好坏需要评估这个系统的可扩展性。如果软件只能实现现有的功能,对其他功能的添加有封闭性,当用户提出新的需求,只能重新设计,这显然是不合理的。因为良好的可扩展性无论对客户还是开发人员而言都是有益的

  • 复用性:在一个系统中,有很多的模块内容是比较成熟,因此很多类似的工作就可以通过复用来实现,这样不仅提高了效率,而且可靠性也大大提高

  • 易维护性:系统的维护往往是最耗费精力和金钱的。因此设计出易维护的系统能够使维护人员能够快速查找出问题,能让系统具备自维护的特点是很有必要的

4.1 用户注册与登录

网上订餐系统的用户注册与登录模块,是本系统的关键模块,这一模块的具体设计十分关键,因为该模块会影响用户对本系统的体验。普通游客进行注册成为系统会员,在进行注册时,游客用户在注册时需要填写账号,密码,姓名。密码设置时不能为空,并且,账号设置时也不能为空,输入数据通过check1()来衡量是否可以录入。 具体的用户注册与登录界面如下图4.1和4.2所展示。

用户注册页面设计

用户登陆页面设计

以上的登录过程的关键技术实现:在操作人员在页面输入账号密码尝试进行登录后系统会自动跳转到已经编写好的登录service中,登录service的主要功能就是对登录系统的身份进行判断,usertype==1为会员登录,usertype==0为管理员登录,判断身份后将相应的属性进行设置,还可以对管理员密码进行编辑修改等等功能。

登录service loginservice核心部分的代码编写如下所展示:

  1. try
  2. {
  3. ResultSet rs=mydb.getRs();
  4. boolean mark=(rs==null||!rs.next()?false:true); if(mark==false)
  5. {
  6. result="no";
  7. }
  8. else
  9. {
  10. result="yes";
  11. TAdmin admin=new TAdmin();
  12. admin.setUserId(rs.getInt("userId"));
  13. admin.setUserName(rs.getString("userName"));
  14. admin.setUserPw(rs.getString("userPw"));
  15. WebContext ctx = WebContextFactory.get(); //得到WebContext对象ctx
  16. HttpSession session=ctx.getSession();
  17. session.setAttribute("userType", 0);
  18. session.setAttribute("admin", admin);
  19. }
  20. rs.close();
  21. }

4.2 管理员首页

系统后台管理员页面也是该系统的关键部分,系统后台管理员的操作界面的界面设计如下图所展示,左边分栏为系统后台管理员可以完成的各种修改操作模块,右边为具体的操作界面, 系统后台管理员的登录页面具体的如下图4.3所展示。

在各个页面设计的同时为了防止未注册成为会员的游客进行误操作,设计了普通游客非注册会员点击其他模块都会进行弹窗,请先登录的提示,具体的模块设计代码如下所展示的一样:

  1. <c:if test="${sessionScope.userType !=1}">
  2. alert("请先登录");
  3. </c:if>

4.3 管理员功能模块

4.3.1 留言模块管理

具体的留言模块的设计,网上订餐系统后台管理员可以查看前台注册会员的留言,可以对留言进行删除和回复操作,具体的实现过程是在liuService.java先查询数据库获取各种信息,将结果放在结果集rs当中,然后发送到相应的admin的liuyanMana.jsp页面,向网上订餐系统后台管理员展示留言信息,管理员可以进行删除和回复操作。具体的界面如下图4.4所展示。

4.3.2 用户信息管理

网上订餐系统用户的信息向管理员展示的原理与上述留言向管理员展示的原理相同,这里便不再详细表述。向网上订餐系统后台管理员展示已经注册的会员的信息。系统设计过程中还设计了一个删除操作,可以把已注册会员的信息删除,具体的界面如下图4.5所展示

4.3.3 菜品信息管理

4.3.3.1 菜品信息录入

网上订餐系统的菜品信息录入模块主要功能是系统后台管理员用来输入新菜品的信息,信息的内容包含菜品名称,菜品的介绍,菜品的价格等等。如果某一项信息缺失,系统会提示缺少的信息,通过check()函数来检查信息输入是否完整,具体的界面如图4.6所展示:

具体的,网上订餐系统的程序流程图如下图4.7所展示:

4.3.3.2 菜品信息管理

菜品信息输出的实现方式与留言输出的实现方式相同,这里便不再详细表达,主界面会显示菜品的遍号,菜品的名称,菜品的介绍,菜品的图片,菜品的价格,删除菜品的操作按钮,具体的主页面如下图4.8所展示。

4.3.4 订单信息管理

网上订餐系统的订单信息的管理模块的具体实现过程也留言输出的过程相同,这里便不再详细表达,具体的订单信息呈现给系统管理员有订单的编号,订单的下单时间,订单的状态,订单的排队计时,订单的送货地址,订单的付款方式,订单的总金额,订单的具体明细,下该订单的注册会员的用户信息,可以删除该订单的操作,具体的界面如下图4.9所展示。

4.4 用户订餐功能

用户订餐功能简而言之就是注册会员进入网上订餐系统的首页进行下单的过程,进入主页面后,可以映入眼帘地看到系统的主要功能,菜品的信息展示,进行会员的注册,查看已下单产品的购物车,查看我的订单,对网上订餐系统的后台管理员进行留言及查看回复。总价格的计算通过get totalprice()函数来实现,具体的主页面及操作过程如下图4.10,4.11 ,4.12所展示。

菜品信息页面

菜品详细信息页面

购物车页面

结合以上对点餐过程的分析,以下是点餐过程流程图,如图4.13所示:

第五章 系统测试

5.1 系统测试目的与意义

只有通过了系统的测试才能上线项目的系统运行,如果系统前期的缺陷没有被检测出来,那么后期的修补和维护将是一项巨大的工程。为了使得此类现象得到避免,在测试系统时要明确现在阶段已经出现的问题,需要做到较为测试用例的完善性使得其范围覆盖到各个方面,要测试可能存在突发状况的系统,检测在不可抗因素的影响之下数据在系统里的安全性大小。只有在上线运行系统以前做好各项检测才可以实现今后维护投入的最小化。由此可见,进行系统检测并不是去观测系统的完善程度,而是去对系统存在的弊端进行明确,对实际存在的问题进行发现。在系统里难免会存在问题和缺失,可是实际运用于企业里的系统要求的系统性能和功能都是极高的,所以,就需要在最初开始设计系统之时进行各项检测的排查。测试系统的工作人员需要在设计系统检测用例时极为细心。

5.1.1 网上订餐系统的测试目标

网上订餐系统系统最终应完成的测试目标:本文应着重于系统的功能测试,测试的对象分成管理员和注册会员两大部分,在实现了预定的系统功能及满足用户需求的前提条件下,尽可能地发现并完善系统中的漏洞与隐患,确保软件的实用性、安全性、可靠性、可扩展性以及经济性,为今后的网上订餐系统提供有力保障。

5.2 测试过程

5.2.1 主页面及系统后台的测试

系统登录模块测试

  • 打开系统首页,输入错误的登录信息

  • 登录

  • 输入正确的登录信息

  • 登录

  • 测试结果

修改密码模块测试

  • 打开修改密码界面,输入错误的密码

  • 点击修改密码

  • 输入正确的修改密码

  • 点击修改密码

  • 测试结果

菜品查询模块测试

  • 打开菜品查询界面,输入不存在的菜品

  • 点击菜品查询

  • 输入正确的菜品

  • 点击菜品查询

  • 测试结果

5.2.2 测试模块及案例

注:此处有效等价类为正确输入账号密码,正确登录系统,无效等价类为未能按照正确标准输入账号密码

数据库管理员(Admin表)中的信息为:

管理员登录后台系统的测试

输入数据 有效等价类 无效等价类
账号 (1)正确账号 (3)账号为空 (4)账号错误
密码 (2)正确密码 (5)密码错误 (6)密码为空

管理员登录后台系统的测试用例

用例编号 依次输入 期望结果 覆盖 实际结果
1 a,a 通过验证,提示登录成功 1、2 登录成功
2 m1,null 不通过验证 4、6 登录失败
3 m1,m1 不通过验证 4、5 登录失败
4 null,m1 不通过验证 3、5 登录失败
5 null,null 不通过验证 3、6 登录失败

5.2.3 系统性能测试

功能测试是为了某种的最基本需求,性能测试的目的是保证系统正常运转的关键一环。测试的具体内容如下表5.1所示:

测试内容 测试要求 测试结论
对用户界面的控件以及数据接口的正确性进行测试 能不能使客户满意 通过
测试设计的界面是不是受到人们的喜爱 突出信息,设计新颖、风格一致 通过
测试系统操作是否简单 使客户使用起来比较方便 通过
对网络的安全性进行测试 在这个系统中安全软件能不能正常运转,这个系统能不能对不良信息进行过滤,防止不好的软件窃取它的信息。 通过
测试数据安全性 系统的数据要做到加密,外来的用户不能够进入这个系统获取这些数据。 通过
性能测试压力测试 能够协助人们进行办公。 通过
并发测试 当系统增加用户的时候,系统会产生什么样的反应,会不会出现卡顿的情况。 通过
稳定性测试测试系统的稳定性 长时间处在运行的状态下,系统能不能保证一直处在一种比较好的运行状态。 通过
测试系统的可靠性 当进入这个系统的人过多时,这个系统能不能正常运行。 通过
兼容性测试测试 这个系统能不能在不同的环境、操作系统以及浏览器上能不能正常工作。 通过
功能性测试 系统上的功能能不能满足酒店需要的所有的功能。 通过

5.2.4 缺陷分析

经过测试,该程序中没有严重影响系统运行的错误,没有功能缺陷,也没有不影响运行但必须修改的错误。

测试模块都具有较好的交互性,出现错误可以提示用户哪里出错,使用户可以及时修改。

5.3 测试结果

测试完成后,分析之前我们所进行的一系列的分析,可以得出下列的结论:网上订餐系统可以完全满足用户方和开发方的需要,满足需求规格说明书,满足需要的功能,十分易于管理,后台管理人员可以很容易掌握,再加上系统具有很高的安全性、可靠性和扩展性,完全能够达到订餐系统所要求的各项指标,从而更加有效的提高了网上订餐系统的水平。

总结与展望

本文的主要书写方面包括以下几个方面:

  • 针对本文将要建设的系统,进行详细的背景和开发技术以及针对网上订餐系统的分析归纳,并介绍系统开发时将采纳的主要技术和技术难点

  • 利用软件工程思想,对系统进行需求分析,包括功能性需求和非功能性需求;针对功能需求描绘出了系统的总体功能分析;然后针对上述内容,设计出系统的用例图ER图,程序流程图等;最后各个功能模块进行UML建模设计,描绘系统设计过程

  • 本系统采用B/S架构构建本系统

  • 在系统设计完成以后,对系统的性能进行相应的测试,测试过程中即使用了白盒测试法,也使用了黑盒测试法,同时包括兼容性测试,通过多种测试相结合的方式来确保系统的健壮性和信息安全性

经过五个月的对该系统的开发,在开发学习研究过程中,我学到了很多很多,在同学的帮助,老师的指导下使我受益匪浅。具体的收货,我认为在开发网上订餐系统的过程中,我温习了很多以前在太原理工大学学习的的jsp知识,java知识,数据库知识,可以说,太原理工大学开设的很多课程都十分的实用。在开发研究过程当中,我学会了一项十分重要的品质,那就是耐心。只有耐心的研究每一个代码,耐心的查询资料,才是做学问的真谛,没有一件事是可以一蹴而就的。在开发的过程当中,每当遇到不会的问题,慢慢的开始学会了独立思考,而不是像以前一样轻易的求助同学,我想这也是毕业设计教会我们的另一项良好的品格,养成良好的独立思考的习惯,同时独立思考也是研究学术的一项必备的品质。

在开发研究学习过程中,我遇到了许多自身解决不了的问题,互联网帮助了我很多,如今百度上面有很多关于jsp的资料,我结合资料和自身的实践经验,并且通过身边已经开发出来的网上订餐系统,例如美团外卖,饿了么等软件,分析各个软件的优劣,结合自身知识的条件基础,开发出了该系统。

开发网上订餐系统的过程中让我再次复习了B/S的结构模式,复习了连接数据库的代码,同时我学会了Debug的方法,学会了处理bug的常用方法以及报错信息的阅读分析能力,同时我学会了做项目时一定要备份,以免数据的丢失。

此外,在将来信息技术不断发展的前提下,智能化是其软件和网络设备所必须的发展方向,因而移动智能是系统软件未来的发展方向。在未来的学习和工作里需要加深这方面的研究,使其分析更加细致。

限于本人自身知识的局限性以及准备时间不够充分,因此还有一部分后续工作尚未完成,主要是含有以下几个环节:开发系统的过程里有部分模块还不完善,还需要对系统程序和界面进行更深层次的优化和美化。随着使用次数的增多,产生的历史数据也越来越多。对这些大量数据的处理能力也将渐渐对系统性能提出新的挑战。

通过本次毕业设计提高了我的动手操作能力,系统分析问题的能力,论文书写能力,独立思考能力,英语能力等等。可以说,这次毕业设计对我今后的学习工作都有巨大深远的影响,希望我以后以一种科学严谨的态度来分析问题,处理问题时要像开发网上订餐系统一样有条理,总之,这次毕业设计的过程使我收货颇多,受益匪浅。

参考文献

[1] 熊杰. 宾馆住宿管理系统的设计[J]. 中国科技博览, 2015(29):77-77.

[2] 孟小峰, 周龙骧, 王珊. 数据库技术发展趋势[J]. 软件学报, 2004, 15(12):1822-1836.

[3] 吕浩音. JSP技术介绍[J]. 陇东学院学报:自然科学版, 2007(2):29-31.

[4] 张良银. 浅论C/S和B/S体系结构[J]. 工程地质计算机应用, 2006(4):20-23.

[5] 沈珏. MVC设计模式[J]. 科技广场, 2009, 2009(9):249-250.

[6] 李福弟. 可行性研究内容介绍[J]. 西南金融, 1984(12):28.

[7] 田敏, 金星. 技术档案数据库管理系统设计原则及方法初探[J]. 计算机与现代化, 2007(4):69-71.

[8] 徐敬. J2EE架构下基于Web的信息管理系统框架研究[J]. 硅谷, 2015(1):84-85.

[9] 王华. 探析Java数据库连接池运行原理[J]. 福建电脑, 2010, 26(8):92-93.

[10] 陆璐, 王文莉. 浅谈软件测试技术[J]. 郑州铁路职业技术学院学报, 2007, 19(2):41-42.

[11] 王萍. 软件测试的重要性[J]. 软件导刊, 2009(4):20-21.

[12] Jacob K. Hotel inventory management system and method: US, US20070075136[P]. 2007.

[13] Xia C. The realization of MyEclipse and database connection[J]. Journal of Wuhan Engineering Institute, 2013.

[14] Gray J. Notes on Data Base Operating Systems[C]// Operating Systems, An Advanced Course. Springer-Verlag, 1978:393-481.

[15] Xia X X, Xin B Y. Compare B/S mode with C/S mode[J]. Journal of Yanbian University, 2002.

[16] Roth R R. SOFTWARE TESTING: US, US 20080010539 A1[P]. 2008.

上传的附件 cloud_download 基于JSP的网上订餐管理系统.zip ( 7.22mb, 33次下载 )
error_outline 下载需要14点积分

发送私信

57
文章数
7
评论数
最近文章
eject