软件需求文档 - yangboz/spring-boot-activiti-restful GitHub Wiki

文档编号:_20070801_

保密级别:_#1_

软件需求说明模板

所属项目: iTradeWorkflowChatbot ** **

**文件类别:**001 ** **

** 本 **号: 0.0.1 ** **

** 写 **者: yangboz ** **

** 核 **者: ** **

** 准 **者: ** **

目 录

1引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料
2任务概述
2.1目标
2.2用户的特点
2.3假定和约束
3需求规定
3.1对功能的规定
3.2对性能的规定
3.2.1精度
3.2.2时间特性要求
3.2.3灵活性
3.3输入输出要求
3.4数据管理能力要求
3.5故障处理要求
3.6其他专门要求
4运行环境规定
4.1设备
4.2支持软件
4.3接口
4.4控制

1引言

1.1编写目的

{说明编写这份软件需求说明书的目的,并指出预期的读者。}

软件需求说明书的作用在于便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据,并作为确认测试和验收的依据。

1.2背景

  1. a.工程的名称:智能化贸易流程聊天机器人V0.1;

  2. b.工程产品的名称:智能化贸易流程聊天机器人

  3. c.工程的组织者:北京斯玛科特科技有限公司

  4. c.产品的生产者:wood.ai

  5. c.产品的设计者:wood.ai

  6. c.产品的所有权:wood.ai

1.3定义

{列出本文件中用到的专门术语的定义和外文首字母组词的原词组。}

iTradeWorkflow:智能化贸易流程

iTradeChatbot:智能化贸易聊天机器人

iTradeKnowledgeGraph:智能化贸易知识图谱

1.4参考资料

{列出用得着的参考资料,如:

《 软件需求 》 ---- Karl E.Wiegers 著

  1. a.本项目的经核准的计划任务书或合同、上级机关的批文;

  2. b.属于本项目的其它已发表的文件;

  3. c.本文件中各处引用的文件、资料、包括所需要用到的软件开发标准。

PMP,ITIL v3

列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。}

2任务概述

2.1目标

{叙述该项目软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明系统的组成和本产品同其他各部分的联系和接口。}

本软件的目标使木材贸易流程办公无纸化、流程简单化,以节省企业方面的不必要的资源浪费。帮助贸易流程涉及的企业效率得到极大的提高。

2.2用户的特点

{列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。这些是软件设计工作的重要约束。}

本企业管理应用系统软件是应用于各中小企业贸易公司。

2.3假定和约束

{列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。}

三点估算:这个概念源于计划评审技术(PERT)

最可能时间 60(Tm)

最乐观时间 40(To)

最悲观时间 90(Tp)

最可能时间 62 Te=(To+4*Tm+Tp)/6

3需求规定

3.1对功能的规定

{用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。}

1.在"工作流"功能被激活时,系统通过“Activiti”相关命令行,实现”方便地管理跨机器运行:应用部署、维护、扩展机制等功能“。 其中包括:

1.1支付贷款(进口商)

1.2付款凭证(进口商)+(调用2.1)

1.3确认(进口商)+(调用2.2)

1.4纠正补充信息(进口商)+(调用2.2)

1.5确认收款 (代理公司)+

1.6登记入账 (代理公司)+

2。在"Chatbot"功能被激活时,系统通过"chatbot"相关命令行,实现"快速在本地启动一个单机的Chatbot服务器,本地验证和测试Chatbot"。 其中包括:

2.1识别(表1,待提供)

2.2记录(表2,待设计)

2.3记录(表3,待设计)

2.4记录(更新表3,待设计)

2.5最终合同记录提供查询(进口商:按合同号出对账单;代理公司:按合同号出对账单)

3.在"推送"功能被激活时,系统通过“收发消息”相关命令行,实现”方便地管理“。 其中包括:

3.1 推送给代理公司的财务人员(仅文本消息)

3.2 推送给代理公司的业务员(仅文本消息)

3.3 推送给进口商的财务人员(仅文本消息)

3.4 推送给进口商的业务员(仅文本消息)

3.2对性能的规定

3.2.1精度

{说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。}

“对于贸易中的金额款项精确到0.01元”。

3.2.2时间特性要求

{说明对于该软件的时间特性要求,如对:

a:响应时间;"系统的平均故障间隔时间应该为 2000 小时",

b:更新处理时间: "系统的平均修复时间应为 1 小时",

c:数据的转换和传送时间: "预计系统的平均API并发访问次数支持200次/秒,预计平均响应时间1秒(不计算网络花销时间)",

等的要求。}

3.2.3灵活性

{说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:

a:操作方式上的变化;“电脑桌面端,手机移动端支持”

b:运行环境的变化;“跨平台解决方案,compile once, run anywhere(Java)”

c:同其他软件的接口的变化;“Restful API支持”

d:精度和有效时限的变化;“”

e:计划的变化或改进。“PERT三点估算”

对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。}

3.3输入输出要求

{解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。}

"预计系统的平均API并发访问次数支持200次/秒,预计平均响应时间1秒(不计算网络花销时间)"

3.4数据管理能力要求

{说明需要管理的文件和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。}

"api数据库访问具有一定的抗压能力"

3.5故障处理要求

{列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。}

“系统的平均故障间隔时间应该为 2000 小时”

3.6其他专门要求

{如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。}

“附加保密协议”

4运行环境规定

"尽量打包在一个Docker-compose中,Docker版本1.7+,Docker-compose1.0+"

4.1设备

{列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:

a:处理器型号及内存容量;

b:外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;

c:输入及输出设备的型号和数量,联机或脱机;

d:数据通信设备的型号和数量;

e:功能键及其他专用硬件。}

"占用的CPU、内存等硬件资源不能太夸张"

4.2支持软件

{列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。} Linux/MacOSX

4.3接口

{说明该软件同其他软件之间的接口、数据通信协议等。}

"提供:Swagger UI,一款RESTFUL接口的文档在线自动生成+功能测试功能软件"

4.4控制

{说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。}

"提供Jenkins,一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。"