架构师为什么要写文档?又该如何写文档呢?

大家好,我是冰河~~

最近有很多小伙伴,也不乏身边的一些同事问我:哎,架构师为什么要写这么多文档啊?有啥用呢?不能跟开发一样多写写代码吗?天天写文档,又感觉自己的文档写不好,有什么写文档的技巧吗?

今天也正好看到一篇文章,就给大家统一回复下这个问题。

软件设计文档就是架构师的主要工作成果,它需要阐释工作过程中的各种诉求,描绘软件的完整蓝图,而软件设计文档的主要组成部分就是软件模型。

软件设计过程可以拆分成 需求分析、概要设计和详细设计 三个阶段。

在需求分析阶段,主要是通过用例图来描述系统的功能与使用场景;对于关键的业务流程,可以通过活动图描述;如果在需求阶段就提出要和现有的某些子系统整合,那么可以通过时序图描述新系统和原来的子系统的调用关系;可以通过简化的类图进行领域模型抽象,并描述核心领域对象之间的关系;如果某些对象内部会有复杂的状态变化,比如用户、订单这些,可以用状态图进行描述。

在概要设计阶段,通过部署图描述系统最终的物理蓝图;通过组件图以及组件时序图设计软件主要模块及其关系;还可以通过组件活动图描述组件间的流程逻辑。

在详细设计阶段,主要输出的就是类图和类的时序图,指导最终的代码开发,如果某个类方法内部有比较复杂的逻辑,那么可以将这个方法的逻辑用活动图进行描述。

我们在每个设计阶段使用几种UML模型对领域或者系统进行建模,然后将这些模型配上必要的文字说明写入到文档中,就可以构成一篇软件设计文档了。

由于时间关系,今天就跟大家聊到这里,后续给大家分享系统写架构文档的方法论。

好了,今天就到这儿吧,我是冰河,我们下期见~~

相关推荐
程序员爱钓鱼几秒前
Go语言实战案例-开发一个Markdown转HTML工具
前端·后端·go
小小菜鸡ing16 分钟前
pymysql
java·服务器·数据库
getapi19 分钟前
shareId 的产生与传递链路
java
桦说编程29 分钟前
爆赞!完全认同!《软件设计的哲学》这本书深得我心
后端
Aczone2829 分钟前
硬件(五) 存储、ARM 架构与指令系统
arm开发·嵌入式硬件·架构
闲看云起35 分钟前
从 GPT 到 LLaMA:解密 LLM 的核心架构——Decoder-Only 模型
gpt·架构·llama
thinktik39 分钟前
还在手把手教AI写代码么? 让你的AWS Kiro AI IDE直接读飞书需求文档给你打工吧!
后端·serverless·aws
我没想到原来他们都是一堆坏人1 小时前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
沙二原住民1 小时前
提升数据库性能的秘密武器:深入解析慢查询、连接池与Druid监控
java·数据库·oracle