UML概念模型
UML概念模型
UML(Unified Modeling Language):统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言
面向对象程序设计
面向对象基本概念:对象、类、抽象化、封装、集成、多态
面向对象程序设计过程:分析->设计->采用面向对象语言编程实现
UML概览
UML核心是图表,可以分为结构图和行为图。
结构图:由静态图组成,如类图、对象图等
行为图:如序列图、协作图等
UML类图:描述一个系统中的对象和他们的关系
UML对象图:是类图的一个实例,用于建立系统的原型
UML组件图:描述系统的静态实现图。组件包括物理组件,如库、档案、文件夹等,用于可视化的实现。
UML部署图:描述一个系统的静态部署视图。
UML用例图:描述角色以及角色与用例之间的连接关系。
UML交互图:包括序列图和协作图。序列图强调对象之间的消息发送顺序,显示对象之间的交互;写作图描述对象间的写作关系。
UML序列图:显示参与者如何以一系列顺序的步骤与系统的对象交互的模型。
UML 协作图:协作图和序列图相似,是另一种形式的交互图;如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图。
UML状态图:描述描述类的对象所有可能的状态,以及事件发生时状态的转移条件。
UML活动图:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动,强调对象间的控制流程。
UML构建模块
UML构件块定义包括事物、关系和图
事物:事物是抽象化的最终结果,分为结构事物、行为事物、分组事物和注释事物
事物 |
解释 |
图例 |
结构事物 |
结构事物是模型中的静态部分,用以呈现概念或实体的表现元素 |
|
类 |
具有相同属性、方法、关系和语义的对象的集合 |
![]() |
接口 |
是指类或组件所提供的服务(操作) |
![]() |
协作 |
定义元素之间的相互作用 |
![]() |
用例 |
执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互 |
![]() |
组件 |
描述物理系统的一部分 |
![]() |
节点 |
定义为在运行时存在的物理元素 |
![]() |
行为事物 |
行为事物指的是 UML 模型中的动态部分 |
|
交互 |
包括一组元素之间的消息交换 |
![]() |
状态机 |
由一系列对象的状态组成 |
![]() |
分组事物 |
目前只有一种分组事物,即包。包纯粹是概念上的,只存在于开发阶段,结构事物、动作事物甚至分组事物都有可能放在一个包中。 |
|
包 |
封装是唯一一个分组事物可收集结构和行为的东西 |
![]() |
注释事物 |
解释UML模型元素 |
|
注释 |
注释用于渲染意见,约束等的UML元素 |
![]() |
关系 :显示元素是如何彼此相关联,描述的一个应用程序的功能
关系 |
解释 |
图例 |
依赖关系 |
其中一个事物的变化也影响到另一个事物 |
![]() |
协作 |
描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系) |
![]() |
泛化 |
描述了在对象世界中的继承关系,是一种一般化-特殊化的关系; |
![]() |
实现 |
类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约 |
![]() |
UML概念模型的更多相关文章
- UML概述(转载)
UML是一种标准语言,用于指定,可视化,构造和文档的软件系统. UML是OMG在1997年1月提出了创建由对象管理组织(OMG)和UML1.0规范草案. OMG不断努力,使一个真正的行业标准. UML ...
- UML的概念模型
为 了理解UML,需要形成该语言的概念模型,这要求学习建模的3个要素:UML的基本构造块.支配这些构造块如何放在一起的规则和一些运用于整个UML的公 共机制.如果掌握了这些思想,就能够读懂UML模型, ...
- 软件开发学习笔记 <一> UML
UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...
- UML大战需求分析——阅读笔记02
类图是理解面向对象思想的强有力工具,也是业务概念模型分析中最常用的一种UML图.对开发人员来说,并不是对每一个业务流程都很熟练,在客户那里传达过来的需求资料中,有很多术语会把思绪搞晕,他们之间错综复杂 ...
- uml大战需求分析阅读笔记01
<<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...
- Thinking in UML-1-为什么需要UML
1 从面向过程到面向对象 面向过程认为我们的世界是由一个个相互关联的小系统组成.逻辑严密.环环相扣.井然有序.但是我们这个世界从来不是一成不变的.世界的复杂性和频繁变革不是面向过程可以轻易应付应付的. ...
- 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)
Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级 ...
- UML 关系
1. 关联关系(association) 关联关系式是用一条直线表示的,如A—B.表示在一段时间内将多个类的实例连接在一起,关联关系描述了某个对象在一段时间内一直知道另一个对象的存在.在Rose中为了 ...
- UML学习入门就这一篇文章
1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...
随机推荐
- 纯js制作九宫格
Demo实现了对任意方格进行拖拽,可以交换位置,其中Demo-1利用了勾股定理判断距离! Demo-1整体思路: 1.首先div实现自由移动,一定需要脱离标准文档流,所以我们给它使用绝对定位. 2.利 ...
- Xamarin移动开发之路
Xamarin入门 1.Xamarin开发及学习资源 2.Xamarin安装及调试 Xamarin.Forms 1.入门 [快速入门] 2.XAML 3.应用程序基础知识 [辅助功能]eg:大类型.高 ...
- 回归模型的性能评价指标(Regression Model Performance Evaluation Metric)
回归模型的性能评价指标(Performance Evaluation Metric)通常有: 1. 平均绝对误差(Mean Absolute Error, MAE):真实目标y与估计值y-hat之间差 ...
- 【JZOJ6229】【20190621】san
题目 \(n\)个点\(m\)条边的有向图,每个点有点权 你可以选择拓扑序的一个区间的 最大化点权和 $n \le 50 , m \le \frac{n*(n-1)}{2} , 0 \le |a_i ...
- 随机采样方法整理与讲解(Acceptance-Rejection、MCMC、Gibbs Sampling等)
本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...
- 作业——09 安装关系型数据库MySQL 安装大数据处理框架Hadoop
作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161 简述Hadoop平台的起源.发展历史与应用现状. 起源: 2 ...
- 运行OpenGL红宝书第9版源码时Visual Studio提示“无法启动程序...ALL_BUILD。拒绝访问“的问题的解决办法
问题描述: OpenGL红宝书第9版源码采用CMake编译后,用相应的Visual Studio(如VS2012)打开“vermilion9.sln”解决方案,并运行时Visual Studio提示“ ...
- Android : Camera HAL3的参数传递(CameraMetadata)
一.camera_metadata简介 Camera API2/HAL3架构下使用了全新的CameraMetadata结构取代了之前的SetParameter/Paramters等操作,实现了Java ...
- 强化学习——如何提升样本效率 ( DeepMind 综述深度强化学习:智能体和人类相似度竟然如此高!)
强化学习 如何提升样本效率 参考文章: https://news.html5.qq.com/article?ch=901201&tabId=0&tagId=0&docI ...
- 关于Objective-C新增的__kindof关键字
Objective-C随着Xcode 7的升级带来了许多新特性,当然此次更新最最大的就是引入了Objective-C的轻量级泛型,确切地说是Objective-C类的轻量级泛型.除此之外,还有一个小特 ...