UML学习绘制序列图、状态图

合集下载

实验4---UML之类图、状态图和时序图

实验4---UML之类图、状态图和时序图

组合
组合模式

演出售票系统
在用例驱动的开发过程中,通过分析各个用例及参与者得到类图。分析用例图的过程中需要根据 面向对象的原则设计类和关系,根据用例的细节设计类的属性和操作
Box Office Buy tickets <<include>> Buy Subscription 关系 <<include>> Make charges 用例 Survey sales
参数列表
操作名称 斜体为抽象操作
类图中的事物及解释
接口
※ 一组操作的集合,只有操作的声明而没有实现
抽象类
※ 不能被实例化的类,一般至少包含一个抽象操作
模版类
※ 一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类
Shape
Vehicle - fMaxSpeed : float + Start() : int + Stop() : int
(空心菱形)
ClassDiagram Relation Thing
UML表示法
实例
类图包含有事物 和关系,类图不 存在了,事物和 关系还可用于其 它的类图
Class (实心菱形)
Association
实例
类与关联关系之间 有组合关系,类不 存在了,则相应的 关联关系也不存在

泛化关系
※ 在面向对象中一般称为继承关系,存在于父类与子类、父接口与子接口 之间
UML表示法
+diagram use +thing
1..*
角色 类的角色是“事物 “
1..*
Class
多重性 (用数字和*表示) 1…*:1个或多个 1个类图有1个或多个类 1个类属于1个或多个类图

UML几种图的绘制

UML几种图的绘制

UML⼏种图的绘制UML⼏种图的绘制UML是Unified Modeling Language(统⼀建模语⾔)的简称。

UML是对软件密集型系统中的制品(软件开发过程中产⽣的各种各样的产物,如模型、源代码、测试⽤例等)进⾏可视化、详述、构造和⽂档化的语⾔。

UML是⼀套表⽰法系统。

UML由⼀组图组成,它使得系统分析员可以利⽤这⼀标准来建⽴能够和客户、程序员以及任何参与程序开发的⼈员理解的多视⾓的系统蓝图。

不同的风险承担⼈通常使⽤不同类型的图相互交流。

UML的特点有:统⼀的标准:UML已被OMG接受为标准的建模语⾔、⾯向对象、可视化、表⽰能⼒强⼤、独⽴于过程、概念明确,建模表⽰法简洁,图形结构清晰,容易掌握使⽤UML中包括九种图:类图、对象图、⽤例图、状态图、顺序图、活动图、协作图、构件图、部署图【系统⽤例图】⽤例是系统的⼀组使⽤场景。

每个场景描述了⼀个事件的序列。

每个序列是由⼀个⼈、另⼀个系统、⼀台硬件设备或者某段时间的流逝所发起。

这些发起事件序列的实体叫做参与者(actor)。

⽤例是对⼀个参与者(actor)使⽤系统的⼀项功能时所进⾏的交互过程的⼀个⽂字描述序列。

UML表⽰:⽤例⽤⼀个椭圆形表⽰参与者⽤直⽴⼈形图标表⽰⽤例的发起参与者在⽤例图的左侧,接收参与者在⽤例图的右侧关联线连接参与者和⽤例并且表⽰参与者与⽤例之间有通信关系;关联线是实线。

Rational Rose表⽰:创建参与者创建与参与者相关的⽤例并建⽴联系系统⽤例图如下:⽬录中出现参与者及⽤例如下:【顺序图】对象之间的交互是按照特定的顺序发⽣的,这些按特定顺序发⽣的交互序列从开始到结束需要⼀定的时间。

当建⽴⼀个系统时,必须要指明这种交互序列,顺序图就是⽤来完成这项⼯作的UML组件。

UML表⽰:对象⽤矩形表⽰,其中是带下划线的对象名时间⽤垂直虚线表⽰消息⽤带箭头的直线表⽰激活⽤窄矩形条表⽰Rational Rose表⽰:右击⽤例“Add Item to Shopping Cart”,选择“Add”->“Sequence Diagram”⾸先画出⽤例中会⽤到Object再在Object之间创建ObjectMessage顺序图如下:【协作图】协作图是对象图的扩展。

UML各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明书画法和功能

UML各种图例齐全—用例图、类图、状态图、包图、协作图、顺序图详细说明书画法和功能

UML各种图例面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language ™),这篇课程的目的是展示出UML的精彩之处.UML中有九种建模的图标,即:∙用例图∙类图∙对象图∙顺序图∙协作图∙状态图∙活动图∙组件图∙配置图本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解.为什么UML很重要?为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成标准文档为了这个行业中的设计师和施工人员的必修课.写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言.UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界.模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state.类Classes是对象的“蓝图”.一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数).对象是类的实例instances.用例图用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象.强调这个系统是什么而不是这个系统怎么工作.用例图与情节紧紧相关的.情节scenario是指当某个人与系统进行互动时发生的情况.下面是一个医院门诊部的情节.“一个病人打电话给门诊部预约一年一次的身体检查.接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录.”用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和.角色actor是发动与这个工作有关的事件的人或者事情.角色简单的扮演着人或者对象的作用.下面的图是一个门诊部Make Appointment用例.角色是病人.角色与用例的联系是通讯联系communication association(或简称通讯communication)标准文档角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线.一个用例图是角色,用例,和它们之间的联系的集合.我们已经把Make Appointment作为一个含有四个角色和四个用例的图的一部分.注意一个单独的用例可以有多个角色.用例图在三个领域很有作用.决定特征(需求).当系统已经分析好并且设计成型时,新的用例产生新的需求标准文档∙客户通讯.使用用例图很容易表示开发者与客户之间的联系.∙产生测试用例.一个用例的情节可能产生这些情节的一批测试用例.类图类图Class diagram通过显示出系统的类以及这些类之间的关系来表示系统.类图是静态的-它们显示出什么可以产生影响但不会告诉你什么时候产生影响.下面是一个顾客从零售商处预定商品的模型的类图.中心的类是Order.连接它的是购买货物的Customer和Payment.Payment有三种形式:Cash,Check,或者Credit.订单包括OrderDetails(line item),每个这种类都连着Item.标准文档UML类的符号是一个被划分成三块的方框:类名,属性,和操作.抽象类的名字,像Payment是斜体的.类之间的关系是连接线.类图有三种关系.关联association-表示两种类的实例间的关系.如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联.在图中,关联用两个类之间的连线表示.标准文档标准文档为了简单地表示出复杂的类图,可以把类组合成包packages.一个包是UML上有逻辑关系的元件的集合.下面这个图是是一个把类组合成包的一个商业模型.dependencies关系.如果另一个的包B改变可能会导致一个包A改变,则包A依赖包B.包是用一个在上方带有小标签的矩形表示的.包名写在标签上或者在矩形里面.点化线箭头表示依赖对象图Object diagrams用来表示类的实例.他们在解释复杂关系的细小问题时(特别是递归关系时)很有用.这个类图示一个大学的Department可以包括其他很多的Departments.标准文档这个对象图示上面类图的实例.用了很多具体的例子.UML中实例名带有下划线.只要意思清楚,类或实例名可以在对象图中被省略.标准文档每个类图的矩形对应了一个单独的实例.实例名称中所强调的UML图表.类或实例的名称可能是省略对象图表只要图的意义仍然是明确的.顺序图类图和对象图是静态模型的视图.交互图是动态的.他们描述了对象间的交互作用.顺序图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线.消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列.标准文档协作图协作图也是互动的图表.他们像序列图一样也传递相同的信息,但他们不关心什么时候消息被传递,只关心对象的角色.在序列图中,对象的角色放在上面而消息则是连接线.标准文档对象角色矩形上标有类或对象名(或者都有).类名前面有个冒号(:).协作图的每个消息都有一个序列号.顶层消息的数字是1.同一个等级的消息(也就是同一个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀1,2等等.状态图对象拥有行为和状态.对象的状态是由对象当前的行动和条件决定的.状态图statechart diagram显示出了对象可能的状态以及由状态改变而导致的转移.标准文档我们的模型例图建立了一个银行的在线登录系统.登录过程包括输入合法的密码和个人账号,再提交给系统验证信息.登录系统可以被划分为四种不重叠的状态:Getting SSN, Getting PIN, Validating, 以及 Rejecting.每个状态都有一套完整的转移transitions来决定状态的顺序.标准文档状态是用圆角矩形来表示的.转移则是使用带箭头的连线表示.触发转移的事件或者条件写在箭头的旁边.我们的图上有两个自转移.一个是在Getting SSN,另一个则在上Getting PIN.初始状态(黑色圆圈)是开始动作的虚拟开始.结束状态也是动作的虚拟结束.事件或条件触发动作时用(/动作)表示.当进入Validating状态时,对象并不等外部事件触发转移.取而代之,它产生一个动作.动作的结果决定了下一步的状态.活动图活动图activity diagram是一个很特别的流程图.活动图和状态图之间是有关系的.状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程.活动图告诉了我们活动之间的依赖关系.对我们的例子来说,我们使用如下的过程.“通过ATM来取钱.”这个活动有三个类Customer, ATM和 Bank.整个过程从黑色圆圈开始到黑白的同心圆结束.活动用圆角矩形表示.标准文档标准文档标准文档。

uml报告三 状态图与活动图

uml报告三 状态图与活动图

天津理工大学
计算机与通信工程学院
实验报告
2013 至2014 学年第二学期
事件流的描述,可在活动图中绘制如下图。

其中,当点击点击
点击图标然后在
Step 8:保存结果
【扩展练习】
练习一:对选课系统中的课程类(对象)(Course)的状态变化过程如下:课程对象被
创建,添加到数据库中。

管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课。

学期结束,课程的状态终止。

根据以上描述,绘制课程类(Course)的状态图。

附录(可包括源程序清单或其它说明)
心得体会
通过这次实验,我明白了不是所用的类都需要画状态图,有明确意义的状态,在不同状态下有不同的类才需要画状态图。

而活动图可以用来描述事物或对象的活动变化流程。

电子商务系统分析与设计0306-UML-时序图-序列图

电子商务系统分析与设计0306-UML-时序图-序列图

可以有效地帮助人们观察和理解系统的动态行
③ 为。
6
12:56
1 时序图概述 – 例如:用户登录
7
12:56
8
登录
(1)用户将用户名和密码提交给LoginAction (2) 由LoginAction调用UserManager (3) UserManager到用户数据库User Server中查找用户对
12:56
23
组合片段 组合片段 用来解决交互执行的条件及方式。 它允许在序
列图中直接表示逻辑组件,用于通过指定条件或子进程 的应用区域,为任何生命线的任何部分定义特殊条件和 子进程。
12:56
片段类型 名称
说明
Opt
选项 包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。
当消息被处理完后,可以回送一个简单消息,或者是隐含的返 回。
12:56
21
返回消息 调用消息中的操作完成后,由接收对象返回给发送对象
的说明执行结果的回应。一个调用消息通常对应一个返 回消息。
12:56
22
异步消息 是一种不需要等待返回消息的特殊调用消息。发送对象
发送消息后可以立刻进行下一步操作,无需一直等待回 复。
UML Unified Modeling Language
目标
知识目标
·掌握时序图的基本元 素
·熟悉绘制时序图的步 骤和方法
能力目标
·具有根据项目实际 情况利用时序图建模 的能力
素质目标:培养学生动手、解决问题、逻辑分析的能力
2
12:56
内容
1. 时序图概述 2. 时序图元素 3. 时序图绘制步骤及方法 4. 时序图案例案例及练习

UML状态图的画法

UML状态图的画法
模型,表现一个对象所经历的状态序列,引起状态或活动 转移的事件,以及因状态或活动的转移而伴随的动作。
4
主要内容
1. 状态机 2. 状态 3. 转移 4. 组合状态 5. 状态图的应用
5
3.1 状态机[1]
状态机对系统的动态特征建模。
状态机表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起, 响应事件,执行某些动作,引起转移到新状态,在新状态下响应事件,执行 动作,引起转移到另一个状态,直到终结状态。
[条件6]/动作6 目标状态4
事件1[条件1 and 条件3]/动作1,动作3 事件1[条件1 and 条件4]/动作1,动作4 事件1[条件2 and 条件5]/动作2,动作5 事件1[条件2 and 条件6]/动作2,动作6
目标状态1 目标状态2
目标状态3
目标状态4
20
3.3.2 转移示例
资源管理员 资源休闲
状态机的组成:状态、转移、事件、活动、动作等。 状态(State):表示一个模型元素在生存期的一种状况,如满足某些条件, 进行某些活动,或等待某些事件出现等。一个状态在有限的时间段内存在。 转移/迁移(Transition):表示一个模型元素的不同状态之间的联系。在 事件触发下,一个状态可以转移到另一个状态。 事件(Event):一个有意义的出现(Occurrence)的说明。该出现在某 个时间或空间点发生,并且立即触发一个状态的转移。例如,一个信号、一 个操作的调用、一个对象的创建或销毁、超时、某个条件的改变等。 动作(Action):一个可执行的原子计算,它导致状态的变更或返回一个值。 不能被中断。 活动(Activity):是在状态机中一系列动作的执行。活动可能被某个事件 中断。
18

UML中各种图的画法(全)

UML中各种图的画法(全)

UML中各种图的画法(全)UML中各种图的画法(全)一、UML中基本的图范畴:在 UML 2 中有二种基本的图范畴:结构图和行为图。

每个 UML 图都属于这二个图范畴。

结构图的目的是显示建模系统的静态结构。

它们包括类,组件和(或)对象图。

另一方面,行为图显示系统中的对象的动态行为,包括如对象的方法,协作和活动之类的内容。

行为图的实例是活动图,用例图和序列图。

二、UML中的类图:1.类图的表示:类的 UML 表示是一个长方形,垂直地分为三个区,如图 1 所示。

顶部区域显示类的名字。

中间的区域列出类的属性。

底部的区域列出类的操作。

在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。

描述:顶部区域显示类的名字。

中间的区域列出类的属性。

底部的区域列出类的操作。

当在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)。

·类名:如果是抽象类,则采用斜体·类属性列表:name : attribute type 如 flightNumber : Integer,这是最常见的表达形式n ame : attribute type = default value 如balance : Dollars = 0,这是带有默认值的表达形式·类方法列表:name(parameter list) : type of value returned注意:在业务类图中,属性类型通常与单位相符,这对于图的可能读者是有意义的(例如,分钟,美元,等等)。

然而,用于生成代码的类图,要求类的属性类型必须限制在由程序语言提供的类型之中,或包含于在系统中实现的、模型的类型之中。

2.继承的表示:为了在一个类图上建模继承,从子类(要继承行为的类)拉出一条闭合的,单键头(或三角形)的实线指向超类。

uml建模-状态图和活动图

uml建模-状态图和活动图
l 状态图表示某个类所处的不同状态和该类的状态转换信息。 虽然每个类都有状态,但在系统活动期间仅对具有三个或 更多潜在状态的类才画一个状态图,进行状态图描述。用 状态图对一个对象按事件排序的方法建模,状态图是强调 从状态到状态的控制流的状态机的简单表示。
l 使用状态图的最常见的是对反应型对象、尤其是对类、 用例或整个系统的实例的行为建模。反应型对象是指 这个对象可能处于的稳定状态、从一个状态到另一个 状态之间的转换所需的触发事件,以及每个状态改变 时发生的动作。反应型对象具有如下的特点:
活动图的符号集与状态图中使用的符号集类似。像状态图 一样,活动图也从一个连接到初始活动的实心圆开始。 活动是通过一个圆角矩形(活动的名称包含在其内)来 表示的。活动可以通过转换线段连接到其他活动,或者 连接到判断点,这些判断点连接到由判断点的条件所保 护的不同活动。结束过程的活动连接到一个终止点(就 像在状态图中一样)。活动图中的基本要素包括状态、 转移、分支、分叉和汇合、泳道、对象流等。
l ⑹把动作附加到这些转换上,并且附加到这些状态上; l ⑺考虑通过使用子状态、分支、汇合和历史状态,来简化状态图; l ⑻核实所有的状态都是在事件的某种组合下可达的; l ⑼核实不存在死角状态,即不存在那种不能转换出来的状态; l ⑽通过手工或通过使用工具跟踪状态机,核对所期望的事件序列以及它
们的响应。
::new book 借书
::availห้องสมุดไป่ตู้ble 还书
::delete
一个图书对象从它的起始点 开始,首先是“新书”状态
(new book),然后是“可 以借阅”(available)的状 ::borrowed 态,如果有读者将书借走, 则该书的状态为“已借出”
状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机工程学院实验报告书
课程名:UML理论及实践
题目:实验三学习绘制序列图、状态图
班级:D计算机081
学号:510851123
姓名:陆麒
评语:
成绩:指导教师:
批阅时间:年月日
一、实验目的与要求
(1)理解序列图(顺序图)和状态图中各成分的含义;
(2)掌握在Rose/RSA中绘制顺序图和状态图的方法。

二、实验内容
(1)以****管理系统为主题,围绕某一个用例,在Rose/RSA中绘制其顺序图 ;
(2)以****管理系统为主题,针对某一个对象,在Rose/RSA中绘制其状态图。

三、实验步骤
(1)以项目与资源管理系统为主题,围绕添加技能这个用例,在Rose/RSA中绘制其顺序图; (2)以网店管理系统为主题,针对某一个对象,在Rose/RSA中绘制其状态图。

四、实验结果
(1)以项目与资源管理系统为主题,围绕添加技能这个用例,在Rose/RSA中绘制其顺序图;
:资源管理员 : <Actor
Name>资源管理窗口:
用户接口
:资源:技能:资源—技能
找出资源
找出技能
把技能加入资源
按名找资源
按名找技能
把技能加入资源
[资源中无该技能]图一把技能加入资源的顺序图
(2)以网店管理系统为主题,针对某一个对象,在Rose/RSA 中绘制其状态图。

发货处理
取消
已发送
等待
收到商品[ 部分商品缺货 ]
检查
do/ 检查商品...
[ 未检查完全部商品 ] / 取下一个
[ 全部商品已检查完,但部分商品缺...
办理发货
do/ 启动发货
[ 全部商品已检查完且全部商品都有 ]收到商品[ 全部商品都有 ]
取消
图二 网店处理送货状态机图
网店处理送货状态机图,包含组合状态:发货处理,和简单状态:取消、已发货。

发货状态为组合状态,内嵌了一个状态机图,含有子状态“检查”、“办理发货”、“等待”。

五、结果分析与实验体会
在本次实验中,我绘制了两个图,分别以项目与资源管理系统为主题,围绕添加技能这个用例,在Rose/RSA 中绘制其顺序图 ,以网店管理系统为主题,针对某一个对象,在Rose/RSA 中绘制其状态图,通过实验,学习绘制序列图、状态图,理解了顺序图和状态机图中各成分的含义;掌握了在Rose/RSA 中绘制顺序图和状态图的方法。

相关文档
最新文档