架构图(4+1视图)

总体

架构蓝图 -- 软件架构的“4+1”视图模型

软件逻辑架构图用什么画 软件逻辑关系图_软件逻辑架构图用什么画

软件逻辑架构图用什么画 软件逻辑关系图_系统分析_02

一种视图:场景视图(用例图)

  • 【概念】用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。
  • 【目的】用来描述整个系统的功能。

软件逻辑架构图用什么画 软件逻辑关系图_软件设计_03

用例图中包含以下三种关系:

  • 包含关系使用符号《include》,想要查看订单列表,前提是需要先登录。
  • 扩展关系使用符号《extend》,基于查询订单列表的功能,可以增加一个导出数据的功能(如果xx,则xx  分支功能)
  • 泛化关系,子用例继承父用例所有结构、行为和关系。

 

记忆:(先有谁,就指向谁)包含谁、指向谁;扩展谁,指向谁 

包含(扩展 无要求):如果没有子用例,基用例无法完成
扩展:如果xxx,则xxx(分支流)

四种视图

1.  逻辑视图(组件图/类图)

1.1 组件图


描述 软件的模块及其之间的关系

最简单的组件图:

软件逻辑架构图用什么画 软件逻辑关系图_软件设计_04

下面springcloud微服务的逻辑视图示例(仅部分),就描述了springcloud中各个功能组件。从这个图中,基本可以对springcloud有一个大颗粒度的了解。

软件逻辑架构图用什么画 软件逻辑关系图_软件逻辑架构图用什么画_05

 

咱们以java体系架构来说明逻辑视图,下图描述了java体系中各个功能组件,以及他们的层级关系,作用和依赖范围。

软件逻辑架构图用什么画 软件逻辑关系图_架构图_06

 

1.2 类图

2. 处理流程视图(流程图/时序图)

流程图、顺序图、状态图他们三者分别解决什么样的问题? 

3. 开发视图

软件逻辑架构图用什么画 软件逻辑关系图_软件设计_07

4. 物理视图

软件逻辑架构图用什么画 软件逻辑关系图_UML_08

软件逻辑架构图用什么画 软件逻辑关系图_软件逻辑架构图用什么画_09

软件需求分析、系统设计的图

需求分析设计之七武器 

软件建模与设计过程可拆分为需求分析、概要设计和详细设计三个阶段。我们往往需要在不同阶段输出不同的设计文档。这个过程,除了自身的业务理解能力外,建模工具UML必不可少,其中常用的有七种(“七武器”):类图、用例图、时序图、活动图、状态图、组件图和部署图。

适用阶段

模型图

说明

需求分析:

 

 

 

类图

关注领域对象识别及其关系

 

活动图

描述业务流程(一种 流程图)

 

用例图

通过反映用户和软件系统的交互来描述系统的功能需求

 

时序图

通常用于表示对象之间的交互’这个对象可以是类对象,也可以是更大粒度的参与者’如组件、服务器、子系统等

 

状态图

描述状态变迁的逻辑关系

概要设计:

 

 

 

活动图

描述子系统和组件的交互  (一种 流程图)

 

时序图

通常用于表示对象之间的交互’这个对象可以是类对象,也可以是更大粒度的参与者’如组件、服务器、子系统等

 

组件图

粒度比较粗,通常用以描述和设计软件的模块及其之间的关系,需要在设计早期阶段画出来

 

部署图

是整个软件设计模型中比较宏观的一种图,是在设计早期就需要画的一种模型图;还可以估算服务器和第三方软件的采购成本

详细设计:

 

 

 

类图

开发工程师按照类图实现代码即可

 

状态图

这个时候状态要用枚举值表示,以指导具体的开发

 

时序图

常用于描述系统内部详细的接口调用时序或业务模块数据流转过程

 

活动图

可用于描述一个类方法内部的计算流程

 

 

UML九种图的分类

UML九种图的分类:

UML结构图与行为图整理 


软件逻辑架构图用什么画 软件逻辑关系图_软件设计_10

软件逻辑架构图用什么画 软件逻辑关系图_软件设计_11