UML概念模型

UML(Unified Modeling Language):统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言

面向对象程序设计

面向对象基本概念:对象、类、抽象化、封装、集成、多态

面向对象程序设计过程:分析->设计->采用面向对象语言编程实现

UML概览

UML核心是图表,可以分为结构图和行为图。

结构图:由静态图组成,如类图、对象图等

行为图:如序列图、协作图等

UML类图:描述一个系统中的对象和他们的关系

UML对象图:是类图的一个实例,用于建立系统的原型

UML组件图:描述系统的静态实现图。组件包括物理组件,如库、档案、文件夹等,用于可视化的实现。

UML部署图:描述一个系统的静态部署视图。

UML用例图:描述角色以及角色与用例之间的连接关系。

UML交互图:包括序列图和协作图。序列图强调对象之间的消息发送顺序,显示对象之间的交互;写作图描述对象间的写作关系。

UML序列图:显示参与者如何以一系列顺序的步骤与系统的对象交互的模型。

UML 协作图:协作图和序列图相似,是另一种形式的交互图;如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图。

UML状态图:描述描述类的对象所有可能的状态,以及事件发生时状态的转移条件。

UML活动图:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动,强调对象间的控制流程。

UML构建模块

UML构件块定义包括事物、关系和图

事物:事物是抽象化的最终结果,分为结构事物、行为事物、分组事物和注释事物

事物

解释

图例

结构事物

结构事物是模型中的静态部分,用以呈现概念或实体的表现元素

具有相同属性、方法、关系和语义的对象的集合

 

接口

是指类或组件所提供的服务(操作)

 

协作

定义元素之间的相互作用

 

用例

执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互

 

组件

描述物理系统的一部分

 

节点

定义为在运行时存在的物理元素

 

行为事物

行为事物指的是 UML 模型中的动态部分

交互

包括一组元素之间的消息交换

 

状态机

由一系列对象的状态组成

 

分组事物

目前只有一种分组事物,即包。包纯粹是概念上的,只存在于开发阶段,结构事物、动作事物甚至分组事物都有可能放在一个包中。

封装是唯一一个分组事物可收集结构和行为的东西

 

注释事物

解释UML模型元素

注释

注释用于渲染意见,约束等的UML元素

 

关系 :显示元素是如何彼此相关联,描述的一个应用程序的功能

关系

解释

图例

依赖关系

其中一个事物的变化也影响到另一个事物

 

协作

描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系)

 

泛化

描述了在对象世界中的继承关系,是一种一般化-特殊化的关系;

 

实现

类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约

 

 

UML概念模型的更多相关文章

  1. UML概述(转载)

    UML是一种标准语言,用于指定,可视化,构造和文档的软件系统. UML是OMG在1997年1月提出了创建由对象管理组织(OMG)和UML1.0规范草案. OMG不断努力,使一个真正的行业标准. UML ...

  2. UML的概念模型

    为 了理解UML,需要形成该语言的概念模型,这要求学习建模的3个要素:UML的基本构造块.支配这些构造块如何放在一起的规则和一些运用于整个UML的公 共机制.如果掌握了这些思想,就能够读懂UML模型, ...

  3. 软件开发学习笔记 <一> UML

    UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...

  4. UML大战需求分析——阅读笔记02

    类图是理解面向对象思想的强有力工具,也是业务概念模型分析中最常用的一种UML图.对开发人员来说,并不是对每一个业务流程都很熟练,在客户那里传达过来的需求资料中,有很多术语会把思绪搞晕,他们之间错综复杂 ...

  5. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  6. Thinking in UML-1-为什么需要UML

    1 从面向过程到面向对象 面向过程认为我们的世界是由一个个相互关联的小系统组成.逻辑严密.环环相扣.井然有序.但是我们这个世界从来不是一成不变的.世界的复杂性和频繁变革不是面向过程可以轻易应付应付的. ...

  7. 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)

    Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级 ...

  8. UML 关系

    1. 关联关系(association) 关联关系式是用一条直线表示的,如A—B.表示在一段时间内将多个类的实例连接在一起,关联关系描述了某个对象在一段时间内一直知道另一个对象的存在.在Rose中为了 ...

  9. UML学习入门就这一篇文章

    1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...

随机推荐

  1. LeetCode 1026. Maximum Difference Between Node and Ancestor

    原题链接在这里:https://leetcode.com/problems/maximum-difference-between-node-and-ancestor/ 题目: Given the ro ...

  2. Qt 反射,moc,Q_INVOKABLE

    使用Q_INVOKABLE来修饰成员函数,目的在于被修饰的成员函数能够被元对象系统所唤起 Q_INVOKABLE与QMetaObject::invokeMethod均由元对象系统唤起.这一机制在Qt ...

  3. 查全率(Recall),查准率(Precision),灵敏性(Sensitivity),特异性(Specificity),F1,PR曲线,ROC,AUC的应用场景

    之前介绍了这么多分类模型的性能评价指标(<分类模型的性能评价指标(Classification Model Performance Evaluation Metric)>),那么到底应该选 ...

  4. 【loj3120】【CTS2019】珍珠

    题目 ​ $laofu $出的题 ​ \(n\)个离散型随机变量\(X_i\)可能的值为\([1,D]\) ,求有至少\(m\)对的概率 ​ $0 \le m \le 10^9  ,  1 \le n ...

  5. UOJ46. 【清华集训2014】玄学 [线段树,二进制分组]

    UOJ 思路 模拟赛出了这题,结果我没学过二进制分组--一波主席树然后空间就爆炸了-- 用线段树维护时间序列,每个节点维护\(a_i\to x_i\times a_i+b_i,i\in [1,n]\) ...

  6. es6中class类的静态方法、实例方法、实例属性、(静态属性)

    关于类有两个概念,1,类自身,:2,类的实例对象 总的来说:静态的是指向类自身,而不是指向实例对象,主要是归属不同,这是静态属性的核心. 难点1:静态方法的理解 class Foo { static ...

  7. php 进制转换base_convert

    16进制 转为 8进制 base_convert(number,frombase,tobase); 参数 描述 number 必需.规定要转换的数. frombase 必需.规定数字原来的进制.介于 ...

  8. win10任务栏不显示垃圾的搜狗图标

    设置-->时间和语言-->拼写键盘和键入设置-->高级键盘设置-->语言栏选项-->语言栏-->勾选隐藏-->同时去掉在任务栏显示其他语言图标

  9. 第10组alpha冲刺(2/4)

    队名:凹凸曼 组长博客 作业博客 组员实践情况 童景霖 过去两天完成了哪些任务 文字/口头描述 继续学习Android studio和Java 完善项目APP原型 展示GitHub当日代码/文档签入记 ...

  10. 腾讯云手动搭建nginx+php-fpm并自启动

    自己一点小爱好,搭建了一个小网站植物大战僵尸百科, 使用的是腾讯云,市场里的镜像不好用,所以自己手动搭建一波. centos 7 编译安装 php-7.2.11的步骤 在官网下载php-7.2.11的 ...