文档撰写和排期
文档列表
需求文档
用文字概括所有功能,并描述每一个功能,建议用「用例图」代替。
系统概要设计
描述出实现需求所需要的软件架构,主要划分功能模块,方便分工。
系统详细设计
需要架构师给出数据设计、流程图、类图、时序图等,方便码农实现。国内码农自己想。
测试文档
测试用例 = 输入 + 输出 + 环境,测试文档描述所有测试用例。
根据范围分为单元测试、集成测试(前后端代码实现后测试)、系统测试(模拟用户测试)、冒烟测试(功能性测试)、回归测试(添加新功能后回测旧功能)等。
接口文档
接口文档由程序员撰写,方便不同模块间互相调用。 目前流行的撰写工具有Swagger、Postman、Apifox、Apipost。
需求文档
- 项目背景——要解决什么问题
- 用户定位——希望服务什么样的用户
- 需求划分——为了达成大需求,要解决哪些小需求
- 功能列表——描述每个功能的使用流程,可用文字、图片、流程图、用例图等
- 范围——哪些功能Version1做,哪些功能呢Version2做,哪些是必做,哪些是选做
- 可行性——从经济、技术、法律等方面,证明此需求不是不可能达成的
概要设计
常见Web应用架构
- 三层架构(Three Tier architecture)——数据层、应用层、表现层
- MVC模式——Model、Controller、View
- 微服务、Serverless
其他术语
- 前后端分离——前后端代码完全分开,靠HTTP API交流。
- 负载均衡——用多台机器提供同一个服务,分担压力,可以实现。
- 中间件——放在处理流程中间,提供单独的、可组合的服务。
系统详细设计
有哪些接口、有哪些页面,需要多久实现。
测试文档
要测试哪些功能?如何构造数据和环境?
接口文档
描述每一个后端API的输入与输出。