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

大家好,我是冰河~~

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

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

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/665473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年12月CCF-GESP编程能力等级认证Python编程五级真题解析

Python等级认证GESP(1~6级)全部真题・点这里 一、单选题(共15题,共30分) 第1题 通讯卫星在通信网络系统中主要起到( )的作用。 A:信息过滤 B:信号中继 C:避免攻击 D:数据加密 答案:B 第2题 小杨想编写一个判断任意输入的整数N是否为素数的程序,下面哪个方法…

怪物联萌小游戏

欢迎来到程序小院 怪物联萌 玩法:将怪物连体,怪物只能直线上下左右移动,躲过障碍物,共16关卡, 不同关卡不同界面,遇到金币记得吃掉金币哦,会获得更高分数,快去闯关吧^^。开始游戏ht…

纯血鸿蒙来了,鸿蒙App开发该如何提速

“全世界做产品挣钱的公司很多,但有能力打造操作系统的公司没有几家,最后世界上的操作系统就只有三套:鸿蒙、iOS和安卓。” --- 360集团创始人、董事长周鸿祎 “HarmonyOS实现了AI框架、大模型、设计系统、编程框架、编程语言、编译器等全栈…

git的分支操作

目录 简介: 操作:查看 操作:创建 操作:切换​编辑 操作:本地分支推送到远程 操作:git merge [name]合并分支​编辑 简介: 在Git中,可以通过分支来管理和处理不同的版本和功能。分…

一文读懂C++的类和对象以及多态的原理

现实生活中,关于类和对象最好的例子是自然界的动物类,本文将以此为场景逐步引入C的概念,达到学习的目的。因为C这门语言本身有很多繁杂的内容,而网上的资源也是参差不齐,有的人见山谈山遇水聊水,有多人故弄…

已解决!AttributeError: ‘Sequential‘ object has no attribute ‘session‘ 问题

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

事件在状态流程图中的工作方式

什么是事件? 事件是一个Stateflow对象,它可以触发以下对象中一个动作: Simulink触发子系统 Simulink函数调用子系统 状态流程图 何时使用事件 当你想: 激活Simulink触发的子系统 激活Simulink函数调用子系统 在状态流程图…

MySQL进阶之触发器

触发器 触发器是与表有关的数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触 发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性 , 日志记录 , 数据校验等操作 。 使用别名OLD和NEW来引用…

EtherCAT转ModbusTCP网关

一、功能概述 1.1设备简介 本产品是EtherCAT和Modbus TCP网关,使用数据映射方式工作。 本产品在EtherCAT侧作为EtherCAT从站,接TwinCAT、CodeSYS、PLC等;在ModbusTCP侧做为ModbusTCP主站(Client)或从站(…

openstack

在虚拟机上安装完openstack之后,根据你想提供的服务,再去安装一些组件(服务),比如说 (Nova):用于虚拟机的管理、调度和协调。 (Neutron):用于管理虚拟网络和网络服务。 (Cinder):提供块级存储服务&#…

c语言---操作符(详解)

目录 一、操作符的分类二、算术操作符三、 移位操作符3.1<<左移操作符3.1.1移位规则3.1.2直接上代码以及解释 3.2>> 右移操作符3.2.1移位规则3.2.2画图解释 3.3注意 四、位操作符&#xff1a;&、|、^、~4.1&按位与4.1.1按位与的计算逻辑4.1.2代码4.1.3运行…

2024程序员就业咋办?

国际研究机构Gartner会在每年10月份左右发布下一年度的战略发展趋势预测&#xff0c;并在次年3月左右发布和网络安全相关的趋势预测。绿盟科技通过将近3年的趋势预测进行分组对比分析后发现&#xff0c;除了众人皆知的AI技术应用外&#xff0c;数据模块化、身份优先安全、行业云…

阿里云OSS对象存储

一、前言 阿里云对象存储OSS作用&#xff1a;用于存储图片、视屏、文件等数据。 参考阿里云文档地址&#xff1a;阿里云对象存储教程 二、总体思路 说明&#xff1a;客户端给服务端发送请求&#xff0c;获取policy和signature等数据&#xff08;服务端提供&#xff09;&#…

IT行业有哪些含金量高的证书?

IT行业含金量高的证书多种多样&#xff0c;每种证书都代表着特定领域的专业知识和技能水平。以下是一些备受业界认可的高含金量IT证书及其原因与获取方式&#xff1a; 思科认证&#xff08;Cisco Certifications&#xff09; CCNA (Cisco Certified Network Associate)&#xf…

VS打包.exe文件步骤

1.借助vs自带扩展工具 2.1打开扩展栏 2.2搜索栏填入 " installer " 2.3下载安装 下载完成后&#xff0c;推出vs自动弹出安装。 2.生成安装包 2.1新建一个项目 2.2输入"setup" 直接下一步 2.3输入项目名称和存储位置、点击创建 出现该栏 2.4选择 主文件…

Pandas--数据结构 - DataFrame(4)

DataFrame 是一个表格型的数据结构&#xff0c;它含有一组有序的列&#xff0c;每列可以是不同的值类型&#xff08;数值、字符串、布尔型值&#xff09;。DataFrame 既有行索引也有列索引&#xff0c;它可以被看做由 Series 组成的字典&#xff08;共同用一个索引&#xff09;…

python求解中位数

首先将数组nums进行排序&#xff0c;然后找到中间位置的数值 如果数组长度n为奇数&#xff0c;则(n1)/2处对应值为中位数&#xff0c;如果数组下标从0开始&#xff0c;还需要减去1 如果数组长度n为偶数&#xff0c;则n/2,n/21两个位置数的平均值为中位数 假设中位数为x&#x…

ManageEngine推出云原生身份平台以解决劳动力IAM挑战

ManageEngine推出云原生身份平台以解决企业员工身份与访问管理&#xff08;IAM&#xff09;面临的挑战。该公司还为其本地身份治理和管理&#xff08;IGA&#xff09;解决方案添加了先进的安全功能。 IAM 内置通用目录可在企业应用程序之间集中管理用户身份&#xff0c;使用身…

【Nginx】nginx入门

文章目录 一、Web服务器二、Nginx三、Nginx的作用Web服务器正向代理反向代理 四、CentOS上安装Nginx(以CentOS 7.9为例) 一、Web服务器 Web 服务器&#xff0c;一般是指“网站服务器”&#xff0c;是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户…

【复现】帮管客CRM 客户管理系统 sql注入漏洞_37

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 帮管客CRM客户管理系统基于先进的CRM营销理念设计&#xff0c;集客户档案、销售记录、业务往来于一身&#xff0c;以凝聚客户关系…