4_UML概述2015

合集下载

第二章 UML概述(UML)

第二章 UML概述(UML)

15
UML概述
2.3 UML的结构
UML中的视图 UML中的各种组件和概念之间没有明显的划 分界限,但为方便起见,用视图来划分这些概念 和组件。视图只是表达系统某一方面特征的UML 建模组件的子集。 在最上一层,视图被划分成3个视图域:结构 分类、动态行为和模型管理。
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
UML中的泛化关系定义了一般元素和特殊元 素之间的分类关系,与和C++及Java中的继承关 系有些类似。
在UML图中,泛化关系用一条带有空心箭头 的实线来表示 。
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
14
UML概述
2.3 UML的结构
实现关系(Realization)
16
UML概述
2.3 UML的结构
结构分类描述了系统中的结构成员及其相互关 系。 动态行为描述了系统随时间变化的行为。行为 用从静态视图中抽取的系统的瞬间值的变化来描述。 动态行为视图包括状态视图、活动视图和交互视图。 模型管理说明了模型的分层组织结构。包是模 型的基本组织单元。特殊的包还包括模型和子系统。 模型管理视图跨越了其他视图,并根据系统开发和 配置组织这些视图。
23
UML概述
2.5 UML的应用领域
在需求分析阶段,可以用用例来捕获用户需求。 通过用例建模,描述对系统感兴趣的外部角色及其 对系统(用例)的功能要求。
WUHAN UNIVERSITY OF SCIENCE AND ENGINEERING
24
UML概述
2.5 UML的应用领域
分析阶段主要关心问题域中的主要概念(如 抽象、类和对象等)和机制,需要识别这些类以及 它们相互间的关系,并用UML类图来描述。 为实现用例,类之间需要协作,这可以用UML动 态模型来描述。在分析阶段,只对问题域的对象 (现实世界的概念)建模,而不考虑定义软件系统中 技术细节的类(如处理用户接口、数据库、通讯和 并行性等问题的类)。这些技术细节将在设计阶段 引入,因此设计阶段为(编码)构造阶段提供更详细 的规格说明。

UML用例图的基本概念

UML用例图的基本概念
UML通过统一的符号和图形表示,将复杂的软件系统分解为 更小、更易于理解的组件,帮助开发人员更好地理解和管理 复杂的软件系统。
UML的用途
需求分析
UML可以帮助开发人员更好地理 解客户需求,通过用例图等工具 将客户需求转化为可执行的用例。
系统设计
UML可以帮助开发人员在系统设 计阶段进行系统架构和组件的设 计,通过类图、时序图等工具进 行系统的分析和设计。
05
案例分析
案例一:简单登录系统用例图分析
总结词:简单明了
详细描述:简单登录系统通常包括用户名和密码输入、验证和登录成功或失败的反馈等基本功能。在 UML用例图中,可以清晰地表示出系统的主要功能和参与者的角色。
案例二:网上购物系统用例图分析
总结词:复杂多样
详细描述:网上购物系统涉及到多个参与者,如顾客、管理员和供应商等,以及多种复杂的业务功能,如商品展示、购物车 管理、订单处理和支付等。在UML用例图中,需要对各个功能进行详细的描述和分类,以便更好地理解系统的结构和功能。
用例图在系统设计中的应用
架构设计
用例图可以用于指导系统的架构设计,通过分析用例之间 的关系和交互,设计系统的组件和模块结构。
01
接口设计
用例图可以帮助设计系统组件之间的接 口,明确组件之间的输入输出关系和交 互协议。
02
03
系统流程设计
用例图可以用于描述系统的流程,通 过分析用例的执行顺序和交互逻辑, 设计系统的流程和顺序结构。
用例图在需求分析中的应用
1 2
沟通工具
用例图作为一种可视化图形表示,可以作为沟通 工具,帮助开发团队、客户和利益相关者理解系 统的需求和功能。
需求确认
通过绘制用例图,可以与利益相关者讨论和确认 系统的需求,确保对需求的理解和期望是一致的。

UML概述ppt课件精选全文

UML概述ppt课件精选全文
用于表示从同步消息激活的动作返回到调用 者的消息
注释体 用于对UML实体进行文字描述
注释连接
注释连接将注释体与要描述的实体相连。说 明该注释体是对该实体所进行2-
协作图(通讯图)
协作图表示一组对象间关系以及交互活动
协作图可以认为是对象图的扩展,它增加了一些符号用于表 示对象间的交互。协作图和顺序图具有同构性。
指向源同步 消息
表示对象间从目的对象向源对象发送同步消息
指向目的的 同步消息
表示对象间从源对象向目的对象发送同步消息
注释体
注释连接
-35-
示例:协作图
-36-
活动图
活动图:通过动作来组织,主要用于描述某一方法、机制或 用例的内部行为
主要使用场合:业务建模、用例分析
-37-
活动图元语-1
活动 组合活动
1997.1公布 UML 1.0 合作伙伴


意见
众 1996.6和1996.10 UML 0.9&0.91


馈 OOPSLA95 Unified Method 0.8


Booch93 OMT-2

Booch91 OOSE
OMT-1 其他方法 统

UML基本图
静态模型 (系类统图结 构) class diagrams
转移
用于说明两个对象间存在某种关系,如满足某 个条件并当某一事件发生时,对象将从一个状 态变迁到另一个状态并同时执行一些活动
注释体
注释连接
示例:状态图
顺序图
顺序图:主要用于显示对象间的交互活动,但没有明确的交 互环境和对象状态
主要使用场合:系统分析(用例分析)、设计

UML简介

UML简介

从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。
阅读序列图也非常简单。从左上角启动序列的"驱动"类实例开始,然后顺着每条消息往下阅读。记住:虽然图4所示的例子序列图显示了每条被发送消息的返回消息,但这只是可选的。
状态图表示某个类所处的不同状态和该类的状态转换信息。有人可能会争论说每个类都有状态,但不是每个类都应该有一个状态图。只对"感兴趣的"状态的类(也就是说,在系统活动期间具有三个或更多潜在状态的类)才进行状态图描述。
活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。根据我的经验,活动图最适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或者业务如何运作等。这是因为与序列图相比,活动图在表示上"不够技术性的",但有业务头脑的人们往往能够更快速地理解它们。
如图5所示,状态图的符号集包括5个基本元素:初始起点,它使用实心圆来绘制;状态之间的转换,它使用具有开箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它使用空心圆来绘制;以及一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。要绘制状态图,首先绘制起点和一条指向该类的初始状态的转换线段。状态本身可以在图上的任意位置绘制,然后只需使用状态转换线条将它们连接起来。

UML概述

UML概述

UML概述软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。

1、UML统一建模语言是用来设计软件蓝图的可视化建模语言。

它支持面向对象系统的分析、设计、实现和交付,可以用于系统的理解、设计、浏览、维护和信息控制。

2、UML语义描述基于UML的精确元模型定义3、UML中定义了5类共计10种模型图(1)用例图:用来描述用户的需求,它从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在实用系统。

(2)静态图:包括类图、对象图、包图(3)行为图:主要用来描述系统的动态模型和对象之间的交互关系,包括状态图和活动图(4)交互图:描述对象之间的交互关系,包括顺序图和合作图(5)实现图:包括构件图、部署图4、UML在软件开发各个阶段的应用(1)需求(2)分析(3)设计(4)实现(5)集成与交付(6)测试5、CMM模型包括5个成熟度等级分别是:初始级、可重复级、已定义级、已管理级和优化级6、软件开发过程:是一个将用户需求转化为软件系统所需活动的集合。

7、统一软件过程有三个突出特点:用例驱动、以构架为中心、采用迭代和增量模型。

8、统一软件过程框架包括多次循环,分四个阶段:初始、细化、构架、移交用例图1、用例图是UML的重要组成部分,主要用来描述用户的需求。

UML侧重从最终用户的角度来理解软件系统的需求,强调谁在使用系统、系统可以完成哪些功能。

2、UML中经常用5个互联的视图来描述系统的体系结构(1)用例视图(2)设计视图(3)进程视图(4)实现视图(5)部署视图3、用例模型包括用于描述一个系统额所有用例,每个用例包括用例、执行者、用例与执行者之间的关系以及用例描述等。

4、用例描述的是用户可见的需求,一个具体的用户目标。

用例由执行者来执行,用例执行完成后将产生一个对执行者有价值的结果。

5、用例和执行者之间的关系用一条连接二者的连线表示。

一个用例和一个执行者之间最多只有一个关联关系。

6、用例描述主要用哪些属性:事件流、前置条件、后置条件、特殊要求、扩展点、问题说明。

UML概述

UML概述

22
2.7 支持UML的工具 支持UML的工具
• Rational Rose • Borland Together • ArgoUML • StarUML • Microsoft visio • ……
23
成功地使用用例的概念是面向对象技术走向第二代的标志
11
2.2 UML的历史 UML的历史
12
2.3 UML的特点 UML的特点
统一的标准, 已经被OMG接受为标准建模语言 统一的标准 已经被 接受为标准建模语言 面向对象, 面向对象 支持面向对象开发 可视化, 可视化, 表示能力很强大 独立于开发过程, 独立于开发过程 可以适用于不同软件过程 概念明确, 表示简洁, 结构清晰, 概念明确 表示简洁 结构清晰 容易学习和掌握
面对众多的方法, 面对众多的方法,用户难以辨别是否适合于自己当前工作 的需要。 的需要。 不同的表示方法妨碍了用户之间的交流。 不同的表示方法妨碍了用户之间的交流。 不同的方法本身也在不断地融合。 不同的方法本身也在不断地融合。

UML统一了各种不同的软件分析和设计的建模语言,成 统一了各种不同的软件分析和设计的建模语言, 统一了各种不同的软件分析和设计的建模语言 为系统建模语言的事实上的标准。 为系统建模语言的事实上的标准。
10
2.2 UML的历史 UML的历史

三种方法受到推崇
• • •
Booch:Booch ’93《Object-Oriented Analysis and : 《 Design with Applications 》 OMT:Rambaugh’91《Object-Oriented Modeling and : 《 Design》 》 OOSE: Ivar Jacobson’92《Object-Oriented Software 《 Engineering》 》

UML概述

UML概述

应用于关联的4种修饰: •关联名 •角色名 •多重性 •限定符与约束符
16
面向对象技术基本概念
聚合与组合
聚合(Aggregation)是一种 描述类之间的整体与部分的 组成关系。
17
面向对象技术基本概念
组合(Composition)
组合(Composition)是一种特殊的聚合,它的每个部分体都是必须 的。如下图所示。
24
UML定义
UML(Unified Modeling Language)统一建模语言,是一种 面向对象的建模语言,它的主要作用是帮助用户对软件系统 进行面向对象的描述和建模(建模是通过将用户的业务需求 映射为代码,保证代码满足这些需求,并能方便地回溯需求 的过程),它可以描述这个软件开发过程从需求分析直到实 现和测试的全过程。
11
面向对象技术基本概念
抽象类
抽象类(Abstract Class) 是一种不能直接产生实例的 类,它的作用仅仅是为了其 他的非抽象类继承和重用。
12
面向对象技术基本概念
上图表示了抽象类的应用。其中文本编辑器独立于平台,为 此定义了一个独立于平台的窗口对象类“Window”,它是 一个抽象类,在类名“Window”下标有约束{abstract}。类 “Window”包含有两个方法的名称“toFront()”和 “toBack()”,但是没有方法实现。类“Window”本身不能 有实例,但它有两个特化的子类“Windows Window”和 “Mac Window”,它们包含了方法“ toFront()”和 “toBack()”在不同平台上的实现。在本例中,类 “ Window”的作用是作为文本编辑器类“ Text Editor”的 一个接口。
13

UML概述——精选推荐

UML概述——精选推荐

UML概述什么是UML?统⼀建模语⾔(UML)维基百科给出如下定义:UML即统⼀建模语⾔(Unified Modeling Language),它是⼀种开放的⽅法,⽤于说明、可视化、构建和编写⼀个正在开发的、⾯向对象的、软件密集系统的制品的开放⽅法。

UML展现了⼀系列最佳⼯程实践,这些最佳实践在对⼤规模,复杂系统进⾏建模⽅⾯,特别是在软件架构层次已经被验证有效。

UML是⼀种图形化语⾔,⽀持模型化和软件系统开发UML”4+1”视图逻辑视图关注的静态元素是:层、⼦系统、类、接⼝,⽤类图来描述。

关注的动态因素是协作关系,⽤时序图、协作图、状态图等来描述。

是否需要在架构设计中体现类和类之间的关系?这取决于设计的层级。

开发视图(实现实体)关注的元素是程序包(SDK、解析器、中间件)、⽂件组织结构、编译依赖关系、⽬标单元(jar、exe、dll等)。

它和逻辑视图的静态元素通常有映射关系。

运⾏视图(进程视图)关注进程、线程、对象等运⾏时概念,以及相关的并发、同步、通信等问题。

运⾏架构和开发架构的关系:开发架构⼀般偏重程序包在编译时期的静态依赖关系,⽽这些程序运⾏起来之后会表现为对象、线程、进程,运⾏架构⽐较关注的是这些运⾏时单元的交互问题。

部署视图关注“⽬标程序及其依赖的运⾏库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和⽹络来配合软件系统的可靠性、可伸缩性等要求。

部署视图和运⾏视图的关系:运⾏视图特别关注⽬标程序的动态执⾏情况,⽽部署视图重视⽬标程序的静态位置问题;部署视图还要考虑软件系统和包括硬件在内的整个IT系统之间是如何相互影响的。

UML语⾔是⼀种可视化的的⾯向对象建模语⾔,描述软件模型的静态结构、动态⾏为及模块组织与管理。

三个基本的部分事物(Things)U ML中重要的组成部分,在模型中属于最静态的部分,代表概念上的或物理上的元素关系(Relationships)关系把事物紧密联系在⼀起图(Diagrams)图是很多有相互相关的事物的组4种类型的事物结构事物(Structural things)动作事物(Behavioral things)分组事物(Grouping things)注释事物(Annotational things)UML中的关系依赖(Dependencies)关联(Association)泛化(Generalization)实现(Realization)UML中的9种图类图(Class diagram)对象图(Object diagram)⽤例图(Use case diagram)时序图(Sequence diagram)协作图(Collaboration diagram)状态图(Statechart diagram)活动图(Activity diagram)组件图(Component diagram)部署图(Deployment diagram)⽤例图⽤例图的组成⽤例(use case):表⽰驱动的业务⽬标参与者(Actor):整个建模的中⼼业务⼯⼈(business worker):系统中的被动参与者活动图活动图组成起始点(Initial node)边(Edge)选择(Decision)合并(Merge)分⽀(Fork)汇合(Join)活动终⽌点(Activity final node)类图类图:展⽰软件模型的静态结构、类的内部结构(属性和操作)以及和其他类的关系例: Clock类的完整表⽰属性表⽰[可见性] 属性名[重数][‘:’类型][‘ =’初始值][{约束特征}]可见性(访问控制性)分为+(公有)、#(受保护)或 -(私有)操作表⽰:[可见性] 操作名[‘(‘参数列表’)’][‘:’返回类型] ][{约束特征}]Clock类的简洁表⽰对象图对象图表⽰⼀组对象及它们之间的联系。

UML简介

UML简介

UML为人们提供了从不同的角度去观 察和展示系统的各种特征的一种标准表 达方式。在UML中,从任何一个角度对 系统所作的抽象都可能需要用几种模型 图来描述,而这些来自不同角度的模型 图最终组成了系统的完整模型。
一般而言,我们可以从以下几种常用的视 角来描述一个系统:
• 系统的使用实例:从系统外部的操作者的角度描述系 统的功能。 • 系统的逻辑结构:描述系统内部的静态结构和动态行 为,即从内部描述如何设计实现系统功能。 • 系统的构成:描述系统由哪些程序构件所组成。 • 系统的并发性:描述系统的并发性,强调并发系统中 存在的各种通信和同步问题。 • 系统的配置:描述系统的软件和各种硬件设备之间的 配置关系。
UML类图
类图中的图符:
• 聚集关联:用于表示类的对象之间的关系 是整体与部分的关系。 • 组成关联:用于表示类的对象之间的关系: 整体拥有各部分,部分与整体共存,如整体不存 在了,部分也会随之消失。 • 泛化关联:泛化关系(继承关系)定义了 类和包间的一般元素和特殊元素之间的分类关系。
UML类图
UML简介
UML简介
UML概要 • UML由OMG与1997年11月批准为标准建 模语言。 • UML建立在当今国际上最有代表性的三 种面向对象方法(Booch方法,OMT方法, OOSE方法)的基础之上。 • UML是一种建模语言而不是一种方法, UML本身是独立于过程的。
UML的设计目标: • 运用面向对象概念来构造系统模型 • 建立起从概念模型直至可执行体之间明 显的对应关系 • 着眼于那些有重大影响的问题 • 创建一种对人和机器都适用的建模语言
对象图
UML 对象图
• 对象图并不象类图那样具有重要的地位, 但是利用它可以帮助我们通过具体的实例 分析,更具体直观地了解复杂系统类图的 丰富内涵。

UML概述

UML概述

进程视图 Process View
制作 李文杰
配置视图
Deployment View
UML概述
【UML的应用领域】
统 一 建 模 语 言
■软件系统建模 企业信息系统、银行金融服务、 电信、交通、国防/航空、零售领域、科学计算、 分布式的基于Web的服务等。 ■非软件系统建模 机构组织建模、工作流程建 模等。
制作 李文杰
UML概述
【UML支持工具】
统 一 建 模 语 言
■Rational Rose(功能强大,市场占有率高) ■Together(纯Java开发) ■Argo UML(开放源代码) ■Visio(MS office 组件,随 2003) ■Visual UML(易用,功能强大,与Rose生成 的模型可相互转换) ■......
制作 李文杰
统 一 建 模 语 言
UML概述
【UML例子】
网页(TestApplet.html)代码
<html> <title>My Java Applet</title> <body> <img src="broadcast.jpg" width="100" height="100"></img> <br> <applet code="HelloWorld.class" width="100" height="50"></applet> </body> </html>
制作 李文杰
UML概述
【定义】
可视化:模型帮助我们按照实际情况或按照 我们所需要的样式对系统进行可视化。 详述:模型允许我们详细说明系统的结构和 行为。 构造:模型给出了一个指导我们构造系统的 模板。 文档化:模型对我们所作的决策进行文档化。

UML简介(总体概括)

UML简介(总体概括)
静态 图

行为 图
交互 图
用例 图
2
3
实现 图
4
1
UML语言
1
5
用例图:从用户角度描述系统功能,展示系
统外部的各类执行者与系统提供的各种用例 之间的关系
静态图:包括类图,包图,对象图。
类图:描述系统中类的静态结构 包图:是包和类组成的,表示包与包之间的 关系,包图描述系统的分层结构 对象图:是类图的实例

UML是软件工程的一个组成部分。软件工程是
从系统的、工程的角度来研究软件开发,从保 证软件开发的各个过程来保证软件开发的质量。 而UML是统一建模语言,它作为一种工具,来 对软件开发的过程进行有序的系统的管理,从 而更加有效的实现软件工程的要求。
了解 知道UML是什么,有些什么内容,能在什么场景下 应用 熟悉 知道UML各种图形的图示和作用,能够看懂UML图 熟练 能够运用面向对象的思想,进行分析和设计,并 制作UML图,使用图形化工具来描述系统 精通 在软件工程的各个阶段里,使用UML图来进行系统 建模,进行合理的分析和设计,使用UML图来描述 系统的各个部分的细节
实现图:
构建图:展示程序代码的物理结构(描述程 序代码的组织结构,各种构件之间的依赖关 系) 部署图:展示软件在硬件环境中(特别是在 分布式及网络环境中)的配置关系(系统中硬 件和软件的物理配置情况和系统体系结构)
面向对象的 图形化描述
需求的捕获 与分析
软件结构设计
系统建模
测试阶段的 要求
行为图:描述系统动态模型和对象组成的交
换关系。包括状态图和活动图
活动图:描述了业务实现用例的工作流程 状态图:是描述状态到状态控制流,常用于动态特 性建模

UML简介

UML简介

UML简介UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。

它溶入了软件工程领域的新思想、新方法和新技术。

它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。

UML适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。

目前,在多数大型企业的正规化开发流程中,开发人员普遍使用UML进行模型的建立。

作为一名软件开发人员,我们必须学会UML。

一、什么是UMLUML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。

它:·不是一种可视化的程序设计语言而是一种可视化的建模语言;·不是工具或知识库的规格说明而是一种建模语言规格说明,是一种表示的标准;·不是过程,也不是方法,但允许任何一种过程和方法使用它。

UML 的目标是:·易于使用、表达能力强,进行可视化建模;·与具体的实现无关,可应用于任何语言平台和工具平台;·与具体的过程无关,可应用于任何软件开发的过程;·简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改;·为面向对象的设计与开发中涌现出的高级概念(例如协作框架模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用;·与最好的软件工程实践经验集成;·可升级具有广阔的适用性和可用性;·有利于面对对象工具的市场成长。

二、UML 的应用领域UML 被用来为系统建模,它可应用的范围非常广泛,可以描述许多类型的系统。

它也可以用来系统开发的不同阶段,从需求规格说明到对已完成系统的测试。

1、UML在不同类型系统中的应用UML 的目标是用面向对象的方式描述任何类型的系统。

最直接的是用UML 为软件系统创建模型,但UML 也可用来描述其它非计算机软件的系统,或者是商业机构或过程。

UML简介

UML简介

UML简介这里只对UML作简单的介绍,通过对UML中七种图(用例图、类图、序列图、状态图、活动图、组件图和部署图)的介绍讲述他们的用途。

如果您对UML已经十分熟悉,您可以跳过这部分。

用例图用例图描述了系统提供的一个功能单元。

用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括"角色"(也就是将与系统交互的人类)与基本流程的关系,以及不同用例之间的关系。

用例图一般给出了用例组--或者是整个系统的全部用例,或者是一组分开的具有相关功能(例如,所有用户管理相关的用例)的特定用例组。

类图类图显示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。

类图可用于显示逻辑类,逻辑类通常就是公司业务人员所谈及的事物种类。

类图还可以用来显示实现类,实现类就是程序员通常处理的事物。

实现类图或许会与逻辑类图显示一些相同的类。

然而,实现类图不会使用相同的属性来绘制,因为它很可能具有对诸如Vector和HashMap这种事物的引用。

序列图序列图显示特定用例(甚至特定用例的某一部分)的详细流程。

它们几乎是自描述的,并且显示了它们的序列中不同对象之间的调用关系,同时可以在很详细的级别上显示对不同对象的不同调用。

序列图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。

状态图状态图对某个类可能所处的不同状态和该类从一个状态转换到另一个状态进行建模。

有人可能会争论说每个类都有状态,但不是每个类都应该有一个状态图。

只有哪些有受关注的状态的类(也就是说,在系统活动期间具有三个或更多潜在状态的类)才应该建模。

活动图活动图显示在处理某个活动时,两个或者更多类对象之间的过程控制流。

活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。

根据我的经验,活动图最适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或者业务运作看起来如何。

电子商务系统分析与设计0304UML状态图概述

电子商务系统分析与设计0304UML状态图概述
完成教程案例3-4内容
14
19:47
15
练习题 1
以“学生信息管理系统”中的学生选课为例绘制状态图,网上选 课模块主要用于实现学生在网上了解并选择自己感兴趣的课程。 学生登录后可以选择不同课程,选课数目是有限的,如选择6门 课程后将不能再选课。如果已选了6门课程还要再选课,就必须 删除已选的课程。直到这位同学毕业,将其账号删除,则进入终的各种状态,如下所示5种状态。
初始状态。 终止状态。 可选课状态。 不可选课状态。 账号被删除状态。
19:47
17
第二步,标识相关事件并创建状态图,首先需要找出相关的事件 和转换。
对于学生账号来说,当有新同学入学时,将给新同学创建一个新的账号, 新同学可以用这个账号去选课。一般来说,选课数目是有限的,如选择6 门课程后将不能再选课。如果已选了6门课程还要再选课,就必须删除已 选的课程。直到这位同学毕业,将其账号删除,则进入终止状态。这个 过程中的主要事件有:选课、删除已选课程、删除账号等。
19:47
答案
18
19:47
19
练习题 2 图书馆管理系统中的还书业务的动态行为是由:空闲
(idle)、图书查找(finding)、还书(reversion)、 失败(Failure)、归还成功(Success)5种状态及激活 相互转换的事件。请根据分析运用UML绘制还书的状态图。
19:47
能力目标
2
I. 能够理解状态图对系统交互建模 II. 能够根据实体处于不同的状态建模
19:47
目录
1. 状态图概述 2. 实体的状态 3. 状态图的组成 4. 建立状态图的步骤
3
19:47
4
19:47
1 概述

UML概述——精选推荐

UML概述——精选推荐

UML概述-什么是模型,为什么要进行建模-什么是可视化建模-可视化建模的作用-什么是UML-UML的概念模型什么是模型,为什么要进行建模?•模型是真实世界的简化;•模型提供了一个系统的原型;•一个模型可以是结构性的,强调系统的组织结构,也可以是行为性的,强调一个系统的动态情况。

•可以更好的理解我们正在构建的系统;•可以可视化我们的系统,指定系统的结构和行为,为我们提供一个构建系统的模板,同时可以文档化我们的决定;•我们构建复杂系统的模型,因为我们通常难以理解一个复杂系统的全部。

什么是可视化建模•什么是可视化建模业务流程计算机系统可视化建模就是用标准的图形表示法来建模“建模获取系统的关键部分”UM L可视化建模的作用•可视化建模获取业务流程–用例(use case)分析是一种从用户的角度获取业务流程的技术–使用相同的语言,不至于产生歧义–用例分析能让分析师在构建系统之前理解要构建什么可视化建模的作用(continue)•可视化建模是一个交流工具业务领域计算机领域业务对象和逻辑业务对象和逻辑可视化建模的作用(continue)•管理复杂性–把3000多个类放在一张图中不好–可视化建模的“包”(package )•把元素模型化成有意义的组合•为不同的人提供不同级别的抽象–软件构架(architecture)Logical ViewPhysical View User InterfaceBusiness Logic DatabaseVB JavaC++ Java C++&SQL可视化建模的作用(continue)•促进复用(reuse)–复用是软件的一个重要问题–可以有一个类复用、多个类(或一个组件)的复用、应用模式等复用方式–不止是复用代码,而是复用建立原始工件时需要的所有分析、设计、实现、测试、文档化–可视化建模让你从复用的角度看,如果想复用工件,什么是可用的什么是UML●UML(Unified Modeling Language)是可视化、说明、构建和文档化软件系统工件的绘制软件蓝图的标准语言●UML可以做下面的建模–数据建模–业务建模–对象建模–组件建模●UML可以用于可视化建模–系统与外界的交互–系统的行为–系统的结构–系统的构架–系统的组件UML的概念模型UML建模包括3个主要要素●-构造块●-规则●-公共机制UML元素-----构造块构造块关系事物图结构事物行为事物分组事物注释事物类接口协作用况主动类构件节点交互状态机包依赖关联泛化实现类图对象图用况图顺序图协作图状态图活动图构件图实施图UML元素-----规则-UML有如下规则:1.命名:为事物、关系和图起名。

UML简介

UML简介

UML简介1、引言UML是一种编制系统蓝图的标准化,可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能强大且普遍适用的建模。

UML的发展对软件工程的发展做出了杰出的贡献。

UML支持从需求分析开始的软件开发的全过程。

UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。

URM的发展经历了以下几个阶段。

最初的阶段是专家的联合行动,由三位OO(面向对象)方法学家[8]将他们各自的方法结合在一起,形成UML 0.9。

字串5第二阶段是公司的联合行动,由十几家公司组成的“UML伙伴组织”将各自的意见加入UML,形成UML 1.0和1.1,并作为向OMG 申请成为建模规范的提案。

第三阶段是在OMG控制下的修订与改进,OMG于1997年11月正式采纳UML 1.1作为建模规范,然后成立任务组进行不断的修订,并产生了UML 1.2、1.3和1.4版本,其中UML 1.3是较为重要的修订版。

目前正处于UML的重大修订阶段,目标是推出UML 2.0,作为向ISO提交的标准提案。

1.1 UML的特点UML具有以下特点[1]:(1)面向对象。

UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。

(2)可视化,表示能力强。

通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。

可用于各种复杂系统的建模。

(3)独立于过程。

UML是系统建模,独立于开发过程。

(4)独立于程序设计。

用UML建立的软件系统模型可以用Java、VC++、SmalltaIk等任何一种面向对象的程序设计来实现。

(5)易于掌握使用。

UML图形结构清晰,建模简洁明了,容易掌握使用。

使用UML进行系统分析和设计,可以加速开发进程,提高代码质量,支持动态的业务需求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象图(Object Diagram )
构件图(Component Diagram)
部署图(Deployment Diagram)
包图(Package Diagram)
活动图(Activity Diagram )
状态机图(State Machine Diagram)
顺序图(Sequence Diagram)
LOGO
UML概述
UML
(Unified Modeling Language)
什么是UML
• Unified Modeling Language:统一建模语言,简 • 单地说就是一种有特殊用途的语言。 • UML (Unified Modeling Language)是用面向
对象的方法对软件进行分析、设计的一个工具。
骰子游戏的局部设计类图
UML的统一
90年代初,有一定 影响方法学有50多 种
UML的发展历史
20世纪90年代
三种最流行的 面向对象方法
Booch (Grady Booch)
引入面向对象软件工 程的概念。 强:设计 弱:分析
OMT (James Rumbaugh)
采用面向对象的概念,并 引入各种独立于语言的表 示符,同时使用对象模型、 动态模型、功能模型和用 例模型共同完成对整个系 统的建模。 强:分析 弱:设计
类图是使用UML建模时最常用的图。它展示了系统中的静态事物、 它们的结构以及它们之间的相互关系。这种图的典型用法是描述系统 的逻辑设计和物理设计。 (2)对象图
对象图展示系统中的一组对象。它是系统在某一时刻的快照。对象 图是类图在某一时刻的快照。
UML中的图
(3)构件图(组件图) 构件图展示一组构件的组织和彼此间的依赖关系。构建图说明系统
如何实现,软件系统内构件如何协同工作。 (4)部署图
部署图展示物理系统运行时的架构。部署图描述系统中的硬件和硬 件上驻留的软件。 (5)包图
包图描绘包之间的依赖关系(包是一个用于组织其他模型元素的通 用模型元素)。
UML中的图
2.行为图有下列几种: (1)用例图
用例描述了系统的工作方式,以及系统能提供的服务.用例图描述 了系统外部参与者如何使用系统提供的服务。 (2)活动图
• UML表示法 UML表示法定义了UML符号的表示方法,为开发者和开发工具 使用这些图像符号和文本语法给系统建模提供了标准。这些图形 符号和文字所表示的是应用级的模型,在语义上它是UML元模型 的实例。
UML中的图
UML中的的图分为两大类:结构图(静态图)和行为图(动态图)。结 构图描绘系统组成元素之间的静态结构;行为图描绘系统元素的动态 行为。 1.结构图有下列几种类型: (1)类图
为什么需要 UML 呢?
没有统一的公式符 号, 很难想像数 学的发展。
• 贝多芬作曲时使用五线谱
Байду номын сангаас
电路图精确 传达电子设 计师的思想
在基本共识上 沟通
• “高手”喜欢画“草图”:来,我给大家讲讲 ! • “优点”: ➢ 项目要依赖于“我”头脑中的隐式知识 ➢ 怎么画都对,解释权归我所有 • 以形式的粗陋遮掩内容的粗陋 ➢ 因为用马粪纸写作,所以有理由写错别字,犯语法错误? ➢ 因为在沙滩上用树枝演算,所以有理由乱用公式定理?
OOSE (Ivar Jacoboson)
面向用例。 强:行为分析 弱:其他
UML的定义
UML的定义包括UML语义和UML表示法两个部分。
• UML语义 UML语义给出了基于UML的精确的元模型定义。元模型为UML 的所有元素在语法和语义上提供了简单、一致、通用的定义性说 明,使开发者能在语义上取得一致,消除了因人而异的表示方法 所造成的影响。UML还支持对元模型的扩充定义。
UML中的图
(4)合作图 合作图是交互图的一种,交互图还包括顺序图。合作图突出对象之间
的合作与交互。在UML2.0 中,合作图被通信图(communication diagram) (协作图)所取代。 (5)顺序图
顺序图是一种交互图。顺序图强调一个系统中不同元素间传递消息的 时间顺序。
UML2.0 又增加了下列几种行为图: (1)时间图
一个UML的应用实例
➢定义领域模型(OOA):识别问题中的概念,它是对真实世界领域中的概 念和想象可视化,与具体实现的软件技术无关。
➢游戏者 ➢骰子 ➢骰子游戏
一个UML的应用实例
➢分配对象职责并绘制交互图(OOD) OOD关注的是:软件对象的定义、职责与协作
一个UML的应用实例
➢定义设计类图:从领域模型以及交互图中获得启示,定义软件类, 包括属性、方法等
UML的定义
UML是用来对软件系统进行可视化建模的一 种语言。
UML是为面向对象开发系统的产品进行说明、 可视化、和编制文档的一种标准语言。
一个UML的应用实例
•骰子游戏:软件模拟游戏者投掷两个骰子,如果总点数是7则赢得游 戏,否则为输。
• 过程:定义用例定义领域模型定义交互图定义设计类图
定义用例(用例是需求分析的一种工具,它是一些情节的描述) 骰子游戏:1、游戏者请求骰子 2、系统展示结果:如果骰子的总点数是7,则游戏者 赢;否则游戏者输。
活动图显示系统内的活动流。通常需要使用活动图描述不同的业务 过程。 (3)状态图
状态图显示一个对象的状态和状态之间的转换。状态图中包括状态、 转换、事件和活动。状态图是一个动态视图,对事件驱动的行为建模 尤其重要。在UML2.0中,状态图被称作状态机图(state machine diagram)。
时间图也是一种交互图。它描绘与交互元素的状态转换或条件变化有 关的详细时间信息。 (2)交互概述图
交互概观图是一种高层视图,用于从总体上显示交互序列之间的控制 流。
种类 结构性的 UML ( Structure Diagram)
行为型的 UML ( Behavior Diagram)
UML 图
类图(Class Diagram)
通信图(Communication Diagram)
用例图(Use Case Diagram)
时序图(Timing Diagram )
实际应用情况 必用来分析业务概念。 基本不使用。
必用来分析 IT 基础架构、 软件架构等方面的需求。
很少会使用。 必会使用至少其中一种图 来分析业务流程,大部分 情况下至少会用到其中两 种图。
相关文档
最新文档