UML- 架构

2025年3月17日 | 阅读 3 分钟

软件架构是关于如何在最高级别构建软件系统。需要从多个角度以质量和设计的角度进行大方向思考。 软件团队与许多实际问题相关,例如

  • 开发团队的结构。
  • 业务需求。
  • 开发周期。
  • 结构本身的意图。

软件架构提供了完整软件系统的基本设计。 它定义了系统中包含的元素、每个元素的功能以及每个元素之间的相互关系。 简而言之,它是整个系统的大图或整体结构,以及所有内容如何协同工作。

为了形成架构,软件架构师将考虑几个因素

  • 该系统将用于什么?
  • 谁将使用该系统?
  • 什么质量对他们很重要?
  • 系统将在哪里运行?

架构师计划系统的结构以满足这些需求。 拥有适当的软件架构至关重要,尤其是在大型软件系统中。 拥有完整系统的清晰设计作为起点,为开发人员提供了坚实的基础。

每个开发人员都会知道需要实现什么以及事物如何关联以有效满足所需的需求。 软件架构的主要优势之一是它为软件团队提供了高生产力。 软件开发变得更加有效,因为它提出了一个已解释的结构来协调工作、实现单个功能或讨论潜在问题。 有了清晰的架构,就更容易知道关键职责在哪里,以及在哪里进行更改以添加新需求或修复故障。

此外,清晰的架构将有助于通过使用关注点分离等原则来在软件中实现质量; 系统变得更容易维护、重用和适应。 软件架构对软件开发人员、项目经理、客户和最终用户等人员很有用。 每个人都会有不同的角度来查看系统,并将为项目带来不同的议程。 此外,它提供了几个视图的集合。 最好将其理解为五个视图的集合

  1. 用例视图
  2. 设计视图
  3. 实现视图
  4. 过程视图
  5. 开发视图
UML- Architecture

用例视图

  • 它是一个视图,显示了系统由外部参与者感知的功能。
  • 它揭示了系统的需求。
  • 使用 UML,可以很容易地在用例图中捕获此视图的静态方面,而其动态方面则在交互图、状态图和活动图中捕获。

设计视图

  • 它是一个视图,显示了系统内部以静态结构和动态行为方式设计的功能。
  • 它捕获了问题空间和解决方案空间的词汇表。
  • 使用 UML,它以类和对象图表示此视图的静态方面,而其动态方面则在交互图、状态图和活动图中捕获。

实现视图

  • 它是一个视图,表示核心组件和文件的组织。
  • 它主要解决系统版本的配置管理问题。
  • 使用 UML,其静态方面在组件图中表达,而动态方面在交互图、状态图和活动图中捕获。

过程视图

  • 它是一个视图,展示了系统的并发性。
  • 它包含构成并发系统和同步机制的线程和进程。
  • 它主要解决系统的可扩展性、吞吐量和性能问题。
  • 其静态和动态方面与设计视图的表达方式相同,但更侧重于代表这些线程和进程的活动类。

部署视图

  • 它是一个视图,显示了系统的物理架构的部署。
  • 它包括构成系统硬件拓扑的节点,系统将在其中执行。
  • 它主要解决构建物理系统的各个部分的分配、交付和安装问题。

下一主题UML 图