版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 1、下面、下面4 4种图中种图中,( ),( )可以描述一个可以描述一个用例中多个对象之间的相互协作关系用例中多个对象之间的相互协作关系以及协作过程中的行为次序关系以及协作过程中的行为次序关系. . A A 交互图交互图 B B 状态图状态图 C C 对象图对象图 D D 用例图用例图?2 2、下面、下面( )( )建模元素不能在协作图建模元素不能在协作图中表示出来。(多选)中表示出来。(多选) A A 状态状态 B B 消息消息 C C 活动活动 D D 多对象多对象?3 3、下面说法错误的是、下面说法错误的是: :A A 顺序图和协作图都反映对象之间发顺序图和协作图都反映对象之间发送的
2、消息送的消息B B 顺序图和协作图在语义上是等价的顺序图和协作图在语义上是等价的C C 顺序图强调发送和接收消息的对象顺序图强调发送和接收消息的对象之间的结构组织关系之间的结构组织关系D ROSED ROSE可以实现顺序图和协作图之间可以实现顺序图和协作图之间的等价转换的等价转换?4 4、从严格意义上讲,下列四个选项中、从严格意义上讲,下列四个选项中不属于顺序图的内容是(不属于顺序图的内容是( ) A A 对象对象 B B 参与者参与者 C C 消息消息 D D 控制焦点控制焦点?信息工程学院信息工程学院7.1状态图概述状态图概述7.2状态图基本组成状态图基本组成l 状态状态l 转换转换l 事
3、件事件7.3 绘制状态机图绘制状态机图7.4状态机图应用状态机图应用7.5活动图活动图l 概述概述l 组成组成l 用途用途2021-12-2172021-12-218状态机状态机用于描述一个对象在其生存期间的动态行为,表现对象用于描述一个对象在其生存期间的动态行为,表现对象响应事件所经历的状态序列以及伴随的动作。响应事件所经历的状态序列以及伴随的动作。状态图(状态图(State Machine Diagram)用来显示状态机,一个状态机可用多张状态图描述。用来显示状态机,一个状态机可用多张状态图描述。2021-12-21Copy Right Copy Right X.Shi,DHUX.Shi,
4、DHU9状态机图与交互图的区别:状态机图与交互图的区别: 交互图不显示对象所有可能的交互图不显示对象所有可能的动态动态行为,只显示特定交行为,只显示特定交互(一个具体的用例)中对象的行为。互(一个具体的用例)中对象的行为。状态机图可以显示对象所有的状态机图可以显示对象所有的动态动态行为。行为。状态图机与活动图的区别:状态图机与活动图的区别:状态机图只建模一个对象的行为,活动图可以建模多个状态机图只建模一个对象的行为,活动图可以建模多个对象的活动对象的活动活动图中也允许建模特定活动中对象的某个状态活动图中也允许建模特定活动中对象的某个状态2021-12-2110状态状态转换转换事件事件2021-
5、12-21112021-12-2112什么是状态(什么是状态(state)对象生命期中的某个条件或状况,在此期间对象将满足对象生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。某些条件、执行某些活动或等待某些事件。理解理解对象在任何时候都会处于某种状态中,所有对象都有状对象在任何时候都会处于某种状态中,所有对象都有状态。态。对象所处的状态决定了它如何响应所检测到的事件或所对象所处的状态决定了它如何响应所检测到的事件或所接收的消息。接收的消息。通常,事件使对象从一个状态转向另一个状态(即状态通常,事件使对象从一个状态转向另一个状态(即状态的转移)的转移)2021-
6、12-21132021-12-2114几种类型:几种类型:初态初态终态终态中间状态中间状态组合状态组合状态历史状态历史状态2021-12-2115初态(初态(start state)显示状态图中状态机的执行(显示状态图中状态机的执行(execution)的开始。的开始。一个状态机只能有一个初态,因为每一个执行都是从相一个状态机只能有一个初态,因为每一个执行都是从相同的地方开始的。同的地方开始的。如果如果一个状态机用多张图描述,则多一个状态机用多张图描述,则多张图用同一个初态;张图用同一个初态;嵌套状态中可以使用新的初态;嵌套状态中可以使用新的初态;终态(终态(End State)表示一个最后的
7、或者终端状态;表示一个最后的或者终端状态;终态的数目可以不确定。终态的数目可以不确定。NewState2NewState2NewState3NewState3NewState4NewState4NewState3NewState3NewState4NewState4NewStateNewState2021-12-2116中间状态的组成:中间状态的组成:状态名(状态名(name)进入进入/退出动作(退出动作(entry/exit action)内部转换(内部转换(internal transition)不导致状态改变的转换,不会执行不导致状态改变的转换,不会执行 entry 和和 exit 动作
8、。动作。子状态(子状态(substate)嵌套在另外一个状态中的状态。嵌套在另外一个状态中的状态。延迟事件(延迟事件(deferred event)延迟到下一状态中处理的事件。延迟到下一状态中处理的事件。lightinglightingentry/ turnOnentry/ turnOndo/ blankFiveTimesdo/ blankFiveTimesevent power off/ powerSupplySelfevent power off/ powerSupplySelfexit/ turnOffexit/ turnOffevent self/ deferevent self/ d
9、efer2021-12-2117延迟事件延迟事件是一种特殊的事件,它是指该事件不会触发状态的转换,是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行。当对象处于该状态时事件不会丢失,但会被延迟执行。例如,当例如,当E-mail程序中正在发送第一封邮件时,用户下程序中正在发送第一封邮件时,用户下达发送第二封邮件执令就会被延迟,但第一封邮件发送达发送第二封邮件执令就会被延迟,但第一封邮件发送完成后,这封邮件就会被发送。这种事件就属于延迟事完成后,这封邮件就会被发送。这种事件就属于延迟事件件2021-12-2118含有子状态的状态被称为复合(组合)状态。
10、含有子状态的状态被称为复合(组合)状态。2021-12-2119顺序复合状态图(表示方法顺序复合状态图(表示方法1)2021-12-2120顺序复合状态图(表示方法顺序复合状态图(表示方法2)2021-12-2121并发复合状态图并发复合状态图2021-12-2122将子状态机单独定义,并对其进行命名(通常以大将子状态机单独定义,并对其进行命名(通常以大写字母开头),然后在需要使用的地方来引用它写字母开头),然后在需要使用的地方来引用它 2021-12-2123例:例:2021-12-2124History state一种伪状态。可以存储退出组合状态时所处的子状态,一种伪状态。可以存储退出组合
11、状态时所处的子状态,则返回组合状态时可以直接回到到相应的子状态。则返回组合状态时可以直接回到到相应的子状态。power power offoffpower onpower onplay no cd play no cd runningrunningplayingplayingpausingpausingH HplayingplayingplayplaypausingpausingH Hcloseclosepausepauseplayplaycloseclosestopstop2021-12-2125例例当从状态当从状态“结账结账”和和“显示购物车显示购物车”返回子状态返回子状态“显示显示索引信
12、息索引信息”时,将进入的是离开时的历史状态。时,将进入的是离开时的历史状态。也就是说,转到购物或结账区之后,再回到也就是说,转到购物或结账区之后,再回到“浏览目录浏览目录”的页面时,其中的内容是不变的,仍然保留原来的信息。的页面时,其中的内容是不变的,仍然保留原来的信息。 2021-12-2126入口点入口点状态内的一个外部可见的伪状态,外部转换可以将它作状态内的一个外部可见的伪状态,外部转换可以将它作为目标,从而被有效连接到指定状态上。为目标,从而被有效连接到指定状态上。出口点出口点状态内的一个外部可见的伪状态,外部转换可以将它作状态内的一个外部可见的伪状态,外部转换可以将它作为源,代表状态
13、内的一个终点。为源,代表状态内的一个终点。2021-12-2127Transition两个状态之间的一种关系,表示对象在第一个状态中执两个状态之间的一种关系,表示对象在第一个状态中执行一定的动作,并在某个特定事件发生而且满足某个条行一定的动作,并在某个特定事件发生而且满足某个条件时进入第二个状态。件时进入第二个状态。每个转换只允许一个事件,一个每个转换只允许一个事件,一个事件只允许一个动作事件只允许一个动作转换的五要素转换的五要素源状态源状态目标状态目标状态触发事件触发事件监护条件监护条件动作动作2021-12-2128转换类型描述语法外部转换 对事件做出响应,引起状态变化或自身转换,同时引发
14、一个特定动作,如果离开或进入状态将引发进入转换、离开转换事件(参数)监护条件/活动内部转换 对事件做出响应,并执行一个特定的活动,但并不引起状态变化或进入转换、离开转换事件(参数)监护条件/活动进入转换 当进入某一状态时,执行相应活动entry/活动退出转换 当离开某一状态时,执行相应活动exit/活动2021-12-2129进入和退出转换:进入和退出转换:当进入一个状态时,执行某个动作;或当退出某个状态当进入一个状态时,执行某个动作;或当退出某个状态时,执行什么动作。这时就可以使用进入和退出转换来时,执行什么动作。这时就可以使用进入和退出转换来表示表示内部转换:内部转换:用来处理一些不离开该
15、状态的事件用来处理一些不离开该状态的事件2021-12-2130发送成功发送成功发送失败发送失败2021-12-2131Event是对一个时间和空间上占有一定位置的有意义的事情的是对一个时间和空间上占有一定位置的有意义的事情的规格说明。规格说明。事件触发状态的转移事件触发状态的转移四类主要事件四类主要事件信号事件信号事件调用事件调用事件变化事件变化事件时间事件时间事件2021-12-2132信号(信号(signer)事件事件所谓信号,是指由一个对象异步地发送、并由另外一个所谓信号,是指由一个对象异步地发送、并由另外一个对象接收的一个已命名的对象。对象接收的一个已命名的对象。信号事件表示对象接收
16、到某个信号。信号事件表示对象接收到某个信号。信号可以作为状态机中一个状态转换的动作而被发送,信号可以作为状态机中一个状态转换的动作而被发送,也可作为交互中一个的消息发送。也可作为交互中一个的消息发送。hardwareFaulthardwareFaultRobotFaultRobotFault2021-12-21332021-12-2134调用(调用(call)事件事件表示一个操作的调度。请求调用另一个对象的操作。表示一个操作的调度。请求调用另一个对象的操作。一般是同步调用。一般是同步调用。变化(变化(change)事件事件用关键字用关键字When,后面跟布尔表达式。后面跟布尔表达式。When(
17、temperature 120) / alerm()2021-12-2135时间(时间(time)事件事件满足某一时间表达式的情况的出现,例如到达某一时间满足某一时间表达式的情况的出现,例如到达某一时间或经过了某一时间段。用关键字或经过了某一时间段。用关键字After或或When表示。表示。空闲空闲活动活动after( 2 seconds ) / dropConnectionafter( 2 seconds ) / dropConnectionwhen( 11:35 ) / selfTestwhen( 11:35 ) / selfTest2021-12-2136步骤:步骤:寻找主要的状态寻找主
18、要的状态确定状态之间的转换确定状态之间的转换细化状态内的活动与转换细化状态内的活动与转换用复合状态来展开细节用复合状态来展开细节2021-12-2137源目标无预订部分预订预订完预订关闭无预订预订()不直接转换关闭()部分预订退订(),使预订人=0预订(),无空座关闭()预订完不直接转换退订()关闭()预订关闭无转换无转换无转换2021-12-2138细化状态内的活动与转换细化状态内的活动与转换2021-12-2139使用复合状态使用复合状态2021-12-2140用途用途对对象生命周期建模:对对象生命周期建模:主要描述对象能够响应的事件、对这些事件的响以及过去对当主要描述对象能够响应的事件、
19、对这些事件的响以及过去对当前行为的影响前行为的影响 对反应型对象建模:对反应型对象建模:这个对象可能处于的稳定状态、从一个状态到另一个状态之间这个对象可能处于的稳定状态、从一个状态到另一个状态之间的转换所需的触发事件,以及每个状态改变时发生的动作的转换所需的触发事件,以及每个状态改变时发生的动作 状态机图既可以用来表示一个业务领域的知识,也可以状态机图既可以用来表示一个业务领域的知识,也可以用来描述设计阶段对象的状态变迁用来描述设计阶段对象的状态变迁2021-12-2141订单处理系统订单处理系统取消取消收到货物收到货物 齐全齐全 检查检查do/ do/ 检查商品检查商品 未检查完未检查完 /
20、 / 取下一个取下一个办理发货办理发货do/ do/ 启动发货启动发货 检查完,商品齐全检查完,商品齐全 等待等待 检查完,缺部分商品检查完,缺部分商品 收到商品收到商品 部分缺部分缺 取消订单取消订单取消取消取消取消已发货已发货发货发货2021-12-2142复合复合(rose)取消订单取消订单已发货已发货订单处理订单处理办理发货办理发货do/ 启动发货do/ 启动发货检查检查do/ 检查商品do/ 检查商品等待等待办理发货办理发货do/ 启动发货do/ 启动发货发货发货检查检查do/ 检查商品do/ 检查商品 未检查完 / 取下一个 未检查完 / 取下一个 检查完,商品齐全 检查完,商品齐
21、全 等待等待 检查完,缺部分商品 检查完,缺部分商品 收到商品 部分缺 收到商品 部分缺 收到货物 齐全 收到货物 齐全 取消取消2021-12-2143复杂图复杂图(售票机)(售票机)简单的数字手表表面上有一个显示屏和两个设置按简单的数字手表表面上有一个显示屏和两个设置按钮钮A和和B,有两种操作模式:显示时间和设定时间,有两种操作模式:显示时间和设定时间。在显示时间模式下,手表会显示小时和分钟,小。在显示时间模式下,手表会显示小时和分钟,小时和分钟由闪烁的冒号分隔。设定时间模式有两种时和分钟由闪烁的冒号分隔。设定时间模式有两种子模式:设定小时和设定分钟。按钮子模式:设定小时和设定分钟。按钮A
22、选择模式,选择模式,每次按下此按钮时,模式会连续前进:设定小时、每次按下此按钮时,模式会连续前进:设定小时、设定分钟等。在子模式内,每次只要按下按钮设定分钟等。在子模式内,每次只要按下按钮B,就会拨快小时或分钟。绘制一个数字手表的状态机就会拨快小时或分钟。绘制一个数字手表的状态机图。图。 2021-12-21447.5.1 概述概述7.5.2 组成组成7.5.3活动图用处活动图用处7.5.4 实例实例2021-12-21452021-12-2146活动图和交互图是活动图和交互图是UML中对系统动态方面建模的两中对系统动态方面建模的两种主要形式种主要形式交互图强调的是对象到对象的控制流,而活动图
23、则强调交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流的是从活动到活动的控制流 活动图是一种表述过程基理、业务过程以及工作流的技活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模例实现甚至是程序实现来建模2021-12-2147存款存款2021-12-21482021-12-2149活动活动决策决策转换转换同步同步泳道泳道(分区分区)对象流对象流2021-12-2150Activity/ActionSynchronizationBar (Fork)Gu
24、ardConditionSynchronizationBar (Join)DecisionConcurrent ThreadsTransitionSelect Course add course Check ScheduleCheck Pre-requisitesAssign to CourseResolve ConflictsUpdate ScheduleDelete Course checks completed checks failed delete course 2021-12-2151Activity表示工作流中任务的执行或者职责。表示工作流中任务的执行或者职责。也可以表示过程(也
25、可以表示过程(procedure)中语句的执行。)中语句的执行。初始节点和活动终点初始节点和活动终点用一个实心圆表示初始节点,用一个圆圈内加一个实心用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点圆来表示活动终点活动节点活动节点是活动图中最主要的元素之一,它用来表示一个活动是活动图中最主要的元素之一,它用来表示一个活动2021-12-2152Transition当一个活动结束时,控制流就当一个活动结束时,控制流就会马上传递给下一个活动节点会马上传递给下一个活动节点,在活动图中称之为,在活动图中称之为“转换转换”,用一条带箭头的直线来表示,用一条带箭头的直线来表示2021-12-
26、2153Decision根据不同的分支,根据不同的分支,转向不同的活动,转向不同的活动,每个转移是一个分每个转移是一个分支。支。用菱形表示的,它用菱形表示的,它有一个进入转换,有一个进入转换,一个或多个离开转一个或多个离开转换。而每个离开转换。而每个离开转换上都会换上都会有一个监护条件,有一个监护条件,用来表示满足什么用来表示满足什么条件的时候执行该条件的时候执行该转换。转换。enter PINenter PINverify PINverify PIN incorrect incorrect continuecontinue correct correct 2021-12-2154Synchr
27、onizations用来建模并发活动。用来建模并发活动。包含分叉(包含分叉(fork)和汇合(和汇合(join)。)。接到会议通知接到会议通知安排行程安排行程准备发言稿准备发言稿参加会议参加会议返回返回接到会议通知接到会议通知安排行程安排行程准备发言稿准备发言稿参加会议参加会议返回返回2021-12-2155Swimlanes( Partitions )用来将活动分用来将活动分组,显示活动组,显示活动的负责者。的负责者。一个泳道显示一个泳道显示一个活动轨迹一个活动轨迹。2021-12-2156Object Flow用来描述活动和活动所创建的(输出)或所使用(输入用来描述活动和活动所创建的(输出
28、)或所使用(输入)的对象之间的关系。)的对象之间的关系。付款付款账单账单已付已付2021-12-2157带对象流的活动图带对象流的活动图详细设计详细设计 活动图具有广泛地用途活动图具有广泛地用途,在软件建模中在软件建模中,活动图可以用来活动图可以用来: 1. 描述工作流描述工作流 工作流工作流:也被称为业务流程也被称为业务流程, 属于业务活动的过程属于业务活动的过程,可以可以用活动图来描述。用活动图来描述。 2. 描述工程组织过程描述工程组织过程 各种工程组织过程各种工程组织过程,管理过程均可以用活动来描述。管理过程均可以用活动来描述。 3. 描述算法流程描述算法流程 1、李晓在大学二年级时参
29、加计算机等级考试。他持自己的身份证和学生证到学校的计算机等级考试管理办公室报名。工作人员首先检查李晓的证件,在检查合格后,交给李晓一份登记表,让李晓填写。李晓填好登记表,交给工作人员。工作人员把他的登记表信息录入计算机系统,并用数码相机给李晓拍照,然后打印计算机等级考试证,要求李晓缴纳报名费。李晓缴纳报名费后,工作人员把考试证和缴费收据交给李晓。分析计算机等级考试的报名过程,并用活动图描述报名过程。2、分析医院挂号的业务过程,用活动图描述医院挂号的业务过程 7.17.1状态图概述状态图概述7.27.2状态图基本组成状态图基本组成l状态状态l转换转换l事件事件7.3 7.3 绘制状态机图绘制状态
30、机图7.47.4状态机图应用状态机图应用7.57.5活动图活动图l概述概述l组成组成l用途用途1 用例用例2 参与者参与者3 用例之间的关系用例之间的关系4 用例图用例图5 发现用例发现用例2021-12-2170 1. 用例的概念和表示用例的概念和表示 用例用例(use case)(use case): : 表示参与者与系统的一次交互表示参与者与系统的一次交互过程。过程。 用例用椭圆表示用例用椭圆表示2021-12-21712. 用例的特点用例的特点 用例用于描述系统的功能,这个功能是外部使用用例用于描述系统的功能,这个功能是外部使用者看到的系统功能,不反映功能的实现方式。者看到的系统功能,
31、不反映功能的实现方式。 用例描述用户提出的一些可见需求,对应一个具用例描述用户提出的一些可见需求,对应一个具体的用户目标。体的用户目标。 用例反映系统与用户的一次交互过程,应该具有用例反映系统与用户的一次交互过程,应该具有交互的信息的传递。交互的信息的传递。 用例是对系统行为的动态描述,属于用例是对系统行为的动态描述,属于UML的动态的动态建模。建模。 2021-12-21723. 3. 参与者参与者参与者参与者(actor)是外部需要与系统交互的事物。也被)是外部需要与系统交互的事物。也被称为活动者。称为活动者。 参与者的三种类型参与者的三种类型 : . 人人:客户,读者,库管员客户,读者,
32、库管员 . 设备设备:计算机,磁盘,读卡机计算机,磁盘,读卡机等等 . 外部系统外部系统:上层系统等上层系统等 2021-12-2173参与者可以表示为下面三种形式。参与者可以表示为下面三种形式。2021-12-2174参与者之间可以有泛化关系。参与者之间可以有泛化关系。2021-12-21754. 用例之间的关系用例之间的关系 用例之间可以具有以下几种关系:用例之间可以具有以下几种关系: . 关联关系关联关系 . 泛化关系泛化关系 . 包含关系包含关系 . 扩展关系扩展关系2021-12-21761. 关联关系关联关系 参与者与用例之间是关联关系,表示参与者与用参与者与用例之间是关联关系,表
33、示参与者与用例之间具有使用,交互信息的关联。例之间具有使用,交互信息的关联。2021-12-2177 2. 泛化关系泛化关系 参与者与参与者之间,用例与用例之间存在一般参与者与参与者之间,用例与用例之间存在一般与特殊的关系。与特殊的关系。2021-12-2178 3. 包含关系包含关系 两个用例之间,一个用例两个用例之间,一个用例( (基本用例基本用例) )的行为包含的行为包含了另外一个用例了另外一个用例( (包含用例包含用例) )的行为。的行为。 包含关系用依赖关系的包含关系用依赖关系的构造型来表构造型来表示。示。2021-12-2179 4. 扩展关系扩展关系 扩展关系表示基本用例在扩展点
34、要增加新的行为扩展关系表示基本用例在扩展点要增加新的行为或功能,以扩展到新用例。或功能,以扩展到新用例。 扩展关系用依赖关系的扩展关系用依赖关系的构造型来表示构造型来表示。2021-12-21805. 用例图用例图1). 用例图的作用用例图的作用 用例图用例图用来描述软件需求模型中的系统功能,通用来描述软件需求模型中的系统功能,通过一组用例可以描述软件系统能够给用户提供的功过一组用例可以描述软件系统能够给用户提供的功能。能。 用例图用例图可以可以作为整个系统开发过程中的开发依据作为整个系统开发过程中的开发依据,指导和驱动其他模型。,指导和驱动其他模型。2021-12-21812). 用例图的形
35、式用例图的形式2021-12-2182取款用例描述实例取款用例描述实例用例:用例:取款取款参与者:参与者:储户储户操作流:操作流: 通过读卡机,储户插入通过读卡机,储户插入ATMATM卡卡 ATMATM系统从卡上读取银行系统从卡上读取银行IDID、帐号、并验证帐号。、帐号、并验证帐号。 储户键入密码,系统检验密码。储户键入密码,系统检验密码。 储户按确认键,输入取款金额。储户按确认键,输入取款金额。 ATMATM把帐号和取款金额传递给银行系统,取回确认信息把帐号和取款金额传递给银行系统,取回确认信息和帐户余额。和帐户余额。 ATMATM输出现金,并显示帐户余额。输出现金,并显示帐户余额。 AT
36、MATM记录事务到日志文件。记录事务到日志文件。2021-12-2183 某某“远程网络教学系统远程网络教学系统”的功能需求如下:的功能需求如下: A学生登录网站后,可以浏览课件、查找课件、学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。下载课件、观看教学视频。 B学生需要登录学生需要登录“远程网络教学系统远程网络教学系统”后才能正后才能正常使用该系统的所有功能。如果忘记密码,可与通常使用该系统的所有功能。如果忘记密码,可与通过过“找回密码找回密码”功能恢复密码。功能恢复密码。2021-12-21841 1 类的概念类的概念2 2 类的属性类的属性3 3 类的操作类的操作类的类
37、型类的类型类的关系类的关系类图类图类图和代码类图和代码2021-12-21851. 类的概念类的概念1. 类的定义类的定义 类类(class): 具有相似结构、行为和关系的一组对象具有相似结构、行为和关系的一组对象。 2.2.类的表示类的表示 2021-12-2186类名类名属性属性操作操作 3. .类的其他几种表示形式类的其他几种表示形式 2021-12-2187 简化表示简化表示 缩略表示缩略表示实体类实体类界面类界面类控制类控制类4. .类名类名 2021-12-2188 名词或名词短语名词或名词短语(动词或动词短语表示控制类动词或动词短语表示控制类) 尽可能用明确、简短,业务领域中事物
38、的名称尽可能用明确、简短,业务领域中事物的名称,避免使用抽象、无意义的名词避免使用抽象、无意义的名词例如:人,桌子,图形,汇总例如:人,桌子,图形,汇总 用英文,第用英文,第1 1个字母大写个字母大写例如:例如:Shape, Person, CheckingAccdount 可分为简单类名,带路径类名可分为简单类名,带路径类名例如:例如: CheckingAccdount Banking:CheckingAccdount例如:帐户,订单,例如:帐户,订单,事物事物2. 类的属性类的属性2021-12-2189 1. 属性的含义属性的含义 属性属性(attribute): 描述类所表示事物的静态
39、性质。描述类所表示事物的静态性质。 2.2.属性的格式属性的格式 可见性可见性 属性名属性名:类型类型 多重性多重性 次序次序 =初始值初始值特性特性+studentName:String=“黎明黎明”#studentBirthDay:Date=1999-10-213. 类的操作类的操作2021-12-2190 1. 操作的含义操作的含义 操作操作(operation): 描述类所表示事物的动态性质。描述类所表示事物的动态性质。 2.2.操作的格式操作的格式 可见性可见性操作名操作名(参数列表参数列表):返回类型返回类型特性特性+setName(String:name)+getName():S
40、tring4. 类的类型类的类型2021-12-2191 边界类位于系统与外界的交界处边界类位于系统与外界的交界处, ,承担系承担系统与外界的信息功能统与外界的信息功能. .1.1.边界类边界类2021-12-2192 实体类对应着现实中的客观实物,用来保存实体类对应着现实中的客观实物,用来保存信息,一般对应着数据表、文件等。信息,一般对应着数据表、文件等。2.2.实体类实体类2021-12-2193 控制类承担着事务处理,控制调控的控制控制类承担着事务处理,控制调控的控制作用。作用。3.控制类控制类1) 关联关联2) 泛化泛化3) 依赖依赖4) 实现实现2021-12-21Copy righ
41、t X.Shi,DHU94 关联名关联名导航性导航性关联的角色和多重性关联的角色和多重性受限关联受限关联关联类关联类关联约束关联约束/依赖依赖聚合、组合聚合、组合自反关联自反关联派生关联派生关联2021-12-21Copy right X.Shi,DHU952021-12-21Copy right X.Shi,DHU962021-12-21Copy right X.Shi,DHU97关联的角关联的角色色如果关联名与角色名相同,则不标出角色名如果关联名与角色名相同,则不标出角色名 关联的多重性关联的多重性关联的角色名关联的角色名箭头表示关联的导航性,有箭头表示单向关联,箭头表示关联的导航性,有箭
42、头表示单向关联,如果没有箭头一般表示双向关联如果没有箭头一般表示双向关联public class Document private String title; private byte content; private String description; private User creator;要注意,如果类的属性已经用关联表示,则不需要注意,如果类的属性已经用关联表示,则不需要在属性列表中列出来,参见要在属性列表中列出来,参见Document类的图类的图示表示示表示2021-12-21Copy right X.Shi,DHU992021-12-21Copy right X.Shi,DH
43、U100通过关联类描述关联的属性,通过关联类描述关联的属性,操作,及其它信息。操作,及其它信息。2021-12-21Copy right X.Shi,DHU1012021-12-21Copy right X.Shi,DHU102聚集与组合的区别聚集与组合的区别 聚集松散聚集松散, ,组合紧密组合紧密; ; 一个部分事物对象可以属于多个聚集对象一个部分事物对象可以属于多个聚集对象, ,但一但一个部分事物对象仅能属于一个组合对象个部分事物对象仅能属于一个组合对象; ; 聚集的对象生命周期可以不同聚集的对象生命周期可以不同, ,但组合对象则是但组合对象则是同存同亡。同存同亡。1、计算机由、计算机由C
44、PU、内存、软盘、硬盘、显示器、内存、软盘、硬盘、显示器、键盘、鼠标组成,用类图表示这种关系。键盘、鼠标组成,用类图表示这种关系。2、举出一个具有聚合关系的类图的例子。、举出一个具有聚合关系的类图的例子。?2021-12-21Copy right X.Shi,DHU1062021-12-21Copy right X.Shi,DHU107 “教师教师”和和“学生学生”两个类之间存在授课关系,两个类之间存在授课关系,一个教师可以教授多个学生,一个学生可以由一个教师可以教授多个学生,一个学生可以由多个教师授课,标出这两个类的关系。多个教师授课,标出这两个类的关系。? 采购员从供货商处订货,双方需要签
45、订订单,采购员从供货商处订货,双方需要签订订单,一个采购员可以订多个供货商的货品,一个供一个采购员可以订多个供货商的货品,一个供货商也可以给多个采购员供货。货商也可以给多个采购员供货。 提取这个问题涉及的类,并确定各个类之间提取这个问题涉及的类,并确定各个类之间的关系。的关系。?泛化表示泛化表示泛化目的泛化目的继承继承多态多态抽象类抽象类2021-12-21Copy right X.Shi,DHU1112021-12-21Copy right X.Shi,DHU112注意:注意:泛化关系除了表示类与类之间的关系之外,还可以表泛化关系除了表示类与类之间的关系之外,还可以表示参与者、用例、包、构件
46、、接口等建模元素之间的关系。示参与者、用例、包、构件、接口等建模元素之间的关系。 2021-12-21Copy right X.Shi,DHU1132021-12-21Copy right X.Shi,DHU1142021-12-21Copy right X.Shi,DHU115*OLine2021-12-21117依赖含义依赖含义依赖表示依赖表示2021-12-21Copy right X.Shi,DHU1182021-12-21Copy right X.Shi,DHU119依赖的含义依赖的含义 依赖依赖(dependency): 表示两个元素表示两个元素X、Y,如果,如果X的变化必然导致的
47、变化必然导致Y的变化,则称的变化,则称Y依赖依赖X。 依赖关系不仅限于类,用例、包、构件之间都可以存在依赖关系依赖关系不仅限于类,用例、包、构件之间都可以存在依赖关系 下面几个模型图中,(下面几个模型图中,( )能够正确地表示出)能够正确地表示出“一个雇员最多有一个经理,经理可以管理多一个雇员最多有一个经理,经理可以管理多个雇员,也可以不管理一个雇员个雇员,也可以不管理一个雇员”这样的意思。这样的意思。?2021-12-21Copy right X.Shi,DHU123类图的概念类图的概念类图类图(Class Diagram): 是由类,相关建模元素,及其是由类,相关建模元素,及其关系构成的图
48、,用来描述类之间的静态关系。关系构成的图,用来描述类之间的静态关系。 类图在系统中处在核心位置。也是类图在系统中处在核心位置。也是UML中最为中最为重要的一种图。重要的一种图。2021-12-211242021-12-21125对象图对象图 看图回答下面问题看图回答下面问题类类Student和类和类Course之间是什么关系?并用文字性之间是什么关系?并用文字性语言描述该类图表达意思。语言描述该类图表达意思。写出写出Student类生成的类生成的java代码(省略注释、代码(省略注释、get和和set方法)方法)2021-12-21126根据类图写代码根据类图写代码2021-12-21127p
49、ublic class A public class A private int i;private int i;private B b;private B b;public void test1() public void test1() public void A() public void A() public class B public class B private int j; private int j; public void B() public void B() public void test2() public void test2() public class C
50、extends A public class C extends A private int k;private int k;public void C()public void C()public void test3()public void test3()1. 交互图的概念交互图的概念2. 顺序图的概念顺序图的概念3. 顺序图样式和元素顺序图样式和元素 4. 消息消息 5. 协作图的概念协作图的概念 6. 协作图样式和元素协作图样式和元素2021-12-21128 1. 交互图的概念交互图的概念 交互图交互图(interaction): 用来描述对象之间用来描述对象之间,以及对象以及对象
51、与参与者之间的动态协作关系以及协作过程中行为与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。次序的图形文档。 2.2.交互图的类型交互图的类型 顺序图,协作图顺序图,协作图 3. 交互图的作用交互图的作用 分析实现分析实现用例用例功能所对应的功能所对应的类类,及类相互之间的,及类相互之间的消息消息联系。联系。2021-12-21129顺序图顺序图(sequence diagram): 用来描述为了完成确定用来描述为了完成确定事务,对象之间按照时间消息交互的顺序关系。事务,对象之间按照时间消息交互的顺序关系。 2021-12-21130对象对象消息消息生命线生命线控制焦点控制焦点 对
52、象的命名对象的命名 生命线生命线 表示对象存在的时间,对象下面一条虚线表示。表示对象存在的时间,对象下面一条虚线表示。 控制焦点控制焦点 小矩形,表示这个时间对象将执行操作。小矩形,表示这个时间对象将执行操作。 消息消息 带箭头的连线,表示对象之间传输的信息。带箭头的连线,表示对象之间传输的信息。2021-12-21131 4. 消息消息 消息消息:对象之间传输的信息。消息有以下类型:对象之间传输的信息。消息有以下类型: 调用消息调用消息 异步消息异步消息 返回消息返回消息 阻止消息阻止消息 超时消息超时消息2021-12-21132手机用户可通过某个移动公司的网站发送短信,过程如下:手机用户
53、可通过某个移动公司的网站发送短信,过程如下:用户先编辑短信,然后确定目标号码,然后确定发送;服务用户先编辑短信,然后确定目标号码,然后确定发送;服务器返回显示一个页面,要求用户输入一个验证码,此时用户器返回显示一个页面,要求用户输入一个验证码,此时用户手机上将接受一个短信,含有一个验证码,用户输入此码后手机上将接受一个短信,含有一个验证码,用户输入此码后,网站才能发送用户编辑的短信。验证码一次有效。用顺序,网站才能发送用户编辑的短信。验证码一次有效。用顺序图描述这个场景。图描述这个场景。2021-12-21133协作协作图图(collaboration diagram): 用来描述为了完成用来
54、描述为了完成确定事务,各对象之间消息联系的结构关系。确定事务,各对象之间消息联系的结构关系。2021-12-211341. 状态图的概念状态图的概念2. 状态图的要素状态图的要素3. 状态图的作用状态图的作用4. 活动图的概念活动图的概念5. 活动图的用途活动图的用途2021-12-211351. 状态图的概念状态图的概念 状态图状态图(statechart diagram): 用来描述一个特定的用来描述一个特定的对象所有可能的状态对象所有可能的状态,以及由于各种事件的发生而引以及由于各种事件的发生而引起的状态之间的转移和变化。起的状态之间的转移和变化。 2021-12-211362021-12-21137一个机器一个机器的状态图的状态图: :一个发货单一个发货单的状态图的状态图: :2021-12-21138状态图状态图: 用来描述一个对象在其生命周期中所表现出用来描述一个对象在其生命周期中所表现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《猪舍环境控制》课件
- 《增值税评估案例》课件
- 《历史战略大决战》课件
- 《中药药性》课件
- 电子邮件的课程设计
- 电子秤仿真设计课程设计
- 租毛坯房装修合同(2篇)
- 电子日历表的课程设计
- 电子政务系统课程设计
- 电子指南针课程设计
- 《2024版 CSCO非小细胞肺癌诊疗指南》解读
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 医务人员考核与晋升制度
- 2024中国金饰零售市场洞察报告-世界黄金协会-202409
- 院感暴发演练脚本
- 北师大版九年级物理全一册电子课本教材
- 2024-2025学年五年级语文上学期期末素质测试试题一新人教版
- 2024年政务服务办事员(初级)鉴定理论试题库资料(浓缩500题)
- 企业数字化转型背景下供应链协同管理优化方案
- 新大象版六年级上册科学全册知识点 (超全)
- 2024年东南亚集装箱班轮运输市场深度研究及预测报告
评论
0/150
提交评论