软件项目-需求规格书
项目介绍
项目背景
- 讲述项目/需求产生原因、项目的意义和价值,以及是如何贴合当前业务进行的项目
项目目标
- 讲述项目日后的最终发展目标,让大家以最终目标为方向去推动产品进行
- 主要是综合性的介绍项目的基本情况,以及项目的目标,发展前景,规模等
项目团队
- 项目团队是对项目领导团队的介绍,包括姓名 学历 项目相关工作经验等
项目的风险
- 如果项目存在较高的风险值时可以起到告诉业务中其他人该项目需要注意的地方,以防项目推广后出现致命性的问题
需求
业务分析
确立核心业务
- 这里主要是体现出产品的核心业务流程功能点
- 其中包含项目的实体关系图、业务流程图用来告诉开发测试人员项目的实现流程(绘制流程图的形式)
确立业务流程
- 示例业务A
- 业务流程图
- 数据流向分析
- 界面交互
- 实体关系(E-R图)
- 数据字典
- 示例业务B
功能模块总览图
需求明细清单
功能需求
简述
- 也可以理解为功能清单,需要你将所有功能点罗列出来
- 并告诉研发人员每个功能的功能描述、优先级、需求逻辑描述、相关细节性描述、相互作用描述、交互说明
- 需求包括用户界面和功能描述两个部分
- 用户界面,主要是以产品原型作为载体,用直观图像的形式展现产品的功能
- 功能描述,在用户界面的基础上,以文字的形式诠释产品功能的细节,使开发人员更清晰的明白产品功能性能的要求
产品功能单元拆分方式
- 按功能在系统中的位置
- 按业务流程
- 按功能主次
- 按功能所处界面位置
需求列表参考表
- 序号
- 功能
- 需求描述
- 优先级
需求明细(用例)参考
- 功能描述
- 优先级
- 需求逻辑描述
- 相关细分描述
- 相互作用说明
非功能需求
- 性能需求
- 响应时间、吞吐率、容量、精确度、资源利用率等
- 安全需求
- 数据加密、防泄漏、防攻击、身份验证、权限控制、日志和审计等
- 可靠性需求
- 可用性、容错性、可恢复、故障/缺陷率低等
- 易用性需求
- 易学习、易理解、易操作、页面布局合理美观、防错机制等
- 可维护性和可拓展性需求
- 可复用性、组件和模块化、易分析、修改和测试等
- 其它需求
- 软硬件环境、端口要求、语言要求等等
系统技术架构
相关技术选型与调研
- 评估实现业务场景需要的技术
- 调研研发团队技术栈体系
- 评估技术的社区活跃度、使用许可协议、技术与业务的适配度
系统的支撑技术
系统搭建时选择的支撑技术,如前端技术、后端技术、数据库、中间件、服务器等
示例
- HTML
- 用于构建页面框架
- CSS
- 用于美化页面样式
- JavaScript
- 用于实现动态更新样式
- Elasticsearch
- 作为数据存储方案
- Kibana
- 用于实现数据可视化分析
关键业务使用的技术说明
可以介绍系统关键业务使用的技术,如日志管理、文件处理、消息幂等性消费、用户认证、网络安全传输、数据库事务使用、缓存使用、数据清洗、数据可视化等 还可以介绍系统中使用的二方库、三方库介绍
示例
- 数据清洗
- 通过Logstash的插件和过滤器对日志数据进行清洗、转换、增强,之后将结构化数据传输到ES
- 数据可视化
- 通过Kibana等可视化工具提供的丰富的图表和仪表盘,可以将日志数据中的关键信息及趋势直观呈现,帮助用户更好的监控和管理系统的允许状况