教职工食堂订餐系统的需求和总体设计--前台子系统_第1页
教职工食堂订餐系统的需求和总体设计--前台子系统_第2页
教职工食堂订餐系统的需求和总体设计--前台子系统_第3页
教职工食堂订餐系统的需求和总体设计--前台子系统_第4页
教职工食堂订餐系统的需求和总体设计--前台子系统_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教职工食堂订餐系统需求和总体设计教职工食堂订餐系统需求和总体设计 前台子系统前台子系统 目录目录 1系统需求分析 2 1 1系统总体业务流程系统总体业务流程 2 1 2系统功能需求系统功能需求 3 1 3系统其它需求系统其它需求 5 2前台子系统的总体设计 6 2 1MVC 设计方法介绍设计方法介绍 6 2 2系统整体架构系统整体架构 8 2 3前台子系统功能模块设计前台子系统功能模块设计 9 2 4前台子系统总体页面设计前台子系统总体页面设计 9 2 5数据库设计数据库设计 10 2 5 12 5 1数据库概念结构设计数据库概念结构设计 10 2 5 22 5 2数据库逻辑结构设计数据库逻辑结构设计 11 2 6开发运行平台选择与分析开发运行平台选择与分析 14 1 1系统需求分析系统需求分析 1 1系统总体业务流程系统总体业务流程 图1 教职工订餐系统客户端流程图 从图1来看 前台子系统主要分为五大模块 查询今日菜单模块 留言板模 块 购物车模块 注册登录模块 用户中心模块 图2 教职工订餐系统管理端流程图 从图2来看 后台子系统主要分为七个模块 审查注册员工资格 菜单管理 今日菜单管理 推荐菜管理 信用度管理 订单打印和账单打印 1 2系统功能需求系统功能需求 这里只对订餐系统的前台子系统五个模块即查询今日菜单模块 留言板模 块 购物车模块 注册登录模块 用户中心模块和后台子系统部分的审查注册 员工资格模块进行分析 其具体如下 1 2 11 2 1 查询今日菜单查询今日菜单 1 任何用户登录网站即可以直接查询今日菜单 但是登录之后才能购买各 种食物 2 饮料订购快速窗口 直接查看饮料信息 3 炒菜订购快速窗口 直接查看炒菜信息 表1 查询今日菜单模块功能表 序号功能列表功能明细 1查询今日菜单查看今日菜单全部 点击单个食物可以查看详细信息 2饮料速订查看今日菜单后 可以只查看饮料信息 3炒菜速订查看今日菜单后 可以只查看炒菜信息 1 2 21 2 2 留言板留言板 1 任何人登录网站都能查看 回复全部留言和签写新留言 2 管理员登陆时可以删除留言 表2 留言板模块功能表 序号功能列表功能明细 1查阅留言可以查看所有留言内容 留言者 留言时间 点击GO按钮可以查看 指定页的留言 2回复留言点击回复 填写回复内容即可回复该条留言 3签写新留言输入昵称 邮箱 留言内容 点击提交即可留言 4删除留言当管理员登陆时点击删除留言才能操作成功 1 2 31 2 3 购物车模块购物车模块 1 将选中的食物放入购物车 2 浏览购物车 3 取消购物车中的某一件食物 4 继续购买 5 清空购物车 6 订餐 表 3 购物车模块功能表 序号功能列表功能明细 1将事物放入购物车在浏览今日菜单 饮料 炒菜或者查看单件事物的详细信息时 单 击购买标识 就可以把事物加到购物车中 2浏览购物车显示购买的食物名称 购买的食物数量 食物单位价格 每种食物 的总价 所有食物总价 3取消购物车中的食物从购物车中取消某一种食物 单该事物数量大于一时 则减少该 食物数量1 4继续购买继续往购物车里添加食物 5清空购物车把购物车中的商品全部拿出 6订餐正确的填写送餐时间和送餐地址后点提交订单即可订餐 晚上7 点后不允许订餐 当天只能订当天的餐 1 2 41 2 4 注册登录注册登录 1 新用户注册 填写正确的注册信息 等待管理员审查 2 通过审查的用户登录 表 4 注册登录模块功能表 序号功能列表功能明细 1用户注册用户填写正确的信息申请注册 待账号通过管理员的审核以后才 能使用该注册账号进行登录 2用户登录用户输入用户名和密码进行验证 1 2 51 2 5 用户中心用户中心 1 用户信息修改 2 用户密码修改 3 订单管理 4 用户注销 表 5 用户中心模块功能表 序号功能列表功能明细 1用户信息修改编辑并保存用户的注册信息 2用户密码修改修改登录密码 3订单管理查看当前拥有订单信息和状态 在送餐之前可以取消不想要的订 单 距离订餐时间30分钟内取消订单则会扣除该用户信用度一分 4用户注销用户注销 1 2 61 2 6 管理员审查注册员工资格管理员审查注册员工资格 1 查看待审查注册员工信息 2 通过该员工注册 3 放弃该注册员工 表 6 管理员审查模块功能表 序号功能列表功能明细 1查看待审查注册员工 信息 查看待审查注册员工详细信息 2通过注册员工通过电话或者邮件的方式确认注册员工的信息是否属实 信息正 确则通过注册 该系统不对外开放 3放弃注册员工放弃该注册人员 1 3系统其它需求系统其它需求 1 3 11 3 1 系统扩展性要求系统扩展性要求 系统的运行将为以后的学生食堂在网上运行提供宝贵的经验 所以 对于系 统功能的扩充要求比较高 系统后期的升级才能顺利方便 这就要求在建立系统 的构架和设计系统时 一定要注意系统的可扩展性 而且现在很多项目开发是分 期进行的 暂时准备的扩展有一些比较高级的功能 比如系统向用户提供收藏夹 模块功能 用户可以把喜欢吃的食物收藏起来 下次购买时可以直接生成订单 还 有网上充值和结账模块 使订餐的全程除了送餐外 全部实现在网上 达到真正的 网络化 1 3 21 3 2 时间特性要求时间特性要求 1 在用户执行添加删除食物 取消订单等操作的时候 在运行环境规定的 条件下 单次操作的响应时间要求在 3 秒钟之内 2 系统同时上线人数不超过数据库承受能力时 相应速度不应超过 3 秒 1 3 31 3 3 错误处理要求错误处理要求 1 在用户输入一些不合理的数据的时候 能够进行合理的提示信息 并且 正确处理跳转逻辑 不能因为输入错误而导致系统的错误 或者程序停止运行 2 程序运行时 对服务器和网络通信故障能够识别并提示 当故障排除 后 程序恢复正常运行 3 数据库要求有备份机制 以防止数据在意外情况下丢失 1 3 41 3 4 安全需求安全需求 数据库安全 数据库级备份和恢复 数据库级用户进行角色和权限授权 使得在异常情况发生时 系统可以得以快速恢复 避免数据的丢失或将其影响 降到最低限度 同样 要保证存储过程中数据不被非法访问和篡改 应用系统的安全 通过对用户的身份鉴别 并实施相应的访问控制策略后 系统之分普通教职工用户和管理员 特殊操作如更改或删除数据库的操作必须受 到严格的权限限制 以保证系统的正常运行 2 2前台子系统的前台子系统的总体设计总体设计 2 1MVC 设计方法介绍设计方法介绍 图 3 MVC 组件类型的关系和功能 8 MVC 英文即 Model View Controller 即把一个应用的输入 处理 输出流 程按照 Model View Controller 的方式进行分离 这样一个应用被分成三个层 模型层 视图层 控制层 视图 View 代表用户交互界面 对于 Web 应用来说 可以概括为 HTML 界面 但有可能为 XHTML XML 和 Applet 随着应用的复杂性和规模性 界面的处 理也变得具有挑战性 一个应用可能有很多不同的视图 MVC 设计模式对于视 图的处理仅限于视图上数据的采集和处理 以及用户的请求 而不包括在视图 上的业务流程的处理 业务流程的处理交予模型 Model 处理 比如一个订单的 视图只接受来自模型的数据并显示给用户 以及将用户界面的输入数据和请求 传递给控制和模型 模型 Model 就是业务流程 状态的处理以及业务规则的制定 业务流程的 处理过程对其它层来说是黑箱操作 模型接受视图请求的数据 并返回最终的 处理结果 业务模型的设计可以说是 MVC 最主要的核心 目前流行的 EJB 模 型就是一个典型的应用例子 它从应用技术实现的角度对模型做了进一步的划 分 以便充分利用现有的组件 但它不能作为应用设计模型的框架 它仅仅告 诉你按这种模型设计就可以利用某些技术组件 从而减少了技术上的困难 对 一个开发者来说 就可以专注于业务模型的设计 MVC 设计模式告诉我们 把 应用的模型按一定的规则抽取出来 抽取的层次很重要 这也是判断开发人员 是否优秀的设计依据 抽象与具体不能隔得太远 也不能太近 MVC 并没有提 供模型的设计方法 而只告诉你应该组织管理这些模型 以便于模型的重构和 提高重用性 我们可以用对象编程来做比喻 MVC 定义了一个顶级类 告诉它 的子类你只能做这些 但没法限制你能做这些 这点对编程的开发人员非常重 要 业务模型还有一个很重要的模型那就是数据模型 数据模型主要指实体对 象的数据 保存 持续化 比如将一张订单保存到数据库 从数据库获取订单 我们可以将这个模型单独列出 所有有关数据库的操作只限制在该模型中 控制 Controller 可以理解为从用户接收请求 将模型与视图匹配在一起 共 同完成用户的请求 划分控制层的作用也很明显 它清楚地告诉你 它就是一 个分发器 选择什么样的模型 选择什么样的视图 可以完成什么样的用户请 求 控制层并不做任何的数据处理 例如 用户点击一个连接 控制层接受请 求后 并不处理业务信息 它只把用户的信息传递给模型 告诉模型做什么 选择符合要求的视图返回给用户 因此 一个模型可能对应多个视图 一个视 图可能对应多个模型 图 4 MVC 的分工与协作 模型 视图与控制器的分离 使得一个模型可以具有多个显示视图 如果 用户通过某个视图的控制器改变了模型的数据 所有其它依赖于这些数据的视 图都应反映到这些变化 因此 无论何时发生了何种数据变化 控制器都会将 变化通知所有的视图 导致显示的更新 这实际上是一种模型的变化 传播机制 模型 视图 控制器三者之间的关系和各自的主要功能 如图 3 所示 2 2系统整体架构系统整体架构 通过对系统的需求分析 确定了整个系统为一个WEB系统 采用的是MVC模 式进行网站的开发 在这个系统中使用的Web Server是Tomcat 6 0 DBMS 数据库 管理软件 是SQL Server 2000 并且使用Microsoft提供的JDBC驱动程序 基于 MVC模式的WEB项目的优点在上一节中已经介绍过了 在知道了 Jsp Servlet Javabean分别在MVC模式中的角色和功能后 这里对网站的整体 构架做一个详细描述 工作流程为 a Web客户机向Web服务器发出请求 b Web服务器把这一请求转送给控制器Servlet c Servlet对JavaBean进行必要的操作 d 控制器把处理结果转发给JSP视图 e JSP视图对模型进行格式化以备显示 并把HTML结果回送给Web服 务器 f Web服务器再把信息回送给Web客户机 图5 系统构架图 2 3前台子系统功能模块设计前台子系统功能模块设计 前台子系统的功能模块图如下 图 6 前台子系统功能模块图 1 登录注册 教职工用户注册为系统用户 登录使用该系统 2 查询今日菜单 任何用户都可以查询今日菜单 点击按钮则显示今 日菜单 3 购物车 用来临时保存登录用户所购买的物品 用户可以对购物车 内的物品进行添加删除清空等操作 确认购买后 可以提交订单 4 用户中心 用户登录后可以修改自己的注册信息 密码 查看自己 的订单状态和信息 并且可以退出系统 5 留言板 任何用户均可查看留言 并且允许签写新留言和回复留言 用于普通用户和其他用户交流 与管理员的交互和管理员用户进行答疑等 管理员用户可以删除任何留言 2 4前台子系统总体页面设计前台子系统总体页面设计 1 页面框架 开发一个网站 好的界面风格和页面框架是非常重要的 特别是对电子商务 网站如本食堂订餐系统更需要有好的 门面 本系统采用的是比较传统的框 架 如图 7 所示 图 7 页面框架 可以看到 页面包含三个部分 最上面是菜单部分 下面的左边部分是一个固 定页面 右边部分包好了根据不同的页面显示的内容 所有页面都直接套用该框 架 2 页面风格 对于本系统来说 网站的美观是用户订餐的一种胃口的保证 是吸引顾客的 重要因素之一 所以一般需要在页面里面制作专业的图片和动画 本系统中的头 部和左边都有一个精美而且实用的 FLASH 动画 分别为 top swf 和 menu swf 增 加了页面的美感 同时在页面的整体风格上 定义了两个统一的式样单 style css 和 web css 2 5数据库设计数据库设计 2 5 12 5 1 数据库概念结构设计数据库概念结构设计 前台子系统以及管理员审查模块的 ER 图如下 图 8 前台子系统部分模块 E R 图 教职工实体的主要属性 教职工号 用户名 密码 性别 联系电话 办 公室地址 单位 信用度 待审查教职工名单实体的主要属性 教职工号 用户名 密码 性别 联 系电话 办公室地址 单位 管理员实体的属性 编号 用户名 密码 真实姓名 电话 菜谱实体的属性 食物编号 食物名 类型 描述 图片 价格 是否为 今日菜 购物车实体的属性 食物名 食物数量 总价格 订餐人 送餐时间 送餐地址 订单实体的属性 订单号 食物名 单个食物价格 食物数量 订餐用户 送餐 时间 送餐地址 留言的属性 留言编号 IP 留言者邮箱 留言时间 留言内容 回复内 容 回复时间 昵称 2 5 22 5 2 数据库逻辑结构设计数据库逻辑结构设计 以下仅对重要的表进行列举和分析 表 7 教职工信息表 userInfo 字段名称字段名称中文描述中文描述数据类型数据类型非空非空缺省值缺省值备注备注 userId 用户编号 int 4 YPK userName 用户名 varchar 20 Y userSex 性别 char 8 Y userPwd 密码 varchar 16 Y userTel 电话 char 11 Y userAd 地址 Varchar 50 Y userDepartment 工作部门 Varchar 50 Y 为送餐地址的默认值 Feedback 信用度 int 4 Y4 信用度小于 1 时注销账户 说明 用户使用 userName 和 userPwd 进行登录 userTel 将作为管理员与用 户取得联系的重要方式 其他信息用于管理员进行身份审核时对照只用 信用度每 个人初始为 4 以后根据规则 信用度将会调整 当信用度小于 1 时 该用户将被取 消订餐功能 userDepartment 将为以后的送餐地址提供默认值 表 8 菜单表 Menu 字段名称字段名称中文描述中文描述数据类型数据类型非空非空缺省值缺省值备注备注 menuId食物编号Int 4 YPK menuName名称varchar 20 Y menuType类型varchar 20 menuDescribe描述varchar 50 Y menuPicture图片varchar 50 Y menuPrice价格varchar 50 Y istoday是否今日菜Int 4 Y00 为非今日菜 1 为今日菜 说明 menuId 作为一个菜的唯一标识 menuType 只能是荤菜 素菜 凉菜 饮 料 米饭 便于在今日菜单中进行菜品分类 menuPicture 保存的是图片的路径 istoday 作为一个标识 当管理员添加一个菜的时候 默认是没有在今日菜单上的 当管理员发布了之后 该属性值就为 1 表 9 留言信息表 Messages 字段名称字段名称中文描述中文描述数据类型数据类型非空非空缺省值缺省值备注备注 id留言编号int 4 YPK ipIP 地址varchar 50 Y email邮箱varchar 50 time留言时间varchar 50 Y content留言内容varchar 50 Y restores回复内容varchar 50 restore time回复时间varchar 50 xm姓名varchar 50 说明 id 为留言的唯一标识 ip 记录了留言者的 IP 地址 time 自动保存提 交留言的时间 content 为留言内容 而 restores 作为一个留言的属性 表示一 条留言只能有一条回复 如果多次回复 回复内容将会覆盖 之保存最后一天回复 内容 回复时间 restore time 也是只保留最后一条回复的时间 表 10 订单信息表 Orders 字段名称字段名称中文描述中文描述数据类型数据类型非空非空缺省值缺省值备注备注 Id 菜品标识 int 4 Y PK orderId 个人订单编号 int 4 Y goodName 食物名 varchar 50 Y goodPrice 食物价格 varchar 50 Y goodNum 食物数量 int 4 Y username 订餐者 varchar 50 Y RoomAddress 送餐地址 varchar 50 Y orderTime 送餐时间 varchar 50 Y 说明 该表的设计为一个重点 Id 作为主键 标识订单上的某一个食物 以 便控制以后扩展功能时对单个食物的控制 orderId 作为一个用户特有的订单 号 从 1 开始 即每个用户都可以有从 1 开始的订单号 userName 表示订餐人 所以一个订单由 orderId 和 userName 共同决定 在一个表中 userName 相同 并且 orderId 相同的菜属于同一张订单 一个人可以有多张订单 如图 图 9 orders 表图 用户 liyanhu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论