《最新C#课程设计学校食堂订餐系统.doc》由会员分享,可在线阅读,更多相关《最新C#课程设计学校食堂订餐系统.doc(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC#课程设计学校食堂订餐系统微软用户摘 要随着传统的购物方式正在向网络化发展,为了学校食堂业务水平和效率,实现比传统就餐方式更有效的就餐,订餐系统因运而生。通过对订餐流程和业务进行全面考察分析,结合目前最先进的软件开发技术,实现了订餐的网络化管理。 本文在介绍C#和ASP.NET相关技术和国内外发展现状的基础上,系统采用C/S结构,客户端与客户端以及客户端与服务器端之
2、间通过Socket传送消息,采用多线程、多任务的 设计思想,开发出性能稳定,功能全面的服务器,并完整的实现系统的功能。本文给出了订餐系统在国内外的现状,针对现状做出需求分析,并介绍了一些开发系统所用到的开发语言、开发工具和一些技术,然后详细分析,给出概要设计,最后展示出具体实现和测试结果。本系统分为客户端和服务器端。在客户端系统能为顾客提供浏览菜品介绍、点菜订餐及评分、管理个人基本信息、向管理员投诉和留言等功能;在服务器端,管理员通过主界面直接管理服务器,通过服务器主界面提供的功能管理入口进入各功能管理界面,包括管理顾客信息、管理菜单信息、管理订单信息、管理管理员信息等界面。本系统采用模块化设
3、计方法,方便顾客的使用,同时便于管理员的管理,提高了学校食堂的工作效率,优化了学校食堂的管理。该系统适合在大学食堂中推广使用,它能够优化就餐业务流程,实现餐厅价值大化,同时又使成本最低化,并最终提高学校食堂网络化管理水平。关键字:网上订餐;C#;ASP.NET; C/S ;多线程-目录摘 要1目录11 概述11.1国内外订餐系统的现状介绍11.2 C#语言21.2.1了解 C#的发展历史21.2.2 C#语言的特点32系统开发工具与网络技术32.1开发工具32.2开发环境32.3 TCP/IP及Socket42.3.1 TCP/IP协议常识42.3.2 Socket的简介63 学校食堂订餐系统
4、的系统设计83.1 课题来源及概述83.2需求分析93.2.1可行性分析93.2.2 系统性能需求103.3 订餐系统分析与程序设计113.3.1订餐程序的总体设计要点113.3.2具体系统功能实现123.3.3 数据流图133.4数据库的设计143.4.1数据库需求143.4.2数据库详细设计154概要设计174.1系统实现原理174.2各模块详细结构功能184.2.1服务器端结构184.2.2 客户端结构184.3系统的设计过程194.3.1客户端194.3.2服务器205学校食堂订餐系统的具体实现及测试215.1系统用户界面设计215.2客户端主界面215.3服务器主界面24总 结27致
5、 谢28参考文献29附 录301 概述1.1国内外订餐系统的现状介绍近年来,我国餐饮业快速发展, 餐饮管理信息系统是传统餐饮服务业与计算机信息管理相结合的成果,它能有效避免手工管理中的不便,实现管理方式的升级。预计,到2010年我国餐饮业零售额将达到2万亿元, 基于良好的发展空间,餐饮行业对自身提供服务的质量和能力也有了更高的要求。在快速发展的同时,多数餐饮业在同常经营管理中仍普遍采用手工管理方式,整体科技含量低。随着餐饮店规模的不断扩大,手工管理在工作效率、人员成本、提供决策信息方面都已经难以适应现代化经营管理的要求,严重制约了整个餐饮业的规模化发展和整体服务水平的提升。国外很早就开始在餐饮
6、业采用计算机进行信息管理,随着计算机的飞速发展,经过几十年的开发及应用,已经非常成熟。国内酒店业在80年代随着国外酒店管理方式的引进,开始应用计算机,主要是一些高星级的宾馆,软件主要采用国外的系统。随着中国对外的不断开放,餐饮管理信息系统正在越来越多的被国内餐饮企业应用于餐饮管理领域。餐饮管理系统正因此而越来越受到重视。餐饮企业只有通过不断的技术手段革新和管理制度上的创新,才能始终赢得顾客的信任,才能长久维持顾客的忠诚。这样,餐饮企业的经营活动就会呈现出在保证服务质量的同时大幅度降低成本的局面,或者是在稍许增加成本的情况下大幅度增加收益的状况。也就是说,采用先进的科技手段,使餐饮企业营销策略的
7、选择性增强,具有了更加灵活的销售手段。可见,在餐饮企业中实施信息化管理是必要的。1.2 C#语言1.2.1了解 C#的发展历史C#(读做 C sharp,中文译音暂时没有.专业人士一般读C sharp,很多非专业一般读C井。它是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。它吸收了C+、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。C#继承了C语言的语法风格,同时又继承了C+的面向对象特性,并且C#成为ECMA与ISO标准规范。不同的是,C#的对象模型已经面向Intern
8、et进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。同时,公共语言运行时(Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。1.2.2 C#语言的特点(1)语言简洁。(2)保留了C+的强大功能。(3)快速应用开发功能。(4)语言的自由性。(5)强大的Web服务器控件。(6)支持跨平台。(7)与XML相融合。2系统
9、开发工具与网络技术2.1开发工具基于C#聊天系统的设计主要运用C#语言、ASP.NET技术和Socket类结合而开发。其开发的主要环境包括:服务器端:(Windows平台)首先应有Visual Studio开发工具,建议采用Visual Studio2005及其以上版本,本系统开发工具为Visual Studio2005;另外,需要安装SQL Sever数据库,建议采用SQL Sever2005及其以上版本,本系统采用SQL Sever2005;客户端:应有Visual Studio开发工具,建议采用Visual Studio2005及其以上版本,本系统开发工具为Visual Studio20
10、05;2.2开发环境 本系统运行环境所需用到的环境为:硬件配置 :中央处理器(CPU) :AMDx2 240的处理器;硬 盘:40GB以上硬盘; 内 存:512 DDR内存;显示器:17寸显示器等; 显 卡:128M显存显卡软件环境:WINDOWS XP、Microsoft Visual Studio2005、SQL Server2005等2.3 TCP/IP及Socket 2.3.1 TCP/IP协议常识 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议/网际协议的缩写, TCP/IP是当今网络互联的核心协议。TCP
11、/IP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。IP协议的作用:第一,它是网络层的协议,提供互联网上数据传输的统一格式。第二,提供不可靠的无连接的服务。第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的机制。TCP协议的功能:差错控制可靠性、面向连接、分段(Segment)、端口号。TCP是传输控制协议,是面向连接的提供了一种可靠的传输服务,它用三次握手和滑动窗口机制来保证传输的可靠性,及进行流量控制。(1) TCP/IP协议具有以下特点:1) 协议标准具有开放性,其独立于特定的计算机硬件及操作系统,可以免费使用。2) 统一分配网
12、络地址,使得每个TCP/IP 设备在网络中都具有唯一的IP地址。3) 实现了高层协议的标准化,能为用户提供多种可靠的服务。(2) TCP/IP协议进行传输数据传输的过程:在基于T CP/IP协议的网络中,套接字(Socket)是通信的基石,是网络通信的基本操作单元,应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP数据包封装在IP包内,通过网络送给目的TCP。接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP 也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络
13、的任务由专门的设备驱动模块完成。TCP只是调用IP接口,向TCP提供所有TCP需要的服务。(3) 端口号:有的时候,一个ip地址不能完整的标识一台服务器,这是应为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是端口。端口实际是一个16位长的 地址,他的范围是065535之间,其中01023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都只道的,102465535为一般端口,也称动态端口、连接端口,用来随时分配要求通信的个客户端应用程序。在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要
14、求和他通信的客户端。2.3.2 Socket的简介Socket,简称套接字,用于实现网络上客户和服务器之间的连接。也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。具体的说:一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个socket建立连接,客户端通过写socket来通知服务器,以读socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。服务器也通过它的本地端
15、口连接一个socket,通过读写和客户端通信。(1) 建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。(2) 数据通信:利用虚拟连接通道传送数据信息进行通道。(3) 关闭:通信结束时,再将所建的虚拟连接拆除。 Socket程序的工作过程,如图2.11所示:图2.1 1客户机/服务器socket通讯的工作模式图第一次握手:原主机发送一个带有本次连接的序号的请求的一个数据帧。第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。第三此握手:源端机收到含有两次初始序列号的应答后,在向目的主机发送一个带有两次连接的序列
16、号的确认。具体的三次握手过程,如下图2.12所示。图2.12 三次握手由此可见,通过客户端和服务器的“三次握手”,双方可以建立畅通的通信信道,在此信道上双方互相传输数据。3 学校食堂订餐系统的系统设计 3.1 课题来源及概述随着我国餐饮行业的发展,因餐饮业门坎较低,中国的大多数餐饮企业还是人工管理,尤其是在很多大学的食堂中,并没有一套现代管理体制,所以从观念意识、经营思想和管理水平还有待专业化。随着人们生活水平的提高,餐饮业在服务行业中占有越来越重要的地位。通过方便快捷的管理,在当前餐饮行业日趋激烈的竞争中脱颖而出,已成为每位餐饮业经营者所追求的目标。通过网络订餐初步解决了大学食堂中就餐不方便
17、的难题。另外,在计算机普及后的今天,中国进入了互联网信息时代,生活、学习和工作节奏都随着信息传递速度的加快而变得急促。传统的购物方式也正在向网络方面发展,出现了“网购”这种越来越受欢迎的新型消费方式。同样,作为为高校学生服务的学校餐厅不可避免地趋向网络化发展。3.2需求分析3.2.1可行性分析社会可行性:基于C/S的订餐系统将传统的交易流程信息化、数字化,一方面以信息流代替了面对面的交易,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,从而大大提高了效率。经济可行性:由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方
18、向,只在注重自身水平和能力的提高,对自身的经济要求并不高,只要有一台能运行Java软件的电脑便可,所以不用考虑到经济问题。技术可行性: 本系统的开发采用C#语言和简单的网络通信协议,只实现一些基本功能,练习上课所学内容,因此本系统是一个小型的基于C/S的订餐系统,功能并不是很强大。运行可行性: 本系统为一个小型的订餐系统,所耗费的资源不多,现在一般的电脑无论是硬件还是软件均可满足作为客户端的条件,服务器配置要求也不是太高。因此,本系统在运行上是可行的。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它是可行的。3.2.2 系统性能需求界面友好:为顾客提供良好的登录界面,
19、方便顾客进行各种操作。实用性:使得学校学生及教职工更加方便的就餐,食堂管理人员方便有效地进行作业管理。技术先进:产品的系统设计和开发应紧跟着整个计算机发展潮流,采用当时先进的设计思想,利用比较新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的较领先地位。操作简单:本系统适用于学校学生及教职工,只需通过客户端登录到系统,就可以进行订餐及其他相关的操作,因此要求系统的操作尽可能简单易行。安装使用简便:服务器端的安装简洁明了,客户机无需再装任何软件就可以直接登陆,进行相关操作。适应性:应该能广泛应用于大学各大食堂中。系统采用模块化设计,顾客可以根据自己的实际情况进行
20、操作,使系统在不同的硬件环境下都能得以应用。 3.3 订餐系统分析与程序设计 3.3.1订餐程序的总体设计要点 订餐系统的正常运行,首先是要有一个完整稳定的服务器端,并且拥有很多个客户端。客服端要具有实现顾客登陆和订餐功能,在登陆成功后,要显示出为顾客提供多种功能入口的主界面,顾客可以进行相关的操作实现管理个人基本信息、查看菜单和订餐以及发表留言和投诉等。在顾客上线和下线时要更新服务器界面显示的顾客列表,后台管理顾客、菜单、订单及顾客留言等信息。因此,在设计聊天系统的过程中必须要考虑好以下几个设计要点: 1.实现思想 基于C/S的订餐程序一般都是以服务器模块提供远程访问,处理订单为主,顾客通过
21、客户端模块登录系统,然后进行相关操作。因此,程序要在TCP/IP环境下实现服务器和客户端两个模块的程序。 2.服务器模块工作流程 服务器模块通过socket()系统调用创建一个Socket数组后与指定的本地端口绑定,就可以在端口进行侦听ServerListen()。如果有顾客登陆请求则建立一个Socket,将客户端地址赋给这个Socket。管理员通过服务器后台管理顾客、菜单、顾客留言和投诉以及顾客发送的订单。 3.客户端模块工作流程 客户端程序相对简单,只需要建立一个Socket与服务器模块连接,通过这个Socket接收服务器发来的允许登陆的信息以及向服务器发送订单信息。顾客登陆成功,进行订餐
22、或其他相关操作。 3.3.2具体系统功能实现本系统主要通过客户端和服务器端来体现学校食堂订餐系统的基本功能。1.服务器端(1)处理顾客和管理员登录(2)管理顾客信息(3)处理用户发送信息,服务器监控订餐内容(4)处理用户得到信息(5)处理用户退出(6)管理菜单信息(7)管理订单信息(8)管理顾客留言信息和投诉信息2.客户端(1)顾客登录界面及结果(2)顾客登录后主界面及结果(3)顾客修改个人基本信息(4)顾客查看菜单信息界面及结果,同时参与给菜评分(5)顾客订餐界面及结果(6)顾客投诉、留言界面及结果(7)顾客退出界面及结果3.3.3 数据流图1.顶层数据流图,如图3.1所示。订餐顾客学校食堂
23、订餐系统图3.1 顶层数据流图2.一层数据流图,如图3.2所示。 服务器客户端订餐顾客管理员数据库登录和订餐 返回信息 通信 管理服务器图3.2一层数据流图3.二层数据流图,如图3.3所示。订餐顾客管理个人信息客户端查看菜单订餐留言和投诉服务器管理员管理订单管理顾客管理菜单管理留言和投诉数据库日志顾客订单图3.3 系统二层数据流图3.4数据库的设计3.4.1数据库需求本系统采用Microsoft SQL Server 20005数据库,它是典型的关系型数据库,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化
24、数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。在学校食堂订餐系统中,数据库位于服务器,顾客可以远程访问数据库,管理员在服务器上管理系统中的信息,于是要求服务器具有良好的性能和安全可靠的存储功能。3.4.2数据库详细设计1.顾客信息表,如表3-1所示。表3-1 顾客信息表名称描述数据类型是否为空主键cid用户名nchar(10)否是cname姓名nchar(10)是否cpsw密码nchar(30)是否cmoney账户余额float是否ctel联系方式nchar(11)是否cphoto照片image是否2管理员信息表,如表3-2所示。表3-2 管理员信
25、息表名称描述数据类型是否为空主键aid用户名nchar(10)否是apsw密码nchar(30)是否aname姓名nchar(10)是否ctel联系方式nchar(11)是否3菜单信息表,如表3-3所示。表3-3 菜单信息表名称描述数据类型是否为空主键mnum食物编号nchar(10)否是mname食物名nchar(20)是否mwindow所属窗口nchar(20)否是mprice价格float是否mdose配料nchar(50)是否mscore所得评分float是否assesscnt已评次数int是否4订单信息表,如表3-4所示。表3-4 订单信息表名称描述数据类型是否为空主键ofnum订单
26、编号int否是mnum食物编号nchar(10)是否mname食物名nchar(20)是否mwindow所属窗口nchar(20)是否ofcnt份数int是否cid顾客用户名nchar(10)是否ctel顾客联系方式nchar(11)是否mprice价格float是否oftime订餐时间datatime是否ofstate状态nchar(6)是否5留言信息和投诉信息表如表3-5所示。表3-4 留言信息和投诉信息表名称描述数据类型是否为空主键msgnum信息编号int否是cid顾客用户名nchar(10)是否msgcont内容nchar(200)是否msgtime时间datetime是否backm
27、sgcont回复信息nchar(200)是否msgtype类型nchar(4)是否4概要设计4.1系统实现原理原理图,如图4.1所示。订餐顾客订餐顾客订餐顾客管理员数据库客户端服务器客户端客户端 图4.1学校食堂系统工作原理4.2各模块详细结构功能管理员管理顾客信息管理菜单信息管理投诉、留言管理订单服务器数据库4.2.1服务器端结构图4.2 服务器端结构图查看菜单信息订餐顾客管理个人信息投诉、留言订餐客户端4.2.2 客户端结构图4.3客户端结构图4.3系统的设计过程4.3.1客户端1.顾客登陆顾客通过客户端发送登录请求到服务器端,服务器启动用户登录管理线程,发送允许登录信息,客户端获取允许登
28、录信息,进行远程访问数据库,进行登录验证,登录到系统。2.管理个人信息顾客登录成功后,进入客户端系统主界面,在菜单栏找到管理个人信息的入口,进行修改个人信息或修改密码,顾客提交自己修改的信息,远程访问数据库进行个人信息的更新。3.查看菜单及订餐顾客登录成功后,进入客户端系统主界面,在菜单栏找到查看菜单及订餐的入口,顾客进入查看菜单界面,远程访问数据库,按照不同(食堂)窗口查看相关菜单,再查看同时,顾客可以对所查看的某食物下订单(即订购)。4.留言和投诉为提高学校食堂的服务质量,本系统为顾客提供了投诉和留言功能。顾客登录成功后,进入客户端系统主界面,在菜单栏找到留言和投诉的入口,进入留言和投诉界
29、面,添加自己的留言或投诉内容,提交后,远程添加到数据库。顾客也可以在留言和投诉界面查看管理员对自己留言和投诉内容的回复。4.3.2服务器1.管理员管理服务器管理员通过登录界面登录到服务器,并开启服务器不停地接收来在客户端的请求,在发生异常或错误时,管理员及时进程相应的处理。2.服务器接收客户端信息服务器为客户端开放某个端口,允许多个客户端发送请求。服务器接收三种客户端请求信息:一、顾客登录请求,为每个登录的顾客建立一个Socket,并用此Socket向客户端发送相应信息;二、顾客发送订单请求,在接收到客户端发来的订单后,对订单进行处理,存储到数据库,并向客户端发送成功信息;三、顾客退出系统信息
30、,顾客退出系统时,客户端向服务器自动发送退出消息,服务器接收到顾客的退出消息后,更新在线用户列表,并删除与此用户建立的Socket。3.管理员管理个人信息管理员在服务器上登录,通过管理个人信息界面和管理管理员界面,后台管理个人信息及添加新的管理员、删除管理员。4. 管理员管理顾客信息管理员通过管理顾客入口,进入管理顾客信息界面,进行添加新顾客用户、查顾客信息、修改顾客信息、删除顾客信息等操作,提交后系统对数据库进行更新操作。5. 管理员管理菜单信息管理员通过管理菜单入口,进入管理菜单信息界面,进行添加新菜单、查菜单信息、修改菜单信息、删除菜单信息操作,提交后系统对数据库进行更新操作。6管理员管
31、理顾客留言和投诉管理员通过管理管理顾客留言和投诉入口,进入管理管理顾客留言和投诉信息界面,进行相关操作,提交后系统对数据库进行更新操作。5学校食堂订餐系统的具体实现及测试5.1系统用户界面设计界面是人机交互的窗口,界面接收用户的输入信息、执行操作,并输出执行的结果。良好的用户界面能够提升用户的工作效率,方便用户使用,给用户留下好的印象,使系统得到更好的声誉。根据用例可以制定出系统界面,主要由提供各种操作入口的客户端主界面和服务器主界面组成,两个主界面又包括一些相应功能的操作界面。5.2客户端主界面客户端界面主要包括:登陆界面、主界面、顾客管理个人信息界面、查看菜单及评分和订餐界面、投诉和留言界
32、面。客户端主要完成与服务器的连接、订单信息传送和远程访问数据库更新或浏览相关信息,为顾客提供良好的人机界面。1.顾客要进入订餐系统必须先登录到客户端,如图5.1所示。图5.1 顾客登录界面2.登录成功后顾客进入客户端主界面,如图5.2所示图5.2 客户端主界面3.在客户端主界面中,顾客可以根据自己的需要进行相关的操作,个人信息管理和安全管理是管理顾客的基本信息和密码。在个人信息管理中用户可以查看和修改自己的基本信息,如图5.3所示为顾客修改个人信息的界面。 图5.3 顾客修改个人信息界面4.查看菜单及订餐入口为顾客提供查看菜单和订餐的服务,包括按窗口查看菜单、订餐、查看订单三个子入口,使顾客订
33、餐更加方便,顾客在查看菜单的同时可以对选中的菜评分。如图5.4所示为顾客订餐界面。 图5.4 顾客订餐界面5.在下服务为顾客提供投诉和留言功能,使顾客参与到学校食堂的管理中来,顾客的监督可以进一步提高学校食堂的服务质量,真正做到“顾客就是上帝”的服务目标。图5.5所示为顾客留言的界面和图5.5所示为顾客留言的界面。 图5.5 顾客留言界面 图5.6 投诉回复界面 6.最后,顾客通过“退出系统”入口退出订餐系统,或者直接关闭订餐系统。5.3服务器主界面服务器界面主要包括:管理员登录界面、主界面、管理个人信息及管理员信息界面、管理顾客信息界面、管理菜单信息界面、管理订单信息界面、管理投诉和留言信息
34、界面。服务器主要为客户端提供连接、接收客户端传送的信息和管理员对数据库更新或浏览操作。1.管理员登录界面和顾客登陆界面相同,只不过管理员登录直接访问数据库。管理员登录到服务器主界面,管理服务器正常运行。如图5.7所示为服务器主界面。图5.7 服务器主界面2.管理员通过管理员权限入口,可以启动和关闭服务器,以及管理个人信息和添加和删除管理员信息。服务器启动后,服务器接收客户端发来的信息。图5.8所示为服务器接收客户订单。然后,服务器对订单进行处理,存储到数据库。图5.8 服务器接收顾客订单3.管理员通过订单管理,可以查看、修改和删除订单,如图5.9所示为修改订单的界面,但系统只允许修改“是否完成
35、”。修改界面同时允许管理员删除订单。图5.9 修改订单4.管理员可以对菜单管理,管理时按照不同食堂窗口来进行管理,基本管理方法有增、删、查、改,在查看的同时可以修改和删除。如图5.10所示为按窗口查看所有菜单。图5.10 查看菜单5.管理员对顾客信息管理,对顾客信息进行增、删、查、改等操作,在查看的同时可以进行修改和删除操作。图5.11所示为删除顾客信息。 图5.11 删除顾客信息总 结此次基于C#的学校食堂订餐系统的设计与实现的课题设计,是我对Socket编程的第一次使用,也是目前做过的最大的程序。平时观察学校食堂学生及教职工就餐情况,感觉传统就餐模式不仅使顾客感到麻烦,而且不便于食堂的管理
36、。因此,自己想要设计一款学校食堂订餐系统。基本C#的学校食堂订餐系统的设计与实现是一款C/S模式的系统,对我来说是一个新的领域,凭着探索新知识的热情和对自己能力的挑战,我选择了该设计题目。在这次毕业设计中,我尽全力做好每一部分的工作。但由于时间有限,再加上自己的水平不高,而且初次接触C#编程语言,没有什么基础,因此,本系统仍存在很多不完善的地方,例如系统反应能力不是太快,服务器处理事物能力相对不完善,顾客订餐有延迟等等。尽管毕业设计到现在已接近尾声,但是对于上述的缺陷,自己还会不断对学校食堂订餐系统进一步的完善,期望在今后的日子里凭借自身的技术把系统做成一款深受欢迎并能够投入使用的订餐系统。再
37、设计系统的过程中我花费了大量的时间来重新学习C#语言,学习相关的Socket通信机制,浏览相关书籍和论文,毕竟个人能力有限,没有将系统做到尽善尽美。在今后时间里,我会进一步完善不足之处,并逐步优化该系统,以提供更完善的功能。 总之,通过本次的毕业设计,使我平时学到的理论知识得到了很好地升华,理论与实际得到一次很好的结合,为我C#课程的学习暂时画上了一个句号,为我今后参加工作打下了坚实的基础,使我受益匪浅。 致 谢紧张而忙碌的课题设计就要结束了,通过这几周来的忙碌和学习,由于是首次接触C#并且是一次一个人完成这项任务,经验的匮乏,难免有许多考虑不周全的地方,但是在完成了系统的功能设计后,我还是感
38、到由衷的喜悦和自豪。首先,我要感谢王老师在课程设计期间给了我悉心的关怀、教导,并且给了我许多关键的、建设性的建议。本次课题设计从选题到完成,王老师始终都给予了细心的指导和不懈的支持,每一步都是在导帅的指导下完成的,本次课题设计的顺利完成,倾注了导师大量的心血。在此对导师给予我学习上的帮助表示衷心的感谢。其次,本次课题设计最终得以顺利完成,也是与我身边的同学的帮助分不开的,虽然他们没有直接参与我的课题设计,但在开题时也给我提供了不少的意见,提出了一系列可行性的建议,在课题设计过程中,积极帮助我解决我遇到的问题,在此向他们表示深深的感谢!最后,谨向百忙之中抽出宝贵时问评审本论文的老师致以最诚挚的谢
39、意!参考文献1 郑宇军.C#程序设计基础M.北京:清华大学出版社,2011.2 谢希仁.计算机网络M.北京:电子工业出版社,2008.1.3 吴绍兴,刘岩,明廷堂.C#项目案例导航M.北京:电子工业出版社,2012. 4 欧立奇.Visual c#.NET案例开发集锦M.北京:电子工业出版社,2009.5 陈爽.高校食堂网上订餐系统J.电脑知识与技术,2010,06.6 汪永江.高校餐饮管理信息系统的分析与设计D.厦门大学,2011.7 陈赵云,张志山,黄日胜等.网上订餐系统研究与开发J.电脑学习,2010,(3).8 王斌.基于J2EE的网上订餐系统的设计与实现D.山东大学.2011.9 李
40、绍芳.基于Web2.0的餐饮管理系统的设计与开发D. 2009.10 单杰.网上订餐系统需求分析J.决策与信息,2009(4).11 李西陆.基于WEB的网上订餐系统J.商场现代化,2008(21).13 刘晓英.ASP.NET实用教程M.北京:北京理工大学出版社,2009.7.14 杨铭铎餐饮概论M北京:科学出版社2008.15王珊,萨师煊.数据库系统概论M. 北京:高等教育出版社.2007.附 录学校食堂订餐系统主界面部分代码。1. 服务器端:以下是部分服务器主界面部分代码: TcpClient client; TcpListener listen; NetworkStream ns; T
41、hread getmsg; /服务器接受信息 delegate void AddListBoxCallBack(string text); AddListBoxCallBack addlist; AddListBoxCallBack dgb; Thread severgetmsg; /实现多用户登录 Dictionary dic = new Dictionary(); Thread tt1; static string tts = ; string str = ; int cnt = 0; private void Form1_Load(object sender, EventArgs e)
42、str = 欢迎 + CurrentLogAdmin.aname + 登录; str += ; tool_user.Text = str; tool_time.Text = DateTime.Now.ToString(); timer1.Enabled = true; Control.CheckForIllegalCrossThreadCalls=false; addlist = new AddListBoxCallBack(listBoxadd); dgb = new AddListBoxCallBack(listBox2add); void listBoxadd(string s) tts = s; tt1 = new Thread(new ThreadStart(excute); tt1.Start(); v