2019年餐饮业pos销售管理系统管理信息系统课程设计23组-MIS课程设计实验报告.doc_第1页
2019年餐饮业pos销售管理系统管理信息系统课程设计23组-MIS课程设计实验报告.doc_第2页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

1、管理信息系统课程设计题目项目组编号23专业班级12信管2班项目组成员蔡超敏201230560202梁惠兰/I201230560213林耿佳201230560214卢少壮201230560217文档编制日期2015.6指导教师邓成剑MIS 课程设计开发文档i课程设计成绩评分表(1 1)个人表现 20%20%角色项目经理分析员架构师程序员测试员姓名蔡超敏林耿佳蔡超敏卢少壮梁惠兰/I评分(2 2)文档评分 40%40%指标权重评价评分A (优秀)B (良好)C (一般)结构20 分包含开发主要阶段,结构 合理,前后连贯,结构合 理包含开发主要阶段,前后 较连贯,结构较合理缺少部分阶段文档,前后 缺乏

2、关联,结构较混乱内容40 分内容涉及开发各阶段重要 工作;详略得当;模型文 字配合;囊括系统主要功 能;与项目结合紧密内容涉及开发各阶段大部 分重要工作;详略基本得 当;重要模型未辅以文字 说明;涉及系统基本功 能;与项目结合较紧密;缺少分析与设计重要工 作;内容较少;绘制了基 本模型;忽略系统重要功 能;有较多项目无关内容质量40 分语言精炼;模型选用合 理;模型绘制规范清晰; 模型关联性强语言较精炼,模型选用基 本合理;模型绘制较规范 清晰,模型之间有关联拼凑文字;没有建模或模 型不规范;模型之间缺乏 关联(3 3)程序评分 40%40%指标权重评价评分A (优秀)B (良好)C (一般)

3、架构10 分使用了常见 JavaEE 框架,选 用了UI 框架选用个别框架;采用DAO 及 MVC 模式未使用框架;单纯 JSP 页 面;分层不合理基础 数据30 分实现了所有基础数据管理; 包含了必要字段;选用合适 组件;有格式校验实现了主要的基础数据 管理;选用了较合适的 组件;部分格式校验实现部分基础数据管理, 只选择文本框,未做格式 校验业务功能30 分实现完整的业务流程;读取 基础数据;选用合适组件; 实现 1 对 n 或n 对 m ;流程 活动间有逻辑关联实现较完整的业务流 程;读取大部分基础数 据;基本实现 1 对 n 或 n 对 m; 流程活动间有一 定关联实现了单个活动;较少

4、读 取基础数据;较多使用文 本框录入数据;活动之间 缺乏逻辑关联权限10 分使用安全框架实现自定义权 限按角色分配权限简单权限查询10 分实现了多条件组合查询功 能,查询结果能进一步操作实现多条件组合查询实现单条件简单查询MIS 课程设计开发文档i报表10 分使用报表工具,实现分类汇 总统计报表使用报表工具,实现简 单数据统计报表未使用报表工具,实现列 表并能汇总统计目 录1 引言. 21.1 项目设想.21.2 开发计划.21.3 技术路线.32 需求分析.32.1 业务建模.32.2 需求规格说明 .52.3 补充性规格说明 . 102.4 系统顺序图与操作契约 .113 架构设计.123

5、.1 软件架构设计 . 124 详细设计.144.1 用例实现设计.144.2 输入输出设计.154.2.1 表单设计. 154.2.2 报表设计. 154.3 数据库设计.164.4 权限设计.195 系统实现.215.1 功能实现.215.2 系统测试.215.2.1 单元测试. 215.2.2 用例测试. 235.3 系统部署.296 项目总结.30MIS 课程设计开发文档21 引言1.1项目设想A.系统展望。任何企业、公司甚至小型商店等都想时刻掌握他们日常的经营情况,以此来分析制定战略, 寻求更好的发展机会,餐饮业也不例外。我们小组经过一系列的讨论后,决定开发一个可应用于 餐饮业的 p

6、os 销售管理系统,主要用户为收银员、系统管理员(经理)、仓库主管、系统维护员 等,不同角色有不同权限。开发这个项目,我们的基本目标是通过该pos 机系统,营业人员可以随时掌握该餐厅(饭店、快餐店)日常营业情况以及统计营业额、各种菜式受欢迎程度,顾客消费情况以及打印报 表,从而可以为未来发展作出正确决策和规划。该pos 机系统可支持前台收银、会员消费、销售管理、营业收入统计、打印小票等功能。B.系统特性。员工及用户基本信息的设置与修改(员工需登录账户密码方可进入系统进行操作);用户角色等级的修改管理;食物产品信息(包括编号,名称,金额等)的输入;食物样式/类别的增删改减;处理查询某种食物的销售

7、情况;查询打印票据;统计报表,分析并打印出报表;特殊用户 及员工资料的登记与修改。1.2开发计划A.团队成员项目经理:蔡超敏,负责整个项目的进度安排以及协调各方面工作,保证项目正常进行 分析员: 林耿佳,负责项目的需求分析,对系统各功能进行定义架构师:蔡超敏,主要负责整个项目的架构搭建和代码编写程序员:卢少壮协助架构师完成项目代码的编写测试员:梁惠兰对各个模块的代码进行测试,完成测试文档B.项目进度。主要以老师给出的迭代周期以及任务为主,在每个迭代周期中合理安排工作,制定计 划,分析需求,搭建框架,编写代码,测试代码,完成测试文档以及整个项目的文档撰写。 并且留有一定控制时间。C.风险控制1.

8、项目需求分析难度较大,可能达不到预期的目标需求,在现阶段整个项目的构想都还在处于 不确定阶段,所以我们需要经过小组不断沟通交流,保证对项目理解一致2.项目成员工作混乱,导致进度落后。项目经理要跟进成员工作情况,定时召开小组会议,进 行每一阶段的工作报告以及总结不足之处3.项目测试不严谨,导致提交演示时出现差错。测试员应保证与架构师充分沟通,了解代码的 由来,同时项目经理应监督测试员进行有效的测试,完成测试文档。MIS 课程设计开发文档31.3技术路线使用(Struts2 + Spring3 + Hibernate42 需求分析2.1业务建模业务建模(Business Modeling)对领域内

9、企业管理和业务对象进行建模。包括业务 流程建模和领域建模。业务流程建模描述系统内各单位、人员之间业务关系、作业顺序 和管理信息流向。领域建模是从现实的问题域中找到最有代表性的概念对象,抽象成分析类。A.业务流程建模。销售收银活动图退货活动图)全注解 + EasyUI1.3MIS 课程设计开发文档4涉众:顾客,收银员,pos 机系统,授权服务B.领域建模。使用UML类图构建领域模型MIS 课程设计开发文档52.2需求规格说明需求规格说明书(Software Requirements Specification)描述了系统的功能需求。构建系统用例模型描述功能需求。A.系统用例图。Systemi .

10、extend a pf处連壊全盍_ -ci-ikrcHOde- MIS 课程设计开发文档6B.用例详述文本。对所有业务活动用例 采用详述风格(包括前置条件、后置条件、主事件流,扩 展、业务规则等)进行描述。用例 UC1:处理销售范围:FD POS 应用主要参与者:收银员涉众极其关注点:收银员:希望能够准确、快速地输入顾客所点餐品编号,而且没有输入错误以及其他意外。顾客:希望以最小代价完成点餐活动并得到快速服务。希望便捷、清晰看到所点餐品的项目和价 格。餐饮店:希望准确地记录交易,满足顾客要求。希望有一定的容错性,即使在某些服务器构件不可 用时,也能完成销售。希望能够自动、快速地更新账务信息和库

11、存信息。经理:希望能够快速执行超控操作,并易于更正收银员的不当操作前置条件:收银员必须经过登录和验证。成功保证:存储销售信息。系统自动记录销售时间。系统显示总金额。主成功场景:1.顾客到前台点餐并通过 POS 机付款。2.收银员开始一次新的销售交易。3.收银员输入顾客所点餐品编号。4.系统逐条记录出售的餐品,并显示该餐品的描述、类别、价格以及数量。收银员重复 34 步,直至输入结束。5.系统显示总金额.6.收银员告知顾客总金额,并等待付款.扩展:*a.经理在任意时刻要求进行超控操作:1. 系统进行经理授权模式。2. 经理或收银员执行某一经理模式的操作。例如取消销售交易。3. 系统恢复到收银员授

12、权模式。*b.系统在任意时刻失败1. 收银员重启系统,登录,请求恢复上次状态。2. 系统重建上次状态2a.系统在恢复过程中检测到异常1. 系统向收银员提示错误,记录此错误,并进入初始状态。_2.收银员重新开始一次新的销售交易。1a 顾客或经理需要恢复一个中断的销售交易。1. 收银员执行恢复操作,并且输入订单号以获得相应的销售交易2. 系统显示被恢复的销售交易状态以及合计。2a.未发现相应的销售交易。1系统向收银员提示错误。MIS 课程设计开发文档72收银员重新开始一个新的销售交易,并重新输入所有商品。3收银员继续该销售交易(可能是输入更多的餐品或者删除餐品)2- 6a.顾客告诉收银员其手机号码

13、,要求进行会员消费1.收银员输入该顾客的手机号码,进行核实2系统显示会员打折规则并记录(在计算总金额时使用)3a 餐品 ID 在 pos 系统未发现(无效)1.系统提示错误并拒绝收银员输入餐品ID,收银员尝试使用其他方式。1a.系统内没有该餐品 ID,但是菜单上有该餐品的价格1. 收银员请求经理执行超控操作。2. 经理执行相应的超控操作。3. 收银员手动输入价格。3b.当一种餐品的数量多于一时,收银员可直接添加该餐品的数量而不是记录每个餐品的唯一标识。3- 6a.顾客要求收银员从所点餐品中去掉某一项1. 收银员输入餐品 ID 并将其删除。2. 系统删除该项目后并显示更新后的累计额3-6b.顾客

14、由于特殊原因要求收银员取消销售交易。1.收银员在系统中取消本次销售交易。3-6c .顾客临时有事(例如等待朋友一起点餐),要求延迟销售交易。1.系统记录该销售交易信息,以便随时可以恢复操作。5a 系统出现故障,无法显示总金额。1.收银员进行重启系统服务,并继续操作。I1a.重启服务失败1.收银员手工计算餐品总金额或使用其他方式计算总金额。6a 顾客要求使用现金(信用卡)支付,发现现金(信用卡余额)不足无法付款。1. 顾客要求收银员取消本次销售交易,收银员取消本次销售交易。2. 顾客要求使用其他方式付款。6b.顾客要求添加一项餐品项目。1.收银员返回到第三步,重新输入顾客所添加的餐品编号ID。特

15、殊需求:使用大尺寸平面显示器触摸屏UI。文本信息可见距离为 1 米。支持文本显示的国际化语言。收银员有权限可返回到上一步骤重新进行销售交易技术与数据变元素:*a.经理进行操控操作时需要进行登录验证。3a 餐品 ID 可用键盘输入。发生频率:可能会不断发生。未决问题:MIS 课程设计开发文档8当餐饮店有特价商品或促销活动时,应如何重新定制系统餐品价格规则?用例 UC2 收银范围:FD POS 应用主要参与者:收银员前置条件:收银员必须经过登录和认证身份后置条件:存储销售交易信息,确定一个订单号对应一笔销售交易。准确计算销售总价和折扣。更 新账务和库存信息。生成票据主成功场景:1.顾客点餐完毕,收

16、银员根据该销售订单进行结账操作2.系统显示应付总金额,收银员告知顾客并等待顾客付款3.顾客付款,系统处理支付4.系统记录完整的销售信息,并将销售和支付信息发送到外部的账务系统和库存系统。5.系统打印票据6.顾客携带票据等待领取餐品就餐扩展:*a经理在任意时刻要求进行超控操作:1系统进行经理授权模式。2.经理或收银员执行某一经理模式的操作。例如取消处理支付。3系统恢复到收银员授权模式。*b.系统在任意时刻失败1收银员重启系统,登录,请求恢复上次状态。2系统重建上次状态2a.系统在恢复过程中检测到异常1.系统向收银员提示错误,记录此错误,并进入初始状态。2收银员开始一次新的销售交易。2-3a.顾客

17、发现现金不足,无法付款:1.顾客要求取消本次销售交易,收银员在系统上取消该销售交易2. 顾客要求使用其他方式支付2a.顾客使用信用卡支付:1. 顾客输入信用卡密码。2. 系统显示支付信息以验证。3. 收银员确认。4. 系统向外部的支付授权服务系统发送请求5. 支付授权服务系统批准该支付,系统收到回答并提示收银员3b.系统崩溃,1. 无法开始处理支付消息,收银员重启系统服务,继续操作1a.重启服务失败”收银员向经理请求超控操作,重新开始一次销售交易2. 系统处理支付事件时出现故障,无法计算(显示)找零金额2a.收银员重启系统服务,继续操作1.重启失败,收银员手工计算找零金额MIS 课程设计开发文

18、档93c.pos 机无法自动弹出现金抽屉1收银员手工开启现金抽屉,若无法手工开启,则请求经理执行超控操作3d.现金抽屉里零钱不足,无法给顾客找零1收银员询问顾客是否有零钱支付或者是否使用其他方式付款2收银员从其他现金抽屉里取出零钱,给顾客找零2a所有现金抽屉均没有足够的零钱,收银员通知经理,经理及时补充零钱3e 顾客要求使用会员卡消费或声称他们符合某种优惠条件(例如,会员卡账户积分达到一定程度可以享受打折优惠)1.收银员向系统提示打折请求2.收银员输入顾客手机号码或会员卡ID 确认身份3.系统按照打折规则显示折扣总计(若为兑现积分,则在打折的同时扣除结余积分)5a 打印票据时出现问题1.系统检

19、测出错误,给出提示2.收银员更换纸张3.收银员请求打印其他票据用例 UC3:退货范例:FD POS 应用主要参与者:收银员涉众及其关注点:收银员:希望能准确、快速的完成退款,并且不会发生退款错误的情况。顾客:希望能够退货并取回相应退款金额。餐饮店:希望能够准确地记录交易,希望确保记录了退货情况。经理:希望能够快速执行超控操作,并易于更正收银员的不当操作。前置条件:收银员必须通过确认和认证,购物小票经过确认。后置条件:存储退货信息。准确计算退货总额。更新财务和库存信息。更改销售量。生成相应退票票据主成功场景:1. 顾客携带票据到收银台退货,提出退货要求。2. 收银员接受顾客提供的点餐票据,进行核

20、对信息。4. 核查后录入销售单号,并选择退货商品。5. 系统显示退货总额,收银员提交退货申请。6. 系统接受退货申请,修改库存和登记订单。7. 收银员根据退货单向顾客返还相应的现金,并打印退货单。扩展:*a.经理在任意时刻要求进行超控操作:1. 系统进入经理授权模式。MIS 课程设计开发文档102. 经理或收银员执行某一经理模式的操作。3. 系统恢复到收银员授权模式。*b .系统在任意时刻失败:为了支持恢复处理,要保证所有交易的敏感状态和事件都能够从场景的任何一步中完全恢复。3a.不允许退餐:1.票据里的餐品与顾客实际要求退货的餐品不符,拒绝顾客退货要求。4a.退货信息录入错误,经理向系统取消

21、退货操作,并重新进行退货操作:6a.打印退货单。1. 如果系统能够检测到错误,给出提示。2. 收银员更换纸张。3. 收银员请求打印其他票据。业务规则:ID规则可变性来源规则 1购买者折扣规则:会员价:10%折扣额 员工价:15%折扣额 一般顾客:无折扣高每个餐饮店有不同的规则餐饮业规则规则 2会员卡积分规则:积分 100 以上:享受会员价后再打九折的优惠积分 200 以上:享受会员价后再打八折的优惠更高的积分同 200 及以上一样享受同等优惠,不设更高打折优惠高每个餐饮店有不同的规则餐饮业规则2.3补充性规格说明补充性规格说明补货并确定其他类型的需求,如可靠性(如10000人并发访问)、可用性

22、(如1米外轻松看到文本)、接口(如支持钱箱、支持网银支付接口) 等。也可以包括其他跨越多个用例的功能性需求如报表、安全性、日志和错误处理、数 据备份、数据导入导出等。可用性:在 1 米外轻松可看到文本可靠性:可允许多人同时访问该系统;需要体现出系统的稳定性以及反应速度。支持定时进行数据备份(防止系统崩溃时数据丢失);功能性:日志与错误处理(在持久性存储中记录所有错误)安全性(使用系统必须经过用户认证)MIS 课程设计开发文档11权限管理(不同用户有不同的使用管理权限)可插拔规则(在几个用例的不同场景点执行任意一组规则,以支持对系统功能的定制。) 可对系统任意时刻数据进行查询;可导入导出系统数据

23、以及打印报表等可支持性:1. 可适应性:不同客户在处理销售时有其特有的业务规则和处理需求。因此,在场景中的几个预定 之处(如开始新的销售交易时,增加新的商品时),需要能够启用可插拔的业务规则。2. 可配置性:系统可适应快餐店对其POS 系统的不同的网络配置需求。实现约束:使用 java 程序设计语言接口:1. 重要硬件和接口:触摸屏票据打印机信用卡读卡器2. 软件接口需要采用不同接口,接入不同系统(账务、库存等)所关注的领域内信息1. 定价食物餐品的价格根据市场价格定价。2. 编码可参考都城快餐店的编码来进行编码。2.4系统顺序图与操作契约系统顺序图(SSD 针对用例的一个特定场景,阐述从参与

24、者到系统的跨越系统边界的事件制 品,便于设计阶段为类分配职责。操作契约(Co ntract of Operatio n)定义了重要系统事件对领域模型内对象状态的变化。A.A.系统顺序图。/::rrjori Lt-ms;严N en ter Item temED . cjumird ty)-:3- ; deszr-ipitior-irtnotailt4a,*.4:斗二mdfSqlu1*MIS 课程设计开发文档125 zvrratsn IllfcsaTTiCJiLjn Lj._ TJ6 :.rreceipt;B.操作契约。选择系统顺序图中复杂的系统事件编写操作契约。操作:enterltems(ite

25、mlD:ItemID, quantity:integer)交叉引用:用例:处理销售前置条件:正在进行中的销售后置条件: 创建了SalesLineltem的实例sli(创建实例)。Sli.quantity被赋值为quantity(修改属性)。sli被关联到当前的Sale(形成关联)。基于itemID的匹配,sli被关联到ProductDescription(形成关联)3 架构设计3.1软件架构设计软件架构文档(SAD)描述了软件类的宏观组织结构A.软件分层。MVC 三层模式:表示层:表示层向上对用户服务,向下接受来自业务逻辑层的服务。表示层为在应用过程之间传送的信息提供表示方法的服务,主要是用户

26、与之交互的界面,pos 的基础数据的增删该查。商品销售,销售退货,修改密码的界面:业务逻辑层:处于数据访问层与表示层中间,起到了数据交换中承上启下的作用,实现 pos 系统各种数据的处理。数据持久层:对数据持久化操作的应用层,封装并对外提供操作数据库的服务。实现DAO 模式,多个 XXDao 继承同一个 HlbernateDao 基类,编写一个服务类XXServeice间接对数据进行操作。MIS 课程设计开发文档13B.命名规范。说明各层接口设计及相关接口及实现类的 命名规范;J :坷 FPOESYSTEM FPOSSYSTEM master 鼻src带* orgscauintfoipo.ac

27、tion手 org.scauinfoHfpos.action.impl :卜 org.scajinfo.fpoShdao.+ - ong.scauinfo.fpos.dao.innpl. - org.sc3uiMo.fpo5.model ;* org,scauinfoJpos,serviceForgnscauinfoiposervice.irripl 手 org.scauinfoipos.util”-org.scauinfojposnvo 幣 applicationContext.xrril 鬭 lag4jPpropertiesO struts,xmlB J RE System Library

28、 赳 JSTL 1.2.2 Library己 Spring 3,11 Libraries 三 Spring Security 3.1.0&.Spring 23.1 Web Flow K Struts 2.1 LibrariesHibernate 4.1.4 Librariesu Referenced Librariesp docJL WebRoot & META-INF:万 resources & WEB-INF“弓 discountjsp出 foodTypejsp indexjspf insheadjspI/Jlogin-jspill memberjspif* mem

29、berpermisdonjsp monthReport.jsp permissionjspfpnoductjsp ifproductTypeJsp1resourceJsp.fj saleorderjsp saleStatisticsJp讥 tableplatejspC.架构相关设计模式MIS 课程设计开发文档14DA( Service Actionmodel vo util4 详细设计4.1用例实现设计类图:Register-currentSale Sale+mAkNewSaleQ-4-enterItemd 2 Itemld; quantity: int) -FendSaleO+makePay

30、TTie-ntitanriountsMoney)Itemld-id: intProd uceCata log+getProductDescription0d: Itemld): ProductDescriptJronMon ey-amount: double4-tjnes(quaini3t): Money +minus(totakMe?ncy): Money -Hadd(subtotal Money) 3MoneyPaym*ent-amount: Morey用例顺序图:MIS 课程设计开发文档151: entsrltBmfd Itemld, quantitY:int): vaidi:3:idw

31、c斗:makEDn电ltsm倒曰讣Podigfes口ipg:rj: quantitY:: mt): void:gm凸ubiatalQ: Mcg7 : gesProdiJctDeBcnplionfld: Its mid.) produrtDesoipticn descrpUcmIJ&: totafl:4.2输入输出设计本节包含两部分,输入设计和输出设计:输入设计包括输入完整性控制设计、数据 输入方法、输入设备、输入表单设计等,本文档只需撰写输入表单设计;输出设计包括 输出完整性控制、输出内容和形式、输出设备接口、报表格式设计等。本文档只需撰写输出报表设计;4.2.1表单设计以录入订单等典

32、型功能为例,设计输入表单及交互方式。重点描述业务表单及分录项的样式及其交互。如1张订单(表单)包含n个产品(分录项),那表单和分录项如 何展现(即样式设计),1个订单和多个产品如何录入、保存(交互设计),如何实现数据格 式校验。绘制或截取1张JSP页面/Swing窗口设计效果表达样式设计,示意图结合文字说明 交互设计和格式校验方案。提示:web项目中使用JQuery EasyUI等UI框架可更简单实现上述目标。如果项目 使用UI框架,需在此处详细说明实现方案。4.2.2报表设计使用了JFreeChart图标如下:/ : proce&sSaleFrame6; petCatafag。j 1

33、0; gHGrrentSriiesO厶:孑:getTotaiO;囂 ”gEiSubtatafO;州卡:f13: aetPricefl14 : subTotal15: aWdfsubtotai! MwvJi/ : MOTCVMIS 课程设计开发文档16UC3:退货用例销售统计图90恥76704D4D35加252Q15ig5Q角利計瀚4.3数据库设计1、ER图UC1:销售开单用例UC2:收银用例in怕zrrfir了打悅和I质頁刃愣3口霽 丁”愣釘1計emr忙力忖 巧叶岭tz打协SD.4MIS 课程设计开发文档172、销售开单用例、收银用例以及退货用例数据库sql文件销售单saleorder-Tab

34、le structure for saleorderDROP TABLE IF EXISTS saleorder;CREATE TABLE saleorder (id int (11) NOT NULL AUTO_INCREMENT,saleorder_idvarchar (255) NOT NULL,user_id varchar (255) NOT NULL,member_id varchar (255) NOT NULL,created_datetime datetimeNOT NULL, state int (11) NOT NULL,table_plateint (11) DEFAU

35、LT NULL,descripti on text,PRIMARY KEY (id),KEY detail_id (saleorder_id),KEY FDU (user_id),KEY FDM (member_id),CONSTRAINT saleorder_ibfk_1FOREIGN KEY (member_id)REFERENCESmember(member_id) ON DELETE NO ACTION ON UPDATE NO ACTION,CONSTRAINT saleorder_ibfk_2FOREIGN KEY (user_id)REFERENCES user (user_id

36、) ON DELETE NO ACTION ON UPDATE NO ACTION)ENGINE=I nn oDB DEFAULT CHARSET=utf8;销售明细表 saleorderitemMIS 课程设计开发文档18-Table structure for saleorderitemDROP TABLE IF EXISTS saleorderitem;CREATE TABLE saleorderitem (id int (11) NOT NULL AUTO_INCREMENT,saleorder_idvarchar (255) NOT NULL,product_idvarchar (2

37、55) NOT NULL, count int(11) NOT NULL, state int(11) NOT NULL,descripti on text,PRIMARY KEY (id),KEY fdup (saleorder_id),KEYFDPD (product_id),CONSTRAINT saleorderitem_ibfk_1FOREIGN KEY (product_id)REFERENCESproduct(product_id)ON DELETE NO ACTION ON UPDATE NO ACTION,CONSTRAINT saleorderitem_ibfk_2FORE

38、IGN KEY (saleorder_id)REFERENCESsaleorder (saleorder_id)ON DELETE NO ACTION ON UPDATE NO ACTION)ENGINE=I nn oDB DEFAULT CHARSET=utf8;退货单salereturnTable structure for salereturnDROPTABLEIF EXISTS salereturn;CREATETABLEsalereturn (IDin t(11)NOTNULLAUTO_INCREMENT,、SALERETURNNOVarchar(36) NOTNULL,SALEOR

39、DER_ID i nt(11) NOTNULL,REASON varchar(100)DEFAULTNULL,TOTAL double NOTNULL,CREATDATETIMEdatetime NOTNULL,PRIMARYKEY(ID),UNIQUEKEYSALERETURNNO(SALERETURNNO),KEYSALEORDER_ID (SALEORDER_ID),CONSTRAINEalereturnbfk_1FOREIGNKEY(SALEORDERD) REFERENCESsaleorder (ID)ENGINE=I nn oDB DEFAULT3HARSET=utf8;退货明细表

40、salereturnitemTable structure for salereturnitemMIS 课程设计开发文档19DROPTABLEIF EXISTS salereturnitem;CREATETABLEsalereturnitem(ID in t(11) NOTNULLAUTO_INCREMENT,SALERETURN_ID i nt(11)NOTNULL,PRODUCT_ID i nt(11) NOTNULL,QUANTITY double NOTNULL,PRICE double NOTNULL,PRIMARYKEY(ID),KEYSALERETURN_ID (SALERETU

41、RN_ID),KEYPRODUCT_ID (PRODUCT_ID),CONSTRAINTalereturnitembfk_2FOREIGNalereturnitembfk_1FOREIGhKEY(SALERETURN_ID) REFERENCESsalereturn(ID)ENGINE=I nn oDB DEFAULTCHARSET=utf8;4.4权限设计这些我使用角色管理权限的方法,即角色为权限簇,对每个功能进行权限管理,即图表如下:矽修改日冊除越刷新用户权限编号-诵户掷越称用户权限规贝11梢隼竝理testSalewder. j sp10輯台官理t aLleplat e. jsp11订单査

42、询aleordiftr. j sp12硝售统计査询WBIESt星ti折tiCE. jsp2萦式官理pro due tTypx jxp3product, jip4菜式電瑾produtTypli. jsp5用户官瑾ustr. jsp&imbtr. jipT顾ffCW理皿仲i i on. j ip用户权眼雹瑾0用户角邑雹瑾usArrilt. j gp之后对这些权限分配给每个角色,如下零淖加护攸改画時*雅刷新用户同邑扁号亠用户话邑輛用户画邑护眼B001鏑官遲员.T” i 5.0E.已10,LI.I?P13.14BOO?HIS3,片” 士 氏LE9.ld1Z,I3L L4B03晋通灵工3h罔13

43、MIS 课程设计开发文档20权限限制的源头是在于用户登录进去后被锁定功能,没权限的功能就屏蔽掉,如下有两个不同角色的功能视图:FOOD POS SYST1fP 0劲龍h-ES式管理hB用户菅理r-El请售处理-3菓单管理POD POSSYST:r-SS式管理|# 1h g顾客管理r-g顾客权眼管理 卜圃用户权限管理ZS. t/S,卜j心-谓宦处遐 番台管1里 匸订单査甸二建用户角色管理E霍台管谨 -團订单查询上:诸售统计查洵MIS 课程设计开发文档215 系统实现5.1功能实现对系统主要功能进行截图展示并辅以必要的文字予以说明。选择展示1个基础数据列表界面,1个分配权限界面,1个业务流程界面(

44、1个活动1张图),1个查询界面,1个报表界面。每页展示2张图并辅以文字描述。本节限4页篇幅。5.2系统测试5.2.1单元测试选择1个DAO的CRUD方法为例,给出测试代码及测试结果。提示:单元测试可尝试学习并使用JUnit。package org.scauinfo.fpos.dao.impl;import java.sql.Timestamp;import java.util.List;import org.hibernate.Criteria;import org.hibernate.criterion.MatchMode;import org.hibernate.criterion.Ord

45、er;import org.hibernate.criterion.Restrictions;import org.scauinfo.fpos.dao.HibernateDao;import org.scauinfo.fpos.vo.Saleorder;import org.springframework.stereotype.Repository;Repositorypublic class SaleorderDao extends HibernateDao public List findAIISaleorder(String memberId, String begindate,Stri

46、ng enddate, int page, int rows, String sort, String order) Criteria criteria = getCurrentSession().createCriteria(getEntity();Criteria memberCriteria=criteria.createCriteria(member);if (!isNull(memberld) System.out.println(!isNull(memberld) + !isNull(memberld);memberCriteria.add(Restrictions .l ike(

47、memberld, memberId,MatchMode.ANYWHERE);if (!isNull(begindate) System.out.println(!isNull(begindate) + !isNull(begindate);criteria.add(Restrictions.ge(createdDatetime,MIS 课程设计开发文档22Timestamp.valueOf(begindate + 00:00:00);if (!isNull(enddate) System.out.println(!isNull(enddate) + !isNull(enddate);crit

48、eria.add(Restrictions.le(createdDatetime,Timestamp.valueOf(enddate + 00:00:00); criteria.setFirstResult(page - 1) * rows);criteria.setMaxResults(rows);if (asc.equals(order) criteria.addOrder(Order.asc(sort); else criteria.addOrder(Order.desc(sort);return criteria.list();public List findAIISaleorder(

49、String memberld, String begindate,String enddate) Criteria criteria = getCurrentSession().createCriteria(getEntity();Criteria memberCriteria=criteria.createCriteria(member);if (!isNull(memberId) System.out.println(!isNull(memberld) + !isNull(memberld); memberCriteria.add(Restrictions .like(memberld,

50、 memberld, MatchMode.ANYWHERE);if (!isNull(begindate) System.out.println(!isNull(begindate) + !isNull(begindate);criteria.add(Restrictions.ge(createdDatetime,Timestamp.valueOf(begindate + 00:00:00); if (!isNull(enddate) System.out.println(!isNull(enddate) + !isNull(enddate);criteria.add(Restrictions

51、.le(createdDatetime,Timestamp.valueOf(enddate + 00:00:00);return criteria.list();public boolean isNull(String value) return value = null | value.equals();测试结果MIS 课程设计开发文档231总罚 少1时 和I靜nH愉BF|丁”忡 剧忖副J氏個1曲Tin巒i2rlfr纽判盒It522用例测试选择系统12个关键用例,简要说明 用例测试数据及结果(1)开单彳粘处理iSSiS计萱囘卡却tti;Ch怕Ki叱爭仍三唱据会员手机号;1312l2l5CTf

52、lMl址;华山2fc1t222AU01俎機排骨弱1ZAd02 i*机鹄菇A0O3 Sfi 15 I A004吃IS ta-4D3D -J52030J5/7/B上ips-IL-订甲引EDJ507DB05III I3553UCIr*a-_C!. -L 4 cvj?ir TifWb口丄v*n*H*HU20 收鑫拱喙优庖STOSfcftfl析J&EMIS 课程设计开发文档24mVM.FI W.H-1Mikity VMfttfiLMflKfitu -拉肿两上干9 U-:订碎1讥溯】辱;匚甘爭电助WL!t: 6如如2再因;按谢=力=1札 W;L3WKT5MB堆出学山咧2EE尹睾韭.曲atai?斟.

53、OL七1脱1骨逵BE142味扯3.5A001如煙拧盍鹹V 1fijxz角妝35 $ I AW315 | *UUJ电虫1同*11画匚押员鬥0显示1孵点所SW= wCW5:BW.Ztlfei f?.B开阳ib丁单ttE岳号三W桂盘三ClZim手田占掘曲喷 手札号;1342苗I丽 地址二华山茹懈E24)1肛快欄唐Ml机MIS 课程设计开发文档25OOD POS SYSTEM笊irtlftll 餐is*迎HYJflKfpaWE::鬆fzl芦 1幵持日朋:uuia聲日朝kUuttfCh订甲号-,粮要5LESTI那RiaSi主帀FE1SdWKH栗式ltJ甲smsnTDBoewanfl DOOU3nonLO

54、.SalWi2H15DITAB OB:?9:Oi9l50TCa&Q91區言m.uyiIfl-a可觀ig洋諛ss倾岳魁甲2fl5OT(OWHK& CM血K009加加T.可120】阴?AB OT:0?:4flM 録岳收即缰邯 营馬户iqHWH?鬲户硯細EOisnrowawKM曲.WS.JUKQMnaio. n可遏草E却】酣om o9:n:oEL2tn5UTCe?ll1L彌ChaEEaatEmJUKG龍.日可:MJ.2D15/O7冋S:】L:MrB艇处锂衲賃甘EE工订畑2HjE77/&上牛勺ID| mt.屈卡导!筍定芦品幣 芦呂绅jrtfiJ-AAriri ri T*-.T

55、df-Sil(2)销售处理Kfffl ir 35LT;映S;!*:-收掘折招;MIS 课程设计开发文档26稱城討査询K皆霍叠或 订壬洞卫林椒卡中产矽KB昌祐戸品僦收用AgQ1 41换肾博 口AD02 m. 2& 5 ADDJ卫址1& | AA04吃世1.SS:CILJKLHAU UFti J*!3 2U15订单IE询Kflj5/T/6I吃餅产&僦莉賈AOOi12Ciprnht SCAiJiKJjATrtJtinE(3)订单查询尊囘君:ilMIS 课程设计开发文档27141箫1鮒页卜HCadirSCV TWP PATO 2015(4)权限FOOD POS SYSTEM用戶希邑IPKmMllF 巒妙n改stir科电昶* -用户菩祎用鬥蚩飛用产电话HPE91ADO小尊kio335ED439L3EMM2小衣hjuKn32EQ4322EMM3IBcbflEJciEix3 35EJ1439L2E叙t?l甲萸满t歳计宣诲鬣円W里-q订-205070m039 chw(02HC3ci工号J310.6可谄甲2035/07/W Crj 06:02li*Zrd v主庄切gfi.fflPtSst*ts用戶ifcfl 用尸细HI.RPtfl用尸世剧用戶初AW1dh卑I3UMI9IZI-AWC-林bjmftIKWIKWMX

温馨提示

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

评论

0/150

提交评论