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的各种图形以及意义,如果你打算考中级软件设计师可以收藏起来,因为这是必考点可以解决此类问题的试题

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

相关推荐
建筑工程企业管理系统3 小时前
工程计划管理软件能解决工期延误问题吗?施工节点数字化管控实操解读
大数据·软件工程·软件需求
nagualky12313 小时前
AI Agent 别只返回“已完成”:用五字段验收契约定义任务终点
人工智能·机器学习·软件工程
Ramble_Naylor18 小时前
Vikunja极简教程
软件工程·甘特图·敏捷流程
沐欣工作室_lvyiyi20 小时前
基于物联网技术的农业气象数据采集与分析平台(论文+源码)
物联网·毕业设计·软件工程·单片机设计·4g通信·电子信息工程·物联网毕业设计
Dola_Zou1 天前
工厂智能排产软件算法保护与按产线计费实战
算法·自动化·软件工程·软件加密
紫_龙1 天前
12软考备课基础阶段考点理论精讲数据库基础
软件工程
码匠许师傅1 天前
【设计模式精讲】29.行为型模式总结与对比(Behavioral Patterns Summary)
c++·设计模式·uml
郝学胜-神的一滴2 天前
C++11 工程级应用 09:告别无谓拷贝,解锁高性能移动语义
开发语言·数据结构·c++·vscode·软件工程·visual studio
lytao1232 天前
一个人做项目:先减少切换,再放大产出
软件工程
点亮~黑夜2 天前
远程连接浏览无桌面服务器上的图片
windows·软件构建