架构师第一周

用户头像
Tulane
关注
发布于: 2020 年 06 月 09 日
架构师第一周



架构核心





  • 架构文档是给 相关方 做的, 架构始终在满足 相关方关注点

  • 架构元素: 组件、服务器、类、子系统、模块等

  • 元素间关系

  • 静态: 组合、继承等

  • 动态: 交互



架构视图



4+1视图 , 他们的 相关方关注点 是不同的, 架构是建立在 场景 下的



  • 逻辑视图

  • 开发视图

  • 物理视图

  • 过程视图

  • 场景视图



UML建模



学习目标



什么情况下 -> 用什么UML模式 -> 达成什么意图



软件开发的步骤





UML的意义

  • 沟通、交流、思考



UML的分类

  • 静态图: 用例图、类图、组件图、部署图

  • 动态图: 状态图、活动图、时序图、(合作图)



静态关系



聚合: 按引用包容

组合: 按值包容



动态关系



  • 对象消息: A方法调用B方法, 属 同步消息



用例图





使用阶段: 需求分析阶段

用例图中的信息: 边界、功能(用例)、关系(使用与扩展)、角色(可以是其他系统)

用例图的作用: 使用者和功能间的关系 (系统谁来使用, 功能关系如何)



关键点

  • 容纳十几二十个元素

  • 自顶向下细分用例

  • 多个用例图描绘



类图





使用阶段: 详细设计

信息: 加号/减号 (public/private) (protect 无符号)



组件图





使用阶段: 概要设计

信息: 组件关系, 通常是依赖关系



组件分为 物理/逻辑

粒度为 jar包 ( 一个人负责的开发单位 )

组件的动态关系用 组件时序图 描述



部署图





部署图是架构师画的第一张图

使用阶段: 概要设计



部署图中的 子系统 , 之间的 动态关系 使用 子系统时序图 , 子系统时序图需要依赖于某个 场景



时序图





使用阶段

  • 需求分析: 系统级时序图

  • 概要设计: 组件级时序图

  • 详细设计: 类级时序图



信息:

  • 对象: 广义, 可以是人, 类, 系统等

  • 激活: 长条线表示, 活动的状态

  • 生命线: 虚线表示, 描述生命周期

  • 消息: 实现表示, 动态关系 (比如方法调用)



活动图





活动图是用来描述 流程

泳道是描述 跨领域 的流程



活动图使用阶段

  • 需求分析: 业务流程

  • 概要设计: 不同模块、领域、子系统的流程

  • 详细设计: 方法内部流程



状态图





状态图描述 不同状态的变化迁移关系



状态图使用阶段



  • 需求分析: 系统中关键状态的变化

  • 详细设计: 枚举在对应逻辑下的变化



需求分析阶段的状态图, 转换到详细设计阶段的状态图



阶段建模



需求分析阶段

  • 用例图: 描述 谁使用系统, 系统功能间关系如何

  • 活动图: 描述 系统业务流程

  • 状态图: 描述 系统业务状态, 即关键业务状态的变迁

  • 时序图: 描述 子系统与外部子系统的关系



概要设计阶段

  • 部署图: 描述 整体、子系统依赖关系

  • 时序图: 描述 服务器、子系统间的关系

  • 活动图: 描述 子系统间的业务流程

  • 组件图

  • 组件时序图

  • 组件活动图



详细设计阶段

  • 类图

  • 类时序图

  • 类状态图: 描述 状态枚举, 布尔值变迁

  • 类方法的活动图: 描述 方法内的流程



用户头像

Tulane

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师第一周