IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> UML简介 -> 正文阅读

[数据结构与算法]UML简介

建模概念

??????? 模型是对现实的抽象,建模就是去粗取精,对现实系统进行抽象的过程。

建模的原因

??????? 1.建模可以帮助理解用户需求。

??????? 2.建模可以帮助进行系统的分析和设计。

??????? 3.建模可以帮助团队交流和项目的协同开发。

??????? 4.建模可以帮助提高开发速度和质量。

建模的需求

??????? 1.需要一系列统一规范的建模符号。

??????? 2.需要一套标准通用的建模规则。

??????? 3.需要一些灵活高效的建模工具。

??????? 4.需要抽象思维


面向对象思维:一切皆Object。

软件系统三个模型

1.功能模式FM(Function Model)

????????描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。用UML的用例图描述。

2.业务模式OM(Operation Model)

??????? 描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的步骤或流程,即对系统的操作流程进行定义。在UML中,业务模型用时序图、交互图、状态图、活动图来表述。

3.数据模型DM(Data Model)

??????? 描述系统工作前的数据来自何处,工作中的数据暂存什么地方,工作后的数据放在何处,以及这些数据之间的关联,即对系统的数据结构进行定义。UML中用类图来描述。


统一建模语言(Unified Modeling Language,UML)

??????? 一种为面向对象系统进行说明、可视化和编制文档的一种标准语言。

??????? 针对面向对象设计的建模工具,独立于任何具体程序设计语言。

UML特点

??????? 1.统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点。有效消除了各种建模语言之间不必要的差异。

??????? 2.UML建模能力比其他面向对象建模方法更强,不仅适合一般系统的开发,而且对并行、分布式系统的建模尤为适宜。

??????? 3.UML是一种建模语言,而不是一个开发过程。

UML主要模型

??????? 1.功能模型:从用户的角度展示系统的功能,包括用例图。

??????? 2.对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。

??????? 3.动态模型:展现系统的内部行为。包括序列图、活动图、状态图。

UML模型常用图

????????1.用例图:从用户角度描述系统功能。

????????2.类图:系统中类的静态结构。

????????3.对象图:系统中的多个对象在某一时刻的状态。

????????4.状态图:状态到状态控制流,用于动态特性建模。

????????5.活动图:业务实现用例的工作流程。

????????6.顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互。

????????7.协作图:对象之间的协助关系。

??????? 8.构件图:系统的静态实现视图。

????????9.部署图:定义系统中软硬件的物理体系结构。


模型图

??????? 一组建模符号按照一定的建模规则组合在一起来表示模型关系的图形。

类图

??????? 描述系统中的类(接口),以及类(接口)之间协作关系的静态模型图。能够让程序员在编写代码以前对系统有一个全面的认识。

UML类图基本元素符号

继承:实线空心三角形,指向被继承类。

实现:虚线空心三角形,指向被实现的接口。

双向关联:实线表示。

单向关联:单箭头实线,指向被关联类(接口)。

聚合:实线箭头空心菱形。菱形指向为A,表示A中拥有一个B,但B脱离于A仍然可以独立存活。

组合:实线箭头实心菱形。菱形指向为A,表示A中拥有一个B,B脱离A后在系统中没有任何存活的意义。

依赖:虚线箭头,指向被依赖类(接口)。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:08:43  更:2021-10-01 17:10:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 10:05:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码