首页 > 其他分享 >系统架构设计师笔记第4期:统一建模语言(UML)

系统架构设计师笔记第4期:统一建模语言(UML)

时间:2023-06-04 12:05:49浏览次数:38  
标签:建模语言 静态 系统 视图 架构 Diagram UML 描述

统一建模语言(Unified Modeling Language,简称UML)是一种用于软件系统分析、设计和文档化的标准建模语言。它提供了一组图形符号和规则,用于描述系统的结构、行为、交互和其他相关方面,以便开发人员、设计师和利益相关者之间进行沟通和共享理解。

通过使用UML,开发人员和设计师可以使用标准化的图形符号和表示法来描述和分析软件系统,促进团队之间的协作和沟通,提高系统的可理解性和可维护性。UML已经成为软件工程领域的主要建模语言,并广泛应用于软件开发过程中的需求分析、系统设计、架构描述和文档编制等方面。

UML具有以下几个主要的图形表示法:

静态图

UML(统一建模语言)的静态图主要用于描述系统的静态结构和关系。以下是常用的UML静态图:

  1. 类图(Class Diagram):类图描述了系统中的类、接口、关联关系、继承关系等,展示了系统的静态结构和类之间的关系。
  2. 对象图(Object Diagram):对象图展示了系统中对象的实例以及对象之间的关系,用于描述类图的具体实例。
  3. 包图(Package Diagram):包图用于组织和管理系统中的类和其他元素,展示了包(package)之间的层次结构和依赖关系。
  4. 组件图(Component Diagram):组件图描述了系统中的组件、接口、依赖关系等,用于表示系统的物理结构和组件之间的关系。
  5. 部署图(Deployment Diagram):部署图描述了系统的物理部署和硬件配置,展示了系统的节点、进程、连接等。

除了上述常用的静态图,UML还包括一些其他的静态图形,如:

  1. 构件图(Composite Structure Diagram):构件图描述了系统中的构件、内部结构和协作关系。
  2. 静态活动图(Activity Diagram):静态活动图描述了系统中的业务流程和静态行为,用于展示系统的控制流程和条件逻辑。
  3. 模块图(Module Diagram):模块图描述了系统中的模块和模块之间的关系。

这些静态图形可以帮助开发人员和设计师更好地理解和描述系统的静态结构,从而促进系统的设计、分析和文档编制。根据具体的需求和系统特点,可以选择适当的UML静态图进行建模和描述。

动态图

UML(统一建模语言)的动态图主要用于描述系统的行为和交互过程。以下是常用的UML动态图:

  1. 时序图(Sequence Diagram):时序图描述了系统中对象之间的交互和消息传递的时间顺序。它展示了对象之间的交互过程、消息的发送和接收顺序,以及对象状态的变化。
  2. 协作图(Collaboration Diagram):协作图描述了系统中对象之间的协作关系和消息传递。它强调对象之间的交互和消息的流动,展示了对象的角色、关联关系和通信。
  3. 状态图(State Machine Diagram):状态图描述了系统中对象的状态和状态之间的转换。它展示了对象在不同状态之间的转换和触发状态转换的事件、条件和动作。
  4. 活动图(Activity Diagram):活动图描述了系统中的活动、操作和控制流程。它展示了系统中各个活动的执行顺序、并行性和条件逻辑。
  5. 交互概览图(Interaction Overview Diagram):交互概览图描述了一系列交互图之间的控制流程和控制节点。它提供了一个高级的视图,用于展示多个交互图之间的关系和交互流程。

除了上述常用的动态图,UML还包括一些其他的动态图形,如:

  1. 时序图合并片段(Interaction Fragment):用于描述时序图中的并行和串行执行的片段。
  2. 引用图(Timing Diagram):描述对象的状态变化和消息传递的时间和顺序。
  3. 交互图(Communication Diagram):类似于协作图,描述对象之间的通信和协作关系。

这些动态图形可以帮助开发人员和设计师更好地理解和描述系统的行为、交互和状态变化,从而促进系统的设计、分析和文档编制。根据具体的需求和系统特点,可以选择适当的UML动态图进行建模和描述。

UML视图

在软件系统的设计和开发中,UML(统一建模语言)视图是指从不同角度对系统进行抽象和描述的一种方式。UML视图提供了系统的多个视角,以便开发人员、设计师和利益相关者可以更好地理解系统的不同方面。

每个UML视图都关注系统的某个特定方面,并提供特定类型的图形和图示符号来表示相关的概念和关系。以下是常见的UML视图:

  1. 用例视图(Use Case View):用例视图关注系统的功能和角色,描述系统的用例和参与者之间的关系。
  2. 逻辑视图(Logical View):逻辑视图关注系统的静态结构,描述系统的类、接口和它们之间的关系。
  3. 组件视图(Component View):组件视图关注系统的组件和它们之间的关系,描述系统的物理结构和组件的依赖关系。
  4. 进程视图(Process View):进程视图关注系统的并发和分布式执行,描述系统的进程、线程和它们之间的关系。
  5. 部署视图(Deployment View):部署视图关注系统的物理部署和硬件配置,描述系统的节点、进程和它们之间的关系。
  6. 实现视图(Implementation View):实现视图关注系统的软件实现和源代码结构,描述系统的包、类和源文件之间的关系。

每个视图都提供了一种特定的抽象级别和关注点,帮助开发人员和设计师从不同的角度来理解和描述系统。这些视图可以单独使用,也可以相互关联和补充,以提供对系统的全面理解和描述。视图之间的转换和关系可以通过关联关系、依赖关系、组合关系等UML元素来表示。通过使用UML视图,开发人员可以更好地组织和管理系统的复杂性,并促进团队之间的协作和沟通。

标签:建模语言,静态,系统,视图,架构,Diagram,UML,描述
From: https://blog.51cto.com/u_14540126/6410305

相关文章

  • 备忘:值得一看的文章,网站架构相关
    http://3g.163.com/ntes/special/0034073A/qq_article.html?docid=9GD1NIUD00964KA8http://3g.163.com/ntes/special/0034073A/qq_article.html?docid=9HIPAKH400964KA8http://3g.163.com/ntes/special/0034073A/qq_article.html?docid=99N86UP700964KA8http://3g.163.com/nte......
  • 架构设计的外部适应性
    从架构设计的角度来说,我们要把大多数的尝试尽量封装到一个小的领域内。这个时候,多次的业务尝试不会随着时间而导致混乱,削减技术体系的外部适应性。做到这点,下面的这些架构原则非常重要。第一,单一职责,指的是要把每个业务尝试尽量封装到一个单一模块中。好处是一旦尝试失败,就可以迅速......
  • ArchUnit 架构测试框架
    很多时候我们觉得架构比较复杂,或者架构比较玄幻,同时对于自己设计的架构方案心里总是没有底ArchUnit是一个不错的选择可以像单元测试一样,测试我们的架构是否合理(包含了包以及类的依赖,分层,循环依赖。。。。)说明对于希望检查自己方案架构问题的,可以尝试下ArchUnit工具参考资料https:......
  • 大件货运系统源码,技术架构:spring boot、mybatis、redis、vue、element-ui
    网络货运平台源码网络货运平台的功能网络货运是指利用互联网平台,通过物流配送的方式进行商品销售和物流运输的一种新型商业模式。这种模式将传统的货运模式与互联网技术相结合,通过网络平台进行交易、物流配送和结算等一系列流程,从而实现货物的快速、高效、便捷地运输。技术架构:spr......
  • 系统架构设计师笔记第3期:软件测试
    软件测试是指在开发过程中对软件系统进行验证和评估的过程。它是一种系统性的活动,旨在发现软件中的缺陷、错误和问题,以确保软件满足预期的需求和质量标准。软件测试涉及执行软件的各种功能和操作,以验证其正确性、可靠性、安全性和性能。软件测试的主要目的是:发现软件中的缺陷和错误......
  • COS20019云计算架构
    COS20019CloudComputingArchitecture-Assignment02ScalableCloudComputingArchitecture(30%)Table1.ModificationHistoryDate(created/modified)Purposes2023-04-28Createdtheassignment2023-05-06Finalizetheassignment2023-05-16Revisedassuggested......
  • JanusGraph架构——gremlin是提交spark任务计算,数据读写转给后端DB做读写
    JanusGraph是一个图形数据库引擎。JanusGraph本身专注于压缩图序列化、丰富图数据建模、高效的查询执行。此外,JanusGraph利用Hadoop进行图分析和批处理。JanusGraph为数据持久化,数据索引和客户端访问实现了强大的模块化接口。JanusGraph的模块化架构使其能够与各种存储,索引和客......
  • 架构-如何画架构图
    资料如何画出一张合格的技术架构图?如何画架构图?产品经理的高阶能力:架构图的设计与画法设计图都不会画,还想做”架构师“?你知道如何画好一幅架构图么?系统逻辑架构图怎么画想要做”架构师“,一定要会画设计图画出你的项目架构图一个关于“系统架构图怎么画?”的问题不错的架构图BFF-Ba......
  • UML
    UML:统一建模语言。UML2.2分类UML2.2定义了14种图示,分类如下:结构式图形:强调的是系统式的建模。静态图(类图,对象图,包图)实现图(组件图,部署图)剖面图复合结构图行为式图形:强调系统模型中触发的事件。活动图状态图用例图交互式图形:属于行为式图形子集合,强调系统......
  • 数据隐私为先:EMQX Cloud BYOC 架构解析
    随着物联网的飞速发展,保护数据隐私和安全变得愈发重要。构建一个安全、可靠、可扩展的物联网基础设施成为企业的首要任务。EMQ近期推出了EMQXCloudBYOC,采用了以数据隐私为先的架构,为解决这些问题提供了一个理想的方案。用户可以在自己的云环境中部署MQTT集群,完全掌控自己的......