UML--时序图
火车购票系统UML类图-时序图-状态图-协作图-活动图-对象图--用例图
火车购票系统UML类图-时序图-状态图-协作图-活动图-对象图--用例图《UML面向对象分析》课程实践项目报告项目名称:网上订购火车票系统项目组成员:学号:班级:指导教师:3需求分析3.1 需求概述线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能)。
实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能。
线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求。
用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理。
具有体积小,代码简洁,易维护、易修改的优点。
23.2 需求分析用户管理模块用户管理模块包括如下几个部分。
(1) 添加用户信息:管理员可以对用户信息进行添加操作。
(2) 删除用户信息:管理员可以对已有用户信息进行删除操作。
(3) 查看用户信息权限:每个用户都具有一定的权限,管理员可以查看用户的管理权限。
(4) 修改用户信息权限:管理员可以修改用户的管理权限。
线上订购火车票系用户管理系统参数票务信息订票管理实时信息数据管理3(5) 删除管理权限:管理员在权限管理中可以删除管理权限。
(6) 添加管理权限:管理员在权限管理中可以添加管理权限。
系统参数设置模块系统参数设置模块有如下几个部分。
(1) 用户信息:管理员可以修改用户信息并保存。
(2) 订票信息:对订票信息进行添加、删除操用户管理模块用户管理 权限管理 添加用户信删除用户信查看用户信修改用户信删除管理权查看管理权添加管理权4作。
(3) 退订信息:对退订信息进行添加、删除操作。
网上购物系统详细精炼版(UML-类图-时序图-数据流图)
类图如图
3 部分用例的顺序图
(1)会员下订单
该用例是客户端下在客户登录后可以浏览上架的商品,并能搜索相应的商品,根据需要选择商品并下订单,该用例的流程如下:
(1)用户指定相应的商品种类进行搜索,得到相应的商品信息;
(2)选中自己需要的商品并选择其定购的数量放入购物车;
(3)提交下订单请求,系统检查用户是否登录,若用户未登录转(4),否则返回个人信息由用户确认,转(5);
上货时间
可行性研究
建设Web平台系统的必要性取决于需求的迫切性和实现的可能性。可行性并不等于可能性,它还包括必要性,如果领导或管理人员对信息的需求并不迫切或各方面的条件不具备,就是不具备可行性。
可行性研究是系统开发阶段的第二项活动。它是对系统进行全面、概要的分析。在本阶段可以从技术、经济和营运三个方面对电子购物商城系统的可行性进行分析研究,从而为确定项目开发决策提供科学依据。
网上购物系统详细精炼版(UML-类图-时序图-数据流图)
上购物系统详细精炼版(UML-类图-时序图-数据流图)附件一说明书编号:XXXXXX-01网上商城购物系统需求说明书某某软件学院毕业论文精炼版2011年7月20日目录目录 (7)1 引言 (1)1.1项目背景11.2项目意义11.3文档目的21.4定义32 任务概述 (4)2.1系统目标42.2用户特点42.3应用范围42.4假定和约束42.5关键性技术43 需求分析 (4)3.1业务描述63.2用例分析103.3系统功能概述165 运行环境规定 (16)5.1 设备 (29)5.2 支持软件 (29)5.3 控制 (30)用户确认函 (31)1 引言1.1 项目背景信息化是当今世界发展的大趋势,是推动经济社会发展和变革的重要力量。
随着信息化时代的到来,信息传播发生了深刻的变革,人们的工作方式、生活方式乃至思维方式都发生了前所未有的改变,各行各业都在顺应这一时代变革加强信息化建设。
谁能在信息化变革时期先人一步,就能获得先机,抢占鳌头。
传统的销售方式是商家把商品放在店铺里供顾客挑选,店铺的规模、位置等客观因素影响着商店的客流量,并且商品的存放与销售需要人力进行管理,雇员的工资、店面的租金等又增加了成本,顾客也不能迅速找到所需要的商品,而开一个网上商店只需要一个可以存放商品的仓库,比租一个店面能节省很多,也不需要太多的人力来管理,不会因为商店的面积影响客流量,客户足不出户就能买东西,并且很容易就能找到所需要的商品。
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。
于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。
网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。
网上购物系统详细精炼版(UML-类图-时序图-数据流图)
建设Web平台系统的必要性取决于需求的迫切性和实现的可能性。可行性并不等于可能性,它还包括必要性,如果领导或管理人员对信息的需求并不迫切或各方面的条件不具备,就是不具备可行性。
可行性研究是系统开发阶段的第二项活动。它是对系统进行全面、概要的分析。在本阶段可以从技术、经济和营运三个方面对电子购物商城系统的可行性进行分析研究,从而为确定项目开发决策提供科学依据。
4)系统更新数据库中商品表的信息,并返回修改成功的页面。
正常执行的顺序图如图
4动态视图的建立
在该系统中,商品具有状态的变化,其状态有创建状态,在数据库中,在购物车中,在订单中,已发货状态,已删除状态,其具体的状态变化如图
5数据库的设计
ER
3.3
根据前面系统业务和用例分析,初步确定系统具备的功能包括:
该项目的目的是开发一个电子购物网站以及后台管理系统。
在前台实现的基本主要有:
1. 商品选购(可按分类方式查找商品,或者通过关键字进行查询)
2. 购物车功能
3. 查看商品详细情况
4. 用户注册
5. 用户登陆
6. 查看用户的订单信息
7. 修改用户个人信息
后台管理部分主要有:
1. 商店商品管理:添加、修改、删除、查看。
1.3
本说明书的主要目的是明确所要开发的软件应具有的功能、性能,使系统分析人员和软件设计人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计和完成后续设计与开发工作,为软件开发范围、业务处理规范提供依据,也是应用软件进行合同最终验收的依据。
本文档的读者对象:项目经理、系统分析师、项目开发人员、客户代表。
类图如图
3 部分用例的顺序图
(1)会员下订单
该用例是客户端下在客户登录后可以浏览上架的商品,并能搜索相应的商品,根据需要选择商品并下订单,该用例的流程如下:
网上购物系统详细精炼版(UML-类图-时序图-数据流图)
在公司的业务方面,由于日常信息处理量大,耗费时间长,出错效率高,在系统投入运行后,可以实现业务的信息集中处理、分析利用信息和信息的交流辅助公司的业务监管和重大决定,且可以实现公司进一步向网络服务发展,为信息工作打下良好的基础。
电子购物商城建立后,可以改善公司的运营结构和作业方式,使之能适应信息化的发展战略和将来的行业竞争,同时提高公司员工的信息化意识,使公司能在将来的发展过程中不断壮大。
4)系统更新数据库中商品表的信息,并返回修改成功的页面。
正常执行的顺序图如图
4动态视图的建立
在该系统中,商品具有状态的变化,其状态有创建状态,在数据库中,在购物车中,在订单中,已发货状态,已删除状态,其具体的状态变化如图
5数据库的设计
ER
3.3
根据前面系统业务和用例分析,初步确定系统具备的功能包括:
2系统分析
系统包含的实体类有客户类(customer)、商品类(good)、订单类(order)、订单细节类(ordertail)、购物车类(CartBean)、留言单类(leavewords),包含的边界类有购物车的物品表单(shoppingchart)、留言表单类(leavewordstable)、注册表单类(registetable)、登录表单类(logintable)、订单表单类(ordertable),包含的控制类有购物类(shopping)、注册类(regist)、登录类(login)、留言类(leaveword)
(4)用户登录系统,重新进入购物车页面,转(3)
(5)顾客确认自己的信息后,由系统数据库记录订单信息及订单的细节更新订单表和订单细节表;
(6)数据库更新成功后,返回顾客下订单成功的消息。
顺序图如图
网上购物系统详细精炼版(UML-类图-时序图-数据流图)
图1-81层数据流图A
图1-9 1层数据流图B
查询
不满意商品
图1-10 1层数据流图C
图1-11 1层数据流图D
图1-12 1层数据流图E
5、数据库需求分析
5.1、商品表是用来保存网上商城中每一种商品基本信息的数据表,是显示、维护及管理商品数据的依据,如表所示:
字段名
描述
类型
长度
是否允许空
是否为主键
Id
商品编号
INTEGER
否
是
Sortid
商品分类编号
INTEGER
否
否
Name
商品名称
VARCHAR
50
否
否
price
商品价格
DOUBLE
否
否
Saleprice
销售价格
DOUBLE
4
否
否
Descripts
商品描述
TEXT
500
否
否
Contents
商品介绍
TEXT
2000
是
否
Saledate
3.营运可行性
在公司的业务方面,由于日常信息处理量大,耗费时间长,出错效率高,在系统投入运行后,可以实现业务的信息集中处理、分析利用信息和信息的交流辅助公司的业务监管和重大决定,且可以实现公司进一步向网络服务发展,为信息工作打下良好的基础。
电子购物商城建立后,可以改善公司的运营结构和作业方式,使之能适应信息化的发展战略和将来的行业竞争,同时提高公司员工的信息化意识,使公司能在将来的发展过程中不断壮大。
商品登记。将商品的各种信息:商品名、价格、厂家等录入到数据库中,是网站管理中的一项基本的工作。
电子商务系统分析与设计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. 时序图案例案例及练习
2.设计模式常用的UML图分析(用例图、类图与时序图)
2.设计模式常⽤的UML图分析(⽤例图、类图与时序图)1-⽤例图概述1. 展现了⼀组⽤例、参与者以及他们之间的关系。
2. ⽤例图从⽤户⾓度描述系统的静态使⽤情况,⽤于建⽴需求模型。
⽤例特征保证⽤例能够正确捕捉功能性需求,判断⽤例是否准确的依据。
1. ⽤例是动宾短语2. ⽤例是相互独⽴的3. ⽤例是由⽤户参与者启动的4. ⽤例要有可观测的执⾏结果5. ⼀个⽤例是⼀个单元参与者 ActorUML中,参与者使⽤⼀个⼩⼈表⽰:1. 参与者为系统外部与系统直接交互的⼈或事务,于系统外部与系统发⽣交互作⽤2. 参与者是⾓⾊⽽不是具体的⼈3. 代表参与者在与系统打交道时所扮演的⾓⾊4. 系统实际运作中,⼀个实际⽤户可能对应系统的多个参与者。
不同⾓⾊也可以只对应⼀个参与者,从⽽代表同⼀参与者的不通实例⽤例 Use Case系统外部可见的⼀个系统功能单元。
系统的功能由系统单元所提供,并通过⼀系列系统单元与⼀个或多个参与者之间交换的消息所表达。
系统单元⽤椭圆表⽰,椭圆中的⽂字简述系统功能:关系 Relationship常见关系类型有关联、泛化、包含和扩展关联 Association表⽰参与者与⽤例之间的通信,任何⼀⽅都可发送或接受消息。
箭头指向:指向消息接收⽅:⼦系统 SubSystem⽤来展⽰系统的⼀部分功能(紧密联系)泛化 Inheritance继承关系,⼦⽤例和⽗⽤例相似,但表现出更特别的⾏为;⼦⽤例将继承⽗⽤例的所有结构、⾏为和关系。
⼦⽤例可以使⽤⽗⽤例的⼀段⾏为,也可以重载它。
⽗⽤例通常是抽象。
箭头指向:指向⽗⽤例2-类图描述系统中的类,以及各个类之间的关系的静态试图。
表⽰类、接⼝以及它们之间的协作关系,⽤于程序设计阶段。
注意:1. 抽象类或抽象⽅法⽤斜体表⽰2. 如果是接⼝,则在类名上⽅加 <<Interface>>3. 字段和⽅法返回值的数据类型⾮必需4. 静态类或静态⽅法加下划线类图实例:类图中的事务及解释如图,类图从上到下分为三部分,分别为类名、属性和操作1. 属性:如果有属性,则每⼀个属性都必须有⼀个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等2. 操作:如果有操作,则每⼀个操作也都有⼀个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等类图中的六种关系1.实现关系 implements (类实现接⼝)⽤空⼼三⾓虚线表⽰2.泛化关系 extends (表⽰⼀般与特殊的关系) is-a⽤空⼼三⾓实线表⽰3.组合关系 (整体与部分的关系) contains-a实⼼菱形实现表⽰eg.有头类、⾝体类与⼈类类三个类,则⼈类类中应包含头类及⾝体类这两个属性,则⼈类类与头类和⾝体的关系即为组合关系。
UML用例类时序图详解
用例图:描绘不同系统用户群是如何同这个系统交互。
用例定义和描述用户从系统中获取价值的各种方法。
创建一个用例模型需要三个步骤:1 确定使用这个系统的人群2 确定这些人群是如何从系统中获取价值3 用一个简单易懂的视图来描述这些用户以及他们如何使用系统第一步:寻找参与者(actor)确定使用该系统的各种人群,一种人群称为参与者(actor),使用这个系统或被这个系统使用的其他系统也是参与者。
参与者定义:指在某个系统的外部并和该系统交互的一群人或一个系统。
例:下列小组都是参与者1 银行客户和柜员分别是单独的参与者,因为他们有着不同的需求和权限2 大多数游戏系统中,男人和女人没必要分成单独的参与者3 学生和登记管理员是单独的参与者,有不同的需求和访问第二步:寻找用例(use case)系统为参与者提供一个独立的价值所采用的方式称之为用例.用例必须是集中的,并有一个明确的目标如果用例满足以下条件,则是集中的:1 用例应带来独立的好处2 可以用20-30个单词来描述这个好处3 参与者能通过一次会话完成该用例例:银行系统有输入帐号、选择帐号、取款、存款、选择源帐号、选择目标帐号、资金转移等功能,如果将这些动作都作为用例则显得太细,不能满足独立条件。
比如,没有一个用户会在选择一个帐号后就满意的离开!但是,如果只为一个用例---资金管理,则又显得太笼统。
好的用例应提供一个具体的用途!取款、存款、转账等都可以是好的用例,均提供了具体的用途!第三步描述参与者与用例UML中,参与者用棒形人表示,用例用带标记的椭圆来表示参与者指向用例的带箭头的实线表示这个参与者触发该用例,比如:利用用例描述需求:1 用例描述说明用例的概况和特征,比如,前置条件、后置条件、性能需求、安全要求、部署约束等。
前置条件—包括参与者启动这个用例之前必须完成的所有其他用例后置条件—包括这个用例对系统所作的所有改变部署约束—描述访问这个用例的所有约束2 事件流描述参与者在完成用例的过程中发生的一系列的交互行为。
用在线工具processOn画UML的用例图和时序图
⽤在线⼯具processOn画UML的⽤例图和时序图发现⼀个很不错的在线画图⼯具processOn,我⽤这个⼯具画了下我们此次羡慕的UML⽤例图
⽤例图
下⾯我们画下时序图
⾓⾊(Actor)
系统⾓⾊,可以是⼈、及其甚⾄其他的系统或者⼦系统。
对象(Object)
对象包括三种命名⽅式:
第⼀种⽅式包括对象名和类名;
第⼆中⽅式只显⽰类名不显⽰对象名,即表⽰他是⼀个匿名对象;
第三种⽅式只显⽰对象名不显⽰类明。
⽣命线(Lifeline)
⽣命线在顺序图中表⽰为从对象图标向下延伸的⼀条虚线,表⽰对象存在的时间
控制焦点(Focus of Control)
控制焦点是顺序图中表⽰时间段的符号,在这个时间段内对象将执⾏相应的操作。
⽤⼩矩形表⽰
消息(Message)
消息⼀般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。
用在线工具processOn画UML的用例图和时序图
⽤在线⼯具processOn画UML的⽤例图和时序图发现⼀个很不错的在线画图⼯具processOn,我⽤这个⼯具画了下我们此次羡慕的UML⽤例图
⽤例图
下⾯我们画下时序图
⾓⾊(Actor)
系统⾓⾊,可以是⼈、及其甚⾄其他的系统或者⼦系统。
对象(Object)
对象包括三种命名⽅式:
第⼀种⽅式包括对象名和类名;
第⼆中⽅式只显⽰类名不显⽰对象名,即表⽰他是⼀个匿名对象;
第三种⽅式只显⽰对象名不显⽰类明。
⽣命线(Lifeline)
⽣命线在顺序图中表⽰为从对象图标向下延伸的⼀条虚线,表⽰对象存在的时间
控制焦点(Focus of Control)
控制焦点是顺序图中表⽰时间段的符号,在这个时间段内对象将执⾏相应的操作。
⽤⼩矩形表⽰
消息(Message)
消息⼀般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。
uml时序图
创建一个对象指的是发送者发送一个实例化消息后实例化对象的结果。 销毁对象指的是将对象销毁并回收其拥有的资源,它通常是一个明确的 动作,也可以是其它动作、约束或垃圾回收机制的结果。 在序列图中,创建对象操作的执行使用消息的箭头表示,箭头指向被创 建对象的框。 在序列图中,对象被销毁是使用在对象的生命线上画大×表示,在销毁 新创建的对象,或者序列图中的任何其他对象时,都可以使用。它的位置是 在导致对象被销毁的信息上,或者在对象自我终结的地方。
U五ML、统使一用建R模os语e创言建序列图案例分析
2、确定序列对象
建模序列图的下一步是从左到右布置在该工作流程中所有的参与者和对 象,同时也包含要添加消息的对象生命线。
可以从上面的需求分析获得如下三个对象:仓库管理员对象、系统中的 产品入库界面和产品对象
U五ML、统使一用建R模os语e创言建序列图案例分析
U三ML、统序一列建图模中语的言项目相关概念
2、分支与从属流
在UML中,存在两种方式可以来修改序列图中消息的控制流,分别是:分 支和从属流。
分支是指的是从同一点发出多个消息的并指向不同的对象,根据条件是 否互斥,可以有条件和并行两种结构。
从属流指的是从同一点发出多个消息指向同一个对象的不同生命线。
U四ML、统使一用建R模os语e创言建序列图
1、创建对象
创建一个新的类图,可以通过以下方式进行。 1右键单击浏览器中的Use Case View(用例视图)、Logical View(逻 辑视图)或者位于这两种视图下的包。 2在弹出的菜单中,选中“New”(新建)下的“Sequence Diagram” (序列图)选项。 3输入新的序列名称。 4双击打开浏览器中的序列图。
双击消息的线段弹出设置消息规范的对话框在弹出的对话框中在general选项卡中可以设置消息的名称或等消息的名称也可以是消息接收对象的一个执行操作我们在名称的下列菜单中选择一个或从新创建一个即可我们称之为消息的绑定操作
火车购票系统UML类图-时序图-状态图-协作图-活动图-对象汇总教案资料
1.2需求分析
用户管理模块
用户管理模块包括如下几个部分。
(1)添加用户信息:管理员可以对用户信息进行添加操作。(2)删除用户信息:管理员可以对已有用户信息进行删除操作。
订票管理模块
订票管理模块包括如下几个部分。(1)用户注册:注册新用户。(2)用户登录:已注册用户登录。(3)列车信息:浏览可预定车辆信息。(4)车票预订:预定车票。
实时信息管理模块
实时信息管理模块包括如下几个部分。
(1)实时信息查看:在窗口现在最新实时信息。
(2)实时信息更新:对于最新路况、车况信息进行更新。(3)实时信息修改:对于最新路况、车况信息进行修改。来自《UML面向对象分析》课程
实践项目报告
项目名称:网上订购火车票系统
项目组成员:学号:班级:指导教师:
2008年11月10日
1需求分析.................................................................................... 1 1.1需求概述............................................................................ 1 1.2需求分析............................................................................ 2 1.3需求模型(用例图)........................................................ 6 2静态模型.................................................................................... 7 2.1类图.................................................................................... 7 2.2对象图................................................................................ 9 2.3包图.................................................................................. 11 3动态模型.................................................................................. 12 3.1时序图.............................................................................. 12 3.2状态图.............................................................................. 15 3.3协作图.............................................................................. 16 3.4活动图.............................................................................. 17 4项目组成员分工说明.............................................................. 18 5总结.......................................................................................... 19 6参考资料.................................................................................. 20
UML用例图和时序图在系统交互中的综合应用
UML用例图和时序图在系统交互中的综合应用软件开发中,系统交互是一个重要的环节。
为了更好地理解和描述系统的功能和交互过程,软件工程师通常会使用UML(Unified Modeling Language)工具来进行建模。
其中,用例图和时序图是两个常用的建模工具,它们可以相互补充,提供全面的系统交互描述。
本文将探讨UML用例图和时序图在系统交互中的综合应用。
首先,我们来了解一下UML用例图。
用例图是一种以用户的角度来描述系统功能的图表。
它主要由参与者(Actor)和用例(Use Case)两个主要元素组成。
参与者代表系统的外部用户或其他系统,用例则代表系统的功能。
通过用例图,我们可以清晰地了解系统与用户之间的交互方式和功能需求。
在系统交互中,用例图可以帮助我们识别和定义系统的功能需求。
通过对参与者和用例的分析,我们可以确定系统的主要功能和用户需求。
例如,在一个在线购物系统中,参与者可以是买家和卖家,而用例可以是浏览商品、添加到购物车、下单等。
用例图可以帮助开发团队更好地理解用户需求,并为系统的设计和实现提供指导。
然而,用例图只能展示系统功能的静态结构,无法描述系统功能的交互过程。
这时,时序图就派上了用场。
时序图是一种描述对象之间交互顺序的图表。
它主要由对象(Object)和消息(Message)两个主要元素组成。
对象代表系统中的实体,消息则代表对象之间的交互。
通过时序图,我们可以清晰地了解系统中各个对象之间的交互过程。
它可以展示对象之间的消息传递顺序,以及消息的触发时机和响应动作。
例如,在一个在线聊天系统中,时序图可以展示用户发送消息的过程,包括用户输入消息、消息发送给服务器、服务器将消息广播给其他在线用户等。
时序图可以帮助开发团队更好地理解系统的交互流程,并为系统的实现提供指导。
综合应用中,用例图和时序图可以相互补充,提供全面的系统交互描述。
用例图可以帮助我们识别和定义系统的功能需求,而时序图可以帮助我们理解和描述系统的交互过程。
uml时序图
uml时序图1.时序图的概念时序图定义 : 描述了对象之间传递消息的时间顺序, ⽤来表⽰⽤例中的⾏为顺序, 是强调消息时间顺序的交互图;时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望⾏为的消息, 时序图中每条消息都代表了类的⼀个操作或者引起状态机改变的触发事件;时序图表⽰ : 参与交互的对象在时序图顶端⽔平排列, 每个对象的底端绘制了⼀条垂直虚线, 对象A像对象B发送消息, ⽤⼀条带箭头的实线表⽰, 该实线起始于对象A底部的虚线, 终⽌于对象B底部的虚线; 实线箭头⽔平放置, 越靠近顶端越早被发送.时序图轨迹 : 时序图提供了随时间推移的, 清晰的可视化的轨迹;2. 时序图组成时序图组成 : 时序图包括四个元素对象(Object), ⽣命线(Lifeline), 激活(Activation), 消息(Message);(1) 对象(Object)对象 : 时序图中的对象在交互中扮演的⾓⾊就是对象;对象的符号 : 时序图中的对象与对象图中的表⽰⽅法⼀样, 使⽤矩形将对象名称包含起来, 并且对象名称下有下划线;对象创建时机 : 对象可以在交互开始的时候创建, 也可以在交互过程中进⾏创建;– 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了;– 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的;(2) ⽣命线(Lifeline)⽣命线 : ⽣命线是⼀条垂直的虚线, 这条虚线表⽰对象的存在, 在时序图中, 每个对象的底部都有⽣命线;⽣命线作⽤ : ⽣命线是⼀个时间线, 从时序图顶部⼀直到底部都存在, 其长度取决于交互的时间;对象的⽣命线 : 对象与⽣命线结合在⼀起就是对象的⽣命线, 这个概念包含对象图标以及对象下⾯的⽣命线图标如上图;(3) 激活(Activation)激活(Activation) : 代表时序图中对象执⾏⼀项操作的时期, 激活期可以理解为语义中 {} 中的内容, 表⽰该对象被占⽤以完成某个任务;去激活(Deactivation) : 指对象处于空闲状态, 在等待消息激活这个对象;激活的表⽰ : 当对象处于激活时期, ⽣命线可以拓宽为矩形, 这个矩形条成为激活条;激活去激活的时机 :– 激活 : 对象激活是在激活条的顶部激活;– 去激活 : 激活条的底部去激活, 通常发⽣在⼀个消息离开对象⽣命线;(4) 消息消息概念 : 定义交互和协作中交换信息的类, 对对象之间的通信内容建模;消息动作 :– 动作种类 : 消息允许在实体间传递信息 (传递参数), 允许实体请求其它服务, 对象之间通过发送和接收消息进⾏通信;– 产⽣结果 : 消息可以触发操作, 唤起信号, 或使⽬标对象创建或销毁;消息的异步和同步通信 :– 异步通信 : 消息是信号的时候, 发送信号之后, 等待对⽅触发相应⽅法, 这是明确的命名的对象间的异步通信;– 同步通信 : 直接调⽤对象的⽅法, 执⾏⽅法返回结果, 这种具有返回控制机制的操作是同步通信;时序图和协作图中消息的区别 : 时序图中的消息强调顺序, 协作图中的消息强调交换消息的对象间的关系;消息类型 :– : 两个对象间绘制消息;– : 两个对象之间的过程调⽤;– : 两个对象之间的异步消息;– : 过程调⽤中返回的消息;– : 绘制反⾝消息;3. 时序图⽰例⽰例简介 :– 使⽤场景 : 汽车租赁公司;– 使⽤的对象 : Customer (客户), Worker (⼯作⼈员), Order (请求), Record (记录), Car (汽车);– ⼯作流程 : ①客户向⼯⼈提出租车要求, ②⼯⼈检查请求, ③客户付款, ④⼯⼈填写记录, ⑤⼯⼈取车;时序图 :4. 对象的创建和撤销对象位置 :– 顶部 : 时序图中对象的默认位置是在时序图顶部, 这表明对象在交互开始之间就已经存在;– 中间 : 如果对象在时序图中间部分, 说明对象时在交互过程中创建的;交互过程中创建对象的⽅法 :– 消息指向对象 : 消息是构造⽅法, 箭头指向对象所代表的的矩形;– 消息指向激活条 : 消息是构造⽅法, 箭头指向对象下⾯的激活条;撤销对象 : 如果想要在时序图中撤销⼀个对象, 因为如果同时有⼏个对象, 如果不进⾏特殊操作其⽣命周期将会⼀样长;– 效果图 : 下图中将 Customer 和 Order 对象撤消了, 因为它们基本没有参与后期的交互;5. 时序图建模技术时序图使⽤时机 : 对动态⾏为建模, 强调时间展开信息的次序的时候, 使⽤时序图;时序图管理策略 :– 单⼀控制流 : ⼀个单独的时序图只能显⽰⼀个控制流;– 多个时序图 : 完整的控制流很复杂, 可以绘制多个时序图, ⼀个主⼲时序图, 多个分⽀时序图, 使⽤包对这些时序图进⾏管理;时序图建模策略 :– 设置交互语境 : 交互所在的环境, 包括哪些对象, 属于什么系统, ⼦系统, 相关的操作类⽤例等;– 对象排列顺序 : 根据对象重要性, 从左到右排列在时序图中;– 对象⽣命线 : 对象通常存在于交互的整个过程, 也可以在交互过程中被创建和撤销;– 消息排列 : 引发交互信息之后, 消息按照时间顺序从上向下画出, 先发出的消息在后发出的消息上⾯;– 激活期设置 : 可以将实际操作发⽣的时间点消息明确的显⽰出来;– 时间空间约束 : 每个消息都可以附加合适的时间和空间约束;– 前置后置条件 : 每条消息可以附加前置或后置条件;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 所以,要我请你吃饭就用同步的方法, 所以,要我请你吃饭就用同步的方法, 要请我吃饭就用异步的方法,这样你可 要请我吃饭就用异步的方法, 以省钱。 以省钱。^_^!
3. 消息 消息:对象之间传输的信息。 消息有以下类型: 消息:对象之间传输的信息。UML消息有以下类型: 消息有以下类型 调用消息( ① 调用消息 Procedure Call ) 调用消息(也称为同步消息 的发送者把控制传递给 调用消息 也称为同步消息)的发送者把控制传递给 也称为同步消息 接收者,然后停止活动, 接收者,然后停止活动,直到消息接收者放弃或返回控 制。
Hale Waihona Puke 1.1 交互图的概念1. 交互图的概念 交互图(interaction): 用来描述对象之间、对象与参与 用来描述对象之间、 交互图 者之间的动态协作关系, 者之间的动态协作关系,以及协作过程中行为次序的图 形。 2.交互图的类型 2.交互图的类型 • • 顺序图( 顺序图( Sequence diagram )又称为时序图 协作图( 协作图( Collaboration diagram )
匿名对象
2. 顺序图样式和组成 ② 生命线
●
表示对象存在的时间,对象下面一条虚线表示。 表示对象存在的时间,对象下面一条虚线表示。 生命线从对象创建开始到对象销毁时终止。 生命线从对象创建开始到对象销毁时终止。 对象在生命线上的两 种状态: 种状态: 休眠状态 激活状态 ×
表示对象 的撤销
对象生命线
1.1 交互图的概念
1. 交互图的概念 交互图( 交互图 Interaction diagram ): 是描述对象之间的关系 以及对象之间的信息传递的图。 以及对象之间的信息传递的图。 2.交互图的类型 2.交互图的类型 • • 顺序图( 顺序图( Sequence diagram ) 协作图( 协作图( Collaboration diagram ) 3. 交互图的作用 通常用来描述一个用例的行为,实现一个用例, 通常用来描述一个用例的行为,实现一个用例,完成对 系统行为的建模。 系统行为的建模。
SourceObj 1: 2: 3: 4: 5: 6: 7: TargetObj
Rose中的消息: Rose中的消息:超时消息 中的消息
SourceObj 1: 2: 3: 4: 5: 6: 7: TargetObj
Rose中的消息: Rose中的消息:过程调用 中的消息
SourceObj 1: 2: 3: 4: 5: 6: 7: TargetObj
交互图
2 顺序图(时序图) 顺序图(时序图)
2.1 顺序图的概念 2.2 顺序图的样式和元素 2.3 消息 2.4 建立顺序图
1. 顺序图的概念 顺序图(sequence diagram): 是用来描述为了完成某确 顺序图 定事务,对象之间按照时间顺序进行消息交互的图。 定事务,对象之间按照时间顺序进行消息交互的图。 2. 顺序图样式和组成
Rose中的消息: Rose中的消息:异步消息 中的消息
SourceObj 1: 2: 3: 4: 5: 6: 7: TargetObj
Rose中的消息: Rose中的消息:返回消息 中的消息
SourceObj 1: 2: 3: 4: 5: 6: 7: TargetObj
Rose中的消息: Rose中的消息:小结 中的消息
●
为每一个对象设置生命线,并确定对象的存在期限 并确定对象的存在期限; ③ 为每一个对象设置生命线 并确定对象的存在期限
4.建立顺序图 . 从用例中识别交互过程; ① 从用例中识别交互过程 ② 识别参与交互过程的对象; 识别参与交互过程的对象 为每一个对象设置生命线,并确定对象的存在期限 并确定对象的存在期限; ③ 为每一个对象设置生命线 并确定对象的存在期限
如果接受者无法在指定时间内接收,则发送者放弃 消息。
3. 消息 ⑥消息的语法格式 [条件 消息序号 返回值:=]消息名([参数列表 ) 条件][消息序号 返回值: 消息名 参数列表 消息名( 参数列表]) 条件 消息序号][返回值 例如: 例如:
2:display( x , y ) : 1.2.1:p:= find( specs ) : [x<0] 4: invert( x , color ) 3.1 * update( ) 简单消息 嵌套消息, 嵌套消息,消息带返回值 条件消息 循环消息
2. 顺序图样式和组成
③ 控制焦点 / 激活期
●
小矩形,表示这个时间对象将执行操作。 小矩形,表示这个时间对象将执行操作。
当一个对象没有被激活期时,该对象处于休眠状态, 当一个对象没有被激活期时,该对象处于休眠状态, 休眠状态 什么事都不做, 它仍然存在,等待新的消息来激活它。 什么事都不做,但它仍然存在,等待新的消息来激活它。 当一条消息被传递给对象的时候 消息被传递给对象的时候, 当一条消息被传递给对象的时候,它会触发该对象的某 矩形框的高度表示对象执 个行为,这是就说该对象被激活了。 个行为,这是就说该对象被激活了。 行一个操作所经历的时间 当一个对象处于激活期时,表明该对象正在执行某个动 当一个对象处于激活期时,表明该对象正在执行某个动 段 矩形的顶部表示动作 作。 的开始, 的开始,底部表示动作的 结束。 结束。
Rose中的消息: Rose中的消息:简单消息 中的消息
SourceObj 1: 2: 3: 4: 5: 6: 7: TargetObj
Rose中的消息: Rose中的消息:同步消息 中的消息
SourceObj 1: 2: 3: 4: 5: 6: 7: TargetObj
Rose中的消息: Rose中的消息:阻止消息 中的消息
. .
激活期
对象接收消息后可以由自 己的某个操作来完成, 己的某个操作来完成,也 可以通过其他对象的操作 来完成。 来完成。
2. 顺序图样式和组成 ④ 消息
●
带箭头的连线,表示对象之间传输的信息。 带箭头的连线,表示对象之间传输的信息。
• 对象之间的交互是通过互发消息来实现的。一个对象可 对象之间的交互是通过互发消息来实现的。 以请求(要求)另一个对象做某件事件。 以请求(要求)另一个对象做某件事件。 • 消息从源对象指向目标对象。消息一旦发送便将控制从 消息从源对象指向目标对象。消息一旦发送便将控制从 源对象转移到目标对象。 源对象转移到目标对象。
其中: 其中: • Simple和Asynchronous(异步)同义 • Synchronous (同步)和Procedure Call同义 Return 不变 新增: 新增: • 阻止(Balking) 阻止( )
接受者如果无法立即接收,则发送者放弃消息;
•
超时( 超时(Timeout): ):
交互图
1 概述 2 顺序图 3 协作图 4 顺序图与协作图比较
交互图
1 概述
1.1 交互图的概念 1.2 交互图的类型 1.3 交互图的作用
1.1 交互图的概念
1. 交互图的概念 交互图(interaction): 用来描述对象之间、对象与参与 用来描述对象之间、 交互图 者之间的动态协作关系, 者之间的动态协作关系,以及协作过程中行为次序的图 形文档。 形文档。
●
④ 从引发交互的初始消息开始 在对象生命线上依次画出交 从引发交互的初始消息开始,在对象生命线上依次画出交 互的消息; 互的消息
4.建立顺序图 . 从用例中识别交互过程; ① 从用例中识别交互过程 ② 识别参与交互过程的对象; 识别参与交互过程的对象 为每一个对象设置生命线,并确定对象的存在期限 并确定对象的存在期限; ③ 为每一个对象设置生命线 并确定对象的存在期限 ④ 从引发交互的初始消息开始 在对象生命线上依次画出交 从引发交互的初始消息开始,在对象生命线上依次画出交 互的消息; 互的消息
消息
时序图中, 时序图中,消息的阅读顺序是严格自上而下的
2、消息的类型与符号 简单消息(包括反身消息) 简单消息(包括反身消息) 同步消息 同步消息 异步消息 异步消息 返回消息(可选) 返回消息(可选)
实例: 实例:同步与异步
你叫我去吃饭,我听到了就和你去吃饭;如果没有听到, 你叫我去吃饭,我听到了就和你去吃饭;如果没有听到, 你就不停的叫,直到我告诉你听到了,才一起去吃饭。 你就不停的叫,直到我告诉你听到了,才一起去吃饭。 你叫我去吃饭,然后自己去吃饭, 你叫我去吃饭,然后自己去吃饭,我得到消息后可能立即 也可能等到下班才去吃饭。 走,也可能等到下班才去吃饭。
3. 消息 ③返回消息( Return ) 返回消息 返回消息表示从消息接受对象返回信息。 返回消息表示从消息接受对象返回信息。 表示从消息接受对象返回信息
返回消息
3. 消息 ④阻止消息 阻止消息指消息发送者发出消息给接收者, 阻止消息指消息发送者发出消息给接收者,如果接 消息指消息发送者发出消息给接收者 收者无法立即接收这个消息,则发送者放弃这个消息。 收者无法立即接收这个消息,则发送者放弃这个消息。
调用消息
3. 消息 ②异步消息( Asynchronous ) 异步消息 异步消息的发送者通过消息把信号传递给接收者, 异步消息的发送者通过消息把信号传递给接收者, 的发送者通过消息把信号传递给接收者 然后继续自己活动,不等待接收者返回消息或控制。 然后继续自己活动,不等待接收者返回消息或控制。
异步消息
零售业务顺序图
4.建立顺序图 .
●
从用例中识别交互过程; ① 从用例中识别交互过程
4.建立顺序图 . 从用例中识别交互过程; ① 从用例中识别交互过程
●
② 识别参与交互过程的对象; 识别参与交互过程的对象
4.建立顺序图 . 从用例中识别交互过程; ① 从用例中识别交互过程 ② 识别参与交互过程的对象; 识别参与交互过程的对象
●
可以给消息增加时间约束,以及前置条件和后置 ⑤如果需要,可以给消息增加时间约束 以及前置条件和后置 如果需要 可以给消息增加时间约束 条件。 条件。