《C#课程设计快餐店点餐系统.docx》由会员分享,可在线阅读,更多相关《C#课程设计快餐店点餐系统.docx(25页珍藏版)》请在三一办公上搜索。
1、C#课程设计快餐店点餐系统1. 需求分析 1.1任务概述 从分析快餐店店店的基本情况入手,进行系统的可行性分析,来了解企业的管理特点和存在的问题,在此基础上,进行详细分析,得出系统功能结构图,再通过系统实现等环节,最终开发出能够满足餐饮业务需要的餐饮管理信息系统。 1.2任务目标 为适应现代社会人们高度强烈的消费观念,研发餐饮管理系统,改善以前用人力资源统计信息的方法,借助本系统显示的结果可以达到以下目的: 1. 方便使用者可以安全的查找自己想要的各种餐饮信息; 2. 通过全面的餐饮信息采集和处理,辅助提高系统的管理水平; 3. 使用本系统,可以提高饭店的管理效率。 1.3 需求规定 餐饮管理
2、系统主要包括以下模块:用户管理模块、菜肴管理模块、营业管理模块、预定管理模块、外卖管理模块、员工管理模块,各模块需求规定如下: 1. 用户管理模块 用户管理模块主要实现以下功能: 1) 编辑用户信息,即用户可以修改信息,其中普通用户只能修改自身信息,超级用户能修改自身和其他管理员的信息; 2) 添加新用户,新的管理员可以再此注册,建立其用户名和密码。 2. 菜肴管理模块 菜肴管理模块主要实现以下功能: 1) 菜肴基本信息的浏览,可以浏览各个菜肴的单价、备注等; 2) 菜肴基本信息的编辑,管理员可以在此编辑菜肴的基本信息; 3) 添加菜肴信息,当有新的菜肴进入饭店时,在此添加新信息。 3. 营业
3、管理模块 营业管理模块主要实现以下功能: 1) 点菜,通过输入桌号、菜名及备注来点菜; 2) 查询点菜信息,通过输入桌号查询该桌是否有点菜信息,以及信息内容; 3) 结账,输入桌号,可浏览该桌消费内容以及可以享受的折扣服务,并在此结账。 4. 预定管理模块 预定模块主要实现以下功能: 1) 添加预定信息,在此模块中通过添加预定时间、人数、桌号、客户姓名、客户电话等添加预定饭菜信息; 2) 修改预定信息,如果预定信息中有需要改动的信息,可以在此修改,也可以删除预定信息,及取消预定。 5. 外卖管理模块 外卖管理模块主要实现以下功能: 1) 浏览外卖信息,打开外卖管理的页面后,可以浏览到外卖信息;
4、 2) 编辑外卖信息,通过编辑职工编号、姓名、客户姓名、电话、地址来编辑或修改外卖信息; 3) 添加外卖信息,当有新的客户订外卖时,在此添加新的外卖信息。 6. 员工管理信息模块 员工管理模块主要实现以下功能: 1) 浏览员工基本信息,打开该页面后,可以浏览员工的基本信息,包括职工姓名、编号、性别、民族、电话等; 2) 编辑员工基本信息,想要修改员工信息,可以在此编辑修改; 3) 添加员工基本信息,有新的员工加入时,在此添加他们的新信息。 1.4 数据流图 图1.1 餐饮管理系统数据流图 1.5 数据字典 本餐饮管理系统的数据字典6如下: 1. 数据结构:预定信息 数据流 数据名 来源 数据结
5、构 简要说明 数据名 存储处 数据元素 类型 简要说明 数据名 存储处 数据 元素 类型 简要说明 项目名 存储组织 主键编号 记录组成 长度 简要说明 项目名 输入 输出 简要说明 项目名 输入 输出 简要说明 录入客户预定点菜信息 客户 订餐时间+菜肴名称+单价+客户姓名+电话+备注 本酒店餐饮管理信息系统的主体数据结构,定义了一个客户的有关预定餐饮信息。 数据项 订餐时间 预定信息表 类型 含义 日期型 客户预定的就餐时间 订餐时间在就餐前可更改 客户姓名 预定信息表 类型 长度 取值范围 含义 字符型 50 250 客户姓名 客户姓名是每个客户的唯一标识 数据存储 菜肴信息表 二维表
6、菜肴名称 菜肴名称 025 存储菜系的基本信息 删除预定信息 预定信息 客户退预定餐时删除客户预定信息 添加预定信息 客户预定内容 客户预定信息表 客户预定就餐内容时存储客户预定信息 单价 09 数据加工 备注 050 2. 数据结构:外卖信息 数据流 数据名 来源 数据结构 简要说明 录入客户外卖点菜信息 客户 送达时间+菜肴名称+单价+客户姓名+客户电话+送达地址+职工姓名+电话+备注 本酒店餐饮管理信息系统的主体数据结构,定义了饭店的外卖餐饮信息。 数据项 数据名 存储处 数据元素 类型 简要说明 数据名 存储处 数据 元素 类型 简要说明 项目名 存储组织 主键编号 记录组成 长度 简
7、要说明 项目名 存储组织 主键编号 记录组成 长度 简要说明 项目名 输入 输出 简要说明 项目名 输入 输出 简要说明 送达时间 外卖信息表 类型 含义 客户姓名 外卖信息表 类型 长度 取值范围 含义 字符型 50 250 客户姓名 数据存储 菜肴信息表 二维表 菜肴名称 菜肴名称 025 存储菜系的基本信息 职工信息表 二维表 职工编号 姓名 编号 性别 民族 010 籍贯 050 住址 050 出生日期 8 参工日期 8 电话 620 单价 09 备注 050 日期型 客户要求的送达时间 时间在送达前可更改 客户姓名是每个客户的唯一标识 020 4 2 存储职工的基本信息 删除外卖信息
8、 外卖信息 数据加工 客户取消外卖时删除该外卖信息 添加外卖信息 添加的外卖内容 客户外卖信息表 客户添加外卖内容时存储该外卖信息 3. 数据结构:点菜信息 数据流 数据名 来源 数据结构 简要说明 录入客户点菜信息 客户 菜肴名称+单价+桌号+备注 本酒店餐饮管理信息系统主体数据结构,定义了饭店的前台点菜餐饮信息。 数据项 数据名 存储处 数据元素 类型 简要说明 项目名 存储组织 主键编号 记录组成 长度 简要说明 项目名 输入 输出 简要说明 项目名 输入 输出 简要说明 桌号 点菜信息表 类型 含义 数据型 客户就餐桌号 数据存储 菜肴信息表 二维表 菜肴名称 菜肴名称 025 存储菜
9、系的基本信息 数据加工 删除点菜信息 要删除的点菜信息 客户取消就餐或取消某些菜系时删除该点菜信息或其中的某几项 添加点菜信息 点菜内容 点菜信息表 客户添加点菜内容时修改并存储该点菜信息 单价 09 备注 050 客户就餐的桌号 4. 数据结构:餐饮报表 数据流 数据名 来源 数据结构 简要说明 数据名 存储处 数据元素 类型 简要说明 项目名 存储组织 主键编号 记录组成 长度 简要说明 项目名 录入客户点菜信息 客户 菜肴名称+单价+桌号+就餐时间+备注 本酒店餐饮管理信息系统主体数据结构,定义了饭店的前台点菜餐饮信息。 数据项 就餐时间 点菜信息表 类型 含义 日期型 客户就餐时间 数
10、据存储 点菜信息表 二维表 桌号 菜肴名称 025 存储点菜的基本信息 打印餐饮报表 单价 09 数据加工 桌号 010 备注 050 客户就餐的时间 输入 输出 简要说明 项目名 输入 输出 简要说明 点菜内容 餐饮报表 将餐饮报表打印交给服务员去执行 添加餐饮内容 添加的内容 新的餐饮报表 客户添加点菜内容时修改并存储该点菜信息,最后提交执行 5. 数据结构:消费信息 数据流 数据名 来源 数据结构 简要说明 数据名 存储处 数据元素 类型 简要说明 项目名 存储组织 主键编号 记录组成 长度 简要说明 项目名 输入 输出 简要说明 项目名 输入 输出 简要说明 客户就餐后的消费信息 系统
11、 菜肴名称+单价+桌号+折扣+备注 本酒店餐饮管理信息系统主体数据结构,定义了饭店的餐饮消费信息。 数据项 折扣 消费信息 类型 含义 数字型 客户就餐是否可享受折扣以及折扣程度 数据存储 点菜信息表 二维表 桌号 菜肴名称 025 存储菜肴的点菜信息 数据加工 计算消费总额 消费内容内容 消费总额 计算客户在饭店没有经折扣时的消费总额 计算折扣后的总金额 可享受的折扣 折扣后的总金额 当客户可享受折扣时,计算其折扣后的金额 价格 09 桌号 010 备注 050 客户就餐后将根据此信息结账 6. 数据结构:账单 数据流 数据名 来源 数据结构 简要说明 客户就餐后的账单信息 系统 菜肴名称+
12、单价+桌号+折扣+总额+折扣后总额+备注 本酒店餐饮管理信息系统主体数据结构,定义了饭店的餐饮账单信息。 数据项 数据名 存储处 数据元素 类型 简要说明 数据名 存储处 数据元素 类型 简要说明 项目名 总额 系统 类型 含义 折扣后总额 系统 类型 数字型 含义 客户就餐的消费总额经折扣后的总额 若客户可以享受折扣,计算出折扣后的总额 数据存储 消费信息表 数字型 客户就餐的消费总额 客户就餐后未经折扣的消费总额 存储组织 二维表 主键编号 桌号 记录组成 长度 菜肴名称 025 价格 09 桌号 010 数据加工 项目名 输入 输出 项目名 输入 输出 计算消费总额 消费内容内容 消费总
13、额 计算折扣后的总金额 可享受的折扣 折扣后的总金额 折扣 04 备注 050 简要说明 存储客户的消费信息 简要说明 计算客户在饭店没有经折扣时的消费总额 简要说明 当客户可享受折扣时,计算其折扣后的金额 2. 概要设计 B/S2结构结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S2结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/
14、S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。 本系统采用B/S结构,即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓三层结构,所对应的三层分别称为表现层,逻辑层,数据层。 1. 表示层 表示层又称为界面层,提供给用
15、户一个可视界面,用户可以用来输入数据或获取数据。界面层同时也提供一定的安全性验证,确保用户看不到机密的信息。B/S结构的表现层就是Web页面。 2. 逻辑层 逻辑层也称中间层或中间代理层,是界面层和数据层之间的桥梁。它响应界面层的用户请求,执行任务并从数据层获取数据,然后将必要的数据传递给界面层。逻辑层封装了系统的应用逻辑,应用系统的大部分计算工作在此完成。在/结构中逻辑层表现为类库和存储过程。逻辑层负责同数据库打交道,维护同数据库的连接。逻辑层可以根据不同的应用需要进行分布式计算,故能提供较高性能的数据库应用。 3. 数据层 数据层负责数据存储,并维护数据的完整性和安全性。它响应逻辑层的请求
16、,向逻辑层提供数据。 Visual Studio 是一套完整的开发工具,用于生成 ASP Web 12应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。 鉴于BS结构的以上优点,并结合用户需求,该系统决定采用BS体系结构。 2.1 功能模块图 基于以上可行性研究以及需求分析,系统的功能模块图如下: 图2.1 餐饮管理系统功能模块图 3. 数据库的概念设计
17、 数据库的概念设计7就是将需求分析得到的用户需求抽象为信息结构即概念模型的过程,是整个数据库设计的关键。 实体的E-R图刻画了该实体有哪些属性,ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系,若有联系,需进一步确定是1:n,m:n,还是1:1等。本餐饮管理系统有客户、菜肴、员工、点菜信息、预定信息、外卖信息、消费信息,账单8个实体,各实体E-R图及总体E-R图如下: 客户 客户编号 客户姓名 联系电话 图3.1 客户实体E-R图 菜肴 菜肴编号 菜肴名称 价格 备注 图3.2 菜肴实体E
18、-R图 员工 员工编号 电话 性别 民族 籍贯 出生日期 参工日期 住址 姓名 图3.3 员工实体E-R图 点菜信息 点菜编号 点菜时间 桌号 餐型 菜肴名称 价格 备注 图3.4 点菜信息实体E-R图 预定信息 预定编号 当前时间 预定时间 就餐人数 桌号 菜肴名称 价格 客户电话 客户姓名 备注 图3.5 预定信息实体E-R图 外卖信息 备注 外卖编号 职工编号 职工姓名 菜名 价格 客户姓名 客户电话 送达地址 送达时间 图3.6 外卖信息实体E-R图 消费信息 消费编号 桌号 菜肴名称 价格 折扣 消费时间 备注 图3.7 消费信息实体E-R图 账单 账单编号 备注 桌号 菜肴名称 单
19、价 总额 折扣 折扣后总额 结账时间 图3.8 账单实体E-R图 总体E-R图如下: 图3.9 总体E-R图 4. 测试 登陆界面 管理员登陆后 菜单管理界面 部分源代码 #ID padding: 0px; margin: 0 auto; width: 800px; text-align:center; #div1 padding: 0px; margin: 0px; width: 200px; height: 600px; float: left; background-color: #aaa; #div2 padding: 0px; margin: 0px; width: 600px; h
20、eight: 600px; float: left; #if width: 600px; height: 600px; 点菜系统 菜单管理 用户管理 账单管理 点菜信息 点菜管理 座位管理 asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT * FROM employer 无标题页 .style1 .style2 width: 78px; 用户名: 密码: asp:SqlDataSource ID=SqlDataSource1 runat=server Connectio
21、nString= SelectCommand=SELECT COUNT(*) AS Expr1 FROM employer WHERE (Erole = role) AND (Epsd = pwd) 5. 总结和心得 经过三个星期的实习,过程曲折可谓一语难尽。在此期间我也失落过,也曾一度热情高涨。从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。 整个设计通过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不
22、断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于快餐店点餐系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以
23、解决。 这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。某个人的离群都可能导致导致整项工作的失败。课程设计中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们实习成功的一项非常重要的保证。而这次实习也正好锻炼我们这一点,这也是非常宝贵的。这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中指导老师给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这
24、次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名计算机专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这么久的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动逐步基 础慢慢开始弄懂它 我认为这个收获应该说是相当大的。一开始我们从参考书上找来了课题,但是毕竟是参考书,做到后来发现很多程序都是不完整的,这让我们伤
25、透了脑筋好不容易又找到了资料,可是结果还是很不尽人意。程序什么的都弄好了,调试也没有问题,可是就是无法达到预期想要的结果。参考书毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋。然后我们大家一起齐心协力,从平时做的实验老师上课的举例书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。应该说这是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合相处,以及自身的动脑和努力,都是以后工作中需要的。 对我而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆! 所以我认为这次的课程设计意义很深,和其他2位同学的共同学习配合努力的过程也很愉快,另外还要感谢老师的耐心辅导。