架构师大作业 - 需求文档

用户头像
Frode
关注
发布于: 2020 年 09 月 11 日
架构师大作业-需求文档

业务背景

通达是某上市公司全资投资成立的一家物流快递公司,主要进行同城快递业务,公司刚刚成立,组建20人技术部门,准备两个月后系统开发完成上线。

系统概述

系统应该包含用户端供用户使用、快递员端供快递员使用、网页端供管理员使用,上线时用户端小程序验证和发布优先级最高,H5、安卓、IOS以此降低。快递员端安卓的优先级最高,IOS其次。

产品需求

需求概述

  1. 用户通过App发起快递下单请求并支付;

  2. 快递员通过自己的App上报自己的地理位置,每30秒上报一次;

  3. 系统收到快递请求后,向距离用户直线距离5km内所有快递员发送通知;

  4. 快递员需要进行抢单,第一个抢单的快递员得到配单,系统向其发送用户详细地址;

  5. 快递员到用户处收取快递,并记录到系统中:已收件;

  6. 快递员将快递送到目的地,并记录到系统中:已送达。

  7. 用户、快递员注册、登录

  8. 维护收件人和发件人地址信息。

  9. 系统管理员查看订单状态

参与者

用户:这个参与者使用App下订单,填写订单信息,并选择支付方式进行支付。可查看订单物流信息和历史订单。可注册用户并登录到系统

快递员:这个参与者使用App定时发送自己的位置信息给系统,当收到系统的订单消息时,进行抢单,如果抢单成功,则根据订单信息去取件,派件,设置订单状态。可注册成为快递员并登录到系统。

系统管理员:这个参与者通过网页端可查看当日派送未完成的订单情况,也可查看某个快递员的所有订单信息,查看某个用户的订单信息。

需求用例描述

用例#1:下订单

用户打开 App 的下订单页面,需要填写寄件人信息、收件人信息、上门时间、物品信息等,可打开地址薄选择,也可手工添加维护并保存到地址薄,信息包含姓名、地址、联系方式等信息。填写好信息后,点击支付可选择微信、支付宝、银行卡、卡券包等支付方式。(优先支持微信、支付宝)

用例#1.1:使用微信支付

调用微信客户端支付界面,要求用户授予权限并付款

用例#1.2:使用支付宝支付

调用支付宝客户端支付界面,要求用户授予权限并付款

用例#1.3:使用银行卡支付

用户被提示输入银行卡号、手机号、姓名等信息



用例#2:查看地址薄

用户可查看、增加、删除地址薄信息。包含姓名、详细地址、电话等信息。



用例#3:查看订单

用户可查看已经下单的运输情况,签收情况,第一个抢单的快递员得到配单,快递员可查看已配单的订单详细信息,例如寄件人信息、收件人信息、联系方式等。

 

用例#4:上报位置信息

快递员通过App上定时报当前地理位置信息,每30秒上报一次



用例#5:抢订单

收到系统抢单信息的快递员需要进行抢单,第一个抢单的快递员得到配单



用例#6:设置订单状态

快递员到用户处收取快递,并记录到系统中:已收件

快递员将快递送到目的地,并记录到系统中:已送达



用例#7:获取订单状态

系统管理员可查看当日未完成订单,可查看某个快递员的所有订单信息,可查看某个订单的信息。



用例#7.1:选择一个快递员下所有订单

系统显示一张所有订单信息,系统管理员选择某个快递员,系统选择这个快递员下所有的订单。

用例#7.2:选择当日未送达的订单

系统管理员可根据日期选择当日未送达的订单。

用例#7.3:选择某个客户的订单

系统管理员可查看某个客户下的所有订单。

用例#8:注册

用户通过用户端App注册用户账户,快递员可通过快递员端App注册快递员账户。



用例#8.1:使用微信注册

调用微信客户端,并授予权限后,跳转到绑定手机号界面进行绑定

用例#8.2:使用支付宝注册

调用支付宝客户端,并授予权限后,跳转到绑定手机号界面进行绑定

用例#8.3:使用用户名密码注册

输入用户名、密码、手机号码并输入验证

用例#9:在线客服

用户、快递员都可以向客服咨询(功能靠后)

用例#10:提醒

快递的每个状态变化时可使用短信、公众号消息等方式对用户提醒。(功能靠后)

系统边界图





下单场景业务活动图

  1. 用户下单场景主要参与者有用户、系统、快递员。

  2. 用户向系统发起订单请求,系统收到请求后创建订单数据。

  3. 用户付款操作

  4. 如果付款失败则结束下单。

  5. 如果付款成功,通知系统付款成功,系统向5km内的快递员发起抢单通知,快递员进行抢单操作,结果反馈给系统,系统对第一个抢单成功的快递员进行派单。

  6. 抢单成功的快递员收到订单信息。7. 快递员到下单用户地址取件

  7. 派件到收货地址

  8. 收件人收到货后完成订单。

非功能性需求

  • 系统预计上线之后三个月内日订单超过1万,一年日订单超过50万

  • 第一阶段下单性能目标:95% 平均响应时间 < 300ms , TPS > 10

  • 第二阶段下单性能目标:95% 平均响应时间 < 300ms , TPS > 50

  • 系统核心功能可用性目标:99.99%

  • 注:并发计算公式

  • QPS(TPS)= 并发数 / 平均响应时间

 

发布于: 2020 年 09 月 11 日 阅读数: 139
用户头像

Frode

关注

小步快跑 2019.04.15 加入

不想当架构师的程序员不是好程序员

评论

发布
暂无评论
架构师大作业-需求文档