2014-03-09 20:52:31 u010853701 阅读数 2806
  • Maven+Struts2+Spring4+Hibernate4+...客户关系系统视频

    CRM客户关系管理系统的管理理念始终是以客户为中心的,不同的管理系统有着自己不同的数据处理方式,因此企业在构建自己的客户关系管理数据库时需要注意系统的特性和其他企业管理软件的协调。 对于中小型企业在客户关系管理系统上的应用,可有助于企业对客户信息管理混乱状态的改善,加强了企业和客户之间的联系,因此下面是中小企业在面对客户关系管理系统时所需的需求

    26745 人正在学习 去看看 刘英杰

   ★状态图


   用来描述对象,子系统,系统的生命周期。通过状态图可以了解一个对象所能达到的所有状态,以及对象收到的事件对对象状态的影响。


   ★活动图


   显示动作及其结果。着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动,它是状态图的一个变种。


   ★结合图来了解状态图和活动图


       1、首先看一个培训班的状态图

   

    然后结合收费系统充值的状态图来学习

 

    2、下面是一个顾客订单处理的活动图

   

    结合机房收费系统中充值过程的活动图来学习

   


    ★状态图与活动图的区别


   活动图主要描述动作及对象状态改变的结果。状态图主要描述的是事件对对象状态的影响。

   状态图里面描述的是一个类、对象的状态,活动图是对一个系统而言,一个系统包含对象。

   状态图是对类图的一个补充,活动图是对用例图的一个补充。







状态图
2018-12-01 14:00:52 strawqqhat 阅读数 51
  • Maven+Struts2+Spring4+Hibernate4+...客户关系系统视频

    CRM客户关系管理系统的管理理念始终是以客户为中心的,不同的管理系统有着自己不同的数据处理方式,因此企业在构建自己的客户关系管理数据库时需要注意系统的特性和其他企业管理软件的协调。 对于中小型企业在客户关系管理系统上的应用,可有助于企业对客户信息管理混乱状态的改善,加强了企业和客户之间的联系,因此下面是中小企业在面对客户关系管理系统时所需的需求

    26745 人正在学习 去看看 刘英杰

状态图是系统分析的一种常用的建模元素,用来表示系统的行为。在面向对象技术中状态图又被称为状态迁移图,它是有限状态机的图形表示,用于描述一个对象类的一个对象在其生存期间的行为。

1、状态图的基本概念

1.1、状态机的含义

      状态机是一种记录下给定时刻状态的设备,它可以根据各种不同的输入对每个给定的变化改变其状态或引发一个动作。比如计算机操作系统中的进程调度和缓冲区调度都是一个状态机。在UML中,状态机由对象的各个状态和连接这些状态的转换组成,是展示状态与状态转换的图。在面向对象的软件系统中,一个对象无论多么简单或者多么复杂,都必然会经历一个从开始创建到最终消亡的完整过程,这个过程通常被称为对象的生命周期。一般来说,对象在其生命周期内是不可能完全孤立的,它必然会接收消息来改变自身,或者发送消息来影响其他对象。而状态机就是用于说明对象在其生命周期中相应事件所经历的状态序列以及其对这些事件的相应。在状态机的语境中,一个事件就是一次激发的产生,每个激发都可以触发一个状态转换。

      状态机是由状态、转换、事件、活动和动作五部分组成的。

1.2、状态图

      一个状态图本质上就是一个状态机,或者是状态机的特殊情况,他基本上是一个状态机中元素的一个投影,这也就意味着 状态图包括状态机的所有特征。状态图描述了一个实体基于事件反应的动态行为,显示了该实体是如何根据当前所处的状态对不同的事件作出反应的。

      在UML中,状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。状态的转换由事件触发,状态和状态之间由转换箭头连接。每一个状态图都有一个初始状态(实心圆),用来表示状态机的开始。还有一个终止状态(半实心圆),用来表示状态机的终止。状态图主要由元素状态、转换、初始状态、终止状态和判定等组成。

2019-12-09 22:31:27 qq_43690408 阅读数 5
  • Maven+Struts2+Spring4+Hibernate4+...客户关系系统视频

    CRM客户关系管理系统的管理理念始终是以客户为中心的,不同的管理系统有着自己不同的数据处理方式,因此企业在构建自己的客户关系管理数据库时需要注意系统的特性和其他企业管理软件的协调。 对于中小型企业在客户关系管理系统上的应用,可有助于企业对客户信息管理混乱状态的改善,加强了企业和客户之间的联系,因此下面是中小企业在面对客户关系管理系统时所需的需求

    26745 人正在学习 去看看 刘英杰

实验六  状态图

 

 

 

一、实验目的

(1)理解什么是状态和状态图。

(2)学会使用Rose绘制状态图。

二、实验要求

(1)2学时;

(2)每组2人;

(3)设计性实验;

三、实验主要设备

  台式或笔记本电脑

四、实验内容

1.根据《操作系统》课程中的进程这一重要概念,绘制进程的创建、就绪、执行、阻塞和撤销状态以及各种状态之间的转换的状态图。图中请标明状态及触发事件。学有余力的同学可以加入挂起状态。

2.分析

(1)创建进程之后,当系统允许进入的时候,出现阻塞与就绪以及挂起之间状态的转换:

阻塞 → 挂起:OS塞/挂通常将阻塞进程换出,以腾出内存空间;

阻塞/挂起→ 就绪/挂起:当阻塞/挂起进程等待的事件发生时,可以将其转换为就绪/挂起;

就绪/挂起→ 就绪:OS需要调入一个进程执行;

就绪 → 就绪/挂起:一般,OS挂起阻塞进程。但是有时也会挂起就绪进程,释放足够的内存空间;

新 → 就绪/挂起(新→ 就绪):新进程创建后,可以插入到就绪队列或就绪,挂起队列,若无足够的内存分配给新进程,则需要新→ 就绪/挂起。

(2)当到了就绪状态之后,通过进程调整,可以进入运行状态,当时间片用完,仍没有完成任务时,重新变为就绪状态。

(3)当运行完毕之后,释放空间,进入撤销状态。

 

五、总结

  状态图由状态、转换、事件、活动和动作5部分组成:

  1. 状态指的是对象在其生命周期中的一种状况,处于某个特定状态中的对象必然会满足某些条件、执行某些动作或者是等待某些事件。一个状态的生命周期是一个有限的时间阶段。
  2. 转换指的是两个不同状态之间的一种关系,表明对象将在第一个状态中执行一定的动作,并且在满足某个特定条件下由某个事件触发进入第二个状态。
  3. 事件指的是发生在时间和空间上的对状态机来讲有意义的那些事情。事件通常会引起状态的变迁,促使状态机从一种状态切换到另一种状态,如信号、对象额度创建和销毁等。
  4. 活动指的是状态机中进行的非原子操作。
  5. 动作指的是状态机中可以执行的那些原子操作,所谓原子操作指的是它们在运行的过程中不能被其他消息所中断,必须一直执行下去,最终导致状态的变更或者返回一个值。

进程五状态的含义:

新状态:进程已经创建,但未被OS接纳为可执行进程。(还没有申请到相应的源)。

就绪态:进程做好了准备,准备执行(只等待处理机)。

执行状态:该进程正在执行(单处理机,某一时刻仅一个进程占用处理机)。

阻塞状态:等待某事件发生才能执行,如等待I/O完成。

撤销状态

明确了状态和状态之间的转换问题,能够比较熟练地操作软件,对操作系统的状态有了更加深刻地理解。

 

 

2014-05-03 15:06:45 u010892841 阅读数 1478
  • Maven+Struts2+Spring4+Hibernate4+...客户关系系统视频

    CRM客户关系管理系统的管理理念始终是以客户为中心的,不同的管理系统有着自己不同的数据处理方式,因此企业在构建自己的客户关系管理数据库时需要注意系统的特性和其他企业管理软件的协调。 对于中小型企业在客户关系管理系统上的应用,可有助于企业对客户信息管理混乱状态的改善,加强了企业和客户之间的联系,因此下面是中小企业在面对客户关系管理系统时所需的需求

    26745 人正在学习 去看看 刘英杰

       前面讲述了活动图,那就从活动图的基础上来分析状态图。我们知道活动图侧重从行为的动作来描述活动,而与之相对状态图侧重从行为的结果来描述状态。在实际项目中,活动图并不是必须的。一般在以下情况需要使用活动图:

a、描述一个并行的过程或者行为

b、描述一个算法

c、描述一个跨越多个用例的活动

   而状态图描述了一个具体对象的可能状态以及它们之间的转换。联系了这么多以前的内容,那么到底什么是状态图呢。状态图用来描述一个特定对象的所有可能的状态以及由于各种事件的发生而引起的状态之间的转移。为了更好的区分状态、状态机、状态图。在这里做一下系统的阐述一下状态和状态机:

    状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。

    状态机是这样的一种行为,它描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。耽搁类或一组类之间写作的行为可以用状态机来描述。

    在看了大家的博客后,发现很多人对状态的把握不是很准确(当然在各位大鸟面前,我小菜一个不能出言不逊)。个人认为因为状态图一般是针对状态变化比较明显的系统更容易一些,而对于咱们的机房收费系统貌似不太明显。个人认为用状态图描述计算机操作系统的各种进程状态变化是最适合不过的了。如下图:

    但是在练习阶段,我尝试从用户状态从注册、上机、下机、到注销过程中的状态变化,肯定会有很多缺陷,欢迎大家指出相互交流。

         最后的问题集锦,敬请参看uml图验收问题集锦


2018-07-31 10:23:59 MrBaymax 阅读数 1737
  • Maven+Struts2+Spring4+Hibernate4+...客户关系系统视频

    CRM客户关系管理系统的管理理念始终是以客户为中心的,不同的管理系统有着自己不同的数据处理方式,因此企业在构建自己的客户关系管理数据库时需要注意系统的特性和其他企业管理软件的协调。 对于中小型企业在客户关系管理系统上的应用,可有助于企业对客户信息管理混乱状态的改善,加强了企业和客户之间的联系,因此下面是中小企业在面对客户关系管理系统时所需的需求

    26745 人正在学习 去看看 刘英杰

在系统分析员对某对象建模时,最自然的方法并不是着眼于从活动到活动的控制流,而是着眼于从状态到状态的控制流。

状态机

定义: 状态机是展示状态与状态转换的图。在计算机科学中,状态机的使用非常普遍:在编译技术中通常用有限状态机描述词法分析过程;在操作系统的进程调度中,通常用状态机描述进程的各个状态之间的转化关系。此外,在面向对象分析与设计中,对象的状态、状态的转换、触发状态转换的事件、对象对事件的响应(即事件的行为)都可以用状态机来描述。

组成: 由状态、转换、时间、活动、和动作 5 部分组成。

  1. 状态:表示一个模型在其生存期内的状况,一个状态的生存期是一个有限的时间段。如满足某些条件或等待某些事件。
  2. 转换表示两个不同状态之间的联系,事件可以触发状态之间的转换。
  3. 事件是在某个时间产生的,可以触发状态转换的部分,如信号、对象的创建和销毁、超时和条件的改变等。
  4. 活动是在状态机中进行的一个非原子的执行,由一系列动作组成。
  5. 动作是一个可执行的原子计算,它导致状态的变更或者返回一个值。

状态图

一个状态图表示一个状态机,主要用于表现从一个状态到另一个状态的控制流。它不仅可以展现一个对象拥有的状态,还可以说明事件(如消息的接收、错误、条件变更等)如何随着时间的推移来影响这些状态。

一个简单状态图:
这里写图片描述

状态机通常包括以下内容:

1.状态
定义对象在其生命周期中的条件或状况。对象满足某些条件,执行某些对应的操作或等待某些事件。

状态是状态机的重要组成部分,它描述了状态机所在对象动态行为的执行所产生的结果。这里的结果一般是指能影响此对象对后续事件响应的结果。状态用于对对象在其生命中的状况建模,在这些状况下状态可以满足某些条件、执行某些操作或等待某些事件。

完整的状态由 5 个组成部分:

  • 名字(name)

    由一个字符串构成,用以识别不同的状态。状态可以没有名字。状态名一般放置在状态图符的顶部。

  • 入口/出口动作(entry/exit action)

    入口/出口动作表示进入/退出这个状态所执行的动作。入口动作的语法是 entry/ 执行的动作;出口动作的语法是 exit/ 执行的动作。这里所指的动作可以是原子动作,也可以是动作序列(action sequence)。

  • 内部转换(Internal Transition)

    内部转换是不会引起状态变化的转换,此转换的触发不会导致状态的入口/出口动作被执行。定义内部转换的原因是有时候入口/出口动作显得是多余的。

    出口动作显得多余,这时就可以使用内部转换,而不触发入口/出口动作的执行。

    在图形表示上,由于内部转换不引起状态的转变,因此它的文字标识被附加在表示状态的圆角矩形内部,而不使用箭头进行图形标识。

  • 延迟事件(Deferred Event)

    延迟事件该状态下暂不处理,但将推迟到该对象的另一个状态下事件处理队列。也就是所延迟事件是事件的一个列表,此列表内的事件当前状态下不会处理,在系统进入其他状态时再处理。

  • 子状态 (Substate)

    在复杂的应用中,当状态机处于某特定的状态时,状态机所在的对象在此刻的行为还可以用一个状态机来描述,也就是说,一个状态内部还包括其他状态。在 UML 里,子状态被定义成状态的嵌套结构,即包含在某状态内部的状态。

    在UML里,包含子状态的状态被称为复合状态(Composite State),不包含子状态的状态被称为简单状态(Simple State)。子状态以两种形式出现:顺序子状态和并发子状态。

2.转换
转换包括事件和动作。事件是发生在时间空间省的一点值得注意的事情。动作是原子性的,通常表示为一个简短的计算处理过程。

转换是状态间的关联。它们用于对一个实体的不同状态间的关系建模。当某实体在第一个状态中执行一定的动作,并在某个特定事情发生并且某个特定的条件满足时进入下一个状态。

在 UML 里,转换由5个部分组成,它们分别是:源状态、目标状态、触发事件、监护条件和动作。

  • 源状态(Source State)

    转换描述的是状态机所在的对象的状态的变化(状态图是可视化状态机的一种方式)。转换使对象从某个状态转换到另一个状态。那么在转换被激发之前,对象所处的状态就是转换的源状态。源状态就是被转换影响的状态。某对象处于源状态,当它接收到触发事件或满足监护条件,就会激活一个转换。

  • 目标状态(Target State)

    转换使对象从一个状态转换到另一个状态。转换完成后,对象状态发生了变化,这时对象所处的状态就是转换的目标状态。目标是转换完成后活动的状态。在图形上,转换的源状态位于表示转换的箭头的起始位置。转换的目标状态位于表示转换的箭头所指的那个状态。

  • 触发事件(Trigger Event)

    状态机描述了对象的具有事件驱动的动态行为。在这些动态行为中,对象动作的执行、状态的改变都是以特定事件的发生为前提的。转换的触发事件就是引起转变的事件。这里所指的事件可以是信号、调用、时间段或状态的一个改变。

  • 监护条件(Guard Condition)

    转换可能具有一个监护条件。监护条件是一个方括号括起来的布尔表达式,它被放在触发事件的后面。监护条件可以引用对象的属性值和触发事件的参数。当一个触发事件被触发时,布尔表达式被赋值。如果值是“真”,则触发事件使转换有效。如果值是“假”,则不会引起转换。
    监护条件只在引起转换的触发事件发生时被赋值一次,如果此转换被重新触发,监护条件会被重新赋值。

  • 动作(Action)

    当转变被激活时,它对应的动作被执行。动作是一个可执行的原子计算,它可以包括操作调用、另一个对象的创建或撤销、向一个对象发送信号。动作也可以是一个动作序列,即包括一序列的简单动作。动作或动作序列的执行不会被同时发生的其他动作所影响。动作的执行时间是非常短的,与外界的时间相比几乎可以忽略,因此在动作执行过程中不允许被中断,这点正好与活动相反,活动是可以被其他事件中断的。在某动作执行时,一般新进的事件会被安排在一个等待队列里。

状态图用途

状态图用于对系统的动态方面建模,动态方面指出现在系统体系结构中任一对象按事件排序的行为,其中这些对象可以是类、接口、构件和节点。当使用状态图对系统建模时,可以在类、用例、子系统或整个系统的语境中使用状态图。

它能帮助系统开发人员理解系统中对象的行为。而类图和对象图只能展现系统的静态层次和关联,并不能表达系统的行为。一幅结构清晰的状态图详细描述了对象行为,这大大地帮助了开发人员构造出符合用户需求的系统。

状态图建模步骤

(1)识别一个要对其生命周期进行描述的参与行为的类;
(2)对状态建模,即确定对象可能存在的状态;
(3)对事件建模,即确定对象可能存在的事件;
(4)对动作建模,即确定当转变被激活时,相应被执行的动作;
(5)对建模结果进行精化和细化。

浅析UML之状态图

阅读数 781

没有更多推荐了,返回首页