1研究的背景俗话说:“民以食为天”,随着人们生活质量的提高,对饮食的要求已不仅是解决温饱需求,很多人在进行紧张工作之余会选择享受美食来享受生活,进而进行放松。餐饮业是一种个性化、多样化的服务产业,随着网络技术的发展和普及,将餐饮服务与个性化、多样化服务的电子商务相结合,形成了方便、快捷、个性化的网上订餐系统,通过网上订餐系统,顾客不必亲临现场,便可以为自己、家人、朋友聚会等置办一份既营养又实惠的美食。其最大的优势是:图文并茂,信息能够及时在线更新与查看,并有效地解决了传统就餐过程出现的排队,拥挤,信息变更不能及时等现象。这样既节省了时间,又为广大用户提供更多选择。订餐系统基于ASP.Net平台和SQLServer2008数据库开发,实现了网上订餐系统信息的动态管理,对每个订单的信息保管妥善并且及时处理,实现了高度的智能化。该系统基于B/S(Browser/Server,浏览器/客户端)模式实现,这种结构使得数据只有结果集合在浏览器中显示,数据的处理在服务器进行,用户不用安装客户端,而且由于通过服务器端统一管理数据,易于保证数据的一致性。2系统需求分析系统目标订餐系统的开发目标是为会员进行订餐提供方便,即通过网络实现快捷订餐。设计原则订餐系统无论是在应用的深度还是广度上都是一个逐步发展的过程。开发一个局部系统时要充分考虑到局部系统和整个目标系统之前的相容性和完整性,以利于今后整个系统的建立。遵循以下三个原则:1、实用性原则软件开发的终极目标是为了交付客户,供客户使用,因此要考虑用户的使用习惯以及操作规范,实用性是必须要遵循的规则之一。在设计网上订餐系统时,可参考其他订餐系统的使用方法和页面布局等,同时也需要根据自身的需要进行调整以适应自身的需求,在功能上要做到简单易用,操作上要做到傻瓜式应用。2、功能模块化在设计业务功能模块时,要遵循模块化设计原则,各功能模块间要尽量做到“高内聚、低耦合”。3、功能需完备在设计软件时,需考虑到功能完善,给用户良好的体验。系统功能需求本系统设计主要有两种用户:会员和系统管理员。对于会员来说,具备的主要功能有:1、会员注册与登录:用户只用通过注册为会员登录后,才能订餐下单。2、菜单显示:用户可以查看当前供应的所有菜品信息。3、网站公告:用户可以查看由系统管理员发布的网站公告:如新菜品、优惠信息、网站维护信息等。4、购物车:会员登录后,可以把自己喜欢的菜品加入到购物车,进行订餐,如用户未注册登录,不能进行订餐加入购物车。5、订单:会员登录后,可以查看自己的订单信息,也可以在规定时间内进行取消订单。6、在线留言:会员登录后,可以再网站进行留言,如对希望新增的菜品等进行留言,等待管理员回复。对于系统管理员来讲,其主要具备的功能有:1、订单管理:可以对会员提交的订单进行管理。2、菜单管理:管理员可以对菜单进行增删改查管理。3、留言管理:管理员可以回复会员的留言,也可以删除会员的留言。4、用户信息管理:可以对会员信息进行增删改查操作。5、养生信息管理:可以添加养生菜品信息。6、友情链接管理:管理员可以对友情链接进行编辑、修改、删除等操作。系统需求建模系统用例图:用于描述整个系统中各个模块的用例以及用例之间的相互关系。(1)管理登录、退出用例:主要用户描述系统管理员的登录与退出操作。其用例图如下图2-1所示:登陆管理员退出图2-1管理员用例图(2)菜单管理模块用例:主要用于描述供应菜品的基本信息、菜单信息的添加、删除、修改、审核等操作用例。其用例图如下图2-2所示:菜单信息添加菜单信息查询菜单信息修改菜单信息删除菜单审核管理员图2-2菜单信息管理用例图(3)会员管理用例:主要描述会员信息,其用例图如下图2-3所示:图2-3会员管理用例图如下表2-1所示为系统所有的用例列表,表2-1对本文开发的网上订餐系统的用例表进行了说明和描述。表2-1系统用例列表编号用例名称描述001管理员登录管理员输入正确的用户名和密码即可登录到系统中去会员添加会员修改会员删除管理员会员查询002添加菜单信息向系统数据库中添加菜单的详细信息。003查询菜单信息通过输入菜名或编号,查询出相应菜品的详细信息。004修改菜单信息执行查询用例查询出需修改的菜单信息,修改需修改的信息。005删除菜单信息对下架的菜单信息从系统数据库中删除006会员信息添加向数据库中添加需添加的会员信息007会员信息查询可根据需要设置会员信息。008会员信息修改当会员信息发生变动时,可以直接在查询到的会员处选择修改即可。009会员信息删除当有会员息需删除时,直接对需要删除的会员信息进行删除即可。010公告管理管理发布系统公告。011订单管理对用户提交的订单进行取消、删除等管理012留言管理对用户留言进行回复、删除等013养生信息管理添加、修改、删除养生信息014友情链接管理对链接信息进行增删改查等操作3系统设计在需求分析的基础上,提出了如下的系统设计目标:1.系统安全性系统应控制不同用户的使用权限,用户不能越权操作。系统应该确保数据的安全性。同时,用户要求系统具有高度的可靠性,数据的准确性,系统的可恢复性。2.可维护性客户会在系统使用过程中不断对系统提出新要求,扩展系统功能,这就要求系统的可升级性必须良好,以满足客户长期实用的要求,并且在用户有新要求的时候可以快速扩展功能。3.用户操作系统设计应该人性化,操作简单方便,达到人机友好的目的。4.运行速度系统响应时间是衡量系统性能好坏的重要参考。系统要求响应时间短,更新处理迅速,数据转换与传送时间短,后台服务器响应迅速等等。由于系统使用者的特殊性,系统必须高效地响应并且在安全的前提下高效的响应。5.界面用户界面应该做到清晰简单一目了然,易于操作。系统功能分析本文设计的网上订餐系统基于ASP.NET和SQLSERVER数据库开发设计,其分为前台订餐和后台系统管理两部分,按使用对象可分为系统管理员、会员等。前台订餐是供会员使用的操作界面,会员登录后在这个页面可以进行查看网站公告、菜单信息、购物车、订单以及在线留言等;后台管理系统是供管理员对系统进行管理和维护的工具,包括订单管理、菜单信息管理、会员信息管理、公告管理、养生信息管理、友好链接管理、留言管理等。具体方案如下:1、针对管理员网站后台管理模块,通过输入正确的用户名与密码进去系统后台并对后台进行管理。订单管理模块:可对系统生成的订单信息进行查看、审核、取消、删除等。菜单信息管理模块:可对菜单信息进行管理,可添加菜品生成新的菜单,也可删除菜单,并且也可对以存在的菜单进行编辑,对菜品信息进行修改。会员信息管理模块:管理员可对注册会员进行管理,如添加、修改、删除会员等。公告管理模块:管理员可发布新的公告信息,也可以对已发布的公告内容进行编辑和删除等。养生信息管理模块:管理员可根据季节或天气适时提出养生建议或者提供养生菜品等。友好链接管理模块:管理员可对友好链接信息尽心添加、修改和删除等。留言管理模块:管理员可恢复、删除用户的留言信息。后台管理功能模块图如图3-1所示。网上订餐系统登录与退出登录退出订单管理菜单管理会员信息管理公告管理养生信息管理友好链接管理留言管理图3-1系统管理功能模块图2、针对会员来说会员注册与登录:用户可以通过注册的方式成为网站的会员,享受会员的待遇,如菜品优惠等。菜单显示:不管用户是否为会员,均可以查询菜单信息,但是当用户查看具体的菜品时,不能将菜品加入购物车进行提交,不能生产订单信息。网站公告:不管用户是否为会员,均可以查看网站公告信息。购物车功能:只有注册会员登录后,方可把菜品加入购物车进行提交。订单功能:只有注册会员登录后,选择自己喜欢的菜品进行提交购买,提交后生成订单,用户可以修改订单,也可以取消订单。在线留言功能:会员可以把自己的意见或建议提交给网站,等待网站管理员回复。其前台主要功能模块图如下图3-2所示。网上订餐系统注册与登录登录注册菜单显示网站公告我的购物车我的订单在线留言图3-2会员功能模块图数据库设计数据库设计(DatabaseDesign)是针对给定的一个应用场景所进行的数据存储过程及数据存储方式定义,数据库设计是设计管理信息系统的重要部分,在设计时首先进行数据库逻辑设计,其设计要符合语义,然后根据数据逻辑设计,确定其数据存储结构和物理设计,从而确定数据的存储空间分布及存储空间大小分配,从而建立起存储数据的模型。一个设计良好的数据库结构,应该可以使系统能够快速查询及快速存储。其设计核心是数据模型的设计,一个好的数据模型可以使数据库设计过程事半功倍,针对不同的应用系统应该采用不同的数据模型,本文设计的网上订餐系统采用关系型模型,具有较高的数据独立性,在使用时也十分方便,这里采用SQLSERVER数据库。1、数据库表设计本文设计的数据库名为WebBookDinner,以下列出了本系统所需要的数据表:表3-1为菜单表,用于保存与菜单的相关信息,包括菜品ID、菜名、价格、菜品介绍、菜单ID、菜品图片以及是否推荐菜品等字段。表3-1菜单表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1cIDint40是是否2菜名nvarchar500否3价格float80否4菜介绍nvarchar00是5Scidint40是6菜图片nvarchar00是7推荐nvarchar500是表3-2为菜分类表,用于保存与菜的分类信息,包括菜单ID、菜品种类、系列介绍等字段。表3-2菜分类表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1Scidint40是否2种类nvarchar500否3系列介绍nvarchar00是表3-3为订单表,用于保存与订单相关的信息,包括订单ID、用户ID、订单状态、联系电话、送餐地址、备注信息、订餐姓名、订餐时间、金额总价等字段。表3-3订单表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1订单IDint40是是否2用户IDint40否3订单状态nchar100否4联系电话nvarchar500否5送餐地址nvarchar500否6备注nvarchar00是7订餐姓名nvarchar500否8订餐时间datetime83是9金额总价float80是表3-4为订单条目表,用于保存与订单条目相关的信息,包括条目ID、订单ID、菜名、数量、单价、评分、反馈等字段。表3-4订单条目表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是否2订单IDint40是3菜名nchar100否4数量int40否5单价float80否6评分int40是7反馈nvarchar00是表3-5为管理员表,用于保存与管理员相关的信息,包括管理员id、管理员密码等字段。表3-5管理员表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1管理员IDnvarchar500是否2管理员密码nvarchar500否表3-6为留言表,用于保存与留言相关的信息,包括留言ID、用户ID、管理员ID、留言时间、留言内容、留言标题、回复内容等字段。表3-6留言表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1留言IDint40是否2用户IDint40是3管理员IDnvarchar500是4留言时间datetime83是5留言内容nvarchar00是6留言标题nvarchar500否7回复内容nvarchar00是表3-7为养生信息表,用于保存与养生相关的信息,包括介绍ID、标题、内容、发布时间、浏览次数等字段。表3-7养生信息表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1介绍IDint40是是否2标题nvarchar500否3内容text160是4发布时间datetime83是5浏览次int40是数表3-8为用户信息表,用于保存与用户相关的信息,包括用户ID、用户名、用户密码、真实姓名、性别、联系电话、爱好、喜欢口味、QQ、电子邮件、状态、身份证号等字段。表3-8用户信息表表结构序号列名数据类型长度小数位标识主键允许空默认值说明1用户IDint40是是否2用户名nvarchar500否