用况图、类图应用举例
UML中共有5种静态图
UML中共有5种静态图:用例图,类图,对象图,组件图和配置图。
(1)用例图Use Case Diagram
用例图展现了一组用例、参与者以及它们之间的关系可以用来描述系统的静态使用情况。
上图中小人形状的用户和ATM是参与者、椭圆形状的如插入卡、输入密码等是用例
(2)类图Class Diagram
类图展示了一组类、接口、子类以及他们之间的关系,在建模中最常用到的图就是类图;可以用类图说明系统的静态设计视图,包含主动类的类图。
上图中反应了5个类之间的关联关系,人民币账户和美元帐户从账户继承,账户和ATM相关联,两种账户和用户相关联
(3)对象图Object Diagram
对象图展示了一组对象和他们间的关系,可以用来说明类图中翻译的事物实例的数据结构和静态快照,表达了系统的静态设计视图和静态过程视图,除了显示和原型方面的因素外,它与类图的作用是相同的。(4)组件图Component Diagram
组件图,又名构件图,展现了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库和可调整的系统建模。
上图中组件1和组件3依赖于组件2
(5)配置图Deployment Diagram
配置图展现了对运行时处理节点以及其中组件的配属,它描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。用配置图说明系统结构的静态配置视图,即说明分布、交互和安装的物理系统。
上图中,三个处理机与两个涉笔,相互之间是关联的关系
UML中动态图有四种,分别是:时序图、协作图、状态图和活动图。
(1)时序图Sequence Diagram
用况图、类图应用举例
UML系列图--用例图
UML-Unified Model Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。
在UML系统开发中有三个主要的模型:
功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图、对象图、包图。
动态模型: 展现系统的内部行为。包括序列图,活动图,状态图。
UML的重要内容可以由以下五种类图定义
用例图:从用户角度描述系统功能,并指各功能的操作者。
静态图:包括类图,包图,对象图。
类图:描述系统中类的静态结构
包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构
对象图:是类图的实例
行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图
活动图:描述了业务实现用例的工作流程
状态图:是描述状态到状态控制流,常用于动态特性建模
交互图:描述对象之间的交互关系
顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
合作图:描述对象之间的协助关系
实现图:
配置图:定义系统中软硬件的物理体系结构
UML包括用例图、类图、构件图、部署图、顺序图、协作图、状态图、活动图各个图简介:
用例图从外部用户的角度捕获系统的行为。他将系统功能划分为对活动者具有意义的事务。
类图描述类、接口、写作以及它们之间的关系的图顺序图描述了随时间安排的一系列消息。每个分类角色显示为一条生命线,代表整个交互期间的角色。消息则显示为生命线之间的箭头。
协作图对交互中存在意义的对象和链建模
用例图和类图
想一想
1. ATM机服务中,无论取款、存款、还是转账, 系统都会提示“是否打印回执单”,那么“ 打印回执”这个单独用例与取款、存款、转 账这三个事件之间是什么关系? 2. 对于电话业务,在基本通话事件中,还有一 些增值业务,如:呼叫等待、呼叫转移、短 信通知机主„„它们之间是什么关系? 3. 在有收银台的商场购物与在自动售货机上购 物,购物者是否都作为售货系统的参与者?
筛选备选类(分析过程)
8. “购买金额”、“册数”都是统计的结果, 都只是一个数字,因此不用将其建模,只需 做为书籍的属性之一即可。而“特定时间周 期”则是统计的范围,也无需将其建模,可 以加以函数约束;不过从这里的分析中,我 们可以发现,在该需求描述中隐藏着一个关 键类——书籍列表,它是执行统计的主体。
筛选备选类(分析过程)
1.“小王”、“人”很明显是系统外的概念,无 须对其建模; 2.而“个人图书管理系统”和后面的“系统”指 的就是将要开发的系统,即系统本身,也无须 对其进行建模; 3.很明显,“书籍”是一个很重要的类,而“书 名”、“作者”、“类别”、“出版社”、“ 书号”等则都是用来描述书籍的基本信息的, 因此应该作为“书籍”类的属性处理,而“规 则”是指书号的生成规则,书号则是书籍的一 个属性,因此“规则”可以作为编写“书籍” 类构造函数的指南。
类图的需求分析
• 小王是一个爱书之人,家里各类书籍已过千册, 而平时又时常有朋友外借,因此需要一个个人图 书管理系统。 • 该系统应该能够将书籍的基本信息按计算机类、 非计算机类分别建档,实现按书名、作者、类别 、出版社等关键字的组合查询功能。在使用该系 统录入新书籍时系统会自动按规则生成书号,可 以修改信息。该系统还应该能够对书籍的外借情 况进行记录,可对外借情况列表打印。另外,还 希望能够对书籍的购买金额、册数按特定时间周 期进行统计。
UML九种图作用简介
UML九种图作用简介
UML(统一建模语言):是面向对象的可视化建模语言。
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物
UML中有九种图如下:
1、用例图
描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。
2、类图
类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。
3、对象图
与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。
4、活动图
描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能
5、状态图
描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。
6、序列图(顺序图)
序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。
UML:图的分类及作用(共5类图,有9种图形)
UML:图的分类及作⽤(共5类图,有9种图形)
第⼀类:⽤例图:从⽤户⾓度描述系统功能,并指出各功能的操作者。第⼆类:静态图:包括类图、对象图和包图。 1、类图:表⽰类之间的联系如关联、依赖、聚合等,包括类的内部结构(类的属性和操作)。在系统的整个⽣命周期都是有效的 2、对象图:表⽰类图的⼀个实例,对象图只能在系统某⼀时间段存在。 3、包图:表⽰包与包之间的关系。包图⽤于描述系统的分层结构。第三类:⾏为图:状态图、活动图。描述系统的动态模型和组成对象间的交互关系。 1、状态图:是对类图的补充,描述类的对象所有可能的状态以及事件发⽣时状态的转移条件。在实⽤上并不需要为所有的类画状态图,仅为那些有多个状态其⾏为受外界环境的影响并且发⽣改变的类画状态图。 2、描述满⾜⽤例要求所要进⾏的活动以及活动间的约束关系,有利于识别并⾏活动。第四类:交互图:包括顺序图 ,协作图(即合作图) 1、顺序图:强调的是时间和顺序的关系 2、协作图:强调的是上下级关系第五类:实现图:构件图,描述代码部件的物理结构及各部件之间的依赖关系。从应⽤的⾓度看,当采⽤⾯向对象技术设计系统时,⾸先是描述需求;其次根据需求建⽴系统的静态模型,以构造系统的结构;第三步是描述系统的⾏为。其中在第⼀步与第⼆步中所建⽴的模型都是静态的,包括⽤例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语⾔UML的静态建模机制。其中第三步中所建⽴的模型或者可以执⾏,或者表⽰执⾏时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语⾔UML的动态建模机制。因此,标准建模语⾔UML的主要内容也可以归纳为静态建模机制和动态建模机制两⼤类。总结:1、静态图:包括⽤例图、类图(包含包)、对象图、组件图和配置图等五个图形,⾸先是描述需求;其次根据需求建⽴系统的静态模型,以构造系统的结构; 2、动态图:包括状态图、活动图、顺序图和合作图等四个图形,是描述系统的⾏为;
2.设计模式常用的UML图分析(用例图、类图与时序图)
2.设计模式常⽤的UML图分析(⽤例图、类图与时序图)
1-⽤例图
概述
1. 展现了⼀组⽤例、参与者以及他们之间的关系。
2. ⽤例图从⽤户⾓度描述系统的静态使⽤情况,⽤于建⽴需求模型。
⽤例特征
保证⽤例能够正确捕捉功能性需求,判断⽤例是否准确的依据。
1. ⽤例是动宾短语
2. ⽤例是相互独⽴的
3. ⽤例是由⽤户参与者启动的
4. ⽤例要有可观测的执⾏结果
5. ⼀个⽤例是⼀个单元
参与者 Actor
UML中,参与者使⽤⼀个⼩⼈表⽰:
1. 参与者为系统外部与系统直接交互的⼈或事务,于系统外部与系统发⽣交互作⽤
2. 参与者是⾓⾊⽽不是具体的⼈
3. 代表参与者在与系统打交道时所扮演的⾓⾊
4. 系统实际运作中,⼀个实际⽤户可能对应系统的多个参与者。不同⾓⾊也可以只对应⼀个参与者,从⽽代表同⼀参与者的不通实例
⽤例 Use Case
系统外部可见的⼀个系统功能单元。系统的功能由系统单元所提供,并通过⼀系列系统单元与⼀个或多个参与者之间交换的消息所表达。系统单元⽤椭圆表⽰,椭圆中的⽂字简述系统功能:
关系 Relationship
常见关系类型有关联、泛化、包含和扩展
关联 Association
表⽰参与者与⽤例之间的通信,任何⼀⽅都可发送或接受消息。
箭头指向:指向消息接收⽅:
⼦系统 SubSystem
⽤来展⽰系统的⼀部分功能(紧密联系)
泛化 Inheritance
继承关系,⼦⽤例和⽗⽤例相似,但表现出更特别的⾏为;⼦⽤例将继承⽗⽤例的所有结构、⾏为和关系。⼦⽤例可以使⽤⽗⽤例的⼀段⾏为,也可以重载它。⽗⽤例通常是抽象。。
【精选】第四章--交互图
第四章交互图
用况图和类图主要用于建立需求模型和基本模型,对于较为复杂的系统仅建立这两种模型是不够的,还需从其他方面对系统建模,用以针对基本模型进行辅助描述。
交互图是用来描述对象之间以及对象与参与者之间的动作协作关系以及协作过程中行为次序的的图形文档。它通常用来描述一个用例的行为,显示该用例中所涉及的对象和这些对象之间的消息传递情况。
交互图包括顺序图和协作图两种形式。顺序图着重描述对象按照时间顺序的信息交换,协作图着重描述系统成分如何协同工作。它们从不同角度表达了系统中的交互和系统的行为。它们之间可以相互转换。
需要强调的事交换图描述的事对象之间的消息发送关系,而不是类之间的关系。在交互中一般不会包括系统中所有类的对象,但同一个类的可以有多个对象出现在交互图中。
本章主要介绍顺序图和协作图的概念和表示法,如何从需求分析入手建立顺序图和协作图,以及它们的区别。最后从结合实例,介绍如何绘制顺序图和协作图。
4.1顺序图
4.1.1顺序图概述
顺序图(Sequence Diagram)是一种详细表示对象之间以及对象与系统外部的参与者之间动态联系的图形文档,它是由一组相互协作的对象和参与者以及它们之间可发送的消息组成,它强调消息之间的顺序。
顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。
顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。顺序图属于动态建模。
顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。
Rational_Rose_建模案例
图书馆管理系统用例图
确定系统参与者
图书管理员 读者
Rational Rose 简介
确定系统用例
读者得到服务用例图
还书、借书、预留书籍、取消预留 还书、借书、预留书籍、
图书馆管理系统配置图
Rational Rose 简介
Rational Rose 简介
Any Question?
图书馆管理系统用例图
读者得到服务用例图
Rational Rose 简介
图书馆管理系统用例图
Rational Rose 简介
图书管理员维护读者/ 图书管理员维护读者/书籍信息用例图
图书馆管理系统用例图
Rational Rose 简介
图书管理员登录/ 图书管理员登录/查询信息用例图
图书馆管理系统类图
图书馆管理系统类图
Rational Rose 简介
图书馆管理系统状态图
Rational Rose 简介
图书馆管理系统活动图
Rational Rose 简介
图书馆管理系统时序图
Rational Rose 简介
图书馆管理系统协作图
Rational Rose 简介
图书馆管理系统组件图
UML各种图例—用例图、类图、状态图、包图、协作图、顺序图
UML各种图例——用例图、类图、状态图、包图、协作图、顺序图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML的精彩之处.
UML中有九种建模的图标,即:
∙用例图
∙类图
∙对象图
∙顺序图
∙协作图
∙状态图
∙活动图
∙组件图
∙配置图
本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解.
为什么UML很重要?
为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成为了这个行业中的设计师和施工人员的必修课.
写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言.
UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界.
模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state.
软件工程9种图
软件工程9种图
软件工程9种图
本文档旨在介绍软件工程中常用的9种图,包括需求分析图、
用例图、活动图、类图、状态图、序列图、通信图、部署图和物理
架构图。每个章节将详细说明各种图的定义、特点和使用方法。
1.需求分析图
需求分析图主要用于描述系统的需求和功能,并将其转化为可
视化的图形表示。它包括用例图、活动图、状态图等多种子图。用
例图用于展示系统的功能、用户以及各功能之间的关系;活动图则
表示系统中的各种活动以及它们之间的关系;状态图则描述系统中
对象的不同状态和状态之间的转移。
2.用例图
用例图是描述系统功能和用户之间交互的图表。它展示了系统
的功能性需求,包括系统的主要功能和参与者(用户)之间的关系。用例图由参与者、用例和关系构成,通过参与者和用例之间的关系
来表示用户与系统的交互。
3.活动图
活动图用于描述系统中的活动或业务流程,以及这些活动之间
的顺序关系。它展示了系统的业务流程,包括活动、决策、并行和
合并分支。活动图通过节点、边和分支条件来表示活动之间的关系。
4.类图
类图用于描述系统中的类、对象以及它们之间的关系。它展示
了系统的结构,包括类的属性、方法、关联关系、继承关系等。类
图通过类、对象、关联和继承等元素来表示系统的结构。
5.状态图
状态图用于描述系统中对象的不同状态和状态之间的转移。它
展示了系统中对象的状态及其变化,包括对象的初始状态、中间状
态以及最终状态。状态图通过状态、转移和条件来表示对象的状态
和状态之间的转移。
6.序列图
序列图用于描述系统中对象之间的交互顺序和消息传递。它展
示了系统中对象之间的交互流程,包括对象的创建、销毁、方法调
各种图示的简单例子毕然
系统需求
UML的基本概念 总结
用例视图(Use Cases View)从外部用户的角度来描述
系统的行为,它将系统功能划分为对用户有意义的事
务,这些事务被称为用例,用户被称为执行者,用例
视图也就是描述活动者在各个用例中的参与情况,它
指导所有的行为视图。
UML的基本概念总结
交互行为:
交互视图(Interaction View),对象通过交互来实现 行为,交互视图通过协作来进行建模,协作具有结构和 行为两个方面,结构包含为行为方面而定义的一系列角 色和关系,行为方面是绑定于角色的对象间的一系列交 换的消息,这些消息在协作中称为交互,消息序列可用 两种图来表示:顺序图(重点在消息的时间顺序)和协 作图(重点在交换消息的对象间的关系)。
Rose的使用
在Logical视图中的类型有:类图和状态图。
UML的基本概念总结
静态结构:
静态视图(Static View),一个模型必须 首先定义各种事物的内部特征和相互之 间的关系,应用概念建模成类,类描述 事物的属性和以及在这些属性上的操作 。类之间可以存在不同的关系,比如泛 化(继承)、关联和依赖等,静态视图 表示成类图,静态视图在某一时刻的快 照称为对象图。
类图
实例一[4]-Hello World
Applet
继承
HelloWorld Paint()
UML对象图的使用示例
UML对象图的使用示例
UML(统一建模语言)是一种用于软件开发的标准化建模语言,它提供了一套丰富的图形符号和规则,用于描述软件系统的结构、行为和交互。其中,对象图是UML中的一种图示工具,用于展示系统中的对象及其之间的关系。本文将通过一
个示例来介绍UML对象图的使用。
假设我们要设计一个简单的图书馆管理系统,该系统包括图书馆、图书和读者
三个主要对象。首先,我们可以通过一个类图来描述这些对象的静态结构。在类图中,每个类都表示一个对象的抽象,而类之间的关系则表示对象之间的关联、继承或依赖关系。
在我们的图书馆管理系统中,首先有一个图书馆类,它包含图书馆的名称、地
址和管理员等属性。图书馆还有一个方法,用于添加和删除图书。接下来,我们有一个图书类,它包含图书的标题、作者和出版社等属性。图书还有一个方法,用于借阅和归还图书。最后,我们有一个读者类,它包含读者的姓名、年龄和借阅图书的记录等属性。读者还有一个方法,用于查询借阅图书的情况。
在对象图中,我们可以通过实例化类来表示具体的对象。例如,我们可以创建
一个名为“图书馆A”的图书馆对象,它的地址是“某某路1号”,管理员是“张三”。
同时,我们还可以创建一个名为“图书1”的图书对象,它的标题是“《设计模式》”,作者是“Gang of Four”,出版社是“某某出版社”。此外,我们还可以创建一个名为“读者A”的读者对象,他的姓名是“李四”,年龄是“25”。
通过对象图,我们可以更直观地展示对象之间的关系。例如,在我们的示例中,图书馆对象和图书对象之间存在一个关联关系,表示图书馆拥有图书。此外,读者对象和图书对象之间也存在一个关联关系,表示读者借阅了图书。我们可以使用箭头来表示关联关系的方向,箭头指向被关联的对象。
UML中的状态图实践案例
UML中的状态图实践案例
UML(Unified Modeling Language)是一种通用的建模语言,广泛应用于软件
开发过程中的需求分析和设计阶段。其中,状态图是一种重要的建模工具,用于描述对象在不同状态之间的转换和行为。在本文中,我们将通过一个实践案例来探讨UML中状态图的应用。
案例背景:
假设我们正在开发一个在线购物系统,该系统允许用户浏览商品、添加商品到
购物车并进行结算。为了更好地理解系统的行为和状态转换,我们将使用UML状
态图来建模该系统。
状态图的基本元素:
在开始建模之前,我们首先需要了解状态图的基本元素。一个状态图通常包含
以下几个要素:
1. 状态(State):表示对象所处的状态,可以是一个具体的状态,如“未登录”、“已登录”等,也可以是一个抽象的状态,如“购物中”、“结算中”等。
2. 转换(Transition):表示状态之间的转换,即对象从一个状态转换到另一个
状态的过程。转换可以由外部事件触发,也可以由对象自身的行为触发。
3. 事件(Event):触发状态转换的外部事件,例如用户点击“登录”按钮、添加商品到购物车等。
4. 动作(Action):在状态转换过程中执行的操作,例如登录验证、添加商品
到购物车等。
案例建模:
在我们的购物系统中,可以定义以下几个状态:未登录、已登录、购物中、结
算中、已完成。接下来,我们将根据系统的功能和行为来建立状态图。
首先,我们定义一个初始状态为“未登录”。在该状态下,用户可以进行登录操作,触发“登录”事件。一旦用户成功登录,系统将执行登录验证操作,并将状态转换为“已登录”。
UML各种图总结-精华
UML各种图总结-精华
UML(UnifiedModelingLanguage)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。
一、基本概念
如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。动态图分为:状态图,活动图,协作图,序列图。
1、用例图(UseCaseDiagrams):
用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2、类图(ClassDiagrams):
用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖
2.1.泛化
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
2.2.实现
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
UML 10 种图的总结
UML 2.0共有10种图,分别为表示系统静态结构的静态模型(包括类图、组合结构图、部署图),以及表示系统动态结构的动态模型(包括用例图、序列图、对象图、协作图、状态图、活动图、组件图),它们各用以表现不同的视图,如表1-1所示。
用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。
(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在图2.4中,订票是电话订票和网上订票的抽象。
UML 各种图总结精华
UML 各种图总结精华
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。
一、基本概念
如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。
静态图分为:用例图,类图,对象图,包图,构件图,部署图。
动态图分为:状态图,活动图,协作图,序列图。
1、用例图(UseCase Diagrams):
用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2、类图(Class Diagrams):
用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖2.1.泛化
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
2.2.实现
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UML系列图--用例图
UML-Unified Model Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。
在UML系统开发中有三个主要的模型:
功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图、对象图、包图。
动态模型: 展现系统的内部行为。包括序列图,活动图,状态图。
UML的重要内容可以由以下五种类图定义
用例图:从用户角度描述系统功能,并指各功能的操作者。
静态图:包括类图,包图,对象图。
类图:描述系统中类的静态结构
包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构
对象图:是类图的实例
行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图
活动图:描述了业务实现用例的工作流程
状态图:是描述状态到状态控制流,常用于动态特性建模
交互图:描述对象之间的交互关系
顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
合作图:描述对象之间的协助关系
实现图:
配置图:定义系统中软硬件的物理体系结构
UML包括用例图、类图、构件图、部署图、顺序图、协作图、状态图、活动图各个图简介:
用例图从外部用户的角度捕获系统的行为。他将系统功能划分为对活动者具有意义的事务。
类图描述类、接口、写作以及它们之间的关系的图顺序图描述了随时间安排的一系列消息。每个分类角色显示为一条生命线,代表整个交互期间的角色。消息则显示为生命线之间的箭头。
协作图对交互中存在意义的对象和链建模
状态图用来描述一个特定对象所有可能的状态以及由于各种事件的发生而引起的状态之间的转移和变化。用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。
【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。
用例图所包含的元素如下:
1. 参与者(Actor)
表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。
2. 用例(Use Case)
用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。
3. 子系统(Subsystem)
用来展示系统的一部分功能,这部分功能联系紧密。
4. 关系
用例图中涉及的关系有:关联、泛化、包含、扩展。
如下表所示:
a. 关联(Association)
表示参与者与用例之间的通信,任何一方都可发送或接受消息。
【箭头指向】:指向消息接收方
b. 泛化(Inheritance)
就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
【箭头指向】:指向父用例
c. 包含(Include)
包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。
【箭头指向】:指向分解出来的功能用例
d. 扩展(Extend)
扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。
【箭头指向】:指向基础用例
e. 依赖(Dependency)
以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加
了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。
【箭头指向】:指向被依赖项
5. 项目(Artifact)
用例图虽然是用来帮助人们形象地理解功能需求,但却没多少人能够通看懂它。很多时候跟用户交流甚至用Excel都比用例图强,VS2010中引入了“项目”这
样一个元素,以便让开发人员能够在用例图中链接一个普通文档。
用依赖关系把某个用例依赖到项目上:
然后把项目-》属性的Hyperlink设置到你的文档上;
这样当你在用例图上双击项目时,就会打开相关联的文档。
6. 注释(Comment)
包含(include)、扩展(extend)、泛化(Inheritance)的区别:
条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;
直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者提供间接服务。
对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。
对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;
一个用例图示例:
类与类之间的几种关系
一、继承关系
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。
二、实现关系
实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性。在UML类图设计中,实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。