




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网上餐厅系统 商家开店模块 摘要 随着社会经济的发展 人们日常生活的压力不断增大 亲自到 餐厅用餐让人们感觉到是浪费时间的行为了 取而代之的则是网上 订餐 既可以节省大量的时间 也可以买到物美价廉的美食 该项目根据对网上餐厅的实际需求分析 并通过可行性分析之 后 运用 UML 建模的思想对系统进行建模 采用自顶向下的原则对 系统进行详细的设计与实现 该项目采用三层架构来对程序中不同的功能进行分类 程序后 台采用 ADO NET 技术实现对数据库的操作 获取数据库的数据 前 台则是采用了 jQuery 技术使得页面的前台效果得到大量的提升 也 提升了页面的友好性 更加可以吸引住用户的眼球 关键词 网上订餐 ADO NET jQuery 三层架构 Online restaurant system Meal inquiry purchase ShopCar Order submission ABSTRACT With the development of social economy the pressure of people s daily life increases and the dining room dining room makes people feel like a waste of time Replace sb is online meal ordering which can save a lot of time also can buy high quality and inexpensive Food The project according to the actual needs of the dining room on the net analysis and after the feasibility analysis the use of UML modeling concept to the system modeling detailed design and implementation of the system by using the top down design principle The project uses three layers of structure to classify the different functions of the program The program background uses ADO NET technology to realize the operation of the database and get the database data Front desk is the use of jQuery technology makes the front effect of the page to get a lot of promotion but also enhance the page s friendliness more can attract the user s eye Key words Online meal ordering ADO NET jQuery Three tier architecture 目 录 第一章 绪论 1 1 1 背景 1 1 2 国内外现状 1 1 3 选题目的及意义 1 1 4 本系统主要工作 2 1 5 可行性分析 2 1 5 1 经济可行性 2 1 5 2 技术可行性 2 1 5 3 社会可行性 2 第二章 开发环境 3 2 1 开发工具介绍 3 2 1 1 Visual studio 2013 3 2 1 2 SQL Server 2012 3 2 2 主要技术 3 2 2 1 技术 3 2 2 2 ADO NET 技术 3 2 2 3 三层架构技术 4 2 2 4 jQuery 技术 4 2 3 本章小结 4 第三章 需求分析 5 3 1 功能模块划分 5 3 2 用例分析 7 3 2 1 商家开店注册模块 7 3 2 2 商家信息管理模块 7 3 2 3 商家餐品管理模块 8 3 3 数据流图 9 3 3 1 商家开店注册管理 9 3 3 2 商家信息管理 9 3 3 3 商家餐品管理 10 3 4 数据字典 10 3 5 本章小结 13 第四章 概念设计 14 4 1 E R 图 14 4 2 本章小结 17 第五章 逻辑设计 18 5 1 关系模式 18 5 2 本章小结 20 第六章 物理设计 21 6 1 物理表设计 21 6 2 数据表关系 25 6 3 本章小结 26 第七章 详细设计 27 7 1 设计及实现 27 7 1 1 商家开店注册 27 7 1 2 商家餐厅登录 28 7 1 3 商家餐品添加 30 7 2 本章小结 35 第八章 测试与实现 36 8 1 测试的目的 36 8 2 测试的过程 36 8 2 1 网站系统首页部分 36 8 2 2 网站登录功能 37 8 2 3 商家开店注册模块 38 8 2 4 商家信息块 39 8 2 5 商家餐品模块 40 8 3 本章小结 43 参考文献 44 致谢 45 天津理工大学 2012 级本科专业设计 0 第一章 绪论 1 1 背景 随着社会经济的发展 人们日常生活的压力不断增大 亲自到餐厅用餐让 人们感觉到是浪费时间的行为了 取而代之的则是网上订餐 网上订餐既可以 节省大量的时间 也可以买到物美价廉的美食 而一个网上订餐系统 则包括了很多不同的功能 最普遍的是要对餐品信 息的管理 因为有大量的餐品信息需要保存 所以对数据的管理也是非常重要 的 一点数据的偏差 都会引起消费者的误会 小则影响一些小规模的收入情 况 大则甚至会影响到公司整个的业务情况 一些别的功能则包括了一些其他 餐厅想要在这个网上订餐网站上面开店面 顾客对餐厅的评价 餐品购买加入 购物车的功能 餐品订餐后的账单提交功能以及后台中网站管理员对网站的整 个信息的一个掌控情况 所有功能的齐全 才能保证网上订餐系统的运营正常 1 2 国内外现状 对于网上订餐这种新兴的产业来说 外国的起步确实要比国内的起步要早 一些 这种产业对于我们现实中的生活来说 确实有着很大的帮助 通过这种 方法 可以节省我们大量的时间 因此 进行网上订餐确实是一种更新型的订 餐方法 在国外 人们通过电脑上网或者是手机上网的方式进行餐品的预订 网上 订餐一般都是通过互联网技术 在网络上面开设一家 网上餐厅 除此之外 商家还需要为自己配备良好的物流系统 为餐品的配送过程提供了坚实的保障 所以 网上订餐在国外有着非常广泛的人群支持 所以进而使得网上订餐这项 服务得到广泛的应用 并且也得到了人们普遍的认可 而在国内的现状来看 网上订餐在网络的安全性和系统的各项更新这些方 面中 都存在着不同程度的不足 正是这些不足 使得顾客的数量得不到保障 而网站系统的推广也受到了阻碍 人们依旧过着去餐厅进餐的生活方式 因此 网上订餐系统的更新应受到更大的重视 在不断的改善和推广之后 我相信这项产业将会成为人们日常生活当中不可或缺的一项功能了 研究出更 加完善的网上订餐系统框架 也会方便以后的开发 更新 1 3 选题目的及意义 为了使我国的餐饮服务体系更加完善 开发一个网上订餐系统对我们的现 实生活是非常有必要的 不仅仅可以使顾客节省大量的时间 使顾客品尝到优 质的美食也是网上餐饮系统的主要功能之一 本课题研究的意义包括 1 网上订餐的主流地位 随着我国的经济发展速度不断增加 人们的工 作压力也在不断地上升 网上订餐已经成为人们节省时间的主流方式之一 随着 菜品的数量不断增加 对菜品数据的保存也显得非常的至关重要 如果菜品数据 有偏差的话 将会对餐厅的生意造成一些相应的影响 2 作为现代社会新兴的产业 网上餐厅的访问量将会不断地得到提升 影响力也会越来越大 3 网上餐厅的创建 一定要建立一个网站作为介绍自己餐厅的平台 所 天津理工大学 2012 级本科专业设计 1 以我们这次研究这个项目就是针对这样的用户来设计的 以此来满足他们的要 求 1 4 本系统主要工作 本系统的设计主要是设计一个网上订餐平台 而本子系统完成了外来商家 的餐品查询 购买 以及对这些商家餐厅的评论功能管理 还有用户购买完餐 品之后 对订单的一个提交的过程 本网站平台包括的餐厅包括了一个主餐厅 和外来附加的一些其他餐厅 其他餐厅需要在网站平台上面进行注册之后才可 以进行开店 而其他餐厅的餐品信息就是本子系统要做的主要功能之一 顾客 通过对这些餐厅的餐品信息表进行查询之后 可以进行一个购买的操作 当然 顾客不仅仅可以进行餐品购买的操作 还可以进行一个对餐厅评价的操作 这 个小小的功能却可以让顾客感觉出来网站的友好性 找出餐厅的优点和缺点进 行分享 最后顾客在这个网上订餐系统购买完所有的餐品之后 将会把购买的 餐品加入到购物车中 填写完订餐信息表之后进行提交 提交过后 购物车的 信息将会清空 而个人的购买历史则会加上顾客刚刚的购买情况 1 5 可行性分析 1 5 1 经济可行性 本子系统是由我们的研究小组自己进行设计以及开发 测试 并不会在资 金方面有过大的要求 当本研究项目完成 投入市场进行使用的时候 将会带 来不少的经济回报 所以在经济这方面 该项目可行 1 5 2 技术可行性 我们设计的该网上订餐系统 主要采用了 jQuery ADO NET 三层 架构技术 所要求的技术水平不高 可以很容易地掌握好这几项技术 但是这 几项技术却非常具有实用性 开发效率也非常高 节省了不少的开发周期 所 以 在技术方面 该项目可行 1 5 3 社会可行性 网上餐厅的项目在当今社会中非常的热门 随着社会经济的发展 人们工 作压力的不断增大 网上订餐必将成为社会的主要趋势之一 并且该项目的开 发完全遵守了相关法律法规的要求 所以 在社会方面 该项目可行 综上所述 通过对网上订餐系统的可行性分析 本系统开发目标明确 在 技术 经济 社会等方面都可行 因此本系统的开发是完全可行的 天津理工大学 2012 级本科专业设计 2 第 2 章 开发环境 2 1 开发工具介绍 2 1 1 Visual studio 2013 作为新一代 C 语言编辑器 编译器 在我们的项目制作过程中必不可少 通过这个工具 将开发出各种应用软件来提供给人们使用 除此之外 还有 Visual studio 2008 2010 2012 不同的版本进行使用 强大的差错机制和简单的注释功能将给人们带来更方便的开发过程 而 TFS2012 更适合团队的项目开发 通过 TFS2012 的签入 签出等功能确实可以 方便开发团队的协作能力 而作为最新一代的编程工具 Visual studio 2013 拥有了更加强大的网页 设计工具 更加方便了网页的开发过程 2 1 2 SQL Server 2012 新一代的数据存储工具 SQL Server 2012 不仅拥有了更强大的数据处理平 台 也将支持云技术的发展 大量的数据存储能力使得这个工具使用起来更加 的得心应手 除此之外 数据的查询能力也得到了相应的改善 而触发器 存 储过程等常用功能当然也会延续到这个版本当中 SQL Server 2012 的发布 可以帮助更多的企业用户快速实现各种数据的体验功能 也将完全释放对企业 的一种洞察力 而快速的数据发现 可扩展的自助数据处理能力 可靠 一致 的数据 全方位的企业数据解决方案将会是这个版本数据库的特色之处 2 2 主要技术 2 2 1 技术 作为网页开发的一项新技术 技术是对网页开发的一项技术支持 而 ASP NET 也是在公共语言运行库上面的一种新型的编程框架 而与传统的桌 面程序不相同的是 ASP NET 所开发的程序包含了许多的 Web 页面 用户可以 直接访问到不同的页面 使用的随意程度也将大大提升 当然也可以通过点击 在页面中的一个超链接来访问到不同的页面 ASP NET 应用程序的标准定义是 文件 页面 处理器 模块和可执行代码的组合 并且他们能够从服务器上的 一个虚拟目录中被引用 总体来说 这项技术就是为网页开发而生的 使用起来也将更加的方便 2 2 2 ADO NET 技术 ADO NET 技术是访问数据库的一项技术 获取数据库的数据将包括两种方式 一种是不断开程序与数据库的连接 实时地交互数据信息 另一种方式是将数 据获取到之后 存储到 DataSet 中 然后断开与数据库的连接 程序将会到 天津理工大学 2012 级本科专业设计 3 DataSet 中进行数据的获取 总体而言 后一种的数据获取方式更为流行 因 为连接到数据库将会使用到大量的内存 获取数据一般有 EF Linq To SQL 和 ADO NET 作为其中之一 这项技术发 展到现在也是变得非常的成熟 但不是最先进的一项技术了 但是对于小程序 来说 这种技术的使用还是最好 最方便的方式 2 2 3 三层架构技术 三层架构技术是一种新型的开发方式 通过将程序中代码的不同功能分为 了界面 UI 层 业务逻辑层 BLL 和数据访问层 DAL 虽然看起来更复杂了 但是将程序内容进行分类之后 你会发现程序代码 之间的调用将会变得更加方便了 数据访问层 DAL 主要是与数据库之间数据的交互 并不会关心前台界面 的情况和数据的依赖关系等 业务逻辑层 BLL 将会调用数据访问层所获取到的数据和方法 对数据进行 一个一般的处理过程 界面 UI 层主要是对网页的前台页面需要获取的数据信息进行一个整理的过 程 获取到的数据信息将会在这里进行归纳和整理 之后将会呈现到前台页面 当中 2 2 4 jQuery 技术 jQuery 技术主要就是一个包含了大量 JavaScript 代码的程序库 通过指 定的代码语句进行方法的调用过程 而过滤器 选择器的使用将会使页面中控 件的获取变得更加容易了 此外 jQuery 提供的特效也是页面中的一大特色和亮点 2 3 本章小结 本章主要介绍了在我们的开发过程中采用的技术 正是有了这些技术的支 持 我们才可以顺利地进行项目的开发 此外还介绍了这些技术主要内容 天津理工大学 2012 级本科专业设计 4 第三章 需求分析 随着社会经济的不断发展 人们的生活节奏也会不断加快 生活压力也会 不断增大 为了节省时间 人们的生活方式也会发生相应的改变来适应这样的 生活 而网上订餐就是其中的一种 人们生活中经常会因为吃一顿饭而会遇到 等车 马路堵塞 买饭排队等不同的状况 这些状况都会耽误顾客不少的宝贵 时间 人们常常也会因为这些原因而感到头疼 所以 网上订餐系统就变得非 常有必要了 成为了人品日常生活中非常需要的一项功能了 人们只需要在网 站上面选取自己需要的餐品 之后就可以等待送餐员将餐品送到顾客的手中了 该网上订餐系统包括了前台餐品展示和后台数据管理的功能 而本子系统 的主要是创建了对餐品信息的展示 对餐品的购买 对餐厅的评价 以及最后 订单提交的功能 本网站平台包括的餐厅包括了一个主餐厅和外来附加的一些 其他餐厅 其他餐厅需要在网站平台上面进行注册之后才可以进行开店 而其 他餐厅的餐品信息就是本子系统要做的主要功能之一 顾客通过对这些餐厅的 餐品信息表进行查询之后 可以进行一个购买的操作 当然 顾客不仅仅可以 进行餐品购买的操作 还可以进行一个对餐厅评价的操作 这个小小的功能却 可以让顾客感觉出来网站的友好性 找出餐厅的优点和缺点进行分享 最后顾 客在这个网上订餐系统购买完所有的餐品之后 将会把购买的餐品加入到购物 车中 填写完订餐信息表之后进行提交 提交过后 购物车的信息将会清空 而个人的购买历史则会加上顾客刚刚的购买情况 3 1 功能模块划分 本网上订餐系统采用自顶向下 逐步分解的原则将系统划分为用户管理 餐品信息管理 评论管理 购物车管理 订单管理 商家开店 后台数据操作 管理七大功能模块 其中商家子模块功能模块图如下 3 1 功能划分 图 3 1 商家开店模块功能图 Figure 3 1 Merchant shop management module function diagram 天津理工大学 2012 级本科专业设计 5 其中商家餐品管理包括餐品信息信息添加 餐品信息修改 餐品信息删除 在添加餐品的同时 餐品会显示在前台的页面上 供用户选择订餐 商家信息管理包括商家信息修改 商家信息添加 删除商家 其中删除商 家是根据同商家商量 商家主动退出网上订餐平台或商家餐品恶劣者强制把商 家开除 图 3 2 商家餐品管理管理模块功能图 Figure 3 1 Business meal management module function diagram 天津理工大学 2012 级本科专业设计 6 3 2 用例分析 3 2 1 商家开店注册模块 商家开店注册模块 商家填写基本信息 选择餐饮店类型 然后向管理员 提交申请 本模块的用例图如图 3 4 所示 3 2 2 商家信息管理模块 当商家注册开店审批通过了后 商家信息就会被记录下来 其中商家信息 管理包括后期管理员对商家信息的一些更改与通过订餐用户的评论反馈对商家 的一些建议 或者采取一些措施 本模块的用例图如图 3 5 所示 图 3 3 商家信息管理模块功能图 Figure 3 3 Business information management module function 图 3 4 商家开店注册用例图 Figure 3 4 Use case diagram Merchant shop management 天津理工大学 2012 级本科专业设计 7 3 2 3 商家餐品管理模块 网站管理员负责编辑餐品的信息 然后在网站前台进行展示 顾客查看完 餐品信息之后对餐品进行购买操作 将餐品添加到购物车当中 本模块的用例 图如图 3 6 所示 图 3 6 商家餐品管理用例图 Figure 3 6 Use case diagram Business meal management 图 3 5 商家信息管理用例图 Figure 3 5 Business information management use case diagram 图 3 7 商家信誉管理用例图 Figure 3 7 Use case diagram Business reputation management 天津理工大学 2012 级本科专业设计 8 3 3 数据流图 数据流图 Data Flow Diagram 简称 DFD 它从数据传递和加工角度 以 图形方式来表达系统的逻辑功能 数据在系统内部的逻辑流向和逻辑变换过程 是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法 3 3 1 商家开店注册管理 商家开店注册管理数据流图 商家首先申请注册开店 然后填写基本信息与选择开店类型 系统验证信 息是否符合要求 最后提交后台给管理员审批 如图 3 7 是商家开店注册管理 的数据流图 图中的输入为商家申请 输出给管理员 3 3 2 商家餐品管理 商家餐品管理数据流图 管理员从餐厅表和餐厅餐品表中得到餐品的相应信息 在前台页面进行餐 品信息的展示 让顾客有一个对信息的掌握 然后可以对餐品进行一个购买的 操作 如图 3 8 是餐品信息管理的数据流图 图 3 7 商家开店管理数据流图 Figure 3 7 Merchant shop management data flow diagrams 图 3 8 商家餐品管理数据流图 Figure 3 9 Business meal management data flow diagrams 天津理工大学 2012 级本科专业设计 9 3 3 3 商家评价管理 商家评价数据流图 顾客在订餐后可以得到一定的售后服务 同时可以对商家餐厅以及餐品进行 评价与建议 同时也可以进行顾客的权利维护 在顾客对商家的评价后 系统 也将对商家的信誉度进行统计与整理 对于一些不良好的餐厅进行整顿 对一 些信誉度高的餐厅给予一定的奖励措施 3 4 数据字典 数据字典其实就是对数据的各种属性进行的一个描述过程 其主要的目的 就是要对数据流程图中的各个元素进行一个详细说明的作用 数据字典是一种用户可以访问的记录数据库和应用程序源数据的目录 主 动数据字典是指在对数据库或应用程序结构进行修改时 其内容可以由 DBMS 自 动更新的数据字典 被动数据字典是指修改时必须手工更新其内容的数据字典 图 3 9 商家信誉管理数据流图 Figure 3 9 Business reputation manage data flow diagram 天津理工大学 2012 级本科专业设计 10 模块名称商家信息管理编号 D1 名称商家信息表 组织形式 按照商家编号进行排序 关键字 商家编号 商家名 记录组成 商家信息 简要说明 记录所有商家的信息 模块名称商家餐品管理编号 D2 名称商家餐品信息表 组织形式 按照餐品的编号进行排序 关键字 餐品编号 餐品名 商家名 记录组成 餐品信息 简要说明 记录所有的餐品信息 模块名称商家注册管理编号 D3 名称商家注册表 组织形式 按照商家评价的编号进行排序 关键字 商家评价编号 用户名 注册餐厅类型 记录组成 商家注册信息 简要说明 将商家注册信息录入 表 3 1 商家信息数据流存储 Table 3 1 Business information data flow 表 3 2 商家餐品数据流存储 Table 3 2 Storage products information data flow 表 3 3 商家注册数据流存储 Table 3 3 ShopCar the data flow 表 3 4 餐品评价数据流存储 Table 3 4 Restaurant order data storage 天津理工大学 2012 级本科专业设计 11 模块名称餐品评价管理编号 D4 名称餐品评价表 组织形式 按照餐品评价编号进行排序 关键字 餐品评价编号 用户名 评价星级 评价内容 记录组成 订单信息 简要说明 收集订餐人的信息 向后台进行提交 模块名称商家信息管理编号 F1 名称商家信息 来源 餐品表 餐厅表 去处 顾客 数据流结构 基本信息 餐厅编号 餐厅名称 餐品编号 餐品名称 简要说明 记录所有的餐品场信息 模块名称餐品信息管理编号 F2 名称餐品信息 来源 商家提供的餐品 去处 顾客 数据流结构 基本信息 用户名 餐品名称 价格 数量 餐厅名称 简要说明 将用户的购物车信息添加到此处 模块名称商家注册管理编号 F3 名称商家注册信息 来源 顾客订单表 去处 送餐人送餐信息表 数据流结构 基本信息 商家编号 商家名 选择餐饮类型 简要说明 记录商家注册信息 表 3 5 商家信息管理数据流 Table 3 5 Restaurants food product data flow 表 3 6 餐品信息管理数据流 Table 3 6 Shopping cart data flow 表 3 7 商家注册数据流 Table 3 7 Restaurant order data flow 天津理工大学 2012 级本科专业设计 12 3 5 本章小结 需求分析的任务是通过详细调查现实世界要处理的对象 充分了解原系统 工作概况 明确用户的各种需求然后在此基础上确定新系统的功能 一 确定 对系统的综合要求 虽然功能需求是对软件系统的一项基本需求 但却并不是 唯一的需求 通常对软件系统有下述几方面的综合要求 1 功能需求 2 性能需求 3 可靠性和可用性需求 4 出错处理需求 5 接口需求 6 约束 7 逆向需求 8 将来可能提出的要求 天津理工大学 2012 级本科专业设计 13 第 4 章 概念设计 4 1 E R 图 大部分数据库设计产品使用实体 联系模型 ER 模型 帮助用户进行数据 库设计 ER 数据库设计工具提供了一个 方框与箭头 的绘图工具 帮助用户 建立 ER 图来描绘数据 E R 图是一种概念模型 用矩形表示实体型 矩形框内 写明实体名 椭圆表示实体的属性 本子系统模块涉及到的实体有 餐品 餐 厅 顾客 购物车 订单 餐品拥有的属性为 餐厅名称 餐品名称 价格 如图 4 1 是餐品的 E R 图 餐厅拥有的属性为 编号 登录名 密码 餐厅名 地址 电话 如图 4 2 是餐厅的 E R 图 顾客拥有的属性为 编号 登陆名 密码 电子邮箱 如图 4 3 是顾客的 E R 图 购物车拥有的属性为 用户名 餐品名称 价格 数量 餐厅名称 如图 4 4 是购物车的 E R 图 订单的属性 为 订单编号 送餐员 送餐地址 餐品名称 餐品数量 餐品价格 订餐人 姓名 订餐人电话 如图 4 5 是订单的 E R 图 图 4 1 商家的 E R 图 Figure 4 1 Products of the E R diagram 图 4 2 餐厅的 E R 图 Figure 4 2 The restaurant s E R diagram 天津理工大学 2012 级本科专业设计 14 图 4 3 顾客的 E R 图 Figure 4 3 Customers of e r diagram 图 4 4 餐品的 E R 图 Figure 4 4 Shopping cart e r diagram 天津理工大学 2012 级本科专业设计 15 现在将全部的 E R 图的实体联系在一起 得到如图 4 6 所示的初步 E R 图 由图 4 6 可知 餐厅表只保存了餐厅的信息 餐品表只保存了餐品表 把 餐厅表和餐品表联系在一起 可以使每件餐品都有所属的餐厅的信息了 顾客 查看完餐品信息之后 将餐品添加到购物车当中 购物车就包含了餐品的详细 信息 顾客与购物车的关系是一一对应的 并且顾客可以对购物车信息进行修 改 顾客在确认完购物车信息之后 可以进行一个订单提交的操作 顾客与餐 品是一对多的关系 总体 E R 图详细信息如图 4 7 所示 图 4 6 子系统模块的初步 E R 图 Figure 4 6 Preliminary E R diagram of subsystem module 天津理工大学 2012 级本科专业设计 16 4 2 本章小结 该子系统模块采用 e r 图来进行系统的概念设计 e r 图并且也提供了表 示实体类型 属性以及联系的不同方法 以此用来描述现实世界的概念模型 更好的将系统中所涉及到的实体联系起来 消除了冗余 使系统在表的设计上 更加合理 图 4 7 子系统模块的全局 E R 图 Figure 4 7 Subsystem module of global E R diagram 天津理工大学 2012 级本科专业设计 17 第 5 章 逻辑设计 进行逻辑设计的时候 将现实世界中的概念数据模型设计为适于特定数据 库系统的逻辑数据模式 关系数据库的数据模式是关系模式 5 1 关系模式 为了使数据库结构更加合理 紧凑 消除不必要的一些存储异常 使数据 库内数据的冗余尽量减小 便于数据的插入 删除和更新等操作 更需要对关 系模式进行规范化的操作 当关系模式进行规范化的时候 也需要遵从概念单 一化 一事一地 的原则 也就是说一个关系模式去描述一个实体或这些实体间 的一种必要联系 规范的本质就是要追求概念的单一化 关系模式进行规范化 的方法 把一个关系模式的投影分解成为两个或更多的关系模式来操作 分解 之后的关系模式集合应该与最初的关系模式进行 等价 也就是说经过了自然 联接就可以恢复原关系而可以不丢失重要信息 并且可以保持属性间合理的联 系 现在概念设计的基础上可以得到如下的初步关系模式 1 餐厅 餐厅编号 餐厅名称 餐厅登陆名 餐厅密码 餐厅地址 餐 厅电话 2 餐品 餐厅名称 餐品名称 价格 3 顾客 顾客编号 顾客登录名 顾客密码 顾客电子邮箱 4 购物车 顾客登录名 餐品名称 价格 数量 餐厅名称 5 在线支付账单 账单编号 送餐员编号 送餐地址 送餐名称 餐品 数量 订餐人姓名 订餐人电话 6 餐到付款账单 账单编号 送餐员编号 送餐地址 送餐名称 餐品 数量 餐品单价 餐品总价 订餐人姓名 订餐人电话 7 送餐员 送餐员编号 送餐员姓名 送餐员登录名 送餐员密码 送 餐类型 关系范式的证明 1 餐厅 餐厅编号 餐厅名称 餐厅登陆名 餐厅密码 餐厅地址 餐 厅电话 证明 因为餐厅编号 餐厅名称 餐厅登陆名 餐厅密码 餐厅地址 餐厅电话 所以 餐厅编号是候选码 又因为餐厅名称 餐厅编号 餐厅登录名 餐厅密码 餐厅地址 餐厅 电话 所以 餐厅名称是候选码 所以 餐厅编号 餐厅名称是主属性 餐厅登录名 餐厅密码 餐厅地址 餐厅电话是非主属性 因为不存在非主属性对主属性的部分函数依赖 所以该范式属于第二关系范式 又因为不存在非主属性对主属性的传递函数依赖 所以该范式属于第三关系范 式 又因为所有非主属性对每一个码都是完全函数依赖 没有任何属性完全函数依 赖于非码的任何一组属性 所以此范式属于 BC 范式 2 餐品 餐厅名称 餐品名称 价格 该表即不存在主键又不存在外键 所以不存在函数依赖 范式 3 顾客 顾客编号 顾客登录名 顾客密码 顾客电子邮箱 天津理工大学 2012 级本科专业设计 18 证明 因为顾客编号 顾客登录名 顾客密码 顾客电子邮箱 所以 顾客编号是候选码 因为顾客登录名 顾客编号 顾客密码 顾客电子邮箱 所以 顾客登录名是候选码 因为不存在非主属性对主属性的部分函数依赖 所以该范式属于第二关系范式 又因为不存在非主属性对主属性的传递函数依赖 所以该范式属于第三关系范 式 又因为所有非主属性对每一个码都是完全函数依赖 没有任何属性完全函数依 赖于非码的任何一组属性 所以此范式属于 BC 范式 4 购物车 顾客登录名 餐品名称 价格 数量 餐厅名称 证明 因为顾客登录名 餐品名称 价格 数量 餐厅名称 所以 顾客登录名是候选码 因为不存在非主属性对主属性的部分函数依赖 所以该范式属于第二关系范式 5 在线支付账单 账单编号 送餐员编号 送餐地址 送餐名称 餐品 数量 订餐人姓名 订餐人电话 证明 因为账单编号 送餐员编号 送餐地址 送餐名称 餐品数量 订餐人姓名 订餐人电话 所以 账单编号是候选码 又因为送餐员编号 账单编号 送餐地址 送餐名称 餐品数量 订 餐人姓名 订餐人电话 所以 送餐员编号是候选码 因为不存在非主属性对主属性的部分函数依赖 所以该范式属于第二关系范式 又因为不存在非主属性对主属性的传递函数依赖 所以该范式属于第三关系范 式 又因为所有非主属性对每一个码都是完全函数依赖 没有任何属性完全函数依 赖于非码的任何一组属性 所以此范式属于 BC 范式 6 餐到付款账单 账单编号 送餐员编号 送餐地址 送餐名称 餐品 数量 餐品单价 餐品总价 订餐人姓名 订餐人电话 证明 因为账单编号 送餐员编号 送餐地址 送餐名称 餐品数量 餐品单价 餐品总价 订餐人姓名 订餐人电话 所以 账单编号是候选码 又因为送餐员编号 账单编号 送餐地址 送餐名称 餐品数量 餐 品单价 餐品总价 订餐人姓名 订餐人电话 所以 送餐员编号是候选码 因为不存在非主属性对主属性的部分函数依赖 所以该范式属于第二关系范式 又因为不存在非主属性对主属性的传递函数依赖 所以该范式属于第三关系范 式 又因为所有非主属性对每一个码都是完全函数依赖 没有任何属性完全函数依 赖于非码的任何一组属性 所以此范式属于 BC 范式 7 送餐员 送餐员编号 送餐员姓名 送餐员登录名 送餐员密码 送 餐类型 证明 因为送餐员编号 送餐员姓名 送餐员登录名 送餐员密码 天津理工大学 2012 级本科专业设计 19 送餐类型 所以 送餐员编号是候选码 因为不存在非主属性对主属性的部分函数依赖 所以该范式属于第二关系范式 5 2 本章小结 数据库逻辑设计是将还没有设计出来的数据库 即还处在概念意义上面的 数据库模型设计为更适合自己系统程序的一种设计模式 而设计更全面 更规 范的关系模式将会设计出更高效率 更符合自己程序系统的数据库系统 逻辑 设计比物理设计更理论化和抽象化 关注对象之间的逻辑关系 提供了更多系 统和子系统的详细描述 天津理工大学 2012 级本科专业设计 20 第 6 章 物理设计 数据库物理设计是后半段 将一个给定逻辑结构实施到具体的环境中时 逻辑数据模型要选取一个具体的工作环境 这个工作环境提供了数据存储结构 与存取方法 这个过程就是数据库的物理设计 物理结构依赖于给定的 DBMS 和和硬件系统 因此设计人员必须充分了解所 用 RDBMS 的内部特征 存储结构 存取方法 数据库的物理设计通常分为两步 第一 确定数据库的物理结构 第二 评价实施空间效率和时间效率 6 1 物理表设计 该子模块系统使用到的表有 餐厅表 餐品表 顾客表 顾客购物车表 订单表 包括在线支付订单表和餐到付款订单表 和送餐员表 餐厅表主要收录了所有在网站系统上面注册过的餐厅信息 包括了主键餐 厅编号和外键 餐厅名称 表 6 1 餐厅表 Table6 1 Dining room table 列名数据类型是否允许为空说明 CompanyIdIntNot Null 餐厅编号 主键 CompanyLoginNameVarchar 50 Not Null 餐厅登录名 CompanyPasswordVarchar 50 Not Null 餐厅密码 CompanyNameNvarchar 50 Not Null 餐厅名称 外键 CompanyAddressNvarchar 50 Not Null 餐厅地址 CompanyTelVarchar 50 Not Null 餐厅电话 餐品表主要收录了所有餐品的信息 通过餐厅名称来进行分类 天津理工大学 2012 级本科专业设计 21 表 6 2 餐品表 Table6 2 Table of Products 列名数据类型是否允许为空说明 CompanyNameNvarchar 50 Not Null 餐厅名称 FoodNameNvarchar 50 Not Null 餐品名称 PriceVarchar 50 Not Null 价格 顾客表主要记录了在网站系统上面注册的顾客的个人信息 包括了主键用户编号和外 键顾客登录名 表 6 3 顾客表 Table6 3 Table of Custoemr 列名数据类型是否允许为空说明 CustomerIdIntNot Null 顾客编号 主键 CustomerLoginNameNvarchar 50 Not Null 顾客登录名 外键 CustomerPasswordVarchar 50 Not Null 顾客密码 CustomerEmailNvarcar 50 Null 顾客电子邮箱 天津理工大学 2012 级本科专业设计 22 购物车表主要收录了用户在网站上面购买的商品临时添加容器 一边接下来的结账操 作的简易型 表 6 4 购物车表 Table6 4 Table of ShopCar 列名数据类型是否允许为空说明 CustomerLoginNameNvarchar 50 Not Null 顾客用户名 FoodNameNvarchar 50 Not Null 餐品名称 PriceVarchar 50 Not Null 价格 NumberVarchar 50 Not Null 数量 CompanyNameNvarchar 50 Not Null 餐厅名称 在线支付订餐表是顾客选择在线支付方式进行付款后提交的订单信息 包括了主键订 单编号外键送餐员编号 表 6 5 网上支付订单表 Table6 5 Table of DistributionLinePay 列名数据类型是否允许为空说明 DistributionIdIntNot Null 订单编号 主键 StaffIdInt Not Null 送餐员编号 外键 DistributionAddre ss Nvarchar 50 Not Null 送餐地址 天津理工大学 2012 级本科专业设计 23 DistributionFoodNvarchar 50 Not Null 餐品名称 DistributionNumIntNot Null 餐品数量 GetFoodManNameNvarchar 50 Not Null 订餐人姓名 GetFoodManTelVarchar 50 Not Null 订餐人电话 餐到付款订餐表是顾客选择餐到付款方式进行付款后提交的订单信息 包括了主键订 单编号和外键送餐员编号 表 6 6 网上支付订单表 Table6 6 Table of DistributionRealityPay 列名数据类型是否允许为空说明 DistributionIdInt Not Null 订单编号 主键 StaffIdInt Not Null 送餐员编号 外键 DistributionAddressNvarchar 50 Not Null 送餐地址 DistributionFoodNvarchar 50 Not Null 餐品名称 DistributionNumInt Not Null 餐品数量 DistributionPrice Varchar 50 Not Null 餐品单价 DisatributionSumPriceNot Null 餐品总价 DistributionNum DistributionPrice GetFoodManNameNvarchar 50 Not Null 订餐人姓名 GetFoodManTelVarchar 50 Not Null 订餐人电话 天津理工大学 2012 级本科专业设计 24 送餐员表收录了公司的六位送餐员的个人信息 其中有三位是负责派送顾客选择网上 在线支付方式的任务 另外三位是负责派送顾客选择餐到付款支付方式的任务 表中包括 了主键送餐员编号 表 6 7 送餐员表 Table6 7 Table of Room clerk 列名数据类型是否允许为空说明 StaffIdInt Not Null送餐员编号 主键 StaffNameNvarchar 50 Not Null送餐员姓名 StaffLoginNameNvarchar 50 Not Null送餐员登陆名 StaffPasswordVarchar 50 Not Null送餐员密码 PayTypeNvarchar 50 Not Null顾客支付方式 6 2 数据表关系 送餐员表与订餐表之间存在的主外键关系 餐厅表与餐品表之间存在着主外键关系 顾客购物车表又与餐品表存在着主外键关系 如图 6 1 所示为本子系统模块的数据表 关系图 天津理工大学 2012 级本科专业设计 25 图 6 1 餐厅关系子系统的数据表关系图 Figure 6 1 The restaurant management subsystem of data table diagram 6 3 本章小结 本章的主要内容是在逻辑设计的基础上 设计出具有高效率 可实现的物 理数据库结构 我们在确定数据库的物理结构过程中 确认了包含下面四方面的内容 1 确定数据的存储结构 2 设计数据的存取路径 3 确定数据的存放位置 4 确定系统配置 因为在数据库的物理设计过程中需要对时间效率 空间效率 维护代价和 各种用户要求进行全方位的权衡 我们就必须要选择一个最优化的方案作为数 据库的物理结构 其实在数据库物理设计中 最有效的方式就是集中地存储和 检索对象 天津理工大学 2012 级本科专业设计 26 第 7 章 详细设计 完成以上的数据库设计之后 就要开始对程序进行详细的设计过程了 在 设计的过程中 我们需要分析餐厅系统使用者与系统交互的基本信息和本用例 中各个类中的对象之间需要交互什么信息 此外还有这些信息交互的时序关系 我们可以通过功能逻辑交互图来详细地描述用户在使用该功能时与系统交互的 信息以及各个对象相互之间传输的信息的详细情况 7 1 设计及实现 7 1 1 商家开店注册 商家如果要开店 首先得登录我们网上订餐系统的主页面 然后点击加入 我们就可以注册开店了 注册完后登录自己的餐厅 然后可以添加餐品等信息 进入餐厅后将会查看到餐品的详细信息 如图 7 1 是查询餐品信息功能逻辑顺 序图 天津理工大学 2012 级本科专业设计 27 该模块的功能主要是查询餐品的总体信息 顾客浏览之后可以进行一个购 买的操作 如图 7 2 7 3 是浏览餐厅信息和浏览餐品信息的界面 该模块的主 要代码如下 DAL 层 public class GetCompanyInformationDAL public DataTable CompanyInformation return SqlHelper ExecuteDataTable select CompanyName as 公司名称 CompanyAddress as 公司地址 CompanyTel as 公司电话 from Company public int AddCollect string CustomerLoginName string CompanyName 图 7 1 查看餐品信息的功能逻辑顺序图 Figure 7 1 Check the function of the products information logic sequence diagram 天津理工大学 2012 级本科专业设计 28 return SqlHelper ExecuteNonQuery insert into CustomerCollect values CustomerLoginName CompanyName new SqlParameter CustomerLoginName SqlDbType NVarChar Value CustomerLoginName new SqlParameter CompanyName SqlDbType NVarChar Value CompanyName public object SeclectLine string CustomerLoginName string CompanyName return SqlHelper ExecuteScalar select count CompanyName from CustomerCollect where CustomerLoginName CustomerLoginName and CompanyName CompanyName new SqlParameter CustomerLoginName SqlDbType NVarChar Value CustomerLoginName new SqlParameter CompanyName SqlDbType NVarChar Value CompanyName public DataTable selectCollectCompany string CustomerLoginName return SqlHelper ExecuteDa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车城市规划项目计划
- 2025年吉安市庐陵产业运营服务有限公司公开招聘物业经理模拟试卷及1套完整答案详解
- 客户服务质量标准与服务流程优化工具
- 2025福建福州市罗源县卫健系统事业单位招聘控制数卫技人员12人模拟试卷及答案详解(夺冠系列)
- 2025年烟台幼儿师范高等专科学校公开招聘高层次人才(2人)考前自测高频考点模拟试题及1套完整答案详解
- 2025河南郑州空中丝路文化传媒有限公司社会招聘6人模拟试卷参考答案详解
- 安全培训效果保证措施课件
- 2025年三环集团校园招聘考前自测高频考点模拟试题及答案详解(有一套)
- 昆明VR安全培训班课件
- 《世界地理历史文化讲解课程教案》
- 采血错误安全教育警示
- 教育部《中小学校园食品安全和膳食经费管理工作指引》知识培训讲座
- 2024年-2025年电梯检验员考试题库及答案
- 【初中英语】15天背完英语3500词
- 工地交通安全知识培训
- 万以内加减法单元测试练习题大全附答案
- 第4课 用联系的观点看问题 第二框
- 医疗质量医疗安全十八项核心制度培训模板
- 四年级下册心理健康教案-第二十五课 有了苦恼会倾诉-培养孩子的乐观情绪|北师大版
- DL-T5024-2020电力工程地基处理技术规程
- PICC堵管原因与再通方法
评论
0/150
提交评论