UML图(软件设计师)

UML图

1.UML介绍

UML(统一建模语言,Unified Modeling Language)是一种标准的图形化建模语言,用于可视化、描述、构造和记录软件系统的各个部分。它帮助开发人员和系统架构师在软件开发过程中表达设计和体系结构。UML不是一种编程语言,而是用来创建模型的语言。以下是UML的一些主要方面:

UML的主要图表类型

UML包含许多图表,可以分为两大类:结构图和行为图。

1.1结构图

  • 类图(Class Diagram):描述系统中的类及其相互关系。它展示了类的属性、方法以及类之间的静态关系(如继承、实现、关联)。
  • 对象图(Object Diagram):展示某一时刻系统中的对象实例及其关系,主要用于验证类图。
  • 组件图(Component Diagram):展示系统的物理组件(如文件、数据库表)以及组件之间的依赖关系。
  • 部署图(Deployment Diagram):展示系统的硬件节点(如服务器)以及这些节点上部署的软件组件。
  • 包图(Package Diagram):组织和分组类、组件等模型元素,展示包之间的依赖关系。

1.2行为图

  • 用例图(Use Case Diagram):展示系统与外部用户(角色)之间的交互。用例图主要用于捕捉系统的功能需求。
  • 顺序图(Sequence Diagram):描述对象之间的交互顺序。展示对象之间的消息传递顺序。
  • 协作图(Communication Diagram):展示对象间的交互关系,着重于对象的角色及其关系。
  • 状态图(State Diagram):描述对象的状态变化以及导致状态变化的事件。
  • 活动图(Activity Diagram):展示系统中活动的流程和并行操作,类似于流程图。
  • 时间图(Timing Diagram):描述对象的状态随时间的变化。

1.3UML图示例

● 用例图,用例图显示了一组用例、参与者以及它们之间的关系,可以便用用侧例图展示系流具有的功能,可以理解为系流提供的服务。

适用于: 对新系统需求进行建模, 规划开发什么功能或测试用例

● 对象图: 展示某一时刻一组对象以及它们之间的关系。(图中有:)

● 部署图:(看上去图中有立体图形)

适用于: 展示交付系统的软件组件和硬件之间的关系

● 活动图: 展示了系流内从一个活动到另一个活动的流程。(有开始->结束而且有分叉:黑色横杠)

● 序列图: 描述了以时间顺序组织的对象之间的交互活动。(有生命线: 虚线)

考察: 虚线的方法是返回方法, 实线是同步方法, 半箭头是异步消息

● 状态图: 描述状态(事件触发一个没有特定监护条件的迁移, 对象不一定离开当前状态)

● 构件图(组件图) : 如图所示: 1是供接口 2是需接口(带有1, 2结构的就是组件图)

● 通信图:(箭头连接有1.2.3的方法)

● 类图: (存在 的关系)

2.UML图类型含义

  • 系统在它的周边环境的语境中所提供的外部可见服务是"用例图"的描述
  • 某一时刻一组对象以及它们之间的关系是"对象图"的描述
  • 系统内从一个活动到另一个活动的流程是"活动图"的描述
  • 以时间顺序组织的对象之间的交互活动是"序列图"的描述
  • 专注于系统的静态实现图是 "构件图"

3.UML中的关系

类之间的关系

● 关联: 结构关系,描述一组链, 链是对象之间的连接

● 泛化: 使子元素共享其父元素的结构和行为(也就是继承)

4.UML图中属性前的修饰符号(±~#)

+是public, -是private, ~是package, #是protected

如下题(1)处对应的就是protected

5.UML建模

采用UML对系统进行建模时,

● 首先确定系流边界,识别出主要用例,建模用例图。

● 然后对用例图中的复杂用例采用活动图进一步进行建模,以对用例中执行过程中对象如何通过消息相互交互进行建模。

● 系统的领域模型采用类图进行建模,

● 交互关系采用顺序图、交互概览图等进行建模。

注意 :这些只是UML的部分知识,不过能大致概括UML的各种图形以及意义,如果你打算考中级软件设计师可以收藏起来,因为这是必考点可以解决此类问题的试题

(考试报名)官方链接: 中国计算机技术职业资格网

相关推荐
workflower3 小时前
使用谱聚类将相似度矩阵分为2类
人工智能·深度学习·算法·机器学习·设计模式·软件工程·软件需求
搏博1 天前
软件工程之软件项目管理深度解析
软件工程·软件构建·需求分析·软件需求
爱吃java的羊儿1 天前
信息系统项目管理师-软考高级(软考高项)2025最新(十八)
信息可视化·软件工程·产品经理·可用性测试
我要学土木1 天前
软件工程期末知识点整理(更新中)
软件工程
meisongqing1 天前
【软件工程】软件缺陷 基于组合的优化方法
软件工程·软件缺陷·组合优化
夏影孤灯2 天前
十七、统一建模语言 UML
系统架构·uml
搏博2 天前
软件工程之需求分析涉及的图与工具
数据库·软件工程·软件构建·软件需求
workflower2 天前
人协同的自动化需求分析
运维·开发语言·自动化·软件工程·需求分析·软件需求
meisongqing2 天前
【软件工程】基于机器学习的多缺陷定位
软件工程
2501_916589452 天前
Win全兼容!五五 Excel Word 转 PDF 工具解决多场景转换难题
电脑·软件构建·开源软件