需求分析说明书,即系统详细的开发流程,本文简单谈谈我是怎么写的,由于本人资历尚浅,可能写的也并不规范,当作经验之谈。想要完成一个需求分析说明书,我个人觉得,需要的知识有抽象转实体,实体提取,实体联系,其实就是数据库的知识,此外还有统一建模语言UML,用来构建各种图,还有确定设计模式,使用何种技术栈最能解决这个需求,技术栈就是前后端使用何种语言,若有移动端,API及文档如何编写,服务器使用哪种,文件服务器怎么设置,怎么解决高并发问题,基本的安全知识等等。

一、拿到系统功能需求书

我本人做了一些项目,非专业人士能给的,无非就是简单的罗列功能,有些好的最多能给的加个功能模块,模块下对应的详细功能,真的不能再多了。下面是我之前做的一个项目需求。

业务知识库
系统提供问答管理功能,可对工程认证业务知识库进行问题录入、问答导入、问答打出、同时对业务知识进行分类,支持单个录入、批量导入、快速添加业务知识问答,每个问答包括标准文法、相似问法、答案,机器人会根据问答知识库来回答用户的提问;
问答设置
添加问答时先选择问答分类,设置问答标准问法,相似问法、关联问题、标准答案。谁知问答的状态,启用或停用。
还可通过固定模板,对问题进行批量导入。
问答逻辑设置
系统设计自动默认推送的问题列表的层级逻辑。
业务知识问答
业务知识问答分为问题列表推送,精准回答、模糊匹配问答、模糊引导问答、智能学习及未知学习;
1.问题列表推送
页面自动推送常见问题,又用户自行选择,引导用户咨询和增加答题精准度,用户打开问答窗口时,默认推送该列表,按照问题点击次数降序排列;
2.精准回答
客户提问能精准匹配业务知识库的问答只是,机器人将根据问答学习提供准确答案。
3.模糊匹配问答
用户提问与业务知识库有语法顺序、名词、动词、形容词等加入情况,机器人通过语义理解分析,匹配业务知识,并给出准确回答。
4.模糊引导问答
用户提问的问题比较模糊,机器人根据语义分析理解匹配到多个问题不能准确回答,会推送给用户一个建议问题列表,客户可根据需求选择问题,机器人将推送选择问题的回答。
5.智能学习
当用户问的问题比较模糊,机器人不能准确回答,会给客户一个建议问题列表,当客户第一次选择问答的时候,机器人会自动将此问题推荐为用户选择问题的相似问法,管理员可在后台操作是否进行关联。
6.未知学习
机器人不能回答的问题,系统自动记录至未知学习列表,同时记录该问题的询问次数,管理员可根据问题提问频率看是否添加到知识库中,也可忽略或关联到其他问题中。
报表分析
1.热点问题报表
热点问题统计实现对用户常问问题进行统计排名,系统自动对用户常问50问题进行统计排名,管理员可选择不同问题分类进行统计
2.采纳率统计
用户收到机器人反馈的问题后可选择采纳或不采纳,系统将统计不同答案的采纳率以便修改知识库。

可以看到,一个系统,就这么多字,然后让你负责,技术栈无所谓。如果看到这个能随便写,那就不用往下看了。如果你看到这个一筹莫展,那请往下看,可能会对你有帮助。

二、导图软件提取关键字

为了让大家能直观的看到这个结构,我就不提取关键字了,直接复制下来,原则上是不能直接复制的,因为导图的描述字不宜过长,这是我专门交了2000块钱学习的导图怎么弄的一点知识。直接看结果:

三、设计数据库

1、对导图的每个模块中进行实体提取

怎么进行实体提取,实体直观的就是名字,不直观的就是要推断,就是我前面说到的抽象转实体。从上面的导图中,可以看到,直观的实体有知识库问答、用户、问答类别、以及未知问答等,要推断的实体接着往下看。

2、找出实体间的关联关系

在结构化数据库中,实体间的关联主要有1对1,1对多,多对多三种关系,关系的良好设计能减少数据库的冗余性。因为涉及到公司的数据,我不会把所有的关系都写下来。对以上三个关系,我每个举一个例子。1对1就不说了,1对多如分类对问答,一个问答只能对应一个分类,而一个分类能对应多个问答,这就是1对多,所以问答表中必有一个字段是外键,并且关联分类表中的主键。多对多的例子就是,一个问答能关联多个问答,而这个问答也能被多个问答关联,这就是多对多的关系,在数据库设计中,两个多对多的实体一般要对应三张表,第三张表中有两个外键分别对应两个实体表的主键。

3、推断实体表

在推出关联后,就可以推断实体表了,找出一些联系,或者一些事实,并用新的实体表来描述,这就是抽象转实体。

4、给实体表添加字段

字段就是表的属性,对应表的列。找属性和找实体差不多,属性就是实体的特征,如用户的属性,可以有性别,年龄,密码等等。字段在开发过程中是可以继续添加的,记住,一旦确定了表间的关系后,尽量不要修改,不然会陷入很难受的地步。

四、写标准的需求文档

功能有了,数据库有了,现在就要把详细的需求文档写出来,详细的需求文档可以说是开发过程的引导,一切开发工作都是照着需求文档弄的。所以,想要写规范的需求文档需要一个规范的需求文档模板。根据这个规范的需求模板,来写你的内容。

一个好的需求的文档模板目录大概如下:

Catalog 目  录
1 Introduction 简介   5
1.1 Purpose 目的  5
1.2 Scope 范围    5
2 General description 总体概述  5
2.1 Software perspective 软件概述   5
2.2 User characteristics 用户特征   5
2.3 Software function 软件功能  5
2.4 Assumptions & Dependencies 假设和依赖关系  5
3 Specific Requirements 具体需求    5
3.1 Functional Requirements 功能需求(详细描述)  5
3.2 Performance Requirements 性能需求   6
3.3 External Interface Requirements 外部接口需求  7
4 Overall Design Constraints 总体设计约束 7
4.1 Standards Compliance 标准符合性  7
4.2 Runtime Limitations 环境约束    7
4.3 Technology Limitations 技术限制 8
5 Software Quality Attributes 软件质量特性    8
6 Dependencies 依赖关系 8
7 Other Requirements其他需求    9
7.1 Database 数据库    9
7.2 Operations 操作   9
7.3 Localization 本地化    9
8 Issues To Be Determined 待确定问题 9

需求文档就是把以上的内容清楚的描述出来,注意在功能需求那把模块具体写清楚,甚至开发过程的简单流程。至此,需求分析文档初步完成。

浅谈我是如何从简单的系统功能需求书写规范的需求分析说明书相关推荐

  1. 浅谈百度地图的简单开发之实现地图全景,内景展示功能(四)

    今天,我就接着来浅谈一下关于百度地图的内景,外景的展示功能.今天具体要实现的功能就是输入该地点的名称然后就展示该地点的内景图片,有内景就展示内景,没有则显示该地点的街景,该功能是参考百度地图官方的AP ...

  2. 浅谈游戏中的简单判定机制

    目录: 个人简介 前言 坦克世界中的判定原理 点亮与隐蔽 跳弹与击穿 总结 真实版的坦克世界1 强行加数学公式 个人简介 学号: 16340089 学院名称 前言 在信息发达的社会,游戏已经成为我们生 ...

  3. 浅谈VMware Workstation Pro 使用Linux系统(超详细教程)

    Vmware Workstation Pro 使用Linux系统 ·····················分割线······················· 目录: VMware Workstat ...

  4. 浅谈C#中一种类插件系统编写的简单方法(插件间、插件宿主间本身不需要通信)...

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 三年多前还在上研时,用C#+反射机制写过插件系统,后来又用M ...

  5. 浅谈RPG游戏中的属性系统设定

    先来张我最喜欢的Nero和Dante的帅照!!! 最近的E3展也是让广大游戏爱好者们打开眼界,小编最喜欢的鬼泣系列也将于明年春季迎来鬼泣4的正统续作鬼泣5,再加上最近小编也在自己开发着RPG游戏,所以 ...

  6. 浅谈同一家公司多个系统,共用登录用户名和密码

    主要解决系统使用的加密方式不一致的问题, 比如几年前的系统A, 某某牵头无中生有的系统B 原先A用的php语言开发,比如叫做tap,是国外用来做项目管理的一款BS平台,(和国内发禅道类似,省略***) ...

  7. 从微信封杀拼多多链接浅谈我是如何解决微信屏蔽封杀外部以及广告链接的

    2019年10月28日,微信派即腾讯微信官方发布了<微信外部链接内容管理规范>.其中最引人瞩目的就是对拼多多诱导分享链接的全面封禁.所有拼多多的砍价链接都不能在微信里直接打开了,红包链接也 ...

  8. 浅谈快速开发平台:突破系统开发边界,赋能企业数字化!

    快速开发平台,简单地说就是指那些不用编码或通过少量代码,就可以快速开发应用程序的平台.既可以降低开发人力成本,又可以缩短开发时间,从而实现企业降本增效的价值. 今天为大家介绍4款成熟业务的快速开发平台 ...

  9. 浅谈百度地图的简单开发之引入基本地图以及修改地图样式(一)

    今天,想给大家带来一个基于百度地图官方开放的API开发的高仿百度地图的Demo(还称不上是一个APP),基本实现了百度地图的几大核心功能,百度地图中的基本地图,百度地图的定位,百度地图的全景显示,百度 ...

  10. 浅谈百度地图的简单开发之实现基本地图的类型及覆盖物的添加(二)

    今天,我们接着上一讲,上一讲我们把地图上界面自定义了一番,加上了按钮等一系列的控件,但是还没有给这些加上具体的功能,今天这一讲,主要是实现几种地图的切换,是否开启实时交通,通过自定义的按钮去控制地图的 ...

最新文章

  1. Leetcode455分饼干-贪心
  2. 既然有 GC 机制,为什么还会有内存泄露的情况
  3. MultiModel:跨领域多任务机器学习
  4. vmware nat模式网络不通_笨笨狗教你如何解决VMware虚拟机桥接网络不通问题?
  5. python3连接数据库失败_python3使用pymysql连接mysql数据库报Keyerror
  6. oracle mysql 常用语句(查询表中某字段有几种类型,及每种类型有多少个数、插入多行、查询前几行)
  7. Python教程:网络爬虫快速入门实战解析
  8. python学习 day1 (3月1日)
  9. zabbix监控php-fpm性能状态
  10. VS.左侧_蓝黄绿_竖线
  11. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题
  12. 树莓派4做服务器哪个系统好,【树莓派】树莓派4无痛安装系统(NOOBS篇)
  13. IE, FF, Safari前端开发常用调试工具(转载)
  14. mysql的临时表空间_Mysql临时表空间详解
  15. 计算机圆半径计算公式,圆半径计算公式是什么?
  16. 计算机2级免考那几项,计算机二级证书可以免考哪些自学考试科目?
  17. 一个直肠癌患者的最后50天,转发自阮一峰博客
  18. STP生成树协议(超详细小白也能看懂)
  19. 关于uniapp cheneckbox复选框不显示对号的问题
  20. Android应用开发-小巫CSDN博客客户端之获取评论列表

热门文章

  1. 极课大数据完成C轮融资,投资方为好未来
  2. 使用Laravel和Vue.js2.5进行服务器端渲染
  3. Java中new Date插入mysql数据库,数据库时间多一秒问题
  4. 叶罗丽颜值测试软件齐娜多少分,精灵梦叶罗丽:美颜相机下灵公主16岁、齐娜7岁,他竟然拍的46岁...
  5. [大话技术]话聊有趣的23种设计模式
  6. 计算机c盘用户里的APPDATA,什么是appdata C盘appdata可以删除吗
  7. 孙子兵法——精华摘录
  8. com.jcraft.jsch.JSchException: Algorithm negotiation fail 异常解决
  9. 计算机小学生二年级知识,小学二年级语文知识点之拼音技巧
  10. linux中括号的用法,【shell】Linux shell中括号的用法