架构师大作业 - 需求文档

业务背景
通达是某上市公司全资投资成立的一家物流快递公司,主要进行同城快递业务,公司刚刚成立,组建20人技术部门,准备两个月后系统开发完成上线。
系统概述
系统应该包含用户端供用户使用、快递员端供快递员使用、网页端供管理员使用,上线时用户端小程序验证和发布优先级最高,H5、安卓、IOS以此降低。快递员端安卓的优先级最高,IOS其次。
产品需求
需求概述
用户通过App发起快递下单请求并支付;
快递员通过自己的App上报自己的地理位置,每30秒上报一次;
系统收到快递请求后,向距离用户直线距离5km内所有快递员发送通知;
快递员需要进行抢单,第一个抢单的快递员得到配单,系统向其发送用户详细地址;
快递员到用户处收取快递,并记录到系统中:已收件;
快递员将快递送到目的地,并记录到系统中:已送达。
用户、快递员注册、登录
维护收件人和发件人地址信息。
系统管理员查看订单状态
参与者
用户:这个参与者使用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:提醒
快递的每个状态变化时可使用短信、公众号消息等方式对用户提醒。(功能靠后)
系统边界图

下单场景业务活动图

用户下单场景主要参与者有用户、系统、快递员。
用户向系统发起订单请求,系统收到请求后创建订单数据。
用户付款操作
如果付款失败则结束下单。
如果付款成功,通知系统付款成功,系统向5km内的快递员发起抢单通知,快递员进行抢单操作,结果反馈给系统,系统对第一个抢单成功的快递员进行派单。
抢单成功的快递员收到订单信息。7. 快递员到下单用户地址取件
派件到收货地址
收件人收到货后完成订单。
非功能性需求
系统预计上线之后三个月内日订单超过1万,一年日订单超过50万
第一阶段下单性能目标:95% 平均响应时间 < 300ms , TPS > 10
第二阶段下单性能目标:95% 平均响应时间 < 300ms , TPS > 50
系统核心功能可用性目标:99.99%
注:并发计算公式
QPS(TPS)= 并发数 / 平均响应时间
版权声明: 本文为 InfoQ 作者【Frode】的原创文章。
原文链接:【http://xie.infoq.cn/article/008f5ed858438766c2b7c29c0】。文章转载请联系作者。
评论