网络订餐系统的初步设计毕业论文.doc_第1页
网络订餐系统的初步设计毕业论文.doc_第2页
网络订餐系统的初步设计毕业论文.doc_第3页
网络订餐系统的初步设计毕业论文.doc_第4页
网络订餐系统的初步设计毕业论文.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络订餐系统设计 摘 要 在二十一世纪 随着 Internet 的飞速发展 使得网络的应用日益广泛 如电子 商务 网上医疗 网络游戏等 本文从饭店和消费者的需求出发 旨在为中小餐厅 实现自己的食品在线销售提供技术手段 本文设计了基于 JSP 的网上订餐系统 文中采用了 Jsp javaBean SQL 三层架构 的 MVC 模型 SQL Server 为数据库开发平台 Tomcat 作为信息服务器 Jsp 作为前 台页面显示 实现了应用程序逻辑和页面分离使界面设计更简单 网上订餐系统功 能实现了用户在线浏览食品信息 开通网上购物车 在线提交订单等功能 管理员 通过本系统可以添加食品及食品分类 管理用户 管理订单等 与订餐行为相比 网上订餐系统为用户和商家都提供了更高的效率和更便捷的手段 关键词 网上订餐 JSP MVC Online Meal Ordering System Design Abstract In the 21 st century with the rapid development of Internet the network are applied widely Such as electronic business online medical treatment network game etc This paper from the hotel and the requirements of the consumers in order to provide technical means for small and medium sized restaurant to realize their food online sales This paper designes online meal ordering system based on JSP this paper uses the JSP javaBean SQL three layer structure of the MVC model SQL Server for database development platform Tomcat as information Server Jsp page shows as a receptionist it realizes the logic of application program and page separation which makes interface design more simple Online order system realizes the fuction that user can browse food information online open the online shopping cart submitting orders online and so on System administrator can add food and food classification management users management order etc Compared with the behavior of ordering food online order system provides the users and business higher efficiency and more convenient means Key words Online meal ordering JSP MVC 目 录 第一章 绪论 1 1 1 研究的意义和目的 1 1 2 国内外研究现状 1 1 3 本文主要工作 2 第二章 系统实现的主要技术 3 2 1 技术方案的选取 3 2 1 1 开发模式选择 4 2 2 相关语言及开发工具介绍 4 2 2 1 Jsp技术简介 4 2 2 2 MyEclipse简介 6 2 2 3 JSP应用服务器Tomcat 6 2 2 4 JDBC 介绍 6 第三章 需求和可行性分析 10 3 1 系统功能分析 10 3 2 需求分析 10 3 3 可行性研究 11 3 4 流程分析 11 第四章 网上订餐系统总体设计 13 4 1 系统功能设计目标 13 4 2 网络订餐系统功能模块划分 13 4 3 MVC框架 14 第五章 数据库设计 17 5 1 数据库系统概述 17 5 2 数据库表设计 17 5 3 数据库连接 20 第六章 程序设计 21 6 1 界面模块的划分 21 6 2 后台程序的设计 25 6 2 1 注册 25 6 2 2 登陆 26 6 2 3 显示所有菜品 27 第七章 结束语 28 参考文献 29 第一章 绪论 1 1 研究的意义与目的 贸易的全球化合 internet 网络的全球化特征使两者自然的走到了一起 形成 了如今风靡全球的电子商务 电子商务是指应用电子信息技术和现代 Internet 网 络技术在客户 厂商及其他交易主体之间进行的以信息为依托的商务活动 而购物 网站正是这种活动的具体表现形式 随着时代的进步 上网的人数越来越多 网上 订餐是人们的一大生活方式之一 网上订餐系统的完善合便捷将是现代社会必然的 需求 本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自 己喜欢的菜品 改变传统商业交易 在互联网上进行交易 实现网上购买菜品 1 2 国内外研究现状 在我国 网上订餐最早出现在 20 世纪 90 年代末期 98 年广州等大城市己出现 网上订餐业务 2000 年 7 月 北京丽华快餐公司为了探索餐饮业网络经营的道路 寻求新的经济增长点 也推出了网上订餐 成为探索网上订餐的先驱 目前网上订餐已逐渐普及 特别是在快餐业发达的东部地区 但目前网上订餐 在我国并未成气候 很多大的餐饮公司网上订餐业务经营惨淡 很多网站每天只有 几十份 经营较好的也只有几百份 如果单纯依靠网上订餐 公司根本无法生存 相反 一些小的个体饮食店老板巧妙地利用 QQ MSN 等即时通信软件作为网上订餐 工具 却取得了相当不错的效益 他们随着网上订餐业务的扩大 建立了自己的订 餐网站 但最初单纯的网上订餐却发展成了网上送花 网上送票等的网上送货网站 或者综合类的饮食网站 已经偏离了网上订餐的初衷 在美国 食品网是目前美国网上订餐行业中的先驱 设在三藩市的食品网在 99 年已服务于全美一万三千间餐馆 有七十万的网上消费者 任何消费者只要轻松上 网 输入邮区号码 就可以了解到在周围有哪些餐馆提供网上送餐服务 并可以浏 览到这些餐馆的菜单 做出预订 仅在二分钟内 预订者就可以通过电子邮件得到 确定 再过一会 就可以收到所订的美食了 食品网发言人说 在参加该公司网上 联网销售的餐馆中 网上订餐的数量实际上比普通的电话订餐高出 22 此外 网 上订餐中多功能性的服务还可以让消费者从容地上网浏览餐馆的菜单 或进行价格 上的比较 来选择所需要的美食佳肴 目前 通过上网提供外卖和送餐服务的餐厅 多于独立餐馆经营者 外卖与送餐服务占餐饮生意额的一半以上 全美餐饮消费者 越来越趋向于使用网上订餐的形式来购买外卖 特别是年轻一族的消费者 显而易 见 网上订餐将成为餐馆业扩大生意的金矿源 有眼光的餐馆业主应该尽早考虑如 何利用英特网上网销售 总的说来 单独的网上订餐还不足以支撑网站的经营 目前的状况是规模大的 不盈利 小的有盈利 原因是规模大的范围广 运营成本高 规模小的由于运营成 本低 客户群相对稳定 故有一定的利润空间 1 3 本文主要工作 本系统用 JSP 语言来编写网络订餐系统 数据库用 MYSQL 来连接系统 通过编 写 JavaBeans 来进行后台业务逻辑控制 即 JSP JavaBeans SQL 三层模式完成 整个设计工作 本系统全部基于 Internet 网络 以 JSP 语言对网站进行开发 注 重用户与网站的交互性 因此在这样的背景下 针对当前 Internet 网络发展趋势 设计的网络订餐系统就成为了当今应用软件的首选体系结构 通过虚拟的店面通过 图片和文字来描述其所提供的商品 进行促销活动 商店销售的绝大多数是有形商 品 提供可直接下单的 购物车 系统 所销售的商品大都便于运送 当顾客实现 了在线购买后 商店将以邮寄或专门运送的方式将商品送达顾客手中 货到付款 第三章介绍了网上订餐系统的系统功能分析 第四章介绍了网上订餐系统的总体设 计 第五章是数据库设计 第六章是程序设计 程序运行结果成功 说明设计正确 第二章 系统实现的主要技术 2 1 技术方案的选取 开发语言随着互联网技术的不断发展 基于浏览器 服务器 Browser Server 简 称B S 体系结构的应用程序得到了空前广泛的应用 但是服务器之间的通讯 尤其 是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情 因为大多数 Internet应用程序都是以数据库为中心的 方便的访问多种数据源的能力也比以往任 何时候都更加重要 JSP 无疑可以轻松地实现这类功能 JSP 技术 1 是一种服务器端的 HTML 2 页面 中嵌入 JAVA 3 代码的脚本语言 它比一般脚本语言的执行速度更快 由于 JSP 是 基于 JAVA 语言的 所以它可以运行在 UNIX LINUX 和 WINDOWS 平台上 是一 种难得的动态网页开发语言 在动态内容的解决问题中 还存在其他的解决方法 但是开发人员要掌握这些 技术很难 例如 Java Servlets 这样的技术就可以使得用 Java 语言编写交互式的应 用程序的服务器端的代码变得更加简单 Java Servlets 就是一个基于 Java 技术的运 行在服务器端的程序 与 Applet 不同 后者运行在浏览器端 开发人员编写出 Servlet 程序 用来接收来自 Web 浏览器的 HTTP 请求 动态地生成响应 然后发 送包含 HTML 或 XML 文档到浏览器 但是使用这种方法 整个网页必须都在 Java Servlet 中制作 如果开发人员或者 Web 管理人员想要调整页面的显示 就不得不从新编辑并编译 Java Servlet 程序 采用这种方法 编写带有动态内容的页面需要有很熟练的应用程序开发技巧和经验 很显然 一个简单的创建动态页面的解决方案要能解决以下的问题 1 能够在任何 Web 或应用程序服务器上运行 2 将应用程序逻辑和页面显示分离 3 能够快速地开发和测试 4 简化开发基于 Web 的交互式应用程序的过程 Java Server Pages JSP 满足这些要求 它整合了存在的 Java 编程环境提供支持 的技术和工具 产生了一种新的 开发基于 Web 应用程序的方法 这个方法给予 使用基于组件应用的逻辑页面的设计者提供了强大的功能 2 1 1 开发模式选择 JSP 4 有两中开发模式JSP JavaBeans和JSP Servlet JavaBeans 在模式一中 JSP 页面独自响应请求并将处理结果返回客户 所有的数据通过Bean来处理JSP实 现页面的表现 模式一技术实现了页面的表现和页面的商业逻辑相分离 大量使用 模式一形式 常常会导致页面被嵌入大量的脚本语言或JAVA代码 当需要处理的 商业逻辑很复杂时 这种情况会变得非常糟糕 大量的代码会使整个页面变得常复 杂 对于前端界面设计人员来说 这简直不可想象 这种情况在大项目中最为常见 这也造成了代码的开发和维护出现困难 造成了不必要的资源浪费 在任何项目中 这样的模式总会导致多多少少的定义不清的响应和项目管理的困难 综上所诉 模式一不能满足大型项目的需要 但是可以较好的满足小型应用 在简单的应用中可以考虑模式一 模式二JSP Servlet JavaBeans中 Servlets技术是一种采用JAVA技术来实现CGI 功能的一种技术 Servlets技术是运行在WEB服务器上 用来生成WEB页面 Servlets技术非常实用于服务器端的处理和编程 并且Servlet会长期驻留在他们所处 的位置 但是在实际的项目开发过程中 页面设计者可以方便地使用普通HTML工 具来开发JSP页面 Servlet却更适合于后端开发者使用 开发Servlet需要的是JAVA 集成开发环境 也就是说Servlet技术更需要编程人员 模式二技术结合了JSP和Servlet技术充分体现了两者的技术优点 在此模式中通 过JSP来表现页面 通过Servlet来完成大量的事务处理 Servlet充当一个控制者的角 色 并负责向客户发送请求Servlet创建JSP所需要的Bean和对象 然后根据用户的 请求行为 决定将哪个JSP页面发送给客户 从开发的观点 模式二具有更清晰的 页面表现 清楚的开发者角色划分 可以充分利用开发小组的界面设计人员 这些 优势在大型项目开发中表现的尤为突出 使用这一模式 可以充分发挥每个开发者 各自的特长 界面设计人员可以充分发挥自己的表现力 设计出优美的界面表现形 式 设计人员可以充分发挥自己的商务处理思维 来实现项目中的业务处理 在大 型项目中 模式二更被采用 2 2 相关语言及开发工具介绍 2 2 1 JSP技术简介 开发JSP规范的过程中 Sun公司与许许多多主要的Web服务器 应用服务器和 开发工具供应商 还有各种各样富有经验的开发团体进行合作 最后找到了一种平 衡了应用和页面开发的具有可移植性和易用性的开发方法 JSP技术 5 特征在多个方 面加速了动态Web 6 页面的开发 1 将内容的生成和显示进行分离 使用JSP技术 Web页面开发人员可以使用HTML或XML标识来设计和格式化 最终页面 使用JSP标识或者小脚本来生成页面上的动态内容 这些内容是根据请 求来变化的 例如请求帐户信息或者特定的一瓶酒的价格 生成内容的逻辑部分被 封装在JavaBeans组件中 并且捆绑在小脚本中 所有的脚本在服务器端运行 如果 核心逻辑被封装在Beans中 那么其他人如Web管理人员和页面设计者 在编辑和使 用JSP页面的时候 将不会影响到内容的生成 在服务器端 JSP引擎解释JSP标识 和小脚本 生成客户端请求的内容 例如 通过访问JavaBeans组件 使用JDBC技 术访问数据库或者其他文件 并且将结果以HTML 或者XML 页面的形式发送回浏 览器 这将有助于作者保护自己的代码 并且保证任何基于HTML的Web浏览器的 完全可用性 2 强调可重用的组件 绝大多数JSP页面依赖于可重用的 跨平台的组件 JavaBeans或者Enterprise JavaBeansTM组件 来执行应用程序所要求的更为复杂的处理问题 开发人员能够共 享和交换执行普通操作的组件 或者发布这些组件使更多的使用者或者客户团体能 够使用 3 采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员 装了许多功能 这些功 能是容易使用的 同时与JSP相关的XML标识中进行动态内容的生成时需要的 通 过开发定制化标识库 JSP技术是可扩展的 今后 第三方开发人员和其他人员可 以将常用的功能创建到自己的标识库 这使得Web页面开发人员能够象使用熟悉的 工具一样来使用标识来执行特定功能的构件来工作 JSP技术很容易整合到多种应 用体系结构中 以便使用现存的工具和技巧 并且扩展到能够支持企业级的分布式 应用中 作为采用Java技术家族的一部分 以及Java 2 企业版体系结构 的一个组成 部分 JSP技术能够支持高度复杂的基于Web的应用开发 由于JSP页面的内置脚本 语言是基于Java编程语言并且所有的JSP页面都能被编译成为JavaServlet JSP页面 就具有Java技术的所有好处 包括健壮的存储管理和安全性 作为Java平台的一部 分 JSP拥有Java编程语言 一次编写 各处运行 的特点 随着越来越多的厂家将对 JSP的支持添加到他们的产品中 我们可以选择不同的服务器和工具 因为更改工 具或服务器并不影响当前的应用 当与Java2平台 企业版 J2EE 和Enterprise JavaBean技术整合时 JSP 页面提了供企业级的扩展性能 这对于在虚拟企业中部 署基于Web的应用是必需的 2 2 2 MyEclipse 简介 Eclipse 7 最初是IBM的一个软件产品 前期投入了4000万美金 2001年11月 IBM宣布将其捐给开放源码组织Eclipse 目前Eclipse的市场占有率已经超过了 Borland公司的JBuilder 成为Java开发平台中的主流 Eclipse的设计思想是 一切皆为插件 它自身的核心是非常小的 其它所有的功 能都以插件的形式附加到该核心上 Eclipse中三个最吸引人的地方 一是它创新性的图形API 即SWT JFace WT JFace大大改善了Java在这方面的能力 二是它的插件机制 三是利用它的插件 机制开发的众多功能强大的插件 MyEclipse企业级工作平台 MyEclipse Enterprise Workbench 简称MyEclipse 是 对Eclipse IDE的扩展 利用它我们可以在数据库和JavaEE的开发 发布 以及应用 程序服务器的整合方面极大的提高工作效率 它是功能丰富的JavaEE集成开发环境 包括了完备的编码 调试 测试和发布功能 完整支持 HTML Struts CSS Javascript SQL Hibernate 2 2 3 JSP 应用服务器 Tomcat 大多数人 大概29 都喜欢将Apache Tomcat 8 当作JSP应用服务器使用 有人可 能会说 它之所以受欢迎是因为这个服务器是免费和开放源代码的 但是真正的原 因远不止这些 Apache Tomcat能够受欢迎 不仅是工作性能非常好 还有没有初始 的开发成本开销等有力的竞争因素 但这不是决定因素 Tomcat结构非常合理 更 由于Tomcat是Apache组织的产品 这个组织有着雄厚的技术更新力量 并且 Tomcat6 0很好的支持了JSP2 0规范 因此有着很好的发展前景 Tomcat是一个免费的开源的Serlvet容器 它是Apache基金会的Jakarta项目中的 一个核心项目 由Apache Sun和其它一些公司以及个人共同开发而成 由于有了 Sun的参与和支持 最新的Servlet和JSP规范在Tomcat中得到体现 Tomcat被Java World杂志的编辑选为2010年度最具创新的java产品 可见其在业界内的地位 Tomcat不仅仅是一个Servlet容器 它也具有传统的Web服务器的功能 也处理 Html页面 但是与Apache相比 它的处理静态Html的能力就不如Apache JDK是SUN公司的JAVA应用程序和组件的开发环境 是编译 测试工具 也 是提供JAVA程序的JAVA虚拟机平台 是调试和运行JSP 所不可缺少的工具 2 2 4 JDBC介绍 JDBC 技术 9 是 Java DataBase Connectivity 的缩写 它是 SUN 公司提供的一种 支持基本 SQL 功能的通用的应用程序接口 Application Programming Interface 它由 一组用 Java 语言编写的类和接口组成 通过这些类和接口 程序开发人员可以在 Java 语言中方便地建立与数据库的链接 通过执行相应 SQL 语句 完成对不同数 据库的访问 因此 开发人员使用 JDBC API 可以不必编写一个应用程序来访问 Sybase 数据库 又另外编写一个应用程序去访问 Oracle 数据库 再写一个应用程序 访问的 MYSQL 不但如此 使用 Java 语言编写的应用程序可以在任何支持 Java 的 平台上运行 不必在不同的平台上开发不同的应用程序 简单地说 JDBC 能完成下列三件事 1 同一个数据库建立连接 2 向数据库建立连接 3 处理数据库返回的结果 JDBC 是一种通用低层的应用程序编程接口 它在不同的数据库功能模块的层 次上提供一个统一的用户界面 说 JDBC 是一处低级的 API 是指它直接调用 SQL 命令 它比其他的一些数据库连接 API 要容易使用些 但它有同样可以作为更高级 的 用户办面更友好的 API 或开发工具基础 很多可视化的 Java 开发工具 如 Visual Age For Java Visual Caf J 等都提 供了基于 JDBC 的更面向用户的类和包 直接将关系数据库的表或视图映射为 Java 类 程序员通过可视化工具直接对 Java 对象进行操作 而真正需要的 SQL 调用则 根据程序员发出的对对象的各种属性 方法的操作来自动产生 另一种使用 JDBC API 的方式为 用户程序可以提供一个界面 如菜单等 让用户选择对数据库进行 的操作 选中一个任务后 提示用户输入一些必要的信息 然后根据用户的输入产 生相应的 图 2 1 使用中间件的数据库访问三层结构 SQL 命令以及 Java 程序 通过这处方式 用户可以完成对数据库的操作 即使他 并不了解 SQL 语法以及 JDBC 编程 数据库访问的三层结构如图 2 1 所示 浏览器端程序要访问数据库 首先通过 中间件 然后由中间件对数据库操作权限进行认证 认证通过才能对数据库进行操 作 用户对数据库的存取权限认证是中间件中完成 对数据库的查询 插入 更新 和删除操作等都封装在中间件中 该中间件位于服务器端 中间件对数据库进行操 作后 再将处理结果通过 Web 服务器返回到浏览器端用户 这样 在用户端输入 的用户名和密码 可以通过加密算法进行加密后在网络上传输 在中间件中进行解 密认证 然后再进行数据库的存取操作 数据库存取权限的用户名和密码出现在位 于服务器端的中间件中 这样就更加安全 本系统采用的正是这样的三层结构的数 据库访问模式 如图 2 2 所示 图 2 2 JDBC 的三层模型 在三层模型中 命令将被发送到服务的中间层 而中间层将 SQL 语句发送到数 据库 数据库处理 SQL 语句并将结果返回中间层 然后中间层将它们返回用户 其 模型如图 2 2 所示 因为中间层可以进行对访问的控制并协同数据库的更新 并且可以使用一个易 用的高层 API 这个 API 可以由中间层进行转换 转换成低层的调用 所以在许多 种情况下 三层模型可以提供更好的性能 本系统中所采用的就是此种模型 JDBC 是 JAVA 应用程序与数据库的沟通桥梁 它提供了三项服务功能 一 与数据库建立连接 二 将 SQL 语句传递给数据库 三 从数据库取得 SQL 语句 的执行结果 当 JDBC 要与数据库建立连接前 首先 它必须先取得连接此数据库 的 JDBC 驱动程序 Class forName 即是在执行此项工作 建立数据库连接的第一 步骤就是将 JDBC 驱动程序的类载入至 JVM Java VirtualL Machine 中 本系统 中利用 java lang Class 类内的 forName 静态函数依据指定的类名称 将 JDBC 驱动程序载入进来 完成载入驱动程序的步骤后 必须使用 java sal DriverManager 类所提供的 getConnection 静态函数 取得与数据库间的连接对象 此连接对象 的类类型为 java sql Connection 必须通过它才能将 SQL 指令传递给数据库 而执 行结果也需要通过连接对象来取得 当取得连接对象后 还必须取得 Statement 对 象才能对数据库执行 SQL 指令 Statement 主要实现两个功能 执行 SQL 语句以及 取得执行结果 在 java sql Statement 的 sql 对象中执行查询或修改命令的函数后传 回的是一个 ResultSet 对象 这个对象提供了一个存取 SQL 执行结果的管道 以便 通过它将表格数据从数据库中取出 每个 Statement 对象只能产生一个 ResultSet 对 象 有了 JDBC 向各种关系数据发送 SQL 语句就是一件很容易的事 换言之 有 了 JDBC API 就不必为访问 Sybase 数据库专门写一个程序 为访问 Oracle 数据库 又专门写一个程序 或为访问 Informix 数据库又编写另一个程序等等 程序员只需 用 JDBC API 写一个程序就够了 它可向相应数据库发送 SQL 调用 同时 将 Java 语言和 JDBC 结合起来使程序员不必为不同的平台编写不同的应用程序 只须写一 遍程序就可以让它在任何平台上运行 这也是 Java 语言 编写一次 处处运行 的优 势 Java 数据库连接体系结构是用于 Java 应用程序连接数据库的标准方法 JDBC 对 Java 程序员而言是 API 对实现与数据库连接的服务提供商而言是接口模型 作 为 API JDBC 为程序开发提供标准的接口 并为数据库厂商及第三方中间件厂商 实现与数据库的连接提供了标准方法 JDBC 使用已有的 SQL 标准并支持与其它数 据库连接标准 如 ODBC 之间的桥接 JDBC 实现了所有这些面向标准的目标并且 具有简单 严格类型定义且高性能实现的接口 Java 具有坚固 安全 易于使用 易于理解和可从网络上自动下载等特性 是 编写数据库应用程序的杰出语言 所需要的只是 Java 应用程序与各种不同数据库 之间进行对话的方法 而 JDBC 正是作为此种用途的机制 JDBC 扩展了 Java 的功能 例如 用 Java 和 JDBC API 可以发布含有 applet 的网页 而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中 即使这些职员所用的计算机有 Windows Macintosh 和 UNIX 等各种不同的操作系统 随着越来越多的程序员 开始使用 Java 编程语言 对从 Java 中便捷地访问数据库的要求也在日益增加 MIS 管理员们都喜欢 Java 和 JDBC 的结合 因为它使信息传播变得容易和经济 企业可继续使用它们安装好的数据库 并能便捷地存取信息 即使这些信息是储存 在不同数据库管理系统上 新程序的开发期很短 安装和版本控制将大为简化 程 序员可只编写一遍应用程序或只更新一次 然后将它放到服务器上 随后任何人就 都可得到最新版本的应用程序 对于商务上的销售信息服务 Java 和 JDBC 可为 外部客户提供获取信息更新的更好方法 简单地说 JDBC 可做三件事 与数据库建立连接 发送 SQL 语句并处理结 果 第三章 需求和可行性分析 为了最终实现目标系统 必须设计出组成这个系统的所有程序和文件 或数据 库 模块是数据说明 可执行语句等程序设计对象的集合 它是单独命名的而且 可通过名字来访问 模块化就是把程序化分成若干个模块 每个模块完成一个子功 能 把这些模块集起来组成一个整体 可以完成指定的满足问题的要求 3 1 系统功能分析 首先对现有系统进行分析 现有系统是信息的重要来源 分析已有系统的功能 和实现 从而确定新系统的设计目标和模型 由于条件有限 调研主要是在网上进 行 即通过在网上已有的订餐网站注册成会员来了解其具备的功能 1 从用户角度来看 用户通过在线注册成为网站的用户 可以获得以下功能 菜品浏览 购买菜 品 找回密码 修改密码 修改个人信息 菜品简介 订餐车 留言板等 2 从网站的角度看 1 网站应该包含菜品搜索功能 按菜品名 模糊 查询 2 订单处理功能 确认订单方式 3 管理员管理 查看用户信息 并根据用户信息和用户订单对菜品进行发派 4 菜品浏览 3 2 需求分析 需求分析的任务是通过详细调查现实世界要处理的对象 充分了解系统的工作 概况 明确用户的各种需求 然后在此基础上确定新系统的功能 新系统必须充分 考虑今后可能的扩充和改变 在这里我们需要了解用户有什么样的具体要求和对系 统性能的要求 1 用户的需求分析 a 用户注册 b 用户登录 c 菜品浏览 d 菜品订购 e 菜品查询 f 订单修改 g 修改密码 h 修改个人信息 i 管理员 2 系统性能分析 对数据的安全性 完整性要求 用户信息保密 只有管理员能任意修改 确保网上支付安全 菜品信息 用户信息必须保证其完整性 防止恶意删改 以下是系统性能需求 a 准确性和可靠性高 b 页面友好 功能齐全 且可以使用 c 系统便于维护和升级 d 数据库访问效率高 3 3 可行性研究 可行性研究阶段的主要任务是在系统初步调查的基础上 对新系统是否能够实 现和值得实现等问题做出判断 避免在花费了大量的人力和物力之后才发现系统不 能实现或新系统投入使用后没有任何实际意义而引起的浪费 对新系统可行性的分 析 要求用最小的代价在尽量短的时间内确定系统是否可行 1 技术可行性分析 网络订餐系统的开发是一项复杂的系统工程 为了保证系统开发成功 必须 采用工程化的系统开发方法 并研究出一些符合工程化标准的开发方法 这些方 法旨在指导开发者进行工程化的系统开发 从而加快系统开发的速度 保证质量 以及降低开发成本 工程化的系统开发方法确实在开发实践中取得了一定的效果 此次开发使用JSP作为开发语言 采用Servlet技术 Tomcat5作为Web服务器 2 运行可行性分析 随着计算机知识的普及和推广 越来越多的人掌握了计算机的基本使用方法和 技能 随着 Internet 的发展 用户对于网络 WINDOWS 等环境下的软件使用比较 熟悉 对于新鲜事物 用户表现出极大的兴趣和热情 3 经济可行性分析 网络订餐系统给人们带来了方便 成为一种全新的商务模式 因此 不用出 门就可以在家购物的新时尚已经到来 构建一个网络订餐系统在经济上是可行的 就本系统而言 随着电脑的普及 为学生在网络上进行购物提供有利的条件 而一个网络订餐系统可以为学生提供软件条件 这样学生便可以足不出户的买菜品 了 商家可以从中获得利润 两全其美 通过以上的分析 开发网络订餐系统是完全可行的 3 4 流程分析 1 浏览与选择餐饮信息 顾客进入网站即刻自动提供购物车 不需身份确认就 可以在网站上随意浏览 登录系统后则可挑选餐饮 可增加 删除 修改购物车上 餐饮的类型 网站提供餐饮信息列表 最先添加的餐饮信息优先列表给顾客作为 选购时的参考 2 判断 顾客确定所购餐饮信息后 系统将判断该顾客是否注册 如果是 则 可直接填写订单 否则 提示顾客登记注册 3 提交订单 已选购的餐饮信息需填写订单细节 4 注册 顾客可在公司的网站上注册后提交申请 5 确认 后台管理将实时得到顾客的注册信息 通过电话及其他方式确认 当 确认后 系统管理员可对该顾客提交的预定信息进行审核 6 送货与付款 网上的每一份订单都将实时存入后台数据库 后台操作人员通 过电话及其他方式确认 确认后将及时实施审核该订单 向顾客送货 货到付款 完成网上交易 流程图如图 3 1 所示 顾客 登录系统 浏览菜品资 讯 获得购物车 浏览餐饮信息 xi 息 选择餐饮信息管理员 Y 审核 Y 交易 结束 N 图 3 1 流程分析图 第四章 网上订餐系统总体设计 4 1 系统功能设计目标 理论系统功能设计目标如下 1 实用性强 我们努力使系统符合实际操作流程的习惯 并尽量减少用户的输 入 易学易用的友好的用户界面 满足各层次的用户使用的需求 2 先进的程序结构 使用当代前卫的软件编程 能延长其生命周期 易于维护 与管理 3 安全可靠性高 后台维护功能齐全 根据平台在各个阶段不同的使用情况 管理人员可以设置相应的操作权限 增加系统注册 分配各个栏目的管理权限 实 现系统的维护 保证系统的安全 可靠 4 使用模块化设计的方法 使系统具有良好的可扩充性 以适应其不同阶段的 发展需要 便于后来者分析 维护 5 操作简单 维护方便 每个子系统都具有相对独立的系统维护功能 能对可 变化的项目可自行维护 6 查询功能强大 可以对菜品的基本情况 用户基本情况 菜品评信息 用户 留言等按各种方式查询 可形成各种表单 同时还可对其进行汇总 使管理人员能 及时准确地掌握用户和菜品等的基本情况 4 2 网络订餐系统功能模块划分 根据需求分析与系统功能设计目标 结合实际情况本系统功能模块设计分为如 下几个模块 1 主页 在这里我们可以看见本系统的主要功能和信息 2 用户注册 在这里我们可以注册我们的基本信息 3 用户登陆 为了方便用户的付款 邮购和管理 我们需要变成会员后才可以 进行消费 4 菜品浏览 成功登陆后的用户可以分页浏览菜品菜品 并将想要的菜品提交 到填写订单页面 如果用户还没有注册就直接进入或者没有成功登陆就进入页面 将被连接到用户登录页面 5 订购菜品 成功登陆的用户可以在该页面定购所需要的菜品 如果用户还没 有注册就直接进入或者没有成功登陆就进入页面 将被连接到用户登陆页面 6 查看订单 成功登陆的用户可以在该页修改已经订购的菜品 如果用户还 没有注册就直接进入或者没有成功登陆就进入页面 将被连接到用户登陆页面 7 修改订单 成功登陆的用户可以在该页修改或删除已经订购的菜品 如果 用户还没有注册就直接进入或者没有成功登陆就进入页面 将被连接到户登陆页 面 8 菜品查询 成功登陆的用户可以在该页查找自己需要的菜品 如果用户还 没有注册就直接进入或者没有成功登陆就进入页面 将被连接到用户登陆页面 9 修改密码 成功登陆的用户可以在该页修改自己的密码 如果用户还没有 注册就直接进入或者没有成功登陆就进入页面 将被连接到用户登陆页面 10 修改个人信息 成功登陆的用户可以在该页修改自己当初注册时的信息 如果用户还没有注册就直接进入或者没有成功登陆就进入页面 将被连接到户登 陆页面 11 管理员 查看用户订单 查看用户信息 并根据用户信息和用户订单对 菜进行派发 4 3 MVC框架 MVC 架构 10 是 Model View Controller 的缩写 中文翻译为 模型 视图 控 制器 MVC 应用程序总是由这三个部分组成 Event 事件 导致 Controller 改变 Model 或 View 或者同时改变两者 只要 Controller 改变了 Models 的数据或者属 性 所有依赖的 View 都会自动更新 类似的 只要 Controller 改变了 View View 会从潜在的 Model 中获取数据来刷新自己 MVC 架构是一个复杂的架构 其实现也 显得非常复杂 但是 我们已经总结出了很多可靠的设计模式 多种设计模式结合 在一起 使 MVC 架构的实现变得相对简单易行 Views 可以看作一棵树 显然可以 用 Composite Pattern 来实现 Views 和 Models 之间的关系可以用 Observer Pattern 体现 Controller 控制 Views 的显示 可以用 Strategy Pattern 实现 Model 通常是一个调停者 可采用 Mediator Pattern 来实现 现在让我们来了解一 下 MVC 三个部分在 J2EE 架构中处于什么位置 这样有助于我们理解 MVC 架构的实 现 MVC 与 J2EE 架构的对应关系是 View 处于 Web Tier 或者说是 Client Tier 通 常是 JSP Servlet 即页面显示部分 Controller 也处于 Web Tier 通常用 Servlet 来实现 即页面显示的逻辑部分实现 Model 处于 Middle Tier 通常用服 务端的 javaBean 或者 EJB 实现 1 视图 视图 View 代表用户交互界面 对于 Web 应用来说 可以概括为 HTML 界面 但 有可能为 XHTML XML 和 MVC 模式 Applet 随着应用的复杂性和规模性 界面的处 理也变得具有挑战性 一个应用可能有很多不同的视图 MVC 设计模式对于视图的 处理仅限于视图上数据的采集和处理 以及用户的请求 而不包括在视图上的业务 流程的处理 业务流程的处理交予模型 Model 处理 比如一个订单的视图只接受 来自模型的数据并显示给用户 以及将用户界面的输入数据和请求传递给控制和模 型 2 模型 模型 Model 就是业务流程 状态的处理以及业务规则的制定 业务流程的处 理过程对其它层来说是黑箱操作 模型接受视图请求的数据 并返回最终的处理结 果 业务模型的设计可以说是 MVC 最主要的核心 目前流行的 EJB 模型就是一个典 型的应用例子 它从应用技术实现的角度对模型做了进一步的划分 以便充分利用 现有的组件 但它不能作为应用设计模型的框架 它仅仅告诉你按这种模型设计就 可以利用某些技术组件 从而减少了技术上的困难 对一个开发者来说 就可以专 注于业务模型的设计 MVC 设计模式告诉我们 把应用的模型按一定的规则抽取出 来 抽取的层次很重要 这也是判断开发人员是否优秀的设计依据 抽象与具体不 能隔得太远 也不能太近 MVC 并没有提供模型的设计方法 而只告诉你应该组织 管理这些模型 以便于模型的重构和提高重用性 我们可以用对象编程来做比喻 MVC 定义了一个顶级类 告诉它的子类你只能做这些 但没法限制你能做这些 这 点对编程的开发人员非常重要 业务模型还有一个很重要的模型那就是数据模型 数据模型主要指实体对象的数据 保存 持续化 比如将一张订单保存到数据库 从数据库获取订单 我们可以将这个模型单独列出 所有有关数据库的操作只限制 在该模型中 3 控制 控制 Controller 可以理解为从用户接收请求 将模型与视图匹配在一起 共 同完成用户的请求 划分控制层的作用也很明显 它清楚地告诉你 它就是一个分 发器 选择什么样的模型 选择什么样的视图 可以完成什么样的用户请求 控制 层并不做任何的数据处理 例如 用户点击一个连接 控制层接受请求后 并不处 理业务信息 它只把用户的信息传递给模型 告诉模型做什么 选择符合要求的视 图返回给用户 因此 一个模型可能对应多个视图 一个视图可能对应多个模型 模型 视图与控制器的分离 使得一个模型可以具有多个显示视图 如果用户通过 某个视图的控制器改变了模型的数据 所有其它依赖于这些数据的视图都应反映到 这些变化 因此 无论何时发生了何种数据变化 控制器都会将变化通知所有的视 图 导致显示的更新 这实际上是一种模型的变化 传播机制 模型 视图 控制 器三者之间的关系和各自的主要功能 如图 4 1 所示 图 4 1 MVC 模式组件类型间的关系及功能 第五章 数据库设计 5 1 数据库系统概述 SQL Server 11 是由 Microsoft 开发和推广的关系数据库管理系统 它最初是由 Microsoft Sybase 和 Ashton Tate 三家公司共同开发的 并于 1988 年推出了第一 个 OS 2 版本 SQL Server 近年来不断更新版本 1996 年 Microsoft 推出了 SQL Server 6 5 版本 1998 年 SQL Server 7 0 版本和用户见面 SQL Server 2000 是 Microsoft 公司于 2000 年推出的最新版本 SQL Server 特点 1 真正的客户机 服务器体系结构 2 图形化用户界面 使系统管理和数据库管理更加直观 简单 3 丰富的编程接口工具 为用户进行程序设计提供了更大的选择余地 4 SQL Server 与 Windows NT 完全集成 利用了 NT 的许多功能 如发送和接 受消息 管理登录安全性等 SQL Server 也可以很好地与 Microsoft BackOffice 产品集成 5 具有很好的伸缩性 可跨越从运行 Windows 95 98 的膝上型电脑到运行 Windows 2000 的大型多处理器等多种平台使用 6 对 Web 技术的支持 使用户能够很容易地将数据库中的数据发布到 Web 页 面上 5 2 数据库表设计 本系统的数据库其中包括九个表 分别为餐馆表 restaurant 食物表 food 菜单表 menu 用户表 userinfo 管理员表 adm 订单表 orderform 订单详情表 orderitem 详情请见下面的数据库表 1 餐馆表 restaurant 餐馆表存放的是餐馆的名字 编号 所在地 如表 5 1 所示 表 5 1 餐馆表 列名数据类型长度允许空 restnonumber4not null restnamevarchar50not null locvarchar120 2 食物表 food 食物表存放的是所有的菜品 主要组成由菜名 成分 喜欢的口味 图片 的名称 例如菜名孜然牛肉 成分牛肉 口味孜然 如表 5 2 所示 表 5 2 食物表 列名数据类型长度允许空 foodnonumber6not null fnamevarchar20not null ingredientvarchar20 flavorvarchar20 srcvarcahr20 3 菜单表 menu 菜单表存放的是用户所点菜品的餐厅编号 食物编号 食物的价格 该表 可以通过餐厅编号 食物编号可以查询餐厅表 食物表的信息 如表 5 3 所示 表 5 3 菜单表 列名数据类型长度允许空 restnonumber6not null foodnonumber6not null pricenumber6not null 4 用户表 userinfo 用户表用于存放用户的基本信息 即注册过的用户才能将其表存在数据库 中 以便于根据用户的信息来判断是否超过了用户的访问权限 在做用户验证 的时候能够方便的从数据库获得用户的信息 如表 5 4 所示 表 5 4 用户表 列名数据类型长度允许空 usernonumber6not null unamevarchar20not null upwdvarchar20not null 5 管理员表 adm 该表存放的是管理员的账号 密码 管理员可以从后台登陆管理订单 添 加餐厅 菜单 如表 5 5 所示 表 5 5 管理员表 列名数据类型长度允许空 anonumber6not null anamevarchar20not null apwdvarchar20not null 6 订单表 orderform 该表存放的是用户的订单号 下单时间内 用户编号 用户的真实名 字 邮寄地址 电话号码 订单状态是否已经提交 如表 5 6 所示 表 5 6 订单表 列名数据类型长度允许空 ordernonumber8not null ordertimedatenot null usernonumber6 userRealNamevarchar16 addressvarchar50 telephonevarchar13 statusnumber1 7 订单详情表 orderitem 该表存放的餐馆编号 菜品编号 订单编号 数量 如表 5 7 所示 表 5 7 订单详情表 列名数据类型长度允许空 restnonumber6 foodnonumber6 ordernonumber6 amountnumber6 5 3 数据库连接 Java 数据库连接 12 JDB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论