架构师养成记(三)架构设计过程

架构师养成记(一)什么是软件架构

架构师养成记(二)架构设计理论

在之前的文章中,我们明确了什么是架构,以及架构的分类和架构设计的目标。本文在前两篇文章的基础上来说在业务中,如何做各种类型的架构设计,以及如何达到架构设计的目标。

一个新的业务系统构建过程大致如下:业务分析 -> 基础设计 -> 各系统详细方案设计

颗粒度分别是: 整体业务级别 -> 业务领域 -> 应用 -> 模块 -> 代码

一、业务分析

业务分析是整个设计的最前期工作,这个阶段需要确定业务系统要解决什么样的问题,以及业务系统的目标用户有哪些。在确定下来之后,产研会将要解决的问题拆分,成为用户在业务系统上的各种各样的操作,形成一系列的用户用例,产品经理再根据用户用例,输出前期需求。

这个阶段必须要完成的是业务架构确定,以及业务系统的功能架构

二、基础设计

业务分析之后,研发部门就能明确要做的事情有哪些,这时便进入研发阶段。此时研发侧架构同学要做的事情主要如下

1、根据产品需求、业务流程拆分业务领域,这时候可以使用DDD来拆分

2、根据领域内业务,确定业务应用有哪些

3、基础技术组件选择

做完这两件事情之后,整个业务系统大概有什么业务流程,有哪些业务应用,以及业务实体就可以确定下来了。

这个阶段要确定的主要是应用架构,技术架构。很多时候,技术组件在公司或者部门级别是有规范的,这时候根据规范选择即可。

三、各系统详细方案设计

在各个应用确定之后,对应的研发同学则需要做出各个应用的详细系统设计,一般来说,一份好的系统设计应该包含的内容如下:

1、设计背景

2、用户用例

3、核心业务流程的流程图或者时序图

4、数据库实体关系

5、风险评估

6、api接口列表

7、工作量评估

四、后续维护

在各个应用开发完之后,就是维护的工作,如果是一个运行时间很长的系统,不仅仅是满足业务的需求,还有很多技术指标需要满足。常见的还有监控、日志、安全、性能,可用性等方面的需求。如果业务量上涨,则还需要考虑系统如何去扩展,关于扩展,可以看前文中提到的AFK原则。

相关推荐
mldong8 分钟前
一个 App,十三套后端:手机审批端 uni-jeeflow-app 开源了
java·架构
weixin_BYSJ19872 小时前
【计算机毕设】基于SpringBoot与Vue的文物保护档案管理系统08621
vue.js·spring boot·spring cloud·微服务·架构·django·课程设计
GreenTea2 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
西安栈上月明软件科技2 小时前
从业务黑话到本体图谱:OAG本体建模五步法(西安老系统AI化改造实战)
数据库·人工智能·架构
海宇AI4 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
白远山6 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
故作春风7 小时前
elpis-core 核心从入门到理解
后端·架构·node.js
萧瑟余晖9 小时前
Hibernate 核心原理与架构详解
开发语言·架构·hibernate
企业通信技术笔记9 小时前
信创环境下企业即时通讯IM怎么部署?5类方案的架构与适配思路
架构·私有化部署·信息与通信·信创·企业即时通讯
parser9 小时前
LangGraph 智能体项目实战问题:循环导入的根因分析与三层解法(Python langgraph)
架构