架构师第一周总结

用户头像
suke
关注
发布于: 2020 年 06 月 10 日

如何做架构设计



4+1 架构视图



  • 理念很重要 单一视图无法表达完整的架构,所以需要视图集

  • 一个系统是由不同的角色,不同的人合理完成的,所以架构给不同的人看,展现的内容也是不同的



在对应的场景用UML表达设计意图更重要

uml 工具

  • draw.io



分类

模型

  • 对现实业务关系理解越清晰

  • 系统本身其实就存在于现实中,设计的系统越贴近现实,在开发起来遇到的问题就越少,系统见关系越清晰,开发起来也就越顺利

  • 所以开发的时候要去理解业务

  • 领域模型-概念模型-系统需求-解决方案

  • 做这些软件模型的设计就是为了把头脑中的抽象表达出来,同时便于与人沟通讨论,以便改进自己的设计



uml



分类(必须记住7种)

  • 静态

- 用例图

- 类图

- 组件图

- 部署图

  • 动态

- 时序图

- 活动图

- 状态图



通用模型元素

  • 状态

  • 用例

  • 节点

  • 接口

  • 组件



通用模型关系(类关系)

  • 依赖*

  • 关联

  • 实现*

  • 聚合

  • 组成

  • 继承*



用例建模- 需求分析

  • 描述系统功能需求,宏观了解模型总体轮廓,通过典型用例分析,开发者快速了解用户需求

  • 通常是很多用例图描述一个系统

  • 每个图的元素维持在10-20个左右,不要包含太多关系

  • 可以画不同层次的用例图,一层一层细分



  • 我的系统有什么功能,供什么人使用,功能之间关系是什么

  • 角色用例- 人或者系统

  • 用例边界- 矩形

  • 关系

  • 用例



类图-详细设计

  • 核心类的设计要画出来,而不是所有类

  • 给工程师看



动态建模



uml中消息



  • 简单

  • 同步 同步方法调用 类之间调用一定是同步

  • 异步



时序图 - 需求/概要/详细 设计



可以画不同层面、不同领域、不同系统的时序图



  • 对象 广义上的对象,人/对象/模块/等等

  • 生命线 对象生命周期

  • 激活

  • 消息

  • 可以自动生成协作图(没有时序的图)



活动图 - 需求/概要/详细 设计



  • 描述流程 如何完成

  • 泳道图

- 描述跨领域流程的处理



状态图 需求分析/详细设计

  • 描述核心对象复杂状态变迁



组件图 概要设计

  • 描述物理组件/模块之前的依赖、交互关系,边界

  • 架构设计中最重要的图之一



部署图 概要设计

  • 描述服务器之前的关系

  • 进入架构设计的第一张图就是部署图

  • 架构图是自上而下的,纵览全貌的图,所以第一张图是部署图



用户头像

suke

关注

还未添加个人签名 2017.10.19 加入

还未添加个人简介

评论

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