版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生本科生毕业论毕业论文(文(设计设计) 论文题目: 基于基于 php 的网上订餐系统的网上订餐系统 的设计与实现的设计与实现 姓名:郑舒倩郑舒倩 学号:1009030409 班级:信管信管 1004 年级:2010 级级 专业:信息管理与信息系统信息管理与信息系统 学院:信息与安全工程学院信息与安全工程学院 指导教师:吴良霞吴良霞 完成时间:2014.03.29 作者声明作者声明 本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽 窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计) 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业 论文(设计)
2、引起的法律结果完全由本人承担。 毕业论文(设计)成果归中南财经政法大学所有。 特此声明。 作者专业:信息管理与信息系统 作者学号:1009030409 作者签名:郑舒倩郑舒倩 2014 年年 03 月月 29 日日 基于 php 的网上订餐系统的设计与实现 郑舒倩郑舒倩 the design and implementation of online order system based on php zheng,shuqian 2014 年年 03 月月 29 日日 摘摘 要要 随着人们生活水平的提高,人们对于饮食的要求也越来越高。传统的到餐厅就餐的 方式时常存在需要排队的现象,而就餐高峰期电
3、话叫餐存在占线或订餐信息错误等问题, 这些传统订餐方式弊端的存在很容易就造成餐厅客户的流失,同时也不能满足人们的订 餐需求。因此,开发一个利用互联网满足人们希望随时随地快捷点餐需求的系统也就应 运而生。 网上订餐是随着网络技术的发展而产生的一种新型的点餐方式。同传统的订餐方式 相比较,网上订餐实现了高度信息化与智能化的管理,不仅让顾客能够方便快捷的订餐, 同时又能够对每个订单的信息妥善保管,避免出现人为的纰漏。因此,可以说网络订餐 将会很大程度上促进餐饮业的新发展。 本文通过对网上订餐进行需求分析,利用 php + myqsl 技术开发一个网上订餐系统。 该系统主要利用了 php 强大的网络数
4、据库访问技术,与 mysql 的强大的数据库功能来实现 主要功能,同时利用开源框架优化了系统界面互动及执行能力。系统设计并实现了前台 订餐系统和后台管理系统。前台系统为用户提供了菜品信息浏览、在线订餐、跟踪订单 状态、在线留言等功能,而后台管理系统则为餐厅管理员提供了信息的更新和删除、订 单处理及用户管理等功能。针对要实现的这些功能再进行了系统的设计,实现了网上订 餐的相应功能,界面简洁,易于操作,平台功能明确,完成了最初的设计目的。 关键词关键词:网上订餐;互联网;php;mysql abstract with peoples living getting better, the requi
5、rements for food grows. its frequency of queuing in restaurants which only have the traditional ordering ways. besides, at the peak of the phone call of dining meal, a lot of problems exist such as calling busy or error recording of order information. these drawbacks of the traditional ordering way
6、usually cause the loss of the customers, at the same time, can not meet the needs of ordering. therefore, the system that can be used to order efficiently via internet come into being. with the development of internet, there is a new way about ordering called online ordering. to comparing with the t
7、raditional ordering way, online ordering is technology and intelligent highly. it is not only convenient for customers to be able to order food at the same time be able to keep the information for each order to avoid artificial flaws. therefore, we can say that online ordering will largely promote t
8、he development of ordering. this paper analyzes the needs of online reservation which based on php + myqsl technology to exploit an online order system. the system utilizes the powerful php web database access technology with mysql database to achieve the main function, while taking advantage of ope
9、n source frameworks optimize system interface interaction and execution capabilities. this system designs and achieves the foreground and background management system. the system provides users dishes information browsing, online ordering, order status tracking, online comments and other features. m
10、eanwhile background management system provides update, delete information, order processing, and user management for system administrator. for these features to be implemented before the system was designed to achieve the online ordering of the corresponding functions, simple interface, easy to oper
11、ate, the platform features a clear, completed the initial design purposes. key words: online ordering; internet; php; mysql 目目 录录 引引 言言1 一、一、 项目概述项目概述1 二、二、 相关技术介绍相关技术介绍2 (一)系统设计理念2 (二)相关技术介绍2 (三)系统体系结构5 三、三、 需求分析需求分析6 (一)系统可行性研究6 (二)系统功能分析7 (三)系统非功能性需求13 四、四、 系统设计系统设计14 (一)概念设计14 (二)逻辑设计16 五、五、 系统实
12、现系统实现18 (一)功能模块的实现介绍18 (二)核心功能的实现过程19 六、六、 系统测试系统测试35 (一)测试目的35 (二)测试方法35 (一)测试结论36 结束语结束语36 主要参考文献主要参考文献37 引引 言言 随着互联网的快速发展,b2c电子商务也开始逐渐走进人民的生活当中。而订餐类网 站因为其庞大的用户群体,得到了迅速的发展。特别是对一些公司来说,因为工作的快 节奏造成订餐已经成为趋势。同时人们生活水平的提高也使得人们对于饮食的追求越发 讲究。然而,餐饮行业中所存在的问题也在其不断发展壮大的过程中也暴露出来。传统 的餐厅在用餐的高峰时间段里会因无法照顾到电话订餐的顾客而造成
13、订单的流失或者订 餐信息的混乱,并且餐厅也会因为地点的限制而没办法拓展更宽的客户源。在当前的信 息化时代的大背景下,基于计算机互联网的网上订餐形式的出现,解决了传统餐厅所面 临的窘境与局限,摆脱了空间和时间的约束,大大满足了人们在当今时代下对于餐饮的 需求,使得顾客能够随时随地上网订餐,而且可以通过图文并茂的菜单信息,找到自己 心仪的菜品。大大的增强了订餐的便捷性,甚至可以说这是对于餐饮业的一次重大变革。 尤其是对于当代大学生与白领来说,网上订餐系统的设计是具有重要的现实意义。 因此,网上订餐系统是具有非常广阔的发展前景的。通过网站前台的菜品展示,让 顾客自行选择,从而形成餐饮企业的电子商务平
14、台。而后台系统,则能够向餐饮企业准 确传递餐饮信息,提高其信息化水平,增强管理能力。对于任何一方来说,都将是一个 福音。 本文设计实现的网上订餐系统立足于当前对于网上订餐业务的需求进行分析,利用 php+mysql技术进行系统开发,设计实现了能够满足用户快速订餐、餐饮企业能够对订 单进行高效管理的功能需求。本系统最大的特点就是开发成本很低,系统易于维护,但 同时又满足了网上订餐系统的基本功能诉求,非常适用于资金投入不够充足的小型餐饮 企业对于实现网上订餐的需求。而就当前来说,通用的网上订餐系统一般采用asp.net平 台和sql server数据库进行开发,虽然所开发的系统能够有更强的数据处理
15、能力,但相较 于本系统而言,其对于硬件配置的要求相应也更高,同时前期的开发成本和后期的维护 成本也更高,会加大餐饮企业,尤其是小型餐饮企业的负担。因此本系统在其所针对的 特定用户群体下是具有优势的。 一、一、项目概述项目概述 (一一)项目简介项目简介 本文开发的管理信息系统全称为“吃货部落”网上订餐系统,旨在改善传统餐饮行 业中存在的效率低下等问题,通过业务需求分析得出系统应具备的功能,再选择相应的 开发工具进行系统设计开发。在本系统中,菜单管理与订单管理功能是作为系统的重点 模块,其核心是菜品信息的修改和订单生成和餐费的分析与开发。本系统在web技术的基 础上,通过前台的订餐页面,完成需求的
16、信息来源采集,再通过后台的菜品信息管理模 块,订单管理模块,完成整个订餐过程。通过信息化的管理,提高餐饮企业的管理效率, 降低餐饮企业运营成本,为餐饮行业的进一步发展贡献了自身的价值。 本系统决定利用php和mysql设计网上订餐系统。php是能够使得动态网页达到良好 的互动效果的一种技术,而mysql是一个真正的多用户,多线程的结构化查询语言数据 服务器,同时 apache、php、mysql这样的组合能够满足良好的性能需求和获得最大的 用户群体支持,大大便利了本系统的开发。 二、二、相关技术介绍相关技术介绍 (一一) 系统设计理念系统设计理念 随着internet技术的不断发展,brows
17、er/server结构,即bs结构是在 c/s(client/server)结构基础上演变而来的一种结构。b/s模式只需要通过一般的浏览 器即可实现强大的功能,不再需再使用专门的软件,从而很好的节约了开发成本,是一 种全新的软件系统构造技术。 本文的网上订餐系统是利用php+mysql进行开发的。php+mysql可以说是web数据库的 绝佳组合。php是属于嵌入式超文本处理语言,对于建立一个动态网站来说,具有非常强 大的功能。而mysql属于轻型sql数据库服务器,在多种的平台上均可运行,因此对于现 在大多数基于数据库驱动的动态网站来说,php+mysql将会是一种很好的选择。本文是在 wi
18、ndows 7系统下分析设计了一套网上订餐系统,同时还探讨了所涉及的相关技术,整个 网上订餐系统真正实现了订餐客户与餐饮企业的良好互动,用户可以查看菜品详细信息 进行选择,实时跟踪订单状态,同时餐厅管理员还可以通过留言板及时了解订餐客户的 需求及反馈信息等功能,使得整个订餐流程变得快捷方便。 (二二) 相关技术介绍相关技术介绍 1.php 概述概述 随着互联网时代的到来,网络已经变成现代人们生活中的重要组成部分,未来的发 展潜力更是巨大。而在这样一个快速的发展阶段,网络上的各种应用也早已经从以前的 单向的服务发展到交互式的服务,用户可以利用cgi来达到和服务器进行良好互动的效果。 而php技术
19、就是为了达到动态网页良好的互动效果而产生的技术之一。php的语法混合了 c、java、perl以及php新式语法,能够比cgi更快速的执行动态网页。同时,php作为一 种服务器端的脚本语言,其代码能够在服务器端被解释转换成普通的html页面内容,再 传到浏览器端。这种工作模式使得php具备了能够完成相当复杂功能的能力。此外,php 还具有很好的跨平台性。一般都无需修改或只需要少量修改就可以在另一台服务器上工 作,不会因为操作系统的兼容性而产生问题。 php在internet上支持大部分的通讯协议,同时,php还支持大量的数据库,例如 dba、mysql、oracle、msql、microsof
20、t sql server、dbase等。而php所写的web后端 cgi程序,可以在各个不同的平台上运行,具有很强的可移植性。 本系统采用php进行开发,主要是因为php 程序设计具有以下多方面的优势: (1)开源性代码 php 代码的开源性能够比较方便的对于功能进行扩展和修改。 (2)易于学习 php的语法混合了c、asp、jsp等语言的特点,因此对于有点基础的学习者来说,能 够比较快速的把php代码无障碍地添加进站点,使得站点具有动态性和交互性。 (3)数据库的连接 php能够很方便的同oracle、microsoft sql server、mysql等在内的大部分数据库 连接起来。 另外
21、由于它是面向对象编程的,因此php能够很好的满足web编程的工作需求。 2.mysql 数据库技术数据库技术 现今的网站开发一般都是基于数据库驱动的,但是数据库也分很多种类, access、sql server和oracle等都不属于免费软件,需要购买才能使用,而mysql是最流 行、最佳的开源数据库,能够支持多种平台。采用mysql数据库技术对于一般的中小企业 来说,已经可以满足他们对于功能的需求。基于能够满足其需求的基础上,同时还大大 减少开发成本。目前来说,利用apache作为web服务器,mysql作为数据库,php作为服务 器端的脚本解释器,是一种很好的架构模式,它们之间的完美配合也
22、使得开发出具有良 好交互性的动态网站成为了可能。 mysql所具备的优势主要有以下几个方面: (1)速度快:由于 mysql 属于轻型的数据库,因此在能够做到迅速的反馈数据。 (2)安全共享性:mysql 的数据库能够通过因特网进行访问,因此可以很容易的实 现不同地方的人共享数据库,同时,mysql 对于特定用户也可以进行访问控制,从而保证 安全性。 (3)可移植性:使用 c 和 c+语言进行编写,同时还在多种的编译器上进行测试,从 而使得源代码具有可移植性。 (4)支持 sql 语言:利用优化的 sql 查询语句有效提高查询速度。 (5)易于操作:mysql 是一个高性能且相对简单的数据库,
23、能够很方便的进行操作。 (6)成本优势:mysql 对于多数个人用户而言是免费的开源软件,投入成本低。 3.javascript 语言语言 javascript是一种基于对象和事件驱动的客户端脚本语言。在客户端的web开发上具 有广泛的应用,一般用来给html网页添加动态功能,例如可以响应用户的各种操作。它 最初是一种动态、弱类型、基于原型的语言,内置支持类。javascript还可以用于其他 场合,如服务器端编程。完整的javascript实现包含了以下三个部分:ecmascript,文 档对象模型,字节顺序记号。 同服务器端脚本语言(例如php与asp)不同的是,javascript属于客
24、户端脚本语言, 意思就是说javascript是在用户的浏览器上独立运行的,不需要服务器的支持。尽管 javascript可以减少对服务器的负担,但同时也暴露出其安全性的问题。而随着服务器 的壮大,虽然现在为保证安全而使用在服务器上运行的脚本语言,但javascript仍然因 为其跨平台、容易上手等优势被广泛应用。 javascript的源代码在发往客户端运行之前无需通过编译,而是将文本格式的字符 代码发送给浏览器由浏览器解释运行。但javascript作为解释语言具有安全性较差的致 命弱点,而且在javascript中,如果一条运行不了,那么下面的语言也无法运行。在每 次重新加载的时候,都会
25、再重新解译,所以会因为有些代码会延迟至运行时才解译,甚 至出现多次解译,也就造成的速度上较慢。 与javascript相对应的是编译语言,如java。java的源代码在传递到客户端运行之 前,是需要经过编译才能实现,因而客户端上必须具有相应平台上的解释器,它可以通 过编译器或解释器实现独立于某个特定的平台编译代码的束缚。但是它必须在服务器端 进行编译,这样就拖延了时间。但因为已经封装,所以能保证安全性。 4.ajax 技术技术 ajax指的是一种综合了多种技术用于创建交互式网页应用的网页开发技术,用来描 述从基于web的应用到基于数据的应用的转换。与传统的web应用每次沟通都需要向服务 器发送
26、请求不同的是,ajax应用可以仅向服务器发送请求并取回必须的数据,同时在客 户端采用javascript处理来自服务器的回应。这样做使得服务器和浏览器之间交换的数 据与原来相比大量减少,因此大大提高了服务器的回应速度。 ajax 作为一种web 应用程序的技术,旨在能够更好更快的进行交互。它的主要优势 有: (1)能够使用 javascript 的 xmlhttprequest 对象同服务器直接进行通信,使得在不更 新整个页面的前提下维护数据。 (2)ajax 在浏览器与 web 服务器之间使用异步数据传输(http 请求) ,使得无需 从服务器请求整个页面而只需要少量的信息即可。 (3)aj
27、ax 可使因特网应用程序更小、更快。 (4) ajax 是一种独立于 web 服务器软件的浏览器技术,不需要任何浏览器插件,即 可在允许 javascript 的浏览器上执行。ajax 应用程序独立于浏览器和平台。 web 应用程序较桌面应用程序有很多的优势,比如它所涉及的用户群体很庞大;更 容易安装、维护以及开发。但是同时 web 应用程序确没有办法做到像传统的桌面应用程 序那样完善且友好。而 ajax 则能够让这些 web 应用程序变得更为友好。 5.css 样式表样式表 css(层叠样式表单)是用来表现 html 或 xml 等文件样式的计算机语言,用来控 制 web 页面的外观。css
28、 是能够做到很好的将页面的内容与表现形式分离的一种样式设 计语言。页面内容和用来定义其表现形式的 css 规则存放在不同的文件夹中而实现分离。 这种存储模式使得 html 文档代码变得更为简练,大大缩短浏览器的加载时间,同时还 使得对于站点的外观维护工作变得更为简易。 (三三) 系统体系结构系统体系结构 本网上订餐系统采用了 b/s 设计架构,与传统的 c/s 架构相比较,这种模式将系统 功能的核心实现部分集中到了服务器上,用户无需安装客户端,就能够通过浏览器获得 数据。从而简化了系统的开发、维护和使用,但同时又使得数据能够保持一致性。 b/s 模式的三层分层模型: 第一层为表示层。主要是接受
29、用户的请求,返回数据,为客户端提供应用程序的访问。表示 层是用户与系统之间交互信息的界面,是系统为用户提供的一个接口。 第二层为业务逻辑层。主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。 处于数据访问层与表示层中间,在数据交换中起到了承上启下的作用。 第三层为数据访问层。主要负责数据库的访问,其各函数主要完成各个对数据文件的操作, 从而为业务逻辑层或表示层提供数据服务。 三、三、需求分析需求分析 (一一) 系统可行性分析系统可行性分析 1.技术可行性分析技术可行性分析 对于本系统所要达到的功能目标,以及对于性能和各个约束条件的要求,在目前的 硬件、软件条件下,是能够满足开发所需求
30、的。同时,在这样比较充裕的开发期限内, 预计系统能够在规定时间内完成开发。 2.经济可行性分析经济可行性分析 本系统利用 php+mysql 进行网上订餐系统的开发,可以说项目的开发成本非常小。 同时,本系统在完成后能够大大提高工作效率,因此在经济上也是可行的。 3.运行可行性分析运行可行性分析 本系统采用了图形化的界面,充分考虑了用户同系统之间进行方便快捷的交互,同 时也显著挑高了管理者对于订餐信息的管理效率,满足了使用者的需求。除了提供系统 具备的功能以外,基于 web 技术还使得系统具有良好的可移植性。 (二二) 系统功能分析系统功能分析 1.整体需求分析整体需求分析 “吃货部落”网上订
31、餐系统基于 b/s 模式架构,旨在给客户和餐饮企业提供一个方 便交流的平台,以实现订餐的网络化、信息化和现代化,有效提高餐厅的订餐效率和管 理水平。基于对于该业务的需求了解,对系统希望实现的功能进行具体的分析,首先从 系统面向的用户群入手,明确系统的使用角色分为两类,即:管理员和用户。因此系统 的功能性需求主要针对这两类不同的用户类型分为前台用户子系统和后台管理员子系统。 因此希望系统能够实现以下的功能: (1)注册/登录功能 通过点击主页面上的快速注册,游客即可跳转到注册页面,填写手机号作为登录账 号,设置密码,详细地址和用户昵称提交完成注册。如果用户填写资料中有不正确或不 符合的信息,系统
32、将弹出提示出错的对话框让用户对于错误资料进行改正。注册完成后 将跳转到系统首页。本系统将用手机号作为登录账号,真正做到在之后使用本系统的时 候能够快速完成登录。 (2)个人信息管理功能 顾客在注册成功后,输入账号与密码登录系统,可以点击进入个人中心,修改个人 称呼,增加新地址,修改默认地址,修改密码。另外还可以查看个人的历史订单记录。 (3)用户订餐功能 此模块作为系统最主要的功能模块,通过浏览首页菜品信息,点击要预订的菜品, 弹出菜品的详细信息,可以对口味进行选择以及填写个人的一些要求备注,加入购物车。 被选中的菜品的具体信息将会出现在首页购物车区域,可以通过加减按钮进行份数 选择以及填写对
33、于此订单的其他需求。另外可以从下拉框中选择要求的送餐时间。 当选中的菜品金额没有满足最低的起送费用时,将会出现金额不足的提示框。 提交订单以后,可以进入个人中心查看订单信息,跟踪订单的状态以及取消订单。 (4)用户评论功能 用户可在首页评论留言板上输入自己对于餐厅的评论或建议,按发送键完成评论。 评论信息将会显示在页面上。 本系统的后台管理员子系统的的功能主要包括了以了以下几个方面: (1)餐厅管理功能 餐厅信息管理功能 管理员登陆系统后,在餐厅管理板块可以完成对于餐厅名称、地址、电话、营业开 始及结束时间、主营事务以及餐厅介绍的信息修改,该信息将在系统的前台首页中显示。 餐厅图片功能 通过选
34、择文件按钮上传餐厅图片,按添加按钮继续完成图片添加,删除按钮完成图 片的删除。 送餐时间段功能 设置餐厅的送餐时间段,可以对已存在的送餐时间段删除后再添加新的时间段,完 成餐厅对于送餐时间段的变更。在设置了时间段以后,用户在下单的时候就可以进行送 餐时间的选择。 设置起送费和送餐费用功能 管理员可以选择根据餐厅自身具体情况设置起送费以及送餐费,也可以选择在满足 了起送费的时候是否可免送餐费。 (2)菜单信息管理功能 菜单分类管理功能 主要是查看菜单的分类,可以完成对于菜单类别名称的添加、修改、删除,还可对 菜单在首页上的显示进行排序。点击具体类别下的查看菜单按钮可以查看该类别下的具 体菜品信息
35、。 菜单管理功能 以列表形式显示所有菜品,同时也可以查看到菜品的具体信息,包括名称、单价、 所属类别、说明、上下架状态等。同时可对菜品在首页的显示进行排序。可以进行添加、 修改以及删除功能的操作。 当添加新的菜品时,需要设置菜名、单价、选择上传食物图片、设置上下架状态、 选择菜品类别以及填写具体菜品说明。也可以对已有菜品进行信息的修改。 推荐菜管理功能 选择添加推荐菜时,填写推荐菜的名称、原价、优惠价和图片完成添加。推荐菜最 多能够添加 5 个,但是在前台首页中只能显示 3 个,当选择隐藏时,也就无法在首页中 显示出来。另外添加后还可以可对于推荐菜进行删除、修改的操作。 (3)订单管理功能 订
36、单的管理,主要是根据订单的完成进度对订单的状态进行更新,以便客户能够实 时进行跟踪。当客户提交了新订单以后,后台管理系统中将会出现相应的新订单,管理 员根据餐厅自身食材是否允许等状况选择取消订单或确认订单,确认完订单后即开始烹 饪阶段,当烹饪结束后,点击完成订单即可进入送餐阶段。对于已经完成的订单可以进 行查看以获得信息的收集。另外也可对于完成订单进行删除。 对于后台管理系统中确认的订单,会实时的反映在用户个人的订单详情里,用户可 以通过对订单的状态了解订单状态进行跟踪。 同时,管理员还可以对于用户取消的订单进行查看。 (4)用户管理功能 管理员可以对注册用户进行管理,包括查看用户的所有订单信
37、息,查看用户的订单 详情以及删除用户。 (5)留言管理 对于用户的留言,管理员可以对内容进行审核,审核通过后,可以在前台页面中显 示,也可对留言进行删除。 图图 1 系统整体框架图系统整体框架图 2.用例图分析用例图分析 用例图是通过描述“活动者”与“系统”之间的交互活动,从而来描述系统行为模 型。在对系统所要实现的目标进行详细分解后,用例图能够反映出活动者为了实现这些 目标而执行的所有步骤。此系统中的用户角色主要为两类,一是用户,二是管理员。在 确定了角色的基础上,再确定用例。 作为系统的用户来说,主要是可以进入网站进行订餐、对于订单的处理和管理个人 信息等操作。 留言 订餐 菜品信息浏览
38、加入购物车 添加备注信息 选择菜品数量 选择外送时间 订单处理 确认订单 取消订单 查看订单详情 查看历史订单 个人信息管理 登录 注册 查看个人信息 修改个人信息 用户 餐 厅 信 息 管 理 菜 单 信 息 管 理 订 单 管 理 用 户 管 理 留 言 管 理 密 码 管 理 用 户 登 录 或 游 客 注 册 个 人 信 息 管 理 订 餐 留 言 订 单 处 理 网上订餐系统 前台后台 图图 2 用户用例图用户用例图 作为系统的管理员来说,主要是对于网站进行菜单管理、订单管理、用户管理、留 言管理等操作。 订单管理 确认订单 修改订单状态 取消订单 查看订单详情 搜索订单 管理 员
39、留言管理 审核留言 查看留言 删除留言 用户管理 查看用户信息删除用户 修改餐厅信息 添加新菜 查看菜单详情 删除菜品 修改菜品信息 添加推荐菜 菜单管理 修改密码 图图 3 管理员用例图管理员用例图 3.活动图分析活动图分析 利用用例图描述系统的需求后,再利用活动图对于系统的主要用例进行更为具体的 描述,更好的体现各角色与系统的交互。 (1)用户登录 用户登录实现为本网站注册用户提供身份确认的功能,保证合法用户的应有权益。 用户只有在登录的前提之下才能进一步完成订餐的动作。同时用户登录的前置条件是在 登录以前已经完成了“注册” 图图 4 用户登录活动图用户登录活动图 (2)订餐 在订餐用例中
40、,用户进入网站对于菜品信息进行浏览,选择心仪的菜品后添加到自 己的购物车,并且可以对菜品的要求填写备注以及选择菜品数量。用户可以随时查看自 判断是 否正确 登陆成功 进入网站主页注册注册成功 输入用户名和密码 己预定的菜品的数量和总价格,还可以选择希望的送餐时间。本用例开始的前提是,用 户必须登录到订餐系统当中。在用户确认购买,提交金额后,系统还会判断订餐总金额 是否满足起送费来确定用例是否能够成功完成。 图图 5 用户订餐活动图用户订餐活动图 (3)订单管理 当前台有新的订单生成时,会自动在后台的订单列表中显示出来,系统的管理人员 可以点击进入订单列表,查看最新生成的订单,根据餐厅的实际情况
41、,对于这个新订单 进行确认或者删除等操作。 进入网站主页 浏览菜单信息 添加到购物车 填写菜品备注 判断是 否登陆 选择订餐数量 选择送餐时间 提交订单 判断是否满 足起送金额 查看购物车 处理订单删除订单 登陆系统 查看所有订单列表 查看某个订单详情 图图 6 订单处理活动图订单处理活动图 (三三) 系统非功能性需求系统非功能性需求 1.界面需求界面需求 用户界面应该做到产品与用户能够进行良好的交互,简单大方,易于操作,体现界 面的友好性。 2.安全性需求安全性需求 系统出于安全性的考虑,对于不同用户做出了不同的权限限制,即对于信息具有不 同的存取权限,不能越权进行操作,以此来保障数据的安全
42、性。另外,系统还应当具备 可靠性和可恢复性。 3.性能需求性能需求 在衡量系统性能好坏时,系统的相应时间即完成各种任务的速度是一个重要的参考 指标。一个具备良好性能的系统应当具有响应时间短,数据转换与传送时间短,更新处 理迅速,后台服务器响应迅速等特性的,系统必须能够在安全的前提下实现高效地响应。 4.操作性需求操作性需求 决定系统运行的硬件/软件环境,因此,系统的操作应该简易方便,能够实现人机友 好的目的。 5.可维护性需求可维护性需求 在系统的使用过程中,客户会对系统不断提出新要求,希望能够扩展新的功能,因 此要求系统的可升级性必须良好,可以满足客户在有新功能的需求的时候实现快速的扩 展。
43、 四、四、系统设计系统设计 数据库是开发一个信息管理系统的核心与基础。因此只有对数据库进行合理的设计, 减少数据沉余,才能够实现系统的高效性。本章主要通过对于概念设计、逻辑设计和物 理设计这三个阶段的叙述,体现系统设计思路和设计过程。 (一一) 概念设计概念设计 1.概念设计概述概念设计概述 概念设计是将用户从需求分析当中得到的结果抽象出来成为信息世界的一种结构, 即概念模型。概念结构是现实世界同信息世界的连接桥梁,独立于数据库的逻辑结构, 也独立于支持数据库的数据库管理系统,能够反映出实体与实体之间的联系,以便于能 够用各种数据模型进行转换。 2.系统系统 e-r 图图 e-r图为实体-联系
44、图,提供了表示实体型、属性和联系的方法,用来描述现实世界 的概念模型。构成e-r图的基本要素是实体型、属性和联系三要素。通过对系统实体数据 关系的分析,得出系统的e-r图。 图图 7 系统系统 e-r 图图 3.用户用户 e-r 图图 用户实体包括了用户编号、联系电话、用户名、用户密码、送餐地址、经验值、积 分和登录次数等属性。 图图 8 用户用户 e-r 图图 n m m1 1 m mn 留言板 用户菜单 订单管理员 选择 管理 管理 生成 留言 审核 n m m 1 用户 用户密码 联系电话 送餐地址 用户名 经验值 积分 登录次数 用户编号 4.菜单菜单 e-r 图图 菜单实体包括了菜品
45、编号、菜名、价格、图片、菜品描述、上下架状态、推荐等属 性。 图图 9 菜单菜单 e-r 图图 5.管理员管理员 e-r 图图 管理员实体包括了管理员名、管理员编号和管理员密码等属性。 图图 10 管理员管理员 e-r 图图 6.订单订单 e-r 图图 订单实体包括了订单号、订单状态、备注、金额、订单生成时间、数量、送餐地址、 送餐时间、联系电话和用户名等属性。 菜单 菜名 价格图片 菜品编号菜品描述 上下架状态推荐 订单 数量 订单号 备注 订单状态 送餐地址 送餐时间 订单生成时间 联系电话 金额 用户名 管理员 管理员编号 管理员密码 管理员名 图图 11 订单订单 e-r 图图 7.关
46、系模型关系模型 根据系统的 e-r 图,将主要的概念模型转化为以下的关系模型: 用户(用户编号,联系电话,用户名,密码,送餐地址,经验值,积分,登录次数) 菜单(菜单编号,菜名,价格,上下架状态,图片,菜品描述,推荐) 订单(订单号,用户名,联系电话,送餐地址,送餐时间,订单状态,订单生成时 间,备注,金额,数量) 管理员(管理员编号,管理员密码,管理员名) (二二) 逻辑设计逻辑设计 数据库的逻辑设计是基于概念模型,将其转化为逻辑模型。在概念设计当中,已经 将概念模型已经转化为了关系模型,将转化来的关系模型向特定数据库支持下的数据模 型转换,最后对数据模型进行优化。 本系统中所涉及的表主要包
47、括有:用户表(user)、菜单表(food)、订单表(order)、购物 车表(cart)、留言表(comment) 表表 1 用户表用户表 字段名说明数据类型数据长度是否主键 user_id用户编号int10yes user_name用户名varchar50no user_password用户密码varchar50no user_phone联系电话varchar30no user_address送餐地址varchar50no user_score积分int10no user_experience经验值int10no user_logincount登录次数int10no 表表 2 购物车表购物
48、车表 字段名说明数据类型数据长度是否主键 cart_id订单号int10yes cart_price金额decimal10no cart_count数量int4no cart_status订单状态char1no cart_desc备注varchar200no cart_user用户 idint10no 表表 3 菜单表菜单表 字段名说明数据类型数据长度是否主键 food_id菜单编号int10yes food_name菜名varchar100no food_price价格decimal10no food_status上下架状态char1no food_intro菜品描述varchar300no
49、 food_pic图片varchar200no food_special推荐char1no 表表 4 留言表留言表 字段名说明数据类型数据长度是否主键 comment_id留言编号int10yes comment_user用户 idint10no comment_addtime留言时间datetimeno comment_type留言类型char1no comment_content留言内容textno 表表 5 订单表订单表 字段名说明数据类型数据长度是否主键 order_id订单编号int10yes order_addtime订单生成时间datetimeno order_price订单价格
50、decimal10no order_deliverprice送餐费decimal10no order_totalprice订单总金额decimal10no order_status订单状态char1no order_username订单用户名varchar50no order_address订单送货地址varchar300no order_userphone订单联系电话varchar50no 五、五、系统实现系统实现 (一一) 功能模块的实现介绍功能模块的实现介绍 本系统分为了前台用户子系统和后台子系统 前台用户子系统所实现的功能包括: 1.注册注册/登录功能登录功能 2.个人信息管理功能个人
51、信息管理功能 3.用户订餐功能用户订餐功能 4.用户评论功能用户评论功能 后台管理员子系统所实现的功能包括: 1.餐厅管理功能餐厅管理功能 (1)餐厅信息管理功能 (2)餐厅图片功能 (3)送餐时间段功能 (4)设置起送费和送餐费用功能 2.菜单信息管理功能菜单信息管理功能 (1)菜单分类管理功能 (2)菜单管理功能 (3)推荐菜管理功能 3.订单管理功能订单管理功能 4.用户管理功能用户管理功能 5.留言管理留言管理 (二二) 核心功能的实现核心功能的实现 1.添加新菜品功能的实现过程添加新菜品功能的实现过程 当添加新的菜品时,需要设置菜名、单价、选择上传食物图片、设置上下架状态、 选择菜品
52、类别以及填写具体菜品说明。 图图 12 菜单添加页面图菜单添加页面图 添加成功后,前台的页面上将会显示出新添加的食物信息 图图 13 前台菜单信息图前台菜单信息图 具体代码实现: !- function ajaxfileupload() $(#loading) .ajaxstart(function() $(this).show(); ) .ajaxcomplete(function() $(this).hide(); ); $.ajaxfileupload ( url:food_picup.php, secureuri:false, fileelementid:filetoupload, d
53、atatype: json, data:name:logan, id:id, success: function (data, status) data=data.replace(,); data=data.replace(,); var info=data.split(|); if(info0=e) alert(info1); else document.getelementbyid(upinfo).innerhtml=info1; document.getelementbyid(upfile1).value=info1; , error: function (data, status, e
54、) alert(e); ) return false; /- 菜单添加 - 菜单管理 - 点餐系统 菜单管理菜单添加 菜的名称: * 菜的单价: 元 * 菜的图片: 图片尺寸 130*130(注意:如果您选择的 模板菜单没有图片,就不需要添加图片) 上架: 是 否 菜的分类: option value= ?php if ($numr=0) echo 添加分类; ? 菜的说明: function checkfood() var name=$(#name).val(); if (name=) alert(菜的名称不能为空); $(#name).focus(); return false; else
55、 if(name.length16) alert(菜的名称不能大于 16 个字符); $(#name).focus(); return false; if ($(#price).val()=) alert(菜的单价不能为空); $(#price).focus(); return false; if ($(#price).val()=0 | $(#price).val()=0.00) if(confirm(菜的单价确定要设置为 0 吗?) document.addform.action=shop_do.php?act=addfood; document.addform.submit(); ret
56、urn false; 2.购物车功能的实现过程购物车功能的实现过程 此模块作为系统最主要的功能模块,通过浏览首页菜品信息,点击要预订的菜品, 弹出菜品的详细信息,可以对口味进行选择以及填写个人的一些要求备注,加入购物车。 图图 14 用户订餐页面图用户订餐页面图 图图 15 用户订餐备注页面图用户订餐备注页面图 被选中的菜品的具体信息将会出现在首页购物车区域,可以通过加减按钮进行份数 选择以及填写对于此订单的其他需求。另外可以从下拉框中选择要求的送餐时间。 图图 16 用户购物车页面图用户购物车页面图 当选中的菜品金额没有满足最低的起送费用时,将会出现金额不足的提示框。 图图 17 用户未满送
57、餐费提示框图用户未满送餐费提示框图 当满足起送金额后,显示具体订餐信息进行确认。 图图 18 用户确认订单页面图用户确认订单页面图 具体代码实现: $time_0_str) alertinfo(亲,预约时间不能晚于现在时间,1); if (!empty($shopspot) $areaarray=getcirclebyspot($shopspot); $_sessionlogin_url=geturl(); $position_header=提交订单; $sql=select * from qiyu_shop where shop_id=.$shopid. and shop_status=1;
58、 $rs=mysql_query($sql); $rows=mysql_fetch_assoc($rs); if ($rows) $shop_name=$rowsshop_name; $shop_id2=$rowsshop_id2; $paystr=explode(|,$rowsshop_pay); $shop_pay=|.$rowsshop_pay.|; $paycount=count($paystr); $shop_discount=$rowsshop_discount; else alertinfo(非法操作); $total=0;/菜总价 $cur_cart_array = explo
59、de(/,$_cookieqiyushop_cart); foreach($cur_cart_array as $key = $goods_current_cart) $currentarray=explode(|,$goods_current_cart); $cookieshopid=$currentarray0; $cookiefoodid=$currentarray1; $cookiefoodcount=$currentarray2; if ($shopid=$cookieshopid) $sql=select * from qiyu_food where food_id=.$cooki
60、efoodid. and food_shop=.$cookieshopid; $rs=mysql_query($sql); $rows=mysql_fetch_assoc($rs); if ($rows) if ($ordertype=group) $total+=$rowsfood_groupprice*$cookiefoodcount; else $total+=$rowsfood_price*$cookiefoodcount; if (empty($total) alertinfo(您还没有添加餐品,index.php,0); /判断是否满足商家设定的外送消费下限 if ($total起
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防溺水安全演讲稿15篇
- 小班家长会发言稿模板(范文10篇)
- 离婚应诉答辩状
- 社会公德演讲稿
- 银行竞聘演讲稿5分钟左右(7篇范文)
- 木偶奇遇记读书笔记14篇
- 《三毛流浪记》读后感集锦15篇
- 2024年不锈钢、镍纤维及纤维毡项目资金需求报告代可行性研究报告
- 2023年阀门和龙头资金需求报告
- 二年级英语电子教案下册
- 五年级上册小数四则混合运算练习100道及答案
- 心衰健康宣教课件
- 2024年广东省公需课《百县千镇万村高质量发展工程与城乡区域协调发展》考试答案
- 无机及分析化学考试题(附答案)
- 钻孔灌注桩桩工程隐蔽验收记录表格及填写范本
- 中国花鸟画各个时期艺术特点探析
- 教育实习对学前教育师范生职业认同的影响-幼有所育政策背景下的研究_2
- 人教版四年级上册数学《第三单元角的度量 整理和复习》教学课件
- 【教案】《认识计算机硬件设备及作用》教学设计
- ERP系统常见物料分类及编码规则
- 卧式车床电气控制电路设计毕业设计
评论
0/150
提交评论