课程大纲
第一章 LLM驱动的软件架构设计
软件架构设计的思想
1. 什么是软件架构设计
2. 架构设计的发展历程:Zachman, TOGAF, DDD
4A软件架构设计思想
软件架构是从宏观上说明一套系统的组成与特性
1)业务架构设计:首先从业务上对需求进行梳理与规划
2)应用架构设计:将业务需求落实到软件的设计与规划
3)数据架构设计:将业务需求落实的数据结构的梳理与细化
4)技术架构设计:将软件设计最终落实到技术选型与物理部署
案例:以DDD为指导的AI驱动设计
1. 制定LLM软件开发的模板与规范:
1)文档模板:架构设计的模板、用例模型的模板、领域模型的模板
2)开发规范:领域对象、服务接口、DSL配置、测试用例的开发规范
3)以次为基础,提前为AI设计一系列的rules和skills
2. 基于领域模型的LLM软件开发:
上半场:梳理业务需求,构建领域模型,形成契约
1)LLM辅助的软件需求探索与业务架构规划
2)LLM辅助编写用例模型,由人来审核
3)LLM辅助编写领域模型,由人来审核
下半场:基于领域模型的AI驱动开发、测试与调试
4)LLM辅助形成数据库设计,编写SQL脚本
5)LLM辅助编写领域对象、服务接口与DSL代码
6)LLM辅助,基于底层平台实现业务代码的编写
7)LLM辅助,基于业务需求创建测试用例代码
第二章 需求分析与业务架构规划
业务架构的规划与设计过程
实战演练:智能温控系统的业务架构规划过程
1. 站在全局的角度进行业务架构的梳理
演练:AI辅助与人机结合的业务架构探索过程
2. 由粗到细的业务梳理过程
1)从战略目标到子系统划分的业务规划规程
2)从子系统到功能模块的业务规划过程
3)从功能模块到流程分支的业务梳理过程
3. 动态模型与静态模型相结合的需求分析过程
1)动态模型 → 用例模型梳理 → 对用例及其业务流程的梳理
2)静态模型 → 领域模型梳理 → 对领域对象及其数据结构的梳理
用例模型与需求规格说明书
实战演练:在线交易系统的业务梳理过程
1. 用例模型的分析设计过程
1)站在全局的业务规划与战略设计
2)由粗到细的用例建模过程:用例、参与者与系统边界
3)三种类型的用例描述:业务流程、查询报表、图表展示
4)按照用例描述的方式编写需求规格说明书
2. 界面原型设计
3. 演练:基于LLM的进行需求探索,建立用例模型
1)基于LLM进行业务架构的规划与业务需求的探索
2)为用例模型编写设计skills并且不断调教
3)业务架构+skills,让LLM自动生成用例模型与用例描述
4)对LLM生成的用例模型与用例描述进行审查与调教
5)基于用例模型形成最终的需求规格说明书
演练基于LLM的领域建模过程
1. 从领域中吸取业务领域知识
2. 统一语言建模:与用户沟通需求的高级技巧
3. 领域驱动的设计思想:将真实世界与软件世界对应起来
1)将真实世界的事物与软件世界的对象对应起来
2)将真实世界中事物的行为,与软件世界中对象的方法对应起来
3)将真实世界中事物间的关系,与软件世界中对象间的关联对应起来
4. 演练:用LLM基于用例模型形成领域模型
1)为领域模型编写skills并不断调教
2)用例模型+skills,通过LLM形成领域模型
3)对AI生成的领域模型进行梳理与确认
4)按照领域模型划分限界上下文
5. 基于DDD进行业务架构规划
1)为每个限界上下文构建业务领域模型
2)划分并识别主题域、支撑域、通用域
3)落实各子域之间的联系、接口及事件通知机制
6. 对LLM生成的领域模型进行审查与调教
第三章 应用架构设计与开发测试
应用架构的概念与设计思路
一、系统规划与接口定义
案例:国家电网智能电表的系统规划过程
二、系统分层与技术中台设计
剖析常见的架构设计模式及其设计思想
1. 整洁架构与六边形架构设计
2. CQRS架构设计与读写分离
3. 物联网+人工智能的架构设计
三、开发架构的技术选型
四、软件开发规范的制订
基于领域驱动的系统架构与开发规范
1. 小而专的可复用组件设计
2. 限界上下文与构建块的拆分
3. 上下文地图与构建块间的接口设计
4. 各构建块中实体、值对象与服务的设计
5. 各构建块中聚合、工厂与仓库的设计
6. 领域模型4种关系3种继承的数据库设计
7. 聚合层的设计、工厂和仓库的实现
8. 基于DDD的嵌入式架构分层
9. 通过建立开发规范,让AI辅助进行编码与测试
演练基于AI编程的软件开发过程
1. 利用LLM搭建后端项目软件开发环境
1)编写skill文件定义Springcloud开发环境
2)采用Builder模式,由LLM搭建后端开发环境
3)通过Maven运行并验证后端开发环境
2. 利用LLM将领域模型的设计转变成程序设计
1)为领域对象编写skills文件
2)为服务接口编写skills文件
3)为DSL的配置编写skills文件
4)基于领域模型+skills文件,由LLM生成初步的程序代码
5)开发人员对程序代码进行审查与优化
3. 基于DDD的平台规范,由LLM实现业务功能
1)基于DDD的规范,搭建一套支持DDD的开发平台
2)编写DDD开发平台的API接口文档
3)通过注释的方式,对服务接口Service的每个方法进行设计
4)基于接口注释+平台API接口文档,由LLM编写和实现业务功能
5)开发人员对AI生成的程序代码进行审查与调优
演练基于AI编程的软件测试过程
1. 自动化软件测试的概念与作用
1)传统的软件测试:先开发再测试
2)自动化测试:基于测试脚本的测试
3)程序开发与测试脚本同时进行
4)在测试脚本的保护下变更代码
5)用AI进行自动化测试脚本的编写
2. 基于用例模型的业务需求,由LLM生成测试用例代码
1)为测试用例代码编写skills文件
2)用例模型+skills文件,由LLM生成测试程序代码
3)开发人员对测试代码进行确认与调教,并完成最终的测试
第四章 数据架构设计
数据架构设计思路与过程
1. 传统的数据架构设计及其弊病
2. 基于领域模型的数据架构设计
讲解基于领域的数据架构设计过程
1. 如何将领域模型转换为数据库设计
传统的4种关系转换为数据库设计
继承关系的3种数据库设计
2. 如何将领域模型转换为软件设计
深入理解服务、实体、值对象的概念与区别
两种不同的思路:贫血模型 vs. 充血模型
复杂业务的拆分:问题域、子域与限界上下文
3. 利用LLM将领域模型的设计转变成数据库设计脚本
1)为数据库设计编写skills文件
2)领域模型+skill文件,由LLM生成数据库脚本
3)开发人员对数据库脚本进行审查与优化
第五章 技术架构设计
探讨运行架构的设计过程
1. 关注关键点与难点而不是全局
2. 属性→场景→决策的分析过程
3. 架构跑道、使能故事与意图架构
4. 技术架构的不断沉淀与技术平台的搭建
基于领域模型的设计变更
案例:智能温控系统的云+端设计转型过程
1. 智能温控系统的最初设计过程
1)业务架构规划
2)建立用例模型
3)建立领域模型
2. 智能温控系统向集中式管理的转型过程
1)AI辅助进行业务架构的探索
2)站在全局的角度进行业务架构调整
3)由业务架构调整细化到用例模型变更
4)最后落实到领域模型变更
3. 智能温控系统向云+端的智能转型
1)架构差异分析:建立目标架构、基线架构与过渡架构
2)通过多个过渡架构进行循序渐进的改造
3)制订架构路线图,一个迭代、一个迭代地落地实施


