下一节: UML - 构建块
下一节
UML - 教程
简述
UML(统一建模语言)是一种标准语言,用于指定、可视化、构造和记录软件系统的工件。UML 由对象管理组 (OMG) 创建,UML 1.0 规范草案于 1997 年 1 月向 OMG 提出。它最初开始捕获复杂软件和非软件系统的行为,现在它已成为OMG标准。本教程将全面了解 UML。
本教程是为初学者准备的,旨在帮助他们了解UML的基础知识。完成本教程后,您会发现自己处于中等水平的专业知识,从那里您可以将自己带到下一个级别。
无需特定技能即可理解本教程中的学习材料。读者必须热衷于获取有关UML的知识。
简述
UML 是一种标准语言,用于指定、可视化、构造和记录软件系统的工件。
UML 由对象管理组 (OMG) 创建,UML 1.0 规范草案于 1997 年 1 月向 OMG 提出。
OMG不断努力创造真正的行业标准。
UML 代表 统一建模语言。
UML与其他常见的编程语言不同,例如C++,Java,COBOL等。
UML是一种用于制作软件蓝图的图形语言。
UML可以被描述为一种通用的可视化建模语言,用于可视化,指定,构造和记录软件系统。
尽管 UML 通常用于对软件系统进行建模,但它并不局限于此边界内。它也用于对非软件系统进行建模。例如,制造单元中的工艺流程等。
UML不是一种编程语言,但工具可用于使用UML图生成各种语言的代码。UML 与面向对象的分析和设计有直接关系。经过一些标准化,UML已经成为OMG标准。
UML的目标
一张图片胜过千言万语,这个成语绝对适合描述UML。面向对象的概念比UML更早引入。当时,还没有标准方法来组织和整合面向对象的开发。就在那时,UML开始崭露头角。
开发UML有许多目标,但最重要的是定义一些通用的建模语言,所有建模者都可以使用,并且还需要使其易于理解和使用。
UML 图不仅适用于开发人员,也适用于业务用户、普通用户和任何有兴趣了解系统的人。系统可以是软件系统,也可以是非软件系统。因此,必须清楚的是,UML不是一种开发方法,而是伴随着使其成为成功系统的过程。
总之,UML的目标可以定义为一个简单的建模机制,以模拟当今复杂环境中所有可能的实用系统。
UML 的概念模型
要理解UML的概念模型,首先我们需要澄清什么是概念模型?以及为什么需要概念模型?
概念模型可以定义为由概念及其关系组成的模型。
概念模型是绘制 UML 关系图之前的第一步。它有助于了解现实世界中的实体以及它们如何相互交互。
正如UML描述实时系统一样,制作一个概念模型然后逐步进行非常重要。UML的概念模型可以通过学习以下三个主要元素来掌握 :
UML 构建基块
连接构建基块的规则
UML 的常见机制
面向对象的概念
UML可以被描述为面向对象(OO)分析和设计的继承者。
对象包含数据以及控制数据的方法。数据表示对象的状态。类描述一个对象,它们还形成一个层次结构来模拟现实世界的系统。层次结构表示为继承,并且还可以根据要求以不同的方式关联类。
对象是我们周围存在的现实世界实体,抽象、封装、继承和多态性等基本概念都可以使用 UML 表示。
UML功能强大,足以表示面向对象的分析和设计中存在的所有概念。UML 关系图仅表示面向对象的概念。因此,在学习UML之前,详细了解OO概念变得非常重要。
以下是面向对象世界的一些基本概念 -
对象 − 对象表示实体和基本构建基块。
类 − 类是对象的蓝图。
抽象 − 抽象表示现实世界实体的行为。
封装 − 封装是将数据绑定在一起并将其隐藏在外部世界之外的机制。
继承 - 继承是从现有类创建新类的机制。
多态性 − 它定义了以不同形式存在的机制。
OO 分析和设计
OO可以被定义为一种调查,更具体地说,它是对对象的调查。设计意味着已识别对象的协作。
因此,了解OO分析和设计概念非常重要。OO分析最重要的目的是识别要设计的系统的对象。此分析也适用于现有系统。现在,只有当我们能够开始以一种可以识别物体的方式思考时,有效的分析才有可能。识别对象后,识别它们之间的关系,最后生成设计。
OO分析和设计的目的可以描述为-
标识系统的对象。
确定他们的关系。
进行设计,可以使用OO语言将其转换为可执行文件。
应用和实现OO概念有三个基本步骤。这些步骤可以定义为
OO 分析 → OO 设计 → OO 用 OO 语言设计
以上三点可以详细描述为−
在OO分析期间,最重要的目的是识别对象并以适当的方式描述它们。如果这些对象被有效地识别出来,那么下一个设计工作就很容易了。应通过责任来标识对象。职责是对象执行的功能。每个对象都有某种类型的职责要执行。当这些职责被协作时,系统的目的就实现了。
第二阶段是OO设计。在此阶段,重点放在要求及其实现上。在此阶段,对象根据其预期的关联进行协作。关联完成后,设计也已完成。
第三阶段是OO实施。在此阶段,使用OO语言(如Java,C++等)实现设计。
UML 在 OO 设计中的作用
UML 是一种建模语言,用于对软件和非软件系统进行建模。虽然UML用于非软件系统,但重点是对OO软件应用程序进行建模。到目前为止讨论的大多数UML图都用于对不同的方面进行建模,例如静态,动态等。现在,无论方面如何,文物都只是物体。
如果我们看一下类图,对象图,协作图,交互图,基本上都是基于对象设计的。
因此,了解OO设计与UML之间的关系非常重要。OO 设计根据要求转换为 UML 图。在详细了解 UML 之前,应正确学习 OO 概念。一旦OO分析和设计完成,下一步就非常简单。来自 OO 分析和设计的输入是 UML 图的输入。
下一节: UML - 构建块
下一节
查看笔记 分享笔记
笔记内容:
称呼:
Email:
站点:
分享笔记 重置
分类导航
前端
Ajax 教程
Angular 教程
Aurelia 教程
Bootstrap 教程
ChartJS 教程
CSS 教程
ES6 教程
FontAwesome 教程
HTML 教程
HTML 字符集 教程
HTML 游戏 教程
JavaScript 教程
jQuery 教程
Less 教程
React 教程
Sass 教程
Stylus 教程
TypeScript 教程
Unity 教程
Vue.js 教程
WebAssembly 教程
XAML 教程
颜色 教程
服务端
C# 教程
C++ 教程
COBOL 教程
C语言 教程
Fortran 教程
Go 教程
Groovy 教程
Java 教程
JSP 教程
JVM 教程
Kotlin 教程
Lisp 教程
Lua 教程
Node.js 教程
Pascal 教程
Perl 教程
PHP 教程
Python 教程
Python 3 教程
Ruby 教程
Rust 教程
Scala 教程
Spring 教程
Spring Boot 教程
Spring Cloud 教程
VB.Net 教程
移动端
Android 教程
IOS 教程
Objective-C 教程
React Native 教程
Swift 教程
小程序 教程
数据库
Access 教程
DB2 教程
Mariadb 教程
Memcached 教程
MongoDB 教程
MySQL 教程
Neo4j 教程
PL/SQL 教程
PostgreSQL 教程
Redis 教程
SQL 教程
SQL Server 教程
SQLite 教程
T-SQL 教程
数据格式
Jackson 教程
JSON 教程
SVG 教程
XML 教程
开发工具
ActiveMQ 教程
Ant 教程
Apache HttpClient 教程
Apache POI PPT 教程
AWS 教程
Docker 教程
ElasticSearch 教程
ExpressJS 教程
GIT 教程
GitLab 教程
Google Maps 教程
Gradle 教程
Java NIO 教程
JavaFX 教程
JavaMail 教程
JDBC 教程
jMeter 教程
JPA 教程
jsoup 教程
Junit 教程
KoaJS 教程
Kubernetes 教程
Log4j 教程
Logstash 教程
Lucene 教程
Makefile 教程
Maven 教程
RESTful 教程
Sed 教程
SEO 教程
Servlet 教程
SLF4J 教程
Socket.IO 教程
Struts 教程
SVN 教程
TestNG 教程
UML 教程
UNIX / LINUX 教程
WebSocket 教程
WPF 教程
xStream 教程
区块链 教程
数据处理
Flink 教程
Flume 教程
Hadoop 教程
Hbase 教程
Hive 教程
Kafka 教程
Kibana 教程
MapReduce 教程
MATLAB 教程
MyBatis 教程
Pig 教程
R语言 教程
Solr 教程
Spark 教程
Storm 教程
Zookeeper 教程
大数据分析 教程
数据仓库 教程
数据挖掘 教程
计算机基础
HTTP 教程
IPv4 教程
IPv6 教程
Ubantu 教程
WebServices 教程
嵌入式系统 教程
操作系统 教程
数据结构和算法 教程
汇编语言 教程
物联网 教程
电子电路基础 教程
编译器设计 教程
网站开发 教程
计算机 教程
计算机基础 教程
计算机网络 教程
设计模式 教程
AI
CNTK 教程
Keras 教程
PyTorch 教程
TensorFlow 教程
人工智能 教程
机器学习 教程
Python 技术
Django 教程
Flask 教程
NumPy 教程
Pandas 教程
Pillow 教程
PyGTK 教程
PyQt5 教程
PySpark 教程
pytest 教程
Python -数据科学 教程
Python MySQL 教程
Python 取证 教程
Python 数据结构 教程
Python 文本处理 教程
Python 网络编程 教程
Python 网页抓取 教程
Python 设计模式 教程
RxPY 教程
SciPy 教程
Seaborn 教程
SymPy 教程
wxPython 教程
框架
Laravel 教程
Web 图标Icon 教程
Web2py 教程
WebGL 教程
WebRTC 教程
WordPress 教程
Yii 教程
Zend Framework 教程
SAP
Crystal Reports 教程