前言
最近在写一些项目书让我头疼的就是一些图的绘制了,(更让我头疼的其实是沟通不力),遂从网络上搜索了相关的结果,最后整理出来,供自己以后查看。这一文章只是从我的已知的角度出发,不要有太大奢求
,如果有详细需要,请自行搜集文献等。
阶段分析
软件产品的开发基本分为以下几个阶段:
需求分析→设计→开发→测试→部署→维护,每个阶段需结合具体的图表和文档以确保团队协作效率与产品质量。实际项目中,可根据团队规模灵活调整流程(如敏捷开发可能合并部分阶段)。
接下来我们从阶段顺序出发,说明各个阶段要用到的各种图/文档,以及阶段目标和的关键活动。
需求分析阶段
阶段目标
明确用户需求、市场定位和产品目标。
关键活动
通过用户访谈、问卷调查、市场调研等方式收集需求。
整理需求并编写需求规格说明书(PRD)。
常用图表/文档
用户故事地图(User Story Mapping):描述用户场景和需求优先级。
需求规格说明书(PRD):详细记录功能需求和非功能需求。
业务流程图:展示业务流程和用户操作路径。
竞品分析报告:通过图表对比竞争对手的功能和优势。
设计阶段
阶段目标
将需求转化为技术方案和可视化原型。
关键活动
系统架构设计、数据库设计、交互设计及UI设计。
原型评审和设计优化。
常用图表/文档
系统架构图:展示软件模块划分和技术选型。
原型图(低保真/高保真):使用Axure、Figma等工具设计界面和交互逻辑。
数据库ER图:描述数据表结构和关系。
流程图/状态图:定义功能逻辑和用户操作流程(如
时序图
、组件图
、活动图
、状态图
、数据流图
、接口规格图
) 。
开发阶段
阶段目标
编码实现功能并进行初步测试。
关键活动
前后端代码开发、单元测试和持续集成。
常用图表/文档
代码结构图:展示代码模块和依赖关系(如UML类图)。
API接口文档:描述接口参数和调用规范(如Swagger文档)。
版本控制记录:通过Git等工具管理代码变更历史。
测试阶段
阶段目标
验证功能、性能和用户体验。
关键活动
功能测试、性能测试、用户测试及缺陷修复。
常用图表/文档
测试用例表:详细列出测试场景和预期结果。
缺陷跟踪报告:记录Bug优先级、状态和修复进度(如Jira看板)。
性能测试报告:通过图表展示系统负载和响应时间。
部署与上线阶段
阶段目标
将产品发布到生产环境并确保稳定运行。
关键活动
服务器配置、数据迁移和上线监控。
常用图表/文档
部署流程图:展示发布步骤和回滚计划。
上线公告:通过邮件或文档通知干系人上线内容和注意事项。
监控仪表盘:实时展示系统运行状态(如Prometheus/Grafana图表)。
维护与迭代阶段
阶段目标
持续优化产品并响应用户反馈。
关键活动
Bug修复、功能迭代和性能优化。
常用图表/文档
用户反馈分析报告:整理用户建议并生成优先级列表。
版本迭代计划:使用甘特图或Roadmap规划新功能发布时间。
系统健康报告:定期生成性能、稳定性和安全性的评估图表。
工具推荐
下面是一些作图推荐的使用工具,我个人比较喜欢Mermaid
和Draw.io
。
Mermaid:基于 JavaScript 的图表工具,可渲染 Markdown 启发的文本定义以动态创建和修改图表。
PlantUML:基于文本生成UML图(支持时序图、类图等)。
Draw.io / Lucidchart:在线绘制多种架构图。
Visual Paradigm:专业UML设计工具,支持代码与图的同步。
总结
上面所提到的一些图或文档说的都不够清晰,可以自行搜索,毕竟我只是做个记录,以免自己忘记或弄错,而不是去讨论各个部分的详细内容。也可以根据下面的参考资料去详细学习某些图的画法和一些产品相关知识。