# 软件系统设计与体系架构

## 基本概念

1. 软件系统是什么？怎么去设计？它（评价系统）的指标是什么？

   软件系统分成系统软件，应用软件。

   操作系统就是一个很典型的系统软件，连接硬件与软件的软件。

   不管是系统软件还是应用软件，它可以独立运行，就是系统。

   软件系统的定义：
   
   - 具有一组完整功能的程序和数据的集合
   
   - 系统不等于功能
   
     系统是里面的程序集合
   
     功能是面向用户的
   
   - 系统体现的是能力，包括具备的功能、系统指标等
   
   - 典型的系统：操作系统、数据库管理系统等

2. 设计

   1. 针对”功能需求“
   2. 设计一个”系统“：具备足够”能力“，满足”需求“，”系统“具备独立的进化能力

3. 体系架构

   1. 系统的“物理组成结构”
   2. 多个”构件或模块“
   3. 通过此”体系架构“构成的系统具备”能满足用户需要的功能“

   

   

软件系统设计的步骤

1. 用户需求

   - 功能需求
   - 非功能需求
2. 设计
   1. 设计基本架构——整体结构
      - 三层架构
      - 智能架构
      - 其它
   2. 设计构件——每个构件做什么
      - 智能体
      - 模型与算法
   3. 选择产品——选择实现的方式
      - 主流产品
      - 研究团队训练
      - 自行实现
   4. 编码实现
      - 选择语言
      - 选择开发框架


3. 软件系统 

   - 物理上

     - 基本架构

     - 构件/模块


   - 能力上

     - 功能
     - 性能、扩展性、友好性等

4. 编码
   - 选择语言
   - 选择开发框架






设计



编码



用户<->系统

系统对外功能：

1. 用户使用系统

2. 系统帮用户处理

系统

三层系统的分层式结构

1. 业务逻辑层

2. 业务逻辑处理模块

3. 数据访问层

![image-20251024004839947](C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20251024004839947.png)





系统的内部功能

- 数据的处理：数据结构与算法
- 业务的处理：问题建模与算法
- 接口
- 其它



2. 设计

   - 针对“功能需求”
   - 设计一个系统：具备足够的能力，满足需求
   - 系统具备

3. 体系架构

   - 系统的物理组成结构

   - 包括多个构件或者模块

   - 通过此体系架构构成的系统具备能满足用户需要的功能  

     
     
     
     
     

## 步骤

用户需求

- 功能需求
- 非功能需求

软件系统

- 物理上
  - 基本架构
  - 构件/模块
- 能力上
  - 功能
  - 性能，扩展性、友好性



设计

1. 设计基本架构

   - 三层架构（界面、业务、数据）

   - 智能架构

     | 感知 | 决策 | 动作 |
     | ---- | ---- | ---- |
     |      |      |      |

     

   - 其它

   整体结构

2. 设计构件

   - 智能体
   - 模型与算法

   每个构建做什么

3. 选择产品

   - 主流产品
   - 研究团队训练的模型/算法
   - 自行实现的构件/模块

   选择实现的方式

编码

- 选择语言
- 选择开发框架

编码完成系统运行

界面

业务

数据

智能架构

| 用户 | 智能系统 |
| ---- | -------- |
|      |          |

## 智能系统产业链-基础层

## 电商平台案例



# 另一

## 基础层

