这里是【软考——系统架构师】,关注我考试轻松过线 如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位点赞评论收藏⭐️

文章目录

  • UML 基础
  • UML 软件开发过程
  • 系统架构文档化
    • 送书福利

UML 基础

  • UML 的四种类型图特点及对应的视图:
    (1)用例图:从外部用户角度描述系统功能,并指出功能执行者。
    (2)静态图:显示了系统的静态结构,特别是存在事物的种类的内部结构相互之间的关系,静态图包括类图、对象图、包图。
    (3)行为图:描述系统的动态模型和组成对象间的交互关系,包括交互图、状态图、活动图。
    (4)实现图:描述软件实现系统的组成和分布状况。包括构件图、部署图。
  • 用例和用例图
    (1)用例图展现了一组用例、参与者以及它们之间的关系。
    (2)编写用例需识别的元素:1)参与者;2)用例间关系;3)用例图;4)用例之间的描述。
  • 类图和对象图
    (1)类与类之间的关系:1)关联;2)聚集;3)组合;4)泛化;5)依赖。
    (2)建立类图步骤:1)研究分析问题领域确定系统需求;2)确定类,明确类的含义和职责、确定属性和操作;3)确定类之间的关系。
    (3)对象图:表示在某一时刻一组对象以及他们之间的关系,可以看作是类图在系统某一时刻的实例。
    (4)类图在系统的整个生命周期都是有效的,对象图只在系统的某一时间段存在。
  • 包图: 是一种维护和描述系统总体结构的模型的重要建模工具,描述系统的分解结构,表示包以及包之间的关系,展现系统模块之间的依赖关系。
  • 交互图: 描述对象之间的消息传递,包括:(1)顺序图,又称时序图,用于显示对象之间的交互;(2)协作图,描述系统的行为。
  • 状态图: 对类图的补充,一个对象在其生命期的动态行为。
  • 活动图: 系统的工作图和并发行为。
  • 构件图: 一组构件以及它们之间的相互关系。
  • 部署图: 也称配置图、实施图,可以用来显示系统中计算节点的拓扑结构和通信路径与节点上运行的软构件等,用于理解分布式系统。

UML 软件开发过程

基于 UML 进行需求分析。从业务需求描述出发获取执行者和场景,对场景进行汇总、分类、抽象,形成用例,确定执行者与用例、用例与用例之间的关系,生成用例图。如下图为基于银行自助取款业务背景的用例图:

面向对象的设计
(1)设计用例步骤:1)提取边界类、实体类和控制类;2)构造交互图;3)根据交互图精化类图。如图 6-3 描述了面向对象的软件设计过程,图 6-4 为基于银行自助取款业务的顺序图:

系统架构文档化

  1. “4+1”视图包括: 逻辑视图(Logical View)、过程视图(Process View)、物理视图(Physical View)、开发视图(Development View)、场景。
  2. 逻辑架构: 设计的对象模型(使用面向对象的设计方法时)。支持功能性需求,采用抽象、封装或继承的原理,用来识别遍布系统各个部分的通用机制和设计元素。
  3. 进程架构: 捕捉设计的并发和同步特征。考虑一些非功能性的需求,如性能和可用性。在几种层次的抽象上进行描述,每个层次针对不同问题。
  4. 开发架构: 描述了在开发环境中软件的静态组织结构。用模块和子系统来表达,显示了“输出”和“输入”关系。
  5. 物理架构: 描述了软件到硬件的映射,反映了分布式特性。主要关注系统非功能性需求,如可用性、可靠性、性能和可伸缩性。
  6. 场景: 架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(Use Cases)或场景(Scenarios)来说明,从而形成了第五个视图。

送书福利

内容介绍:
《Spring Cloud微服务快速上手》介绍了当下最主流的属于Spring生态的微服务框架,它继承了Spring Boot的优点,开发部署都非常简单。本书内容全面,介绍了微服务架构的发展历程,包含Spring Cloud Netflix和Spring Cloud阿里巴巴的组件,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。在解读核心组件的实现原理的同时,配以案例进行实践。本书内容包含微服务架构和云原生架构,读者在掌握微服务之后,可以进一步掌握云原生知识。