UML
UML(统一建模语言)是通用的可视化标准建模语言。由构造块、公共机制、构架三部分组成。
1、构造块:包括基本的UML建模元素(类、接口、用例等)、关系(关联关系、依赖关系、泛化关系、实现关系)和图(9种图形,分为静态模型和动态模型)
2、公共机制:包括规格说明、修饰、公共分类、扩展机制
3、构架:系统的五个视图,逻辑视图、进程视图、实现视图、部署视图、用例视图
UML包括9种不同的图,分为表示系统静态结构的静态模型(类图、构件图、部署图),表示系统动态结构的动态模型(对象图、用例图、序列图、协作图、状态图、活动图)
掌握由什么组成、实现什么功能、用在什么地方
 
用例图
一个用例定义一组用例实例,它确定了一个和系统参与者进行交互,并可由系统执行的动作序列。用例模型描述外部执行者所理解的系统功能。表明了开发者和用户对需求规格达成的共识,用于需求分析阶段
用例图的元素
1、参与者:代表与系统接口的任何事物或人,它是指代表某一特定功能的角色,是虚拟的概念
2、用例:用例实例是在系统中执行的一系列动作。是对系统行为的动态描述,可以促进设计人员、开发人员与用户的沟通,理解正确的需求,还可以划分系统与外部实体的界限,是系统设计的起点。
3、包含和扩展:两个用例之间的关系分为两种,一种是用于重用的包含关系,用include表示,一种是用于分离出不同的行为,用extend表示
包含关系:从两个或两个以上的原始用例(A)中提取出公共行为(B),a与b为包含关系,在包含关系中被包含用例对基用例来说是必须的,如果没有被包含用例则基用例就不完整。使用包含关系的目的是为了提高组件的重用性
扩展关系:一个用例由多个用例组成,当其中部分用例并不是每次都发生的,可将在特定情况下发生的用例定义为扩展用例,扩展用例对基用例来说不是必须执行的动作序列。使用扩展关系的目的是为了提高用例的稳定性。
 
类图和对象图
类图和对象图揭示了系统的结构,类图描述类和类之间的静态关系,它不仅显示信息的结构还描述了系统的行为。对象图是类图的一个实例,常用于表示复杂的类图的一个实例。
类之间的关系
1、依赖关系:如果元素A的变化会引起元素B的变化,则称元素B信赖于元素A,使用带箭头的虚线表示依赖关系。依赖关系有一个类向另一个类发消息,一个类是另一个类的成员,一个类是另一个类的操作参数等。
2、泛化关系:描述一般事物与该事物特殊种类之间的关系,泛化关系是继承关系的反关系,使用空心箭头的实线表示,箭头指向父类。泛化关系有三个要求:一是子类应包含父类的所有内容,父类所具有的关联、属性和操作,子类都应具有;二是子类除了包含父类的信息外,还包括额外的信息;三可以使用父类实例的地方,也可以使用子类实例。
3、关联关系:表示两个类的实例之间存在的某种语义上的联系,如一个学校有多间教室,是学校和教室间存在关联关系,关联关系可分为两种
聚合关系:是关联关系的特例,表示一种松散的整体和部分的关系,如一个电脑包括显示器,用一个带空心菱的实线表示。
组合关系:如果部分对整体来说是必不可少的,则称为组合关系,如公司和部门,用带有实心菱形的实线表示。
4、实现关系:用来规定接口与实现接口的类或组件之间的关系,接口是操作的集合,用来规定类或组件的服务,用带空心箭头的虚线表示。
 
顺序图和协作图
顺序图和协作图统称为交互图,是表示各组对象如何进行协作的模型,通常用来表示和说明一个用例的行为,顺序图和协作图本质上没有不同,只是排版方式不相同,顺序图强调对象交互行为的时间顺序,协作图强调对象之间的协作。
1、顺序图:描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图可以直观地表示出对象的生存期,在生存期内,对象可以对输入消息做出响应,并可以发送信息。顺序图存在两个轴,水平轴表示不同的对象,垂直轴表示时间,即对象、类的生命期。
2、协作图:描述相互合作的对象间的交互关系和链接关系,侧重体现交互对象间的链接关系。
 
状态图
描述对象状态和事件之间的关系,通常用来描述单个对象的行为,不适合于表述包括若干协作的对象行为,通常不需要对每一个类编制状态图,只有那些重要的交互行为的类,如在业务流程、控制对象、用户界面的设计方面使用状态图。如数码冲印店的订单状态图。
状态图的元素包括
1、状态:又称为中间状态,用圆角矩形表示;
2、初始状态:又称为初态,用一个黑色的实心圆表示,在一张状态图中只能有一个初始状态。
3、结束状态:又称为终态,在黑色的实心圆外面套上一个空间圆,在一张状态图中可能有多个结束状态。
4、状态转移:用箭头说明状态的转移情况,用文字说明引发这个状态变化的事件。
 
活动图
活动图用来表示系统中各种活动的次序,既可用来描述用例的工作流程,也可用来描述类中某个方法的操作行为,活动图依据对象状态的变化来捕获动作与动作的结果。活动图是由状态图变化而来的,也包括初始状态、终止状态、中间活动状态,活动图中一个活动结束后将立即进入下一个活动,状态图中状态的变迁需要事件的触发
活动图可分为基本活动图和带泳道的活动图,基本活动图描述系统发生了什么,带泳道的活动图更进一步,可描述出各个活动由哪个类完成。
 
构件图
构件图是面向对象系统的物理方面进行建模的两种图之一,可以有效地显示一组构件,以及它们之间的逻辑关系。构件图中通常包括构件、接口、以及各种关系。构件是指源代码文件、二进制文件和可执行文件等。构件图可对源代码、可执行体、物理数据库进行建模。
 
部署图
部署图也称为实施图。是面向对象系统的物理方面建模的图之一,构件图是说明构件之间的逻辑关系,部署图则在此基础上更进一步,描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。部署图可以显示计算结点的拓扑结构和通信路径、结点上运行的软件构件,常常用于帮助理解分布式系统,可以使系统的安装、部署更为简单。主要元素包括节点和连接、接口和构件。
 
UML九种图形总结:
九种图形总体上可分为静态模型图(类图、构件图、部署图)和动态模型(用例图、对象图、顺序图、协作图、状态图、活动图),其中顺序图和协作图统称为交互图,顺序图着重描述对象交互的时间顺序,协作图着重于描述对象之间的交互和关联;构件图和部署图是对系统进行物理建模的两种图形,构件图是对系统构件进行逻辑建模,部署图在构件图的基础上描述系统的物理拓扑结构,并描述各节点运行的构件及接口、交互关系等。

UML(统一建模语言)是通用的可视化标准建模语言。由构造块、公共机制、构架三部分组成。的更多相关文章

  1. UML建模学习1:UML统一建模语言简单介绍

    一什么是UML? Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通 用的.可视化建模语言标准.能够用来描写叙述(spec ...

  2. [本体论][UML][统一建模语言][软件建模][OWL]从本体论到UML到OWL

    以下内容,是关于软件建模的方法与思路. UML与OWL都是基于本体论的建模语言. 本体论(哲学) 本体论(信息科学) UML(统一建模语言) more info 参考:[设计语言][统一建模语言][软 ...

  3. UML标准建模语言与应用实例

    一.基本信息 标题:UML标准建模语言与应用实例 时间:2012 出版源:科技创新导报 领域分类:UML标准建模语言 面向对象 系统分析与设计 二.研究背景 问题定义:UML建模语言用图形来表现典型的 ...

  4. UML统一建模语言介绍

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  5. python day 17: UML(统一建模语言)

    python day 17 UML:unified modeling languages,是一种基于面向对象的可视化建模语言. 画图语言:画图要合理.即符合逻辑. 历史: 3.1. 软件功能越来越强大 ...

  6. uml统一建模语言学习笔记(一)

    UML是一种统一建模语言,他是以面向对象的方式来实现对任何的系统进行描述的一种语言, 它包括9种图形+包图,分为静态和动态两种,也就是结构图和行为图 “静态”图有:用例图.类图.对象图.部署图.构件图 ...

  7. UMLUnified Modeling Language (UML)又称统一建模语言或标准建模语言

    1.用例图(use case diagram) 2.活动图(activity diagram) 3.静态结构图 4.顺序图(Sequence Diagram):时序图 5.交互纵览图(Interact ...

  8. $UML统一建模语言简介

    (一)UML概述 1.面向对象软件开发的过程: (1)OOA(面向对象分析):建立分析模型并文档化. (2)OOD(面向对象设计):用面向对象思想对OOA的结果进行细化,得出设计模型. (3)OOP( ...

  9. UML(统一建模语言)

    需求分析阶段 用例图 定义:用例图并不是用来描述用例的.用例图的主要作用是:直观地描述系统对外提供的功能. 用例图的三个要素:角色.系统.用例 用例图的关系: 角色和用例的关系:有关和无关 用例和用例 ...

随机推荐

  1. 【转载】C# 中的委托和事件(详解:简单易懂的讲解)

    本文转载自http://www.cnblogs.com/SkySoot/archive/2012/04/05/2433639.html C# 中的委托和事件(详解) C# 中的委托和事件 委托和事件在 ...

  2. sql 将某一列转成字符串并且去掉最后一个逗号

    ) SET @center_JZHW = ( SELECT DISTINCT STUFF( ( SELECT ','''+ qudao+'''' FROM CreatedType WITH ( NOL ...

  3. spring 框架的优点

    谈spring 框架的优点就是说spring 框架2大核心技术的优点 1. 控制反转:控制反转是将对象的创建和管理交给spring容器,已经管理对象之间的依赖关系, 那么将对象的创建和生命周期的管理交 ...

  4. html5-样式的三种方式

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  5. python 内置函数enumerate()

    enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.在python 3中返回一个生成器,代码如下: a ...

  6. JDK8的新特性

  7. 自动添加菜品,加入运行中遇到的异常,生成日志文件...<工作中场景...>

    """ 很弱智的小脚本,记录下.也许以后看到会笑,因为太幼稚或者证明曾经也努力过.so... """ """ ...

  8. Linux基础命令---设置程序优先级nice

    nice nice指令可以设置程序运行的优先级,优先级会影响到程序的调度时间.nice的范围是-20~19,其中-20级别最高,19级别最低. 此命令的适用范围:RedHat.RHEL.Ubuntu. ...

  9. [转载]FlipClock.js时钟,计数,3D翻转插件

    1.FlipClock.js能够自动定义计数,时钟的翻牌效果,调用简单,下面简单记录下用法 2.官网地址:http://www.flipclockjs.com/ 3.调用2个文件 <link h ...

  10. Java学习路线教程之JDBC基本操作

    为了帮助大家熟练应用JDBC编程,接下来,在本节将通过一个综合案例来讲解JDBC的基本操作,确保大家能够深刻理解JDBC的增.删.改.查,灵活利用JDBC完成对数据库的各项操作. 1. 创建一个Jav ...