UML世界的构成 《UML面向对象建模基础》.

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
第四讲 软件体系结构描述(一) 刘玮 2017/3/20.
UI(用户界面)集训班 Illustrator 高级班.
常用逻辑用语复习课 李娟.
Oracle数据库 Oracle 子程序.
第14章 c++中的代码重用.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
第10讲 Java面向对象编程基础(4) 教学目标 主要内容.
Hadoop I/O By ShiChaojie.
面向对象建模技术 软件工程系 林 琳.
面向对象建模技术 软件工程系 林 琳.
软件建模精要 面向对象软件建模技术.
SOA – Experiment 3: Web Services Composition Challenge
UML及软件建模 主讲人 :李 唯 1.
第9章 類別圖與物件圖 9-1 類別圖與物件圖的基礎 9-2 類別圖的符號 9-3 類別關係 9-4 物件圖 9-5 繪製類別圖與物件圖
SVN服务器的搭建(Windows) 柳峰
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
任务1 UML概述 任务2 UML静态建模 任务3 UML动态建模
整合思维导图的初中英语教学设计 主讲人:卢璐.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
学习导航 学习导航.
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
第四章 团队音乐会序幕: 团队协作平台的快速创建
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
UML组件图与部署图 【学习目标】  ·什么是组件图 ·什么是部署图 ·如何建模组件图与部署图.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第4章 Excel电子表格制作软件 4.4 函数(一).
第6章 面向对象开发的 分析与设计.
iSIGHT 基本培训 使用 Excel的栅栏问题
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
辅导课程十五.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
OpenStack vs CloudStack
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
ATM自动取款机系统 一、 需求分析 二、系统用例模型 三、系统动态模型 四、创建系统包图 五、系统类模型 六、系统部署.
本节内容 如何调试驱动程序? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
IT 方法 INTOSAI IT 审计培训.
Sssss.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

UML世界的构成 《UML面向对象建模基础》

知识图谱

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

UML组成 基本构造块:也就是建模 元素,是模型的主体 UML规则:也就是支配基 本构造块如何放在一起的 规则 公共机制:运用于整个 UML模型中的公共机制、 扩展机制

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

事物构造块 事物构造块是对模型中最具有代表性的成分的抽象 结构事物:UML中的名词,它是模型的静态部分,描述概念或物理元素。 行为事物:UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。 分组事物:UML中的容器,用来组织模型,使模型更加的结构化。 注释事务:UML中的解释部分,和代码中的注释语句一样,是用来描述模型的。

面向对象视角下的世界 首先建立反应现实世界中不同事物的“构造块”,然后确定“构造块”之间的“关系”,再确定各个构造块的属性和“行为”。这样,在软件系统中就可以模拟现实世界的“构造块”之间的交互与协作 面向对象软件开发的核心思想就是高内聚(封装)、低耦合(消息驱动),使用简洁的接口拼合简单的部件

结构事物 类(class)和对象(object) 接口(interface) 主动类(active class) 用例(use case) 协作(collaboration) 构件(component) 节点(node)

类和对象 类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的抽象 UML中类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法 对象则是类的一个实例

接口 接口是描述某个类或构件的一个服务操作集

主动类 主动类实际上是一种特殊的类。引用它的原因,实际上是在开发中需要有一些类能够起到 启动控制活动的作用 主动类是指其对象至少拥有一个进 程或线程,能够启动控制活动的类

用例与协作 用例是著名的大师Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具 用例实例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。一个 用例定义一组用例实例。 协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构 成的一个群体。 对于某个用例的实现就可 以表示为一个协作

构件 在实际的软件系统中,有许多要比“类”更大的实体,例如一个COM组件、一个DLL文件、一个JavaBeans、一个执行文件等等。为了更好地对在UML模型中对它们进行表示,就引入了构件(也译为组件) 构件是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组外部接口。在系统中满足相同接口的组件可以自由地替换

节点 为了能够有效地对部署的结构进行建模,UML引入了节点这一概念,它可以用来描述实际的PC机、打印机、服务器等软件运行的基础硬件 节点是运行时存在的物理元素,它表示了一种可计算的资源,通常至少有存储空间和处理能力

行为事物 交互(interaction): 是在特定语境中,共同完成某个任务的一组对象之间交换的信息集合 交互的表示法很简单,就是一条有向直线,并在上面标有操作名 状态机(state machine):是一个对象或交互在生命周期内响应事件所经历的状态序列 在UML模型中将状态画为一个圆 角矩形,并在矩形内写出状态名 称及其子状态

分组事物 对于一个中大型的软件系统而言,通常会包含大量的类,因此也就会存在大量的结构事物、行为事物,为了能够更加有效地对其进行整合,生成或简或繁、或宏观或微观的模型,就需要对其进行分组。在UML中,提供了“包(Package)”来完成这一目标

注释事物 结构事物是模型的主要构造块,行为事物则是补充了模型中的动态部分,分组事物而是用来更好地组织模型,似乎已经很完整了。而注释事物则是用来锦上添花的,它是用来在UML模型上添加适当的解释部分

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

UML模型关系的种类 种类 变种 表示法 关键字或符号 抽象 派生 依赖关系 《derive》 导入 私有 《access》 显现 《manifest》 公有 《import》 实现 实现关系 虚线加空心三角 信息流 《flow》 精化 《refine》 包含并 《merge》 跟踪 《trace》 许可 《permit》 关联 关联关系 实线 协议符合 未指定 绑定 《bind》(参数表) 替换 《substitute》 部署 《deploy》 使用 调用 《call》 扩展 Extend 《extend》(扩展点) 创建 《create》 extension 扩展关系 实线加实心三角 实例化 《instantiate》 泛化 泛化关系 实线加空间三角 职责 《responsibility》 包含 《include》 发送 《send》

关联关系 关联(Association)表示两个类之间存在某种语义上的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的。 在UML中,使用一条实线来表示关联关系 在关联关系中,有两种比较特殊的关系:聚合和组合 聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系 如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述

泛化、实现、扩展与依赖 泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。 实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。 扩展表示将一个构造型附加到一个元类(metaclass)上,使得元类的定义中包括这个构造型。 有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符 UML规则 命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符 范围:与类的作用域相似,包括所有者作用域(owner scope)和目标作用域(target scope)两类 可见性: 可见性 规则 标准表示法 Rose属性 Rose方法 public 任一元素,若能访问包容器,就可以访问它 + protected 只有包容器中的元素或包容器的后代才能够看到它 # private 只有包容器中的元素才能够看得到它 - package 只有声明在同一个包中的元素才能够看到该元素 ~

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

规格描述 在图形表示法的每个部分后面都有一个规格描述(也称为详述),它用来对构造块的语法和语义进行文字叙述。这种构思,也就使可视化视图和文字视图的分离 :

UML修饰与通用划分 在为了更好的表示这些细节,UML中还提供了一些修饰符号,例如不同可视性的符号、用斜体字表示抽象类 UML通用划分: 1)类与对象的划分:类是一种抽象,对象是一个具体 的实例 2)接口与实现的分离:接口是一种声明、是一个契 约,也是服务的入口;实现则是负责实施接口提供 的契约

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

UML扩展机制 构造型:在实际的建模过程中,可能会需要定义一些特定于某个领域或某个系统的构造块 标记值则是用来为事物添加新特性的。标记值的表示方法是用形如“{标记信息}”的字符串 约束是用来增加新的语义或改变已存在规则的一种机制(自由文本和OCL两种表示法)。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

UML定义的图 图名 功能 备注 类图 描述类、类的特性以及类之间的关系 UML 1原有 对象图 描述一个时间点上系统中各个对象的一个快照 复合结构图 描述类的运行时刻的分解 UML 2.0新增 构件图 描述构件的结构与连接 部署图 描述在各个节点上的部署 包图 描述编译时的层次结构 UML中非正式图 用例图 描述用户与系统如何交互 活动图 描述过程行为与并行行为 状态机图 描述事件如何改变对象生命周期 顺序图 描述对象之间的交互,重点在强调顺序 通信图 描述对象之间的交互,重点在于连接 UML 1中的协作图 定时图 描述对象之间的交互,重点在于定时 UML 2.0 新增 交互概观图 是一种顺序图与活动图的混合

UML视图和图 主要领域 视图 图 结构 静态视图 类图 设计视图 复合结构图、协作图、构件图 用例视图 用例图 动态 状态视图 状态机图 活动视图 活动图 交互视图 顺序图、通信图 物理 部署视图 部署图 模型管理 模型管理视图 包图 特性描述

UML图形分类

4+1视图

开发过程

Agenda UML的组成 事物构造块 关系构造块 UML规则 UML公共机制 UML扩展机制 UML体系结构与图 本章小结

本章小结 首先阐述了事物构造块、关系构造块,它们是UML建模元素的主体。事务构造块包括结构、行为、分组和注释四种类型;关系构造块主要包括关联、泛化、依赖、实现 接着简要阐述了UML中公共的规则 然后,系统地介绍了规格说明、修饰和通用划分三种公共机制;并对扩展机制进行了更深入的讲解 在本章的最后又将读者的目光转回到“图”这个最重要的构造块中,简要地阐述了UML 2.0中定义的13种图,以及不同图的划分和类别