系统需求规格说明书.docx
- 文档编号:7668953
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:38
- 大小:248.75KB
系统需求规格说明书.docx
《系统需求规格说明书.docx》由会员分享,可在线阅读,更多相关《系统需求规格说明书.docx(38页珍藏版)》请在冰豆网上搜索。
系统需求规格说明书
XXX系统或XXX项目
产品需求规格说明书
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件编号:
SN_SR_001
当前版本:
作者:
完成日期:
2017-04-11
版本信息
版本
时间
状态
更新人
简要描述
审核人
审核时间
注:
状态可以为N-新建、A-增加、M-更改、
对方的所得税说明:
版本信息必须更新,审核人和审核时间也必须审核后填写,审核人要求部门经理级别以上。
否则开发测试可拒绝评审。
审核业务功能是否有遗漏、业务流程是否符合规划、关键业务逻辑是否有合理
1.关于本文档
1.1.内容说明
说明:
此处描述的是文档说明,产品需求文档更新需要走修订模式,下次更新前先接受修订,并且每次更新必须更新版本号和版本记录。
例子:
本文档用于描述苏宁开放平台物流状态服务系统的需求定义。
包括各个需求的功能描述,处理逻辑规则,界面定义,与其它功能的关系,与其它系统的接口等各个方面的定义。
是苏宁物流状态服务系统唯一的全面需求定义文档。
本文档将根据需求管理流程和要求,随系统功能变化进行及时的修订和更新,以确保本文档的全面性,准确性和实效性。
因此在阅读使用此文档时,请注意从项目的文档管理系统中获取最新版本。
1.2.名词解释
词汇名称
词汇含义
备注
LSQ
物流状态服务系统
LSP
物流服务平台
LES
物流作业系统
LWMS
分布式仓储管理系统
TMS
运输管理系统
1.3.参考文档
《系统需求定义规范使用说明》
2.系统概述
2.1.业务背景
说明:
此处描述业务背景,不可裁剪,清晰的业务背景描述能更好的帮助研发和测试理解产品需求,明确业务测试场景,此部分是产品需求定位的核心导向。
例子一:
电子面单的业务描述
随着电子商务服务和物流服务信息化飞速发展,包裹运单号成为快递公司串联快递单、订单、商家、商品等各种信息的枢纽。
相比之下,传统纸质面单价格高、信息录入效率低、信息安全隐患等方面的劣势已愈发凸显。
我司在两年前就开始了电子面单在自营物流上的应用,经过长期的的磨合和积累,目前将我司的应用经验推广到社会物流上,让社会上愿意与我司物流合作的伙伴,也同样享受到我司电子面单服务。
例子二:
LSQ的业务描述
物流作业状态服务存在不足
1)服务无标准不统一
需物流作业的各渠道订单,作业状态转化为文案描述处理的逻辑系统多,且处理规不统一,
-B2C自营订单,逻辑在B2C,数据源在OMS
-菜鸟平台/4PS平台订单状态展示,逻辑在LAPI,数据源在LAPI
-物流门户订单状态展示,逻辑在LPS,数据源在LOS
-开放平台订单,逻辑在SOD,数据源在SOD
-R3自营订单,无逻辑,数据源在R3
2)维度单一而不满足新需求
不能满足多样化的展示需求,如目前只有订单维度的状态详情展示,不支持任务单、顾客包裹等维度的详情服务。
同时,缺乏物流特定作业状态的高实时性精确查询服务(如是否销单完成,是否过账,最新站点是哪个等)。
3)开放服务的渠道有待拓展
目前,物流没有一个公网渠道,使顾客能快速查询在苏宁各渠道订单的作业状态信息。
故设计一个物流状态系统统一管理物流状态的收发,状态描述转换,以及提供状态服务查询。
2.2.系统概述
说明:
系统说明包括文字部分和图形部分,文字部分主要描述系统之间的关联关系,图形主要包括系统和相关联系统之间的交互结构,不可裁剪
例子一:
系统说明
合作伙伴申请苏宁电子面单服务,选择相应的合作模式,由合作伙伴提供预配送包裹的信息,由苏宁电子面单服务生成相应的面单信息,并由合作伙伴系统打印出来并完成包装,最终投递给苏宁网点且面单能被苏宁物流体系识别。
系统之间的关联关系:
苏宁电子面单服务是基于苏宁自营物流电子面单应用,整合社会上多家快递公司,搭建一套具有苏宁配送特色的电子面单服务体系,为苏宁物流的合作伙伴提供统一的电子面单服务。
实现了,合作伙伴对接苏宁的物流服务,由使用纸质面单向电子面单转变。
只要合作伙伴对接了苏宁电子面单服务,那么就可以享受苏宁物流体系的电子面单服务。
本系统当期功能主要包含:
A、用户操作权限管理;
B、配置数据信息管理;
C、订单对应的作业单物流节点状态信息接收与分发功能;
D、订单对应的作业单物流节点状态信息查询功能;
2.3.流程概览/系统框架
说明:
此处需要描述和图形化系统内部功能结构模块图,可从架构和技术获取资源。
清晰的系统架构对于系统的扩展性和维护性都非常有帮助,也便于开发和测试从整体上理解该系统的结构。
2.4.系统规划与迭代
说明:
此处说明对该系统的总体规划步骤,一期接入什么功能,二期接入什么功能达到什么业务效果。
2.5.功能模块
说明:
此处的列表和下面的功能需求是对应的,系统需求编号是唯一识别需求的标识。
需求编号的规则见章节
例子:
主功能
系统需求编号
子功能
优先级
备注
状态信息接收推送
LSQ_DDZF_MDZF_0001
非采购类状态信息接收
一级
一期需求
LSQ_DDZF_MDZF_0002
状态信息发送
一级
一期需求
LSQ_DDZF_MDZF_0003
状态转换
一级
一期需求
接收计划物流节点信息
SNPD_LSQ_SSS_04
接收计划物流节点信息
二级
最新站点查询服务
SNPD_LSQ_SSS_05
最新站点查询服务
二级
一期需求
详情调用服务
SNPD_LSQ_SSS_06
虚拟包裹信息接收与更新
一级
一期需求
SNPD_LSQ_SSS_07
BTC物流物流详情调用
一级
一期需求
SNPD_LSQ_SSS_08
CIC物流物流详情调用
一级
一期需求
后台配置
SNPD_LSQ_SSS_09
后台配置
一级
一期需求
快递100接入服务
SNPD_LSQ_SSS_10
快递100查询与推送运单信息
一级
二期需求
物流详情查询
SNPD_LSQ_SSS_11
作业系统查询状态明细
一级
LES拆分需求
3.系统功能需求
3.1状态信息接受推送
3.1.1非采购类状态信息接收
3.1.1.1需求编号LSQ_DDZF_MDZF_0001
说明:
//功能的业务介绍和业务背景
此处的需求编号,在一个系统中必现唯一存在并且最后4位递增,规则:
系统名_模块名_子功能名_序列号,如LSQ_DDZF_MDZF_0001:
系统名最长保留4位,模块名/子功能名最长4位,序列号最长4位不够4位补0比如0001,如果是优化需求,需求编号不变,新增需求需求编号增加;
3.1.1.2处理流程和约束条件
说明:
此处是放上面功能的业务流程图和功能的业务逻辑约束条件
流程图:
说明:
如果流程图比较大或比较多,请以单独的附件提供
约束
#
步骤
逻辑
10
功能入参确认
1.入参确认
1)用户名;
2)密码
2
校验处理
1.校验:
用户名在数据库中唯一且存在;
1)成立,继续后续校验
2)不成立,返回报错:
请输入正确的用户名密码
2.校验:
安全性:
1)安全性不通过,则提示该登录可能存在安全隐患,请重新访问;
2)安全性通过,则继续下面,
3
订单处理
4
组织结果反馈
1.全部校验通过:
1)提示:
登录成功,数据库更新最后登录时间;
2)可进入系统进行后续操作
3.1.1.3页面原型
说明:
N/A,系统后台功能无页面
有页面请截低保真的图,图片要能覆盖所描述的功能,以及页面访问路径。
3.1.1.4数据说明
说明:
N/A,系统后台功能无页面
如果有页面校验请在此处用列表的形式说明各个页面各个控件的校验规则
XX功能
字段名
数据类型
页面长度
小数位
说明
用户名
字符
10
非空,必须包括大小写字母、字符,不可输入中文
密码
字符
10
非空,必须包括大小写字母、字符、特殊字符
3.1.1.5功能需求描述
说明:
1)功能描述,需要做到语言准确,结构清晰,须包括从用户角度和业务角度描述功能和业务场景;要尽可能少地从系统逻辑角度去撰写需求,多写业务逻辑以免干扰开发的最优设计。
在需求中明确业务接口。
2)版本优化,如果是优化功能采用修订模式在涉及到的所有原文档(包括需求说明书、流程图、接口文档)上进行修改并标注,需求说明书需对应需求编号章节进行修改,这样便于研发和测试了解原功能,以便快速了解优化的业务判断回归场景。
产品还需说明优化此功能的业务场景以及建议优化功能涉及相关使用场景。
(0522版本)
特别说明:
修改的功能会影响系统对外提供的接口,需要这些接口的使用方对接口进行验证,并确认接口的变更
登录
1)针对登录功能,需要做安全性校验,实行https的方式,并且登录密码以*显示,在日志打印中也以*展示;
2)登录功能,登录调用API接口INTERFACE_LSQ_LOGIN_0001实现登录,需要保证数据传递的安全性。
状态接受
LSQ系统接收状态信息,作如下处理:
数据类型
长度
小数位
说明
ID
字符
32
主键,系统自动生成的流水号
外部流水号
字符
32
外部传的流水号
外部系统
字符
10
当前外部订单对应的“外部系统”
任务单号
字符
20
当前外部订单对应的“外部订单编码”
物流订单号
字符
30
通过卖家ID查询客户信息匹配表,结果为查询到的卖家ID对应的“客户编码”
订单属性
字符
10
当前外部订单对应的“苏宁业务类型”
订单客户
字符
10
若业务类型为“C019”,则默认为“ZVIN”入仓
前置任务单系统
字符
10
在接收4PS销退入库单时,若orderFlag订单标记带有9,则在下传装运条件时,传输“01”自营,其他则按照原有逻辑传“06”第三方
服务大类
字符
20
固定赋值“L01仓储”
收入项
字符
20
固定赋值“L0101存量”
服务产品
字符
4
固定赋值“L010101仓库保管”
服务细节
字符
4
根据物流中心匹配zlmt026,取属性,若属性=MD,则服务细节=L01010101门店库存,否则为L01010102中心仓库存
商品属性
字符
60
用物料号匹配商品主数据,取商品属性(当用计费明细的物料号matnr时,首先做取前置0,然后再去关联MDM商品主数据)
件数
字符
10
回算表的lfimg
网点描述
字符
60
固定赋值“L01仓储”
实际交货数量
数值
13
固定赋值“L0101存量”
数量单位
字符
3
固定赋值“L010101仓库保管”
排程日期时间
字符
14
若订单对应的基本信息的“预期送达开始时间”为空,且当前日期时间比当前日期时间18:
00:
00早,则为当前日期,否则为当前日期+1天;
若订单对应的基本信息“预期送达开始时间”不为空,则取该时间中的日期,格式为YYYY-MM-DD
接收日期时间
字符
19
系统当前日期
3.1.1.6接口说明
说明:
如果字段少可直接把接口列表贴这里,接口模板见下表必须包括深度和返回消息,如果有不同返回码也需要一并定义。
每个接口在需求文档中撰写一个编号,在系统中唯一,以便附件中能快速找到对应的接口,便于定期维护,接口编号:
规则一个系统唯一:
INTERFACE_系统名_一级模块名_编号递增
产品定义的接口只需提供到中文字段名、长度、是否必须,校验说明即可。
API接口INTERFACE_LSQ_LOGIN_0001
深度
名称
描述
类型长度
是否必输
说明
1
INPUT
请求输入
2
ITEM
3
username
用户名
CHAR(10)
必输
不可为空
3
Password
密码
CHAR(10)
必输
不可为空
3
token
盾牌
CHAR(30)
必输
不可为空
1
OUTPUT
请求输出
2
username
用户名
CHAR(30)
必输
2
returnCode
结果状态
CHAR(10)
必输
0-成功,1-失败
2
Message
文本描述
CHAR(255)
接收成功/接收失败
returnCode返回码说明:
快递公司验证
returnCode
Message
快递100需要做的操作
LSQ订阅成功
200
成功
LSQ数据验证失败
400
数据不完整
补充数据,重新订阅
LSQ格式验证失败
500
请求格式错误
程序有问题,需要调整
本地服务器错误
501
服务器错误
30分钟后尝试
LSQ订阅日志已存在
502
重复订阅
理解为订阅成功
LAPI校验KEY错误
503
验证签名失败
使用正确的KEY
LSQ未查到对应物流单号
504
单号错误
更正单号
LSQ未查到对应物流单号
507
查询异常
状态接收接口INTERFACE_LSQ_STATUS_0001
由于字段较多见附件,每个接口在需求文档中撰写一个编号,规则一个系统唯一:
INTERFACE_系统名_一级模块名_编号递增
该功能处理过程中会调用以下接口(见附件):
接口编号
接口名称
原系统
目标系统
场景
INTERFACE_LSQ_LOGIN_0001
API登录接口
LSQ
API
处理成功,登录成功
INTERFACE_LSQ_STATUS_0001
状态信息同步LSQ
LOS/TMS/LWMS
LSQ
MQ信息处理成功记录到LSQ系统
3.1.1.7其它说明
说明:
可以把性能需求或者安全性,稳定性需求,页面浏览器兼容性需求等等放此处
3.1.2状态信息发送
3.1.2.1需求编号LSQ_DDZF_MDZF_0002
3.1.2.2处理流程和约束条件
#
步骤
逻辑
10
订单判断
1.使用订单行号查询本地是否存在对应的订单行
1)存在,继续后续判断;
2)不存在,进入后续校验;
2.判断订单行状态:
1)如果订单行状态10-已提交,12-订单异常,进入后续校验;
2)如果订单行状态大于等于20-处理成功,直接返回成功;
3.判断订单是否存在后续退货订单;
1)存在,返回报错:
该订单状态准确,不可进行支付
2)不存在,进入后续校验;
4.判断订单支付金额是否正确,判断等式:
行项目销售额+运费+服务费=支付金额之和+使用积分金额+经理卡金额,是否成立;
1)成立,继续后续处理
2)不成立:
支付金额不正确,请检查后重新输入;
20
订单支付信息处理
1.订单行支付状态设置:
将所有订单行状态都置为:
30-已支付;
2.保存新增的支付信息;
3.覆盖本地已有的优惠单信息;
4.冻结标志设置:
如果订单支付信息中含有:
4001(支票支付),则将订单行冻结标识置为:
D2-支票冻结;
5.支付确认标记设置:
门店订单【支付确认开关】为打开状态时,对于满足以下条件的订单行项目,将订单行支付确认标识置为:
0-未确认支付;
1)分销渠道为10-零售、20-代购,
2)且来源系统为POS。
3)SAP订单类型为ZOR-标准订单、IDOC、Z01、ZGF。
4)装运条件为01、14。
5)先销后采标识不为5。
20
订单支付信息处理
1.调用【公共规则-资源处理】功能;
1)成功,将订单行状态置为:
20-已处理,订单头状态:
20-已处理;
2)失败,将订单行状态置为:
12-处理失败,订单头状态置为:
12-处理失败;
30
组织结果反馈
1.根据处理结果,组织结果反馈;
40
实时同步
1.OMSD全量:
调用功能【公共功能-订单全量信息分发OMSD】
2.OMSQ全量:
调用功能【公共功能-订单全量信息分发OMSQ】
50
异步同步
1.BI-大数据系统:
调用【公共规则-】
2.PMS-价格中心系统:
调用【公共规则-】
3.SPCS-云商卡系统:
调用【公共规则-】
4.BUDS-财务系统:
调用【公共规则】
60
日志打印
打日志:
OMS订单号,OMS行订单号,订单支付完成时间,预计出库时间,期望送达时间,支付订单创建时间,SAP订单类型,先销后采标识,订单来源,下单时间,渠道,行项目类别,分次发货标识,支付类型(04门店支付),支付确认标识,日志阶段:
02(01提交,02支付,03支付确认,04还欠款)id()
3.1.2.3页面原型
N/A,系统后台功能无页面
3.1.2.4数据说明
N/A,系统后台功能无页面
3.1.2.5功能需求描述
针对以下业务场景,前端系统通过该功能完成门店订单收款处理;
#
场景
接口
01
电器门店零售订单收银台全款支付处理
POS-OMS-008操作码:
D
02
电器门店对公云商卡订单收银台全款支付处理
POS-OMS-008操作码:
D
3.1.2.6接口说明
3.1.2.7其它说明
3.2最新站点查询服务
3.2.1最新站点查询
3.2.1.1需求编号LSQ_DDTJ_DDTJ_0003
3.2.1.2处理流程和约束条件
接收到前端系统提交的订单后,进行订单提交相关处理,具体逻辑如下:
具体步骤逻辑如下:
#
步骤
逻辑
10
提交订单
前端系统通过以下接口提交订单,且订单类型为A时,进入该功能:
SPOS-OMS-001
B2C-OMS-001
ALL-OMS-001
ALL-OMS-016
20
进行订单合法性校验
根据接口传入订单信息进行合法性校验:
1.订单重复性校验
2.若接口输入的接单模式为1或者3,则进行订单金额校验
1)判断行优惠单金额是否正确。
校验公式:
行优惠单金额=行优惠单明细金额汇总:
a)若不正确,则返回报错:
订单行“前端系统行项目号“的优惠单总金额与优惠单明细不一致。
b)否则进行一下步判断
2)若订单提交接口为ALL-OMS-001,则需判断行销售额是否正确,校验公式:
行销售额=销售价*数量:
a)若不正确,则返回报错:
订单行“前端系统行项目号“的销售额”XX”不等于销售价格”XX”*数量”XX”。
b)否则进行一下步判断
3)若订单提交接口为ALL-OMS-001,则需判断行应付金额是否与支付明细汇总金额一致,校验公式:
行项目销售额+运费+服务费=支付金额之和+使用积分数金额+经理卡金额:
a)若不正确,则返回报错:
订单行“前端系统行项目号“的总支付金额与应付金额不一致。
b)否则进行一下步判断
4)若订单提交接口为B2C-OMS-001,则需判断行应付金额是否与支付明细汇总金额一致,校验公式:
销售价*数量-经理卡金额+运费+行税额+服务费=支付金额之和:
a)若不正确,则返回报错:
订单行“前端系统行项目号“的总支付金额与应付金额不一致。
b)否则进行一下步判断
3.根据校验结果:
1)若以上所有校验通过,则进入下一步“30-生成或更新订单信息”步骤
2)若以上任意校验失败,则进入“50-返回处理结果”步骤
30
生成或更新订单信息
根据接口传入的订单信息创建订单信息或全量更新以下信息:
1.若是创建订单,则根据单号规则生成订单号和订单行号
2.进行订单状态设置
1)进行订单行总状态设置,具体逻辑见“表-订单行总状态(IS)设置逻辑”
2)进行订单行支付状态设置,具体逻辑见“表-订单行支付状态(IP)设置逻辑”
3)进行订单行发票状态设置,默认设置为IV=10
4)进行订单头总状态设置
3.进行订单特殊标记设置
1)进行订单行冻结标识设置
a)若分销渠道=30,且订单来源为CRM,则设置分次发货标记为D3-对公订单未付款冻结
b)否则,如订单支付方式中含有4001:
支票支付,则设置分次发货标记为:
D2-支票交货冻结
c)否则,对于其他场景设置分次发货标记为A-只允许一次发货
2)进行订单行大客户付款类型设置。
满足以下所有条件,设置大客户付款类型为1-确认欠款:
a)订单来源为SPCS
b)行项目类别为16-云商卡订单
c)接单模式为1
d)支付方式含9005
3)进行订单行是否需要发票设置
4.根据接口传入订单信息保存订单基本信息
5.根据接口传入订单扩展信息保存订单相关扩展信息
1)若订单行类别=10,且接口中存在服务商品,则需要保存服务扩展信息
2)若订单行类别=11,则需要保存延保扩展信息
3)若订单行类别=12,则需要保存赠品扩展信息
4)若订单行类别=13,则需要保存虚拟商品信息
5)若订单行类别=14,则需要保存合约扩展信息
6)若订单行类别=16,则需要保存云商卡扩展信息
7)若订单行类别=20,电子书无扩展信息,无需保存
8)若订单行类别=22,则需要保存独立服务扩展信息
9)若订单行类别=24,则需要保存运费险扩展信息
6.若接口传入的支付方式含9002-货到付款、9003-融合支付,则需要保存还欠款信息
7.订单信息保存后,根据接单模式:
1)若订单保存成功,且接口传入的接单模式为1,则进入下一步“40-订单调度处理”;
2)若订单保存成功,且若接口传入的接单模式为2、3,则进入下一步“50-返回处理结果”
3)若订单保存失败,则直接进入下一步“50-返回处理结果”
40
进行订单处理调度
调用功能【OMS_ZYCL_ZYCL_001-资源处理(老流程)】进行处理
50
返回处理结果
1.根据30、40步骤的处理结果,返回对应信息
1)若处理失败,则返回前端处理失败
2)若处理成功,则返回前端处理成功
2.进入下一步“记录日志信息”步骤
60
记录日志信息
1.若为。
。
。
则:
2.
3.根据30、40步骤的处理结果
1)若处理失败,则结束本次提交流程
2)若处理成功,则继续进行后续“70-保存或更新订单信息”、“80-异步分发订单”和“90-保存待分发信息”步骤
70
保存或更新订单信息
1.保存BUDS信息
1)满足以下所有条件,保存该订单行支付明细到BUDS支付明细信息中
a)订单行项目类别不为16
b)订单行支付中存在9001-香港欠款、9002-货到付款、或者9005-对公欠款
2.设置订单实时处理标记。
1)满足以下所有条件设置实时处理标记为Y
a)行项目类别为10-实体、12-赠品
b)“装运条件为空-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 需求 规格 说明书