5 系统实现

5.1 功能实现

A基础数据列表界面

我们系统所要用到的基础数据有菜系、菜品信息以及客户信息等,而根据不同的菜系有不同的菜品。在这里我们以系统目前所有的菜品为例,如下表,它所包含的信息有菜品编号、菜名、菜品描述以及价格。

B业务流程界面

整个交易流程包括四个主要内容:客户管理、点餐、退菜和付款。

1. 客户管理:新客户首次光临需要先登记客户信息,其中包括用户ID、客户编号、客户姓名、联系电话、用户邮件、联系地址。可以对客户信息进行添加、修改和删除操作,便于员工对客户的管理。

2. 点餐:员工输入餐桌号,根据电话号码、客户编号或者电子邮箱输入某个客户信息,然后添加菜品,添加完成就可以点击“提交订单”按钮系统自动生成一个新的订单。

3. 退菜:在退菜的界面输入订单号,即可查找到该订单的详细信息,选择顾客所要退的菜品,点击“退菜”,就可以在系统中删除原订单里面所要退的菜品。在此同时订单中的总金额也会相应发生变化。

4. 付款:在付款界面输入菜单号,系统将显示实收金额,收银员根据收到的顾客的现金填写实收金额,系统计算出找零金额。如果实收金额少于应收金额,系统提示出错。完成付款业务后,点击“付款”按钮,订单的付款状态由原来的“未付款”变成“已付款”

5. 查询界面:输入订单号即可查询订单的详细信息

5.2 系统测试

5.2.1 单元测试

1)选择添加商品类别的测试进行单元测试,测试代码如下。

public static void main(String[] args) {

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(

new String[] {"applicationContext.xml"});

ProductCategoryDao pcd = (ProductCategoryDao) ctx.getBean("productCategoryDao");

ProductCategorytype = new ProductCategory();

type.setProductCategory("粤菜");

pcd.addProductType(type);

}、

2)商品类别的删除,测试代码:
   ProductCategory type = pcd.deleteEntityById(3); 
  测试结果:成功删除了一个商品类别

3)商品类别的修改,测试代码:

ProductCategory type = pcd.loadEntityById(4);

type.setProductCategory("豫菜");

pcd.updateProductType(type);

测试结果:修改成功

5.2.2 用例测试

A退货用例

1. 在退菜界面中,输入订单号,自动生成退菜号,选择所退菜品

2. 输入退菜原因,在处理退菜的对话框中填写菜品编码、菜品名称、单价、总价格以及退菜原因。

3. 再在付款界面查找订单,刷新应收金额,对比退货前的总计金额(364),退货后的应收金额(164)可以看出退货后少了的金额刚好所退菜品的价格一致。说明退菜成功。

5.3 系统部署

把项目导出为一个WAR包。

1.运行环境:JDK运行环境(JDK1.7)

2.服务器:Tomcat 7.1

3.数据库:MySQL数据库

6 项目总结

A对设计过程的总计以及对成果的评价

我们小组在一开始确定项目主题的时候就经过了比较激烈的讨论,每个人都有其想做的内容,当然,很庆幸的就是总的说来,大家对于餐饮行业的POS机都算是比较感兴趣,因而最后定的项目主题就是餐饮行业的POS机系统。

由于我们小组成员四个都是女生,对于代码方面都比较薄弱,特别是对于总的架构设计,在项目的一开始甚至不知道该如何下手,所以我们的项目设计开发过程是跟着老师的步骤,从最基础的、最低层的设计开发开始一步一步慢慢来的。接下来我总结一下我们小组项目设计过程。

我们小组在系统展望这一部分是切实去了解了餐饮行业的POS机系统所应该拥有的功能有哪些,然后通过讨论确定了这次项目的功能,构想这次的项目大概要成为什么样的。我们一开始就对整个系统展开了一系列的想象,包括美化界面,希望能够带给使用者比较美好的视觉享受,而不是现在市面上那种比较严肃、单调的、一成不变的设计,希望能够有时间花在美化上,带给大家不一样的享受,这也算是一种优势。但是,不得不说,计划永远赶不上变化!

我们小组明确认识到自己在技术上的缺陷,在计划时期的想法是边学边做,通过向旁人的请教和自学来掌握应有的技能,进而对这次项目进行开发,完成每一阶段老师的任务,逐步实现项目的功能,完成我们的构想。但是,实际操作起来并不是这样的。由于我们对基础知识的掌握不牢固,在回去巩固旧知识之后,又要学习新技术,一开始费力还能勉强跟上老师的进度,后来就整个落后了,计划中的任务在不断拖延中;而且在功能实现方面遇到了很多瓶颈,没那么多时间给我们攻克技术,这也导致技术不过关的我们没办法实现展望中那么功能齐全的系统,到最后只能根据学到的、可以运用的知识来使用到我们这个餐饮的系统中,所以到最后我们实现的系统跟我们展望中的有很大的差距,只是实现了一些比较基本的功能。比如:展望中的系统,有老师要求的权限设置和报表设置,而现在,由于我们小组的技术问题以及时间问题,没能够实现这两个功能;展望中的系统,员工可以直接在系统中选择顾客所点的菜品,而现在,我们的系统员工只能通过输入菜品的编号来进行下单;展望中的系统,有会员管理,会员与普通的顾客有不同的折扣结算方式,而现在,我们的系统没有会员的设置,只有普通顾客的信息管理;展望中的系统,在老师的提点下,是有我们整个餐厅的餐桌管理,空闲、使用中或者预定状态,而现在,我们仅仅只是给顾客分配相应的餐桌号,从而对我们的餐桌进行管理,跟展望的有很大出入;展望中的系统,有库存管理,员工是手持点菜机来为顾客点餐的,而现在,我们的系统只是一个比较纯粹的POS机,只是进行比较基本的业务流程,如菜品的管理、下订单、退订货、付款,且顾客只能到我们的前台进行这一系列的操作······

总的说来,我们小组的系统在大家看来可能不尽人意,比较落后,功能不够齐全完善,但是,对于POS机的基本功能是实现了的,而且,我认为我们小组能够完成到这份程度是很不错的,值得肯定。我们小组在整个设计开发过程中一直怀着激情,肯花精力去展望、去设想我们的系统,肯去学,努力想要实现所需要的功能,所以虽然最后的成果没有其他小组完成得那么优秀,但是我对我们小组的成果评价还是挺高的,也希望老师肯定我们的付出,谢谢!

B成员表现及评价

要介绍成员的表现,我在这里不得不重复一遍我们小组的分工情况:

项目经理--林洁;分析员--林洁;架构师--李娣;程序员--陈斯玲;测试员--李嘉琪

我在这里重复我们小组的分工情况,目的并不是为了强调我们小组的分工明确,大家能够各司其职,从而给大家一个很好的评分。恰恰相反,我们小组的这个分工其实只是大体上的一个情况,但是实际操作并不是这样的。我们小组四个女生,在代码方面是明显薄弱的,在实际的设计开发过程中并不是像分工那样只做好自己名下的任务,分析的分析,打代码的打代码,测试的测试,而是对于这个项目的每一个任务,都是大家全程一起陪同着走过的。大家一起讨论,分析我们想要完成的系统是怎样的,应该怎样去开发完成;一起学习,学习相应的技术知识,力求能够实现这个项目(当然,在技术这个方面,虽然我们都有一起学习,但是整个过程中的主力还是我们的架构师和程序员);一起努力合作,出现瓶颈、问题的时候,大家一起寻找解决的方案······所以,我们小组的项目能够完成,真的是耗费了每个成员的精力。相对而言,我这个项目经理的名号就是名副其实的挂名了。每位成员不需要我的协调、管理,而是都能够饱含激情地、自觉地投入到我们这个项目的设计开发过程中,即使中途遇到各种困难、瓶颈,即使技术上有硬伤,即使烦躁过、郁闷过,但是依旧没有放弃,尽自己所能实现了POS的基本功能,在最后期限交出了一个成果(在这里不得不说,作为我们小组技术主力的我们的架构师和程序员是付出很大的,经常在空闲时间去找别人学习,解决瓶颈等)。所以我对我们小组的每位成员都给予高度赞赏,不为别的,就为这份工作态度,不分你我,共同讨论,为了同一个目标而努力!

转载于:https://my.oschina.net/u/2331280/blog/477494

细化迭代六——实现报表需求文档相关推荐

  1. 数据仓库应用篇(一)需求文档模板和需求评审

    一.需求文档模板 1.产品需求文档:文档标识.产品概述.功能说明.全局说明.非功能性需求等 2.交互设计文档(DRD): 3.报表需求文档: 1)业务数据: 业务场景.指标名称.指标定义.维度.维度定 ...

  2. Android 系统(132)---ODM 开发用户常见需求文档(六)

    ODM 开发用户常见需求文档(六) 一:锁卡界面显示哪张SIM卡 (frameworks/base/packages/Keyguard/src/com/mediatek/keyguard/Teleph ...

  3. 快易需求文档编辑系统(二期)第一次迭代开发总结

    设想和目标 1.目的: 项目为"快易需求文档智能生成系统".软件需求文档是软件开发与维护的重要基础,本项目希望通过建立一个专业的需求文档编辑系统,为软件开发人员提供一个便捷的协作文 ...

  4. 需求文档 | 产品需求文档(PRD)

    一份优秀的PRD能够帮助你获取资源,有效推进项目,获得团队成员的信任. 一.PRD的用户是谁? 首先,与大家先分享一句话:把需求文档当成一个"互联网产品"去管理,理解它的用户,关注 ...

  5. 分享一篇关于饿了么的需求文档

    作者:世界没有我不行(转载已取得作者授权) 这篇文章是根据线上产品饿了么进行倒推的,主要是外卖逻辑这一块,希望对大家有所启发. 修订记录: 目录 一.文档综述 1.1文档属性 1.2产品简介 1.3产 ...

  6. 产品经理应该先写需求文档还是先画原型?

    先做模型,再画原型,最后PRD 模型:对产品形态结构的梳理,包括功能模块,逻辑关系,信息架构,业务流程等,可以用脑 图,use case图,业务流程图来表示,根据不同产品,产出物的侧重点不同.但模型很 ...

  7. 通用产品需求文档模板

    很多朋友说,产品需求文档怎么写?很多公司的产品需求文档要求各不相同,但也是大同小异,其实就是说清楚: 基于什么样的背景,我们要做什么事情, 满足什么用户哪一个需求? 需求分解出来,产品的逻辑如何? 交 ...

  8. PRD(Product Requirement Document,产品需求文档)模板

    PRD(Product Requirement Document,产品需求文档), 这对于任何一个产品经理来说都不会陌生的一个文档, 一个PRD是衡量一个产品经理整体思维的标准, 一个PRD可以看出一 ...

  9. 如何写好一份产品需求文档

    如何写好一份产品需求文档 PRD写得好看还不如需求把握得准确,PRD写得好看还不如体验设计得顺畅. 工欲善其事必先利其器. 产品需求文档(以下都简称PRD)对于大多数产品新人来说都并不陌生,它是产品工 ...

最新文章

  1. object.ReferenceEquals(a,b)
  2. oracle只修改年份
  3. SVN用户验证,调错
  4. MatConvnet中集成的损失函数(孪生网络的思考)
  5. free技术详解 lock_lock free的理解
  6. OpenStack 的Nova组件详解
  7. linux中exit和fatal区别,关于Linux系统命令中exit与exit的区别
  8. Linux 中Vim 命令大全
  9. 大数据产业发展 三大模式可毕其功于一役
  10. 大型网站应用之海量数据和高并发解决方案总结一二!
  11. 【数据预测】基于matlab双向长短时记忆BiLSTM(多输入单输出)数据预测【含Matlab源码 1826期】
  12. 富士施乐s2110多vlan共享问题
  13. laravel8+ 微信小程序生成二维码
  14. 视频文件格式--视频封装格式--视频编码格式区分
  15. android 分享到新浪微博,Android APP集成新浪微博分享功能
  16. MATLAB 整数小数负数十进制转换为十六进制
  17. 笔记本可以跑虚拟机吗_什么笔记本跑虚拟机不卡?
  18. windows系统安装Racket后使用raco指令
  19. Java基础学习(二十一)之接口
  20. 全栈开发工程师面试题六-Ribbon

热门文章

  1. CentOS 7 多硬盘合并 mergerfs 磁盘合并 + Duf 磁盘容量查看
  2. java程序及数据库常见问题
  3. 【社交网络】2010年电影观后随想
  4. html汉子竖着显示,html文字怎么竖排显示
  5. matlab中的measure,关于matlab中awgn函数中参数作用的测试
  6. JAVA体育用品在线商城系统-springboot【数据库设计、论文、源码、开题报告】
  7. ethereum-etl学习2
  8. [原创]测试用例设计之场景法法
  9. MCS-51单片机存储地址空间划分
  10. 一男子连开28个黄网被捕,网友:就这点钱,你还是找个班上吧