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

大家好,我是冰河~~

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

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

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

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

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

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

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

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

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

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

相关推荐
向往技术的猫菜1 分钟前
Java必需要会的MySQL知识
后端
Frank_zhou4 分钟前
Java代码是如何运行起来的
后端
Victor3564 分钟前
MySQL(121)如何处理死锁问题?
后端
亚洲第一中锋_哈达迪4 分钟前
深入剖析 go-zero 分布式缓存
后端
静若繁花_jingjing5 分钟前
Redis线程模型
java·数据库·redis
Frank_zhou7 分钟前
多线程-sleep-yield-join
后端
error_cn7 分钟前
sysctl监控系统性能
后端
小飞悟20 分钟前
浏览器和服务器是怎么“认出你”的?揭秘 Cookie 认证
后端·node.js
一名用户21 分钟前
unity实现梦日记式传送组件
后端·c#·unity3d
hello早上好26 分钟前
CGLIB代理核心原理
java·spring