Giter Site home page Giter Site logo

cos's Introduction

COS - Cafeteria Ordering System

Desc

某企业为了方便员工用餐,为餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。

本系统只是一个订餐平台,并不负责餐厅系统的实现,只是在终端用户跟各餐厅间的一个中介,帮人买餐、帮人卖餐。

Use Case

  • 员工(company open id):

    • 查看菜单
    • ~~查看今日特价。~~在菜单中显示
  • 顾客(user): register with open id //注册到系统的员工。

    • login
    • order //可以订餐(如果未登录,需先登录)
    • 注册工资支付 // 调一下工资系统的api,认证一下OAuth什么的
    • 预约规律的订餐
    • ~~在特殊情况下可以覆盖预订。~~撤销订单
  • 餐厅员工(staff-basic): 是特殊顾客。

    • 进行备餐
    • 生成付费请求系统自动
    • 请求提醒送餐
    • ~~对于注册工资支付的顾客,生成付费请求,并发送给工资系统。~~系统自动
  • 送餐员(staff-delivery):

    • 打印送餐说明
    • ~~记录送餐信息(如送餐时间)~~记录啥?
    • ~~记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。~~这是餐厅系统的事情啊哥哥
  • staff 可选权限(permission):

    • 餐厅员工基本权限(basic): 菜品库管理,菜单管理
    • 管理员权限(admin): 管理菜单,指定送餐员派送
    • 送餐员权限(delivery)

Model

User Module

Meal Module

  • 菜品库(meal)

    • 可以录入菜品
    • 可以修改售价
    • 注:货币单位只考虑CNY
  • 菜单(menu)

    • 从菜品库取可售菜品进入菜单
    • 菜品库中的售价经过修改成为菜单上的价格
    • 特价菜:菜单价格 低于 菜品库中价格的即为特价菜

Purchase(order) Module

  • 购物车(cart)

    • 顾客点菜,加入购物车
  • 订单(order)

    • 从购物车,checkout,生成订单 [阶段1,待提交]
    • 注:订单生成后,发生锁餐,直到订单过期或进入送餐
    • 生成订单同时,显示 可选送餐时间(若干时段,餐厅员工事先预设)
    • 顾客指定送餐时间、地点、支付方式
    • 顾客提交订单 [阶段2,待付款]
    • 进入付款流程 [阶段3,待餐厅处理]
    • 付款完成,系统接受订单,发送 Email 给顾客,同时发送订餐信息给餐厅员工
    • 餐厅会派出一个送餐员进行送餐(系统默认选派一个空闲的送餐员) [阶段4,待送餐],向顾客显示送餐员的联系方式等
    • 送餐员送达餐 [阶段5,订单结束]
  • 付款(payment)

    • 货到付款(即送餐员收款)
    • 工资支付(请求工资系统)
    • 网银及支付宝(调用第三方api,跳转,回调)
    • 注:订餐系统并不关心具体的balance,假设工资系统及第三方支付账户已经跟餐厅协调好。
    • 注:简单起见,先不考虑跟多个餐厅合作的情况。

Feed Module

可以用redis啥的,但是做大作业就直接放mysql了

  • User InBox

顾客订餐过程

  1. 顾客请求查看菜单;
  2. 系统显示菜单和今日特价;
  3. 顾客选菜;
  4. 系统显示订单和价格;
  5. 顾客确认订单;
  6. 系统显示可送餐时间;
  7. 顾客指定送餐时间、地点和支付方式;
  8. 系统确认接受订单,然后发送 Email 给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。

Docs

  1. 设计说明书。内容包括:问题的描述;用UML 表示的分析与设计模型(如用例图、活 动图、序列图、类图、状态图等);类、方法、全局变量或静态变量的命名规则;仿真 流程;需要特别说明的类、方法和对象。
  2. 源程序清单。程序中应该包括足够的注释(参考常见编程规范)。
  3. 运行情况总结报告。通过有代表性的运行实例(应给出当时的界面实录),叙述开发结 果的运行情况,分析其特点和存在的问题。

cos's People

Contributors

tclh123 avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.