【八股】UML 2的基础结构和上层结构

server/2024/11/15 1:34:21/

UML(统一建模语言)是一种广泛使用的建模语言,用于软件工程中的系统设计。UML 2是UML的一个重要版本,它扩展了原有的功能,提供了更加丰富和灵活的建模能力。UML 2的结构可以分为两部分:基础结构(Infrastructure)和上层结构(Superstructure)。

基础结构(Infrastructure)

UML 2的基础结构提供了整个建模语言的核心概念和机制。它定义了UML的元模型,即模型的模型,这些元模型构成了UML语言的基础。基础结构中包括的核心概念有:

  • 核心元素:包括基本的建模概念如类(Class)、关联(Association)和泛化(Generalization)。这些是构建更复杂模型的基本构件。
  • 包(Packages):用于组织模型元素,支持模型的模块化和重用。
  • 类型和模板:支持创建可重用的模型模板。
  • 注释和约束:允许对模型元素添加额外的语义描述和约束条件。

上层结构(Superstructure)

上层结构在基础结构的基础上,进一步定义了更为具体和复杂的建模元素和图表,以支持各种不同的系统分析和设计任务。上层结构中包括了如下几个部分:

  • 类和对象图:描述系统中的类及其实例(对象),显示类的属性、操作以及类之间的关系。
  • 用例图:描述系统的功能需求及其用户(行为者)之间的交互。
  • 序列图和协作图:描述对象间的交互和消息传递。
  • 状态机图:描述对象状态的变化和触发这些变化的事件。
  • 活动图:描述业务流程或操作的步骤。
  • 组件图和部署图:描述系统的物理架构,包括软件组件在硬件上的部署。

UML 2通过这样的结构化设计,不仅支持软件开发的各个阶段,包括需求分析、系统设计、实现、测试和维护,还能适应不同的开发方法论,如敏捷开发和传统的瀑布模型。UML 2的这种灵活性和综合性使它成为软件工程中最核心的标准之一。


http://www.ppmy.cn/server/25741.html

相关文章

ElasticSearch总结2

一、创建索引库:PUT ES中通过Restful请求操作索引库、文档。请求内容用DSL语句来表示。创建索引库和mapping的DSL语法如下: 整个jason 里边,它有一个叫mapping的属性,代表的是映射。映射里边有properties代表就是字段。可以看到这…

【Android】SharedPreferences阻塞问题深度分析

前言 Android中SharedPreferences已经广为诟病,它虽然是Android SDK中自带的数据存储API,但是因为存在设计上的缺陷,在处理大量数据时很容易导致UI线程阻塞或者ANR,Android官方最终在Jetpack库中提供了DataStore解决方案&#xf…

6.模板初阶

目录 1.泛型编程 2. 函数模板 2.1 函数模板概念 2.2函数模板格式 2.3 模板的实现 2.4函数模板的原理 2.5 函数模板的实例化 3.类模板 1.泛型编程 我们如何实现一个 交换函数呢? 使用函数重载虽然可以实现,但是有一下几个不好的地方: …

连锁企业如何通过OceanBase解决数据库瓶颈

本文来自OceanBase客户,重庆三十七度健康管理有限公司的技术负责人Rinvay的分享 背景 足疗养生对于大家来说应该并不陌生,自古以来便有多部古籍记载。尽管现代生活中,人们可能不再严格遵循节气进行泡脚,但在忙碌的工作间隙&#…

【设计模式】13、template 模板模式

文章目录 十三、template 模板模式13.1 ppl13.1.1 目录层级13.1.2 ppl_test.go13.1.3 ppl.go13.1.4 llm_ppl.go13.1.5 ocr_ppl.go 十三、template 模板模式 https://refactoringguru.cn/design-patterns/template-method 如果是一套标准流程, 但有多种实现, 可以用 template …

编译Qt6.5.3LTS版本(Mac/Windows)的mysql驱动(附带编译后的全部文件)

文章目录 0 背景1 编译过程2 福利参考 0 背景 因为项目要用到对MYSQL数据库操作,所以需要连接到MYSQL数据库。但是连接需要MYSQL驱动,但是Qt本身不自带MYSQL驱动,需要自行编译。网上有很多qt之前版本的mysql驱动,但是没有找到qt6…

【C语言】typedef

为一个数据类型起一个新的别名 typedef int INTEGER; INTEGER a,b; a1; b2;typedef char ARRAY20[20]; ARRAY20 a1,a2,s1,s2;typedef struct stu{char name[20];int age;char sex; }STU; STU body1,body2;typedef int (*PTR_TO_ARR)[4]; PTR_TO_ARR p1,p2;typedef int (*PTR_TO…

C++ 多态

C/C总述:Study C/C-CSDN博客 目录 多态概念 多态分类 多态实现 虚函数&虚函数表 虚函数的重写(覆盖) 多态的构成条件 虚函数重写的两个特例 协变 析构 关键字final和override(C11) 抽象类 纯虚函数…