网上订餐系统 毕业论文与设计 外加源码 SSH

更新时间:2024-06-16 20:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

项目源码下载地址: http://download.csdn.net/detail/u012682583/9509694 广东科贸职业学院 2015 届学生毕业设计

小弟的私人飞机网上订餐系统 设计与实现

题 目: 订餐系统

姓 名: 系 别: 信息工程系 专 业: 软件技术 班 级: 指导老师: 日 期:

摘 要

二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。中国的网民充分领略到“畅游天地间,网络无极限” 所带来的畅快。随着Internet的飞速发展,使得网络的应用日益的广泛。如电子商务,电子政务,网上医疗,网上娱乐,网络游戏,网络教学等。本次毕业设计的题目就是网络订餐系统。

本论文就毕业设计的内容,系统地阐述了整个网络订餐系统的功能及实现。实现了从菜品管理,菜品分类和查询,到订餐车实现,用户订单处理,再到系统管理。基本上实现了网上购物的功能流程,能够实现用户与商家在网上进行订餐交易。本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。

经过分析,我使用 SUN公司的JSP开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。

关键词:网络订餐系统、JSP、信息时代

I

目录

摘 要 ............................................................................................................................................... I 第一章 引言 ..................................................................................................................................... 1

1.1背景和意义..................................................................................................... 1 1.2国内外现状..................................................................................................... 1

第二章 系统开发平台 ..................................................................................................................... 3

2.1开发工具介绍................................................................................................. 3 2.2主要开发技术介绍......................................................................................... 4

2.2.1 JavaEE平台.......................................................................................... 4 2.2.2 SSH技术介绍 ...................................................................................... 5 2.2.3 MySQL数据库 .................................................................................... 7 2.3系统环境需求................................................................................................. 8

第三章 需求分析 ............................................................................................................................. 9

3.1可行性分析..................................................................................................... 9

3.1.1经济可行性........................................................................................... 9 3.1.2技术可行性........................................................................................... 9 3.1.3法律可行性........................................................................................... 9 3.2系统功能及特性分析................................................................................... 10 3.3后台管理模块需求分析............................................................................... 11 3.4前台下单模块需求分析............................................................................... 12

第四章 概要设计 ........................................................................................................................... 14

4.1网上订餐系统的功能模块概要设计........................................................... 14

4.1.1用户模块概要设计............................................................................. 14 4.1.2管理员功能模块概要设计................................................................. 15 4.2数据库的概要设计....................................................................................... 15

4.2.1数据库实体关系图............................................................................. 15 4.2.2数据库表的设计................................................................................. 16

第五章 详细设计和实现 ............................................................................................................... 20

II

5.1功能模块介绍................................................................................................ 20

5.1.1界面设计............................................................................................. 20 5.1.2 菜单信息浏览.................................................................................... 22 5.1.3 用户登陆/注册 .................................................................................. 23 5.1.4 个人信息预览.................................................................................... 24 5.1.4 订单信息表........................................................................................ 25 5.1.5 后台管理员的登录............................................................................ 26 5.1.6 后台主界面........................................................................................ 27 5.2主要实现技术................................................................................................ 28

5.2.1分页显示算法..................................................................................... 28 5.2.2 信息显示............................................................................................ 29 5.2.3 订单显示............................................................................................ 30

第六章 测试和案例分析 ............................................................................................................... 32

6.1测试的重要性及其目的............................................................................... 32

6.1.1测试重要性......................................................................................... 32 6.1.2测试目的............................................................................................. 33 6.2测试的步骤................................................................................................... 33 6.3测试的内容................................................................................................... 34

6.3.1用户登录测试..................................................................................... 34 6.3.2非法连接测试..................................................................................... 34 6.3.3 用户下单测试.................................................................................... 34 6.3.4 管理员添加菜单测试........................................................................ 35

结论 ................................................................................................................................................ 36 参考文献......................................................................................................................................... 38 致谢 ................................................................................................................................................ 39

III

第一章 引言

1.1背景和意义

众所周知,随着社会的发展,科技的发达,人民生活水平的提高,互联网的应用已普及千家万户,有时大家的忙碌会不想浪费太多的时间出去买饭,吃饭等,这就为网络订餐提供了良好的发展空间。因此我决定以网上订餐系统作为我毕业论文的的研究课题,我相信它的实用性以及未来的发展前景。

而餐饮业在网络领域中还处于形成的初期;传统的饮食业中,大都是以实际门面的形式来进行宣传与交流的。作为网络普遍化的社会,这还缺少了一些更为现代化的元素。餐饮业是一种个性化、多样化的服务产业,而网络商务领域则是最能体现个性化,多样化服务的商务方式。而且现在大部分网络商务都体现为像大企业服务,结合餐饮这个特殊的行业,终将还发展为向小区域小店铺服务的模式。以最贴切的方式,最灵便的服务进入各个网络社区,进入人们的生活。 网络订餐随着互联网的成长会逐渐被人们所喜爱,正如几年前手机移动的短信一样,为企业带来的几百个亿的业务收入。在互联网世界里面,谁早一步在应用上创新,谁就掌握了未来的方向,谁便能把握机遇,成为时代的先驱,成功的缔造者。我觉得网上订餐服务的直观、有效、便捷等优点是传统的电话订餐业务无法比拟的。社会是进步的,我坚信网络订餐终将取代以往的电话订餐。同时,我也坚信网络订餐将会带给广大繁忙的工作人群诸多的方便,节约他们大量的时间。

1.2国内外现状

就餐饮业而言,在经济发达国家中发展的速度及需求远比经济不发达的国家要高很多。因为经济发达国家人们的时间观念很强,对服务的要求也比较高,更重要的是其餐饮业能不断运用先进的管理方法和手段特别是信息技术【1】,充分地利用巨大的信息资源。在世界上经济发达的国家和地区,计算机技术应用于

1

餐饮业已经十分成熟,如IBM公司的POS产品已获得较大范围的应用。2004年在美国100家最有效利用信息技术企业中,美国最大的食品和多种服务公司ARAGroup Ine,名列第四。目前它利用主要的信息系统使其部门经理有更多的时间面向顾客。

网上订餐中多功能性的服务还可以让消费者从容的网上浏览餐馆的菜单,或进行价格上的比价,来选择所需要的美食佳肴。目前,通过上网提供外卖和送餐服务的餐厅多于独立经营者,外卖与送餐服务占餐饮生意额的一半以上。美国餐饮消费者越来越趋向于使用网上订餐的形式来购买外卖,特别是年轻一族的消费者。显而易见,网上订餐将成为餐饮业扩大生意的金矿源,有眼光的餐饮业业主应该尽早考虑如何利用英特网上网销售。

目前网上订餐业务在我国只是处于形成期,从网站数量来看,并不很多,专门从事网上订餐业务的网站凤毛麟角,较大的有易合饭(http://www.ehefan.com/)订餐网、中国快餐网(http://www.kclm.org/)等。一些较大的星级酒店虽然设立网站开展网上订餐业务,但以网上订房业务为主。至于一些中小餐饮企业则未涉足网上业务,而且有些餐馆虽然上了网,但网上订餐业务也从未开展。另外,从网上订餐企业的业绩看,并不理想。在我的印象中好像也没有几家运用网上订餐而业务火爆的企业。据了解,目前北京市最早开展网上订餐服务的一家快餐店的送餐范围已经扩到了5环以内,而且1份起送,就是这样目前公司的经营状况也不太理想。

由于互联网发展已深入家庭,网上订餐这个课题已经提出,为了方便人们生活,提高人们的生活效率,该类统根据现实订餐的方式虚拟于网络之上,使人们通过网络就可以完成生活中必要的事情(饮食)。系统的完成不仅可以基本实现客户订餐的功能,还能在此基础上提供更多的,更贴心的服务。信息技术的发展将更快的推动互联网的发展,订餐系统的重要性也将越显其强大的作用。

2

第二章 系统开发平台

2.1开发工具介绍

经过比较,以及自己所掌握的知识所限,最终决定采用在Windows 下使用JSP+MYSQL开发,采用B/S结构,使用JDBC连接数据库。这样选择的优势以及特点有:

(1)用JSP+MYSQL灵活方便,可扩充性、可移植性较好。

二、JDBC与MYSQL同为微软开发,兼容性好,同时存取效率高,且较成熟,目前许多数据库应用系统都采用这种方式。JDBC是Microsoft主要数据存储技术,JDBC主要让应用程序或WEB应用程序存取各种不同的数据源。JDBC封装了OLE-DB复杂的接口,以极为简单的COM接口存储数据,简化了程序员数据存取的工作。

三、采用 B/S结构是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。

用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

JSP技术的强势:

一、一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

二、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署, 在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

三、强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到

3

由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力【4】。 四、多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.2主要开发技术介绍

2.2.1 JavaEE平台

JavaEE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用.随着WEB和EJB容器概念诞生,使得软件应用业开始担心SUN的伙伴们是否还在Java平台上不断推出翻新的标准框架,致使软件应用业的业务核心组件架构无所适从,从一直以来是否需要EJB的讨论声中说明了这种彷徨。

在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本.此次J2EE改名为Java EE,实际也反映出业界这种共同心声。

JavaEE的核心是EJB3.0, 其提供了更兼便捷的企业级的应用框架。

图2-1 JavaEE核心框架图

4

J2EE容易让初学者误解是独立于一套Java的技术方案。

从更深层次来看,Java诞生十年来,很多近十年前的业务组件至今还可以使用,软件应用不再由于语言的更迭革命带来毁灭的打击了。

功能和规定 架构图

让我们看看Java EE 5有哪些新的功能或规定,我们可以从SUN网站下载Java EE 5规范。其架构图如下:

图2-2 JavaEE架构图

图中灰色加黑部分是Java EE 5新的功能,我们看到,在WEB层主要加入了JSF这个新的表现层框架,和我们日常开发关系密切的是,引入了新的Java Persistence标准,这个标准正在由EJB 3.0专家组制定。

2.2.2 SSH技术介绍

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前

5

较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。S S H最初是U N I X系统上的一个程序,后来又迅速扩展到其他操作平台。S S H在正确使用时可弥补网络中的漏洞。S S H客户端适用于多种平台。几乎所有U N I X平台—包括H P - U X、L i n u x、A I X、S o l a r i s、Digital UNIX、I r i x,以及其他平台—都可运行S S H。

SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。

服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。

客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。SSH 1.x和SSH 2.x在连接协议上有一些差异。 一旦建立一个安全传输层连接,客户机就发送一个服务请求。当用户认证完成之后,会发送第二个服务请求。这样就允许新定义的协议可以与上述协议共存。连接协议提供了用途广泛的各种通道,有标准的方法用于建立安全交互式会话外壳和转发(“隧道技术”)专有 TCP/IP 端口和 X11 连接。

SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用 # ps -waux | grep sshd 来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。

6

2.2.3 MySQL数据库

MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。

MySQL是一个数据库管理系统。

一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个

美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。 MySQL是一个关系数据库管理系统

开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。MySQL使用GPL(GNU General Public License,通用公共许可),在hpt://www.fsf.org/licenses中定义了你在不同的场合对软件可以或不可以做什么。如果你觉得GPL不爽或者想把MySQL的源代码集成到一个商业应用中去,你可以向MySQL AB购买一个商业许可版本。

MySQL服务器原本就是开发比已存在的数据库更快的用于处理大的数据库的解决方案,并且已经成功用于高苛刻生产环境多年。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。它的连接性、速度和安全性使MySQL非常适合访问在Internet上的数据库。

MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口

7

(APIs)。

MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。 有大量的MySQL软件可以使用

幸运的是,你可以找到你所喜爱的已经支持MySQL数据库服务器的软件和语言。

2.3系统环境需求

本系统采用B/S模式作为开发模式。

服务器端 : 操作系统:WINDOWS,LINUX/UNIX及任何能运行Java虚拟机的平台。

Web Server:Tomcat 6.0以上。 客户端: 操作系统:任何pc平台;

浏览器 :Internet Explorer,Mozilla Foxfire 。

8

第三章 需求分析

3.1可行性分析

3.1.1经济可行性

由于本项目的特殊性,无需投入额外的设备购买及人员培训费用,所以在经济上本系统的开发是可行的。此外系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,有很高的经济可行性。

按上述两方面进行可行性分析、研究后,我们认为该项目在技术上是可行的,在经济上也是没问题的,所以完全可以进行开发。

3.1.2技术可行性

本系统选择jsp作为开发语言,选择mysql作为后台数据库,采用B/S结构,使用JDBC连接数据库。

而jsp可以创建和运用动态、交互的WEB服务器应用程序。同时,JSP具有向跨平台跨服务器的优点。mysql是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机事务处理、数据仓库及电子商务等。所以在技术方面理论上是可行的。

3.1.3法律可行性

本系统没有侵犯个人隐私和个人责任方面的问题,使用本系统不会引起法律方面的纠纷问题,所以开发本系统具有法律可行性。

综上所述,本系统的开发是符合现在的实际情况的,并具有一定的实用意义。在技术、经济、操作上,法律上都可以看到此系统的可行性,并且很具有其实现的必要。

9

3.2系统功能及特性分析

本系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。需要实现菜品信息的动态提示、购物车管理、客户信息注册、登录管理、订单处理、信息反馈等模块。需要完成的主要任务如下: 当客户进入网上订餐时,应该在主页面中分类显示最新的菜品信息,以供客户选择所需菜品,同时提供按菜品名称,快速查询所需菜品信息的功能。当客户选择预定某个菜品时,应该能够将对应菜品信息,如:价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填写相应的送餐信息,提交订餐订单后,自动清除以生成订单的购物车中的信息。餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。

分析网上订餐系统,制订整个系统框架如下:

网上订餐系统前台后台系统管理用户登录或游客注册查看历史订单信息反馈和评分订餐管理信息浏览友情链接订餐留言板前台信息审核注册用户回复留言浏览、添加、删除、修改实时反映订餐请况查看订单 明细处理订单

图3-1 系统实例图

10

3.3后台管理模块需求分析

后台管理系统是管理员对系统进行管理和维护的环境,模块结构如下:

<>公告更新添加菜单<><>菜单维护管理员更改菜单删除菜单<>用户信息维护个人信息维护<><>冻结用户解冻用户更改信息图3-2 管理员实例图

后台是整个销售系统中最重要的部分。管理员通过此处对网站内容进行管理.后台管理共分为菜单信息管理,用户信息管理,交易信息管理,站内信息管理,公告信息管理等等。

后台部分主要实现 1 用户管理

包括用户的基本信息的查询,以及添加用户和删除用户信息。 2 商品管理

11

包括商品的基本信息的查询,以及添加和删除商品信息。 3 订单管理

显示所有的订单信息及订单状况。 4 公告管理

通过此处发布公告,让用户更好的体验到活动和优惠

3.4前台下单模块需求分析

前台处理系统是客户使用的最终界面,模块结构图如下:

在线咨询添加评论用户登录<><>菜单预览个人信息维护<>个人信息修改下单/结账积分查询加入购物车图3-3 用户实例图

前台销售部分就是顾客浏览、选择、结帐的地方,数据灵活根据需要从数据库挑出,照顾顾客浏览习惯,简化流程,使顾客能迅速找到所要的菜式。

前台部分主要实现

12

1 用户免注册

顾客可以浏览本网站的商品内容以及其他一些信息,下单时可以分为两种一种是后到付款,另一种是在线支付,在线支付必须登陆账号。

2 下单

用户可以通过直接定购所要菜单,能够根据具体情况将具体的菜单价格进行总结计算,在把清单形成订单发给管理者。

3 订单查询

购买后的用户可以通过在自己的登录后的页面查看所下订单的信息,并且每个用户只能够查询属于自己定购菜单的数量和定购时间。

13

第四章 概要设计

4.1网上订餐系统的功能模块概要设计

本网上订餐系统的功能模块主要分为前台功能模块和后台功能模块,前台功能模块主要是用户的注册,登录,菜品的选择,订单的生成,个人的信息管理,对于菜品价格,图样的浏览等,后台功能模块主要是管理员对于会员信息,权限的管理,对菜品式样更新,上传,删除等的操作管理,对会员留言,评论的回复,删除等操作管理。

4.1.1用户模块概要设计

网上订餐系统用户功能模块图如图3-1所示:

用户模块注册用户登录系统浏览菜品菜品查询订购菜品在线留言

图4-1网上订餐系统用户功能模块图

首先用户首先登录网站,如果用户还没有登录名,要先进行注册。注册后,在登录时用户名与密码验证通过就能进入网站系统进行菜品的选择以及订单生成。如果用户名不存在或密码不正确,则提示重新登录。用户成功登录之后,进入主页面,可选基本业务有可以在线订餐,查看菜品种类,还可以修改个人信息、退出系统。

14

4.1.2管理员功能模块概要设计

网上订餐系统管理员功能模块图如图3-2所示:

管理员模块菜品管理服务管理添加菜品修改菜品删除菜品回复留言删除菜单添加菜单删除留言添订单加管理

图4-2网上订餐系统管理员功能模块图

管理员模块又可分为几个小模块:对于餐品菜样的管理模块,可以增加删减菜品种类,更改菜品图案,修改菜品名称,价格,分类。对于服务的管理模块,可以对用户的订餐订单进行管理,结算,对用户的留言评价进行回复和查看,还可设置用户的权限。

4.2数据库的概要设计

4.2.1数据库实体关系图

系统ER图:

15

内容日期菜单信息积分联系电话用户名用户n评论表用户信息n评论价格销售量1简介级别密码下单m状态菜单推出时间n菜名地址用户信息订单菜单信息发表人下单时间数量是否送达管理价格1联系电话最后登录公告发表日期内容n更新1管理员真实姓名用户名密码 图4-3系统ER图

4.2.2数据库表的设计 数据库名:Pocket

数据库有Client、Menu、Administrator、Review、Announcement、orders等6个表。

表3-1 用户信息表

列名

数据类型

Null

Key

备注

16

id username password telephone address Integration level

Int Varrchar(50) Varrchar(50)

int Varrchar(50)

int int

No No No No No No No

Yes No No No No No No

标识递增 登录名 登录密码 移动电话 地址 积分 级别

表3-2 菜单表

列名 id Dishes Price synopsis Launchtime Status Sum

数据类型 Int Varrchar(50)

int Varchar(50) datetime int int

Null No No No No No No No

Key Yes No No No No No No

备注 标识递增 菜名 价格 简介 推出时间 状态 销售量

表3-3 订单表

列名 id u_id M_id Name sum downtime

数据类型 Int int int Varchar(50)

Int Dateime

Null No No No No No No

Key Yes No No No No No

备注 标识递增 用户外键id 菜单外键Id 收货人名 下单数量 下单时间

17

Telephone Address Price IsCheckout

int Varchar(50)

int Int

No No No No

No No No No

联系电话 收货地址 全部金额 是否发货

表3-4 购物车信息表

列名 id u_id M_id Name sum downtime Telephone Address Price IsCheckout

数据类型 Int int int Varchar(50)

Int Dateime int Varchar(50)

int Int

Null No No No No No No No No No No

Key Yes No No No No No No No No No

备注 标识递增 用户外键id 菜单外键Id 收货人名 下单数量 下单时间 联系电话 收货地址 全部金额 是否发货

表3-5 用户评论表

列名 id u_id M_id content time

数据类型 Int int int Varchar(50) datetime

Null No No No No No

Key Yes No No No No

备注 标识递增 用户外键id 菜单外键Id 收货人名 评论时间

18

表3-6 管理员信息表

列名 id username Password Realname telephone lastime level

数据类型 Int Varchar(16) Varchar(16) Varchar(50)

int Datetime int

Null No No No No No No No

Key Yes No No No No No No

备注 标识递增 账号名 账号密码 真实姓名 联系电话 最后一次登陆时间 管理员级别

表3-7 公告表

列名 id content Time username

数据类型 Int Varchar(50) Datetime Varchar(16)

Null No No No No

Key Yes No No No

备注 标识递增 账号名 账号密码 发表人

19

第五章 详细设计和实现

5.1功能模块介绍

5.1.1界面设计

简洁友好的用户界面是系统与用户交互的关键,并且在很大的程度上影响着用户对系统的评价。所以在设计系统界面的时候,首页的顶部是一个醒目的菜肴的图片的,让人一看就知道是订餐网站,有一种订餐的欲望,栏目有首页、最新推出、登陆/用户信息、注册,中间是目前菜单的信息。

20

图5-1主页面

21

5.1.2 菜单信息浏览

可以直接浏览到部分的菜单信息,信息包括了:图片,菜名,价格等。在该网页上也可以查看菜品的详细信息,如图4-2所示。

22

图5-2 菜单信息浏览

5.1.3 用户登陆/注册

用户登陆/注册 是一个悬浮于当前页面弹出来的窗口,窗口弹出将锁定用户面,“取消”可返回。

当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。

图5-3 用户登陆

在登陆系统之前需要注册,如图5-4所示,注册的信息由游客填写,提交注册信息后,需要通过后台管理员对注册信息进行审核,给予审批后,才能登陆系统。

23

图5-4 用户注册

5.1.4 个人信息预览

用户登陆成功后,顶部的悬浮栏的“登陆”字样 会变成用户名,单价后会浮现出“个人中心”、“充值金额”、“我的订单”、“购物车”“意见反馈”、“退出”等字样。

单击“个人中心”可进入个人信息的界面。如图4-5 所示

24

图5-5 个人信息

5.1.4 订单信息表

进入“订单信息表”,可看见用户以往的订单信息,在订单信息中可看到商品的当前状态信息,以及可删除以往的订单信息,如图4-6所示

25

图5-6订单信息表

5.1.5 后台管理员的登录

想要进入后台管理系统,需要先登录管理员用户账号,管理员用户账号是不可以自行注册的,该系统有一个超级管理员“admin”,只有该管理员才能将管理员用户账号进行管理。如图4-7所示

26

图5-7管理员登录界面

5.1.6 后台主界面

在此界面中,管理员可以对订单进行查看,对菜品的价格,更新等进行管理,对公告进行管理,。比如说:菜品的删除,价格式样的编辑,以及菜品的添加,上传等操作,还可以对会员进行管理操作。

图5-8后台管理界面界面

27

5.2主要实现技术

5.2.1分页显示算法

ReviewDAO:

public Pagination findPageByQuery( final String hsql, final int pageSize,final int startIndex){

return (Pagination)getHibernateTemplate().execute( new HibernateCallback() {

public Object doInHibernate(Session session) throws

HibernateException, SQLException {

Query query = session.createQuery(hsql); int totalCount=query.list().size(); query.setFirstResult(startIndex); query.setMaxResults(pageSize); List items = query.list();

Pagination ps = new Pagination(items,totalCount,

pageSize, startIndex);

return ps; } },true); }

ReviewServiceImpl:

public

Pagination

findUserinfoByPage(int

pageSize,

Integer

startIndex) { String

hsql=\

Review

where

menu.id

=

\

28

}

return reviewDAO.findPageByQuery(hsql, pageSize, startIndex);

ReviewAction:

public String init(){

if(currentIndex==null)

currentIndex=0;

pg=reviewService.findUserinfoByPage(3,

Pagination

currentIndex);

}

ActionContext.getContext().put(\return \

5.2.2 信息显示

Pagination..jsp:

5.2.3 订单显示

OrdersAction:

30

public String myOrders(){

ActionContext.getContext().getSession().put(\

rvice.show(id) );

}

return \

OrdersServiceImpl:

public List show(Integer id) { }

return ordersDAO.findByClient(id);

OrdersList.jsp

31

第六章 测试和案例分析

6.1测试的重要性及其目的

6.1.1测试重要性

软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软

件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。 在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。

32

6.1.2测试目的

如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。其实这是不对的,软件测试是为了发现错误而执行程序的过程; 是为了证明程序有错,而不是证明程序无错误;一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。

首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。

6.2测试的步骤

与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个

步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成: 1.模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。 2.系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。

3.验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。

33

6.3测试的内容

6.3.1用户登录测试

功能描述 前提目的 前提条件

输入动作 用户名:奥特曼

登陆成功

输入密码:123 用户名:凹凸曼

错误提示:“登陆失败”

输入密码:123

登陆失败 登陆成功

用户登陆

用例编号 测试数据连接的正确性

用户已存在

测试结果

实际情况

C25001

表6-1 用户登陆测试

6.3.2非法连接测试

功能描述 前提目的 前提条件

输入动作 使用链接地址直接访问

使用非法连接登陆

用例编号 测试数据连接的正确性

未登录用户

测试结果 返回主页

实际情况 返回主页

P140702

表6-2 非法链接测试

6.3.3 用户下单测试

功能描述 前提目的 前提条件

输入动作

用户下单

用例编号 测试数据连接的正确性

用户已登陆

测试结果

实际情况

P140703

34

全部文本框输入格式正确 文本框输入格式不正确或空缺

下单成功

错误提示:“下单失败”

下单成功 下单失败

表6-3 用户下单测试

6.3.4 管理员添加菜单测试

功能描述 前提目的 前提条件

输入动作

按要求符合所有要求输入 添加菜单信息不全或空缺

添加菜单

用例编号 测试数据连接的正确性

管理员已登陆

测试结果 添加成功

错误提示:“添加失败”

实际情况 添加成功 添加失败

P140704

表6-4 管理员添加菜单测试

35

结论

几个月来忙碌而又紧张的毕业设计,使我有机会对本专业的基本理论、专

业知识和基本技术有了更深入的了解和体会,使我在三年中所学到的知识得到了系统和升华,真正达到了学以致用。 对网上订餐系统的体会:

网上订餐系统是一门信息科学、系统科学、计算机科学与现代通信技术为一体的一门综合性边缘学科。它是运用系统的方法以计算机和现代通信技术为基本信息处理手段和工具的,能为管理决策提供信息服务的人—机系统.它可以实现数据处理功能、预测功能、计划功能、控制功能和辅助决策功能。管理信息系统的开发是一项复杂的系统工程,必须严格的按照系统规划、系统分析、系统设计、系统实施、系统运行与评价的开发步骤来进行。

在系统开发之前,必须了解该系统的特点、适用范围以及使用者需要一个什么样的系统,以此作为基础为开发系统准确定位,然后对使用者所需实现的功能进行分析总结,根据使用者的实际要求来给系统设计一个初步方案。系统的开发不仅是要实现对数据处理的及时与正确,而且要考虑系统是否具有控制功能,及时将数据反馈给操作者,以进行监测和协调,保证系统的正常运行;也要考虑是否具有预测功能,运用一定的数学方法利用历史的数据对未来进行预测的工作。 设计实践上的体会:

在设计的过程中,我掌握了很多JSP的编程知识,并对这种成熟并广泛应用的技术进行了深入的学习。设计的过程也是一个再学习的过程,在遇到问题的时候我尽量自己想办法解决,这在很大程度上激发了我们的自学能力;在没有办法解决的情况下,认真的向老师请教,从老师那里我学到了很多的知识,老师对我的指导起到了画龙点睛的作用。

以往我们曾经有过多次设计的体会,但只是设计一个模块或一个小系统,而这一次毕业设计是综合所学的管理和计算机的知识来设计一个适合运行管理的进销存系统软件。要想设计使用户满意,就需要我们付出更多的努力。我在设计中经常出现一些问题不知该如何解决,在此时许多同学给予了我们帮助。在设计

36

本文来源:https://www.bwwdw.com/article/g703.html

Top