网上订餐系统实验报告.doc
《网上订餐系统实验报告.doc》由会员分享,可在线阅读,更多相关《网上订餐系统实验报告.doc(27页珍藏版)》请在装配图网上搜索。
网上订餐系统 实验报告 目 录 目录 1 摘要 1 ABSTRACT 2 第一章前言 3 1.1开发背景与研究意义 3 1.1.1本课题的开发背景 3 1.1.2本课题的研究意义 3 1.1.3本课题的开发目标 3 1.2课题调研分析与可行性分析 3 1.2.1本课题的调研分析 3 1.2.2本课题的可行性分析 4 第二章系统需求分析 5 2.1性能需求分析 5 2.2系统用例图 5 第三章系统设计 7 3.1系统总体结构设计 7 3.2 数据库设计 9 3.2.1 概念设计 9 3.2.2 数据结构 10 3.3系统开发技术 13 3.3.1系统开发环境及开发工具 13 3.3.2 系统运行环境 13 3.4设计到的技术要点 14 3.4.1 session的使用 14 3.4.2 ADO.NET技术 14 3.4.3 文件上传 16 第四章详细设计 17 4.1系统模块详细设计 17 4.2 登陆模块的流程图 17 4.3顾客模块详细设计 17 4.4管理员模块详细设计 19 第五章系统实现 22 5.1系统安装手册 22 5.1.1系统配置 22 5.1.2 实施方案 22 5.2系统运行与操作指南 22 第六章结论 28 6.1系统主要特色与优点接受 28 6.2系统不足与改进方案 28 致 谢 30 译文 33 摘 要 本文分析了小型餐饮店管理与发展的现状和面临的问题,发现传统的服务模式已经不能适应市场发展的需求。随着网络技术的发展和普及,方便、快捷、个性化的网上订餐服务正在进入人们的生活。针对这类问题,结合当代科技发展的最新成果,本文构思规划了一套最贴切的服务模式,为餐饮店铺提供区域网络门户,适应不同的客户群。 本设计是一个基于互联网的B/S模式的网上订餐系统,能为客户提供网络选择浏览菜品介绍、点菜订餐、送餐等服务。并为管理员提供一个智能的服务平台实现顾客信息与顾客订单的管理,从而提高了服务的质量。本文从系统需求、系统设计、代码实现几方面介绍了整个软件开发过程,其开发平台为Microsoftvisualstudio2005,主要开发语言有C#, JavaScript。 关键词:订餐系统 订单管理 C# B/S模式 第一章 前 言 1.1 开发背景与研究意义 1.1.1 本课题的开发背景 21世纪,全球网络化,科技在突飞猛进。我们的生活同网络通信息息相关。计算机已经普及到我们社会和经济生活中的各个领域。人们进行信息交流的深度与广度不断增加,这使得我们的服务,管理也应该跟上时代的步伐去前行。电子商务在此得到极大地普及与发展。 餐饮业在电子商务中还处于形成的初期;传统的饮食业中,大都是以实际门面的形式来进行宣传与交流的。作为网络普遍化的社会,这还缺少了一些更为现代化的元素。餐饮业是一种个性化、多样化的服务产业,而电子商务则最能体现个性化,多样化服务的商务方式。而且现在大部分电子商务都体现为像大企业服务,结合餐饮这个特殊的行业,终将还发展为向小区域小店铺服务的模式。以最贴切的方式,最灵便的服务进入各个网络社区,进入人们的生活。 1.1.2 本课题的研究意义 针对餐饮业大背景下的问题与方向,我们可以察觉到在餐饮服务这个大行业中尚有我们可为的地方。本平台提供适合不同人群,最贴切的服务。我们将通过网络平台,去体现服务质量,去创造效益。 我们应当抓住,中小店铺,提供区域化餐饮服务这一理念;为它们提供最贴切的服务;把它体现在我们电子商务服务上来,融合到我们软件开发的产品中来;去建立起特色鲜明的订餐网站,以取得最大的经济效益。 综上所述,即采用更先进、更高级的技术手段来设计和开发餐饮服务系统,采用更科学、更合理的方法来解决餐饮服务系统的问题,将为其带来更新的活力,餐饮服务系统也将朝着更准确、更高效的趋势发展前进。 1.1.3 本课题的开发目标 开发出一个适合餐饮行业,能够满足用户需求的系统。设计并实现一个基于ASP.NET的订餐系统,该系统应具备的功能有:用户权限管理、浏览功能、订单功能等。 1.2 课题调研分析与可行性分析 1.2.1 本课题的调研分析 传统是用人工的方式来进行店铺的各项管理,比如手工进行记录,人工进行顾客个人信息,顾客订餐,订餐信息的管理,口头通知或者是通过移动电话等方式进行关于交易的信息传递与交流,拿最平常的费用统计管理来讲,光是每个顾客的个人消费就是一道令人费解的过程,而在当今计算机技术不断发展的今天,这些问题可以轻而易举的通过计算机和网络来完成,不仅方便快捷,而且简单,易操作。 同时对于店铺里的文件管理,过去也多数是以纸质材料进行保存,这样查询起来不仅麻烦不方便,保密性比较差,而且容易磨损,不易保存,另外时间一长,将会产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。如果采用电子文档的方式进行保存,不仅查询起来方便,而且安全性比较高,只有有权限的人才可以看得到,只要多备份几个,而且多处备份也更容易。可以保存很多年,不会发生像传统的纸质材料保存所出现的受潮等一些损坏。 1.2.2 本课题的可行性分析 1.技术可行性 本系统使用.NET技术进行开发,编程语言使用C#、ASP.NET是Microsoft开发的使用于构建、管理Web页面的技术,它的特点主要是:简化网页的编辑工作,提供代码与设计视图分离,使得代码更容易编写、修改与维护;不仅能使用Script语言,还可以使用编译式语言,如本系统所采用的C#,不同的动态网页制作技术还可以使用不同的编程语言;由于ASP.NET代码是预先编译过的,所以运行起来要比ASP的直译方式快。所以ASP.NET是实现本系统的最佳技术,它是完全可行的。 此外.NETFramework2.0框架作为微软公司已经比较成熟的产品,现在有越来越多的企业及技术人员选择它来作为开发平台。因此,在技术上.NET是完全可以胜任这个平台的开发。 2.经济可行性 由于本项目的特殊性,无需投入额外的设备购买及人员培训费用,所以在经济上本系统的开发是可行的。此外系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,有很高的经济可行性。 按上述两方面进行可行性分析、研究后,我们认为该项目在技术上是可行的,在经济上也是没问题的,所以完全可以进行开发。 3.操作可行性 在操作上对开发人员的要求并不高,WindowsXP操作系统我们已经非常熟悉,而Visual.Studio.Net也是相对容易上手的可视化的编程语言,通过自学完全可以掌握。 4.法律可行性 本系统没有侵犯个人隐私和个人责任方面的问题,使用本系统不会引起法律方面的纠纷问题,所以开发本系统具有法律可行性。 综上所述,本系统的开发是符合现在的实际情况的,并具有一定的实用意义。在技术、经济、操作上,法律上都可以看到此系统的可行性,并且很具有其实现的必要。 第二章 系统需求分析 随着网络技术的发展和普及,方便、快捷、个性化的网上订餐正在进入人们的生活。目前,网上订餐业务还处于形成期,成长空间还很大。 订餐网站是一个基于互联网的B/S模式的网上订餐系统,能为客户提供网络选择餐厅、浏览菜品介绍、点菜订餐、送餐等服务。 这有助于提高管理水平,不仅高效,还使的原本繁重的管理变得简单 2.1性能需求分析 该系统在性能功能应达到如下要求: 1.操作简单,界面友好:完全空间式的页面布局,使得菜品、咨询等信息录入的工作更简单:另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见类似的网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式; 2.即使可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在首页的对应栏目显示出来,达到“即时发布,即时见效”的功能 3.系统运行应该快速、稳定、高效和可靠; 4.在结构上应该具有很好的可扩展性,便于将来功能的扩展和维护。 2.2 系统用例图 通过对系统的需求分析,系统的基本功能已经大体确定。整个系统的用例图分为两个部分,顾客用例图,管理员用例图,分别见图2-1和图2-2. 顾客用例图: 图2-1 顾客用例图 管理员用例图: 图2-2 管理员用例图 第三章 系统设计 3.1 系统总体结构设计 根据第一、二章所做的定义及分析,本课题在此基础上利用asp.net和SQLServer2005技术构建基于Web数据库的开发的、信息共享的、动态的交互式平台,该平台可以在基于Windows2005/XP/2003系统构建的局域网或Internet上使用。在总体结构上是采用B/S模式设计,各类商品信息和数据库中的信息在服务器端,采取中心数据库SQLServer统一存放和组织,顾客及系统管理人员在客户机一端,无须任何配置工作,只须使用浏览器向Web服务器代理提出请求,服务代理通过中间组件与数据库链接,把请求服务的内容以Web页面形式通过浏览器反馈给各类用户。 本系统面向顾客,管理员两种身份的用户,整个系统的功能模块(见图3-1),整个系统将围绕这个模块进行开发工作,整个系统主要由以下几个子模块组成:顾客模块(见图3-2),管理员模块(见图3-3)。 图3-1可以宏观的了解整个系统所涉及到的各个功能模块,以及这些模块所要实现的功能。 网上美食订餐系统 管理员子系统 顾客子系统 查询个人个人购物信息 个人信息管理 零时订单信息管理 物品搜索 图片管理 会员管理 美食信息管理 订单管理 图3-1 系统功能模块图 图3-2介绍了顾客模块所涉及到的流程和要实现的功能。 顾客 商品信息 验证 登陆 注册 图3-2顾客模块数据流程图 个人信息 浏览 个人密码 下订单 订单信息 图3-3介绍了后台管理员模块所要实现的各种功能。 图3-3管理员模块数据流程图 3.2 数据库设计 3.2.1 概念设计 通过分析,系统总共有两种角色,分别是顾客,管理员。分别见图3-4和图3-5。 顾客的E-R图如图3-4: 密码 顾客 性别 真实姓名 地点 电话 详细地址 地点 e-mail 修改 查询 个人信息 订单信息 真实姓名 用户名 密码 详细地址 电话 e-mail 商品 数量 图3-4 顾客模块E-R图 管理员的E-R图如图3-5: 图3-5 管理员模块E-R图 3.2.2 数据结构 数据结构是计算机存储、组织数据的方式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据库可以带来更高的运行或者存储效率。 表3-1 Admin表 字段名 描述 类型 长度 是否允许为空 是否为主键 AdminID 管理员ID bigint 8 否 是 Admin 管理员用名 varchar 50 否 否 Password 密码 varchar 50 否 否 表3-2 Area表 字段名 描述 类型 长度 是否允许为空 是否为主键 AreaID, 地址 Bigint 8 否 是 AreaName 地址名 Varchar 50 否 否 AreaKM 地址距离 Varchar 50 否 否 表3-3 BuyInfo表 字段名 描述 类型 长度 是否允许为空 是否为主键 BuyID 购买ID bigint 8 否 是 FoodID 美食号 varchar 50 否 否 Num 数量 varchar 50 否 否 OerderID 订单号 varchar 50 否 否 SunPrice 总价 varchar 50 否 否 MemberID 顾客ID varchar 50 否 否 表3-4 Class表 字段名 描述 类型 长度 是否允许为空 是否为主键 ClassID 类别号 bigint 8 否 是 ClassName 分类名称 varchar 50 否 否 CategoryUrl 分类图片路径 varchar 50 否 否 表3-5 FoodInfo表 字段名 描述 类型 长度 是否允许为空 是否为主键 FoodID 文件号 bigint 8 否 是 ClassID 文件类型 bigint 8 否 否 FoodName 上传路径 varchar 50 是 否 FoodIntroduce 上传者 ntext 16 是 否 FoodUrl 上传时间 varchar 50 是 否 Maketprice 市场价格 float 8 是 否 MemberPrice 会员价 float 8 是 否 Isrefinement 是否精品 bit 1 是 否 IsHot 是否热销 bit 1 是 否 AddDate 添加时间 datetime 8 是 否 IsDiscount 是否打折 bit 1 是 否 表3-6 Image表 字段名 描述 类型 长度 是否允许为空 是否为主键 ImageID 图片ID bigint 8 否 是 ImageName 图片名 varchar 50 是 否 ImageUrl 图片径 varchar 200 是 否 表3-7 Member表 字段名 描述 类型 长度 是否允许为空 是否为主键 MemberID 会员ID bigint 8 否 是 Name 用户名 varchar 50 是 否 Sex 性别 bit 50 是 否 Password 密码 varchar 50 是 否 TrueName 真实姓名 varchar 50 是 否 Questions 密保问题 nvarchar 50 是 否 Answers 密保 nvarchar 50 是 否 Phonecode 电话 varchar 20 是 否 Emails Email varchar 50 是 否 City 区域 varchar 50 是 否 Address 地址 varchar 200 是 否 AdvanePayment 预付费 float 8 是 否 LoaDate 注册时间 datetime 8 是 否 表3-8 shopCart 字段名 描述 类型 长度 是否允许为空 是否为主键 CartID 购物车ID bigint 4 是 是 FoodID 食物ID bigint 50 是 否 Num 数目 Int 50 是 否 SumPrice 总价 float 50 是 否 MemberID 会员ID bigint 50 是 否 表3-9 OrderInfo 字段名 描述 类型 长度 是否允许为空 是否为主键 OrderID 订单ID bigint 8 否 是 OrderDate 文件类型 varchar 50 否 否 TotaPrice 总价 varchar 50 否 否 MemberID 会员ID bigint 8 否 否 ReceiverName 收货人 varchar 50 否 否 ReceiverPhone 收货人电话 varchar 50 否 否 IsConfirm 是否确认 bit 1 是 否 IsPayment 是否已付 bit 1 是 否 IsConsignment 是否已发货 bit 1 是 否 IsPigeonhole 是否已归档 big 1 是 否 RecerverAddress 收货地址 varchar 50 是 否 receiverEmails 收货email varchar 200 是 否 3.3 系统开发技术 3.3.1 系统开发环境及开发工具 开发工具对一个系统的成败具有决定性作用。由于本系统是应用于网络的,因此,本系统选择了ASP.NET技术进行开发,同时,选用SQLSever2005作为系统后台数据库,开发中用到的主要开发工具有MicrosoftVisualStudio.NET2005、DreamweaverMX 2004,具体如表3-10所示: 表3-10系统开发工具及软件用途表 开发工具名称 软件用途 Microsoft Visual Studio.NET 2005 工程管理、代码编写及调试 SQL-Server 2005 建立系统的后台数据库 Dreamweaver MX 2004 静态页面的设计、制作 3.3.2系统运行环境 1.硬件环境: 服务器端:配置为1024M内存,CPU为Pentium2.93GHz,硬盘容量为160G的微机。 通信网络: Internet网 2.服务器端: 操作系统: Windows2003/NT/XP/ 数据库服务器: SQL SERVER 2005 Web服务器:Internet 信息服务5.1或以上版本 Microsoft .NET Framework 版本:.NET Framework 2.0 3.客户端: 操作系统: Windows9X/2005/XP/2003 浏览器: Internet Explore6.0或以上版本 推荐分辨率:1024*700 3.4 设计到的技术要点 3.4.1 session的使用 Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运行在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个Session,用以标识这个用户的唯一身份。这个Session是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。 这个唯一的Session是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的Session自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给Session所对应的用户。试想,如果没有Session,当有两个用户同时进行注册时,服务器就是通过Session来判断到底是哪个用户提交了哪个表单的。 在本次的系统设计过程中基本每个页面都使用了Session技术,它在设计中的地位是举足轻重的。 3.4.2 ADO.NET技术 ASP.NET引入了新的声明性数据绑定语法,这种非常灵活的语法允许开发人员不仅可以绑定到数据源,而且可以绑定到简单属性、集合、表达式,甚至可以从方法调用返回的结果。数据绑定技术的方便之处在于,当某一个数据源和一个数据显示控件绑定在一起之后,每当数据源发生变换的时候,数据显示控件将自动的跟随数据源变化。当然数据绑定控件并不仅仅为了数据显示控件服务,任何一种符合数据绑定规范的控件都可以绑定到一个数据源。 数据绑定的概念,使开发者可以有层次地将控件属性绑定到数据容器的值上,位于<%…%>代码块中的代码只有父控件容器中的Data Bind方法被调用时才会被执行。Data Bind()是页面和所有服务器控件的方法,当在一个父控件中调用该方法时,它将连接到控件的所有子控件上。Data Bind()通常又Page Load事件调用,它与ASP中Response. Write()方法有很多不同之处。 在本系统的设计过程中,大量使用了数据绑定技术,如Dropdown List 的绑定,Data Grid的绑定。 比如在搜索功能上所涉及到的代码: public void bindSearchType() { string sql = "select distinct searchType,type from tb_Search"; DataSet ds = dataOperate.getDataset(sql, "tb_Search"); ddlSearchType.DataSource = ds.Tables["tb_Search"].DefaultView; ddlSearchType.DataTextField = "searchType"; ddlSearchType.DataValueField = "type"; ddlSearchType.DataBind(); bindKey(); } //自定义方法绑定关键字下拉列表 public void bindKey() { //获取当前选择的信息类型的表名 string type = ddlSearchType.SelectedValue.ToString(); string sql = "select searchKey,keyword from tb_Search where type=" + type + ""; //调用数据库操作类中getDataset方法并获取返回的数据集 DataSet ds = dataOperate.getDataset(sql, "tb_Search"); //绑定关键字类别的DropDownList控件的数据源 ddlKeyType.DataSource = ds.Tables["tb_Search"].DefaultView; //绑定关键字类别DropDownList控件文本的字段名 ddlKeyType.DataTextField = "searchKey"; //绑定关键字类别DropDownList控件值的字段名 ddlKeyType.DataValueField = "keyword"; ddlKeyType.DataBind(); bindTerminal(); //调用自定义方法是否显示到达地文本框 } protected void ddlSearchType_SelectedIndexChanged(object sender, EventArgs e) { bindKey(); } //显示到达地文本框 public void bindTerminal() { //判断关键字类型是否选择了出发地 if (ddlKeyType.SelectedValue.ToString() == "Start") { txtTerminal.Text = ""; //清空到达地文本框 labTerminal.Visible = true; txtTerminal.Visible = true; } Else { labTerminal.Visible = false; txtTerminal.Visible = false; } } protected void ddlKeyType_SelectedIndexChanged(object sender, EventArgs e) { bindTerminal(); } //搜索按钮 protected void btnSearch_Click(object sender, EventArgs e) { string table = ddlSearchType.SelectedValue.ToString(); string keyType = ddlKeyType.SelectedValue.ToString(); string keys = txtKey.Text; string sql; if (txtTerminal.Text != "") { sql = "select * from " + table + " where " + keyType + " like %" + keys + "% and terminal like %" + txtTerminal.Text + "%"; } Else { sql = "select * from " + table + " where " + keyType + " like %" + keys + "%"; } Session["searchSql"] = sql; Session["searchType"] = ddlSearchType.SelectedValue.ToString(); Response.Redirect("searchList.aspx"); } 3.4.3 文件上传 利用ASP.NET设计FTP文件上传,如果要用ASP作一个FTP文件上传的页面,很多人立刻就会想到要用第三方开发的组件,利用第三方的组件,虽然开发起来相对比较容易。但一般来说,免费下载的第三方的组件都有某些方面的功能限制,若要购买正版的第三方组件,对于国内的用户,花销也是一个不小的数字,就是能够承担的起,烦杂的手续也使很多人望而却步。虽然微软公司在本身的视窗系统里面也提供了一个可以用来上传文件的组件--Posting Acceptor。但用过这个组件的人都有一种普遍的感觉,就是实在不好用。 现在好了,自从微软公司推出了.Net Framework以后,作为.Net Framework中重要组成部分的ASP.NET已经在内部建立了文件上传的功能,并且这种功能既是免费的,用起来又相当好用。 ASP.NET的功能是比较强大的。要想灵活运用ASP.NET,还要深入掌握微软公司为.NET FRAMEWORK开发的软件开发包(SDK BETA 2),只有掌握了.NETFRAMEWORK开发的软件开发包,才可能用ASP.NET开发出功能更强大,生命力更大的软件。 第四章 详细设计 4.1系统模块详细设计 本系统总共有两大模块,分别是顾客模块,管理员模块。每个模块分别有不同的权限和使用功能。 4.2 登陆模块的流程图 开始 用户名 密码 是否合法 N Y 结束 图4-1 登陆流程图 4.3 顾客模块详细设计 顾客模块的主要功能是浏览,订餐。浏览与自己相关的美食信息,订单信息等。用户要下订单之前临时美食车把详细信息列出,物品的单价,购买的数量,总共的价钱,可修改购买,当符合顾客要求的时候,顾客就可以下订单,下订单时首先会先到commitfood.aspx让用户确定一下订单是否付合要求,确认无误后,进入checkout.aspx填写接收信息后生成订单。然后由AddbuyInfo,Addbuyinfo方法对数据库进行操作完成的。 顾客模块详细设计主要涉及到顾客下订单和食品搜索两大功能,分别见图4-2和图4-3。 顾客可以通过此功能对自己选中的东西下订单,等待服务商送货。 顾客下订单流程图: 顾客 订单确认 显示购物车 修改订单 不购买此商品 结束操作 登录 图4-2 顾客下单流程图据图 删除购物车信息 提示错误 验证登陆用户id是否正确 N Y 确认结账 N Y 返回 订单生成 提示错误 Y N 通过提供美食搜索控件,为顾客提供更为方便快捷的服务。顾客可以快速的找到自己想要下订的美食。 搜索流程图如图4-3所示: 判断txtSearch是否为空 开始 键入FoodSearch搜索控件 User_SearchReault页 dlSearchBind() 结束 提示输入 图4-3 搜索模块程序流程图 数据库查找 匹配成功 提示未找到 4.4 管理员模块详细设计 管理员模块主要是用来对会员管理,管理员管理,上传管理,美食及其分类管理,订单管理等。 管理员可以通过订单管理功能来处理日常的订单。 管理员订单处理程序流程图如图4-4: 管理员登录 提示错误 验证登陆用户id是否正确 N 绑定数据库信息 信息绑定无误 更新数据库 结束操作 选择具体订单 显示订单 订单管理操作 图4-4 管理员订单处理程序流程图 管理员可以通过此功能模块添加想要添加的各种信息,比如订单处理等功能。 管理员添加程序流程图如图4-5: 开始 Session[“AID”] 是否为空 添加输入框是否为空 Class ManagerClass Addadmin() 验证管理员用户是否已存在 添加到数据库 结束 提示登录 提示输入 提示重新输入 图4-5 管理员添加程序流程图 第五章 系统实现 5.1 系统安装手册 5.1.1 系统配置 本系统的配置主要是通过Web应用程序的Web.Config配置文件来实现的。Web.Config位于系统根目录中,它是XML格式的文件,可以使用任何标准文本编辑器或XML分析器编辑该文件,但不能通过Web浏览器远程访问该文件。 将数据库连接字符串保存在Web.Config文件的appSettings节中,便于系统的各个页面进行调用。同时,在系统重新部署时,只要修改此处的数据库连接字符串,.NET框甲运行时会自动检测Web.config中的改进,不必重新启动IIS这些更改即可生效。 系统错误重定向 在Web.config配置文件中,通过对- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 系统 实验 报告

链接地址:https://www.zhuangpeitu.com/p-6493497.html