第10章 状态机图_第1页
第10章 状态机图_第2页
第10章 状态机图_第3页
第10章 状态机图_第4页
第10章 状态机图_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、状态和状态机状态和状态机如何阅读状态机图如何阅读状态机图如何绘制状态机图如何绘制状态机图状态机图应用说明状态机图应用说明本章小结本章小结状态和状态机状态和状态机如何阅读状态机图如何阅读状态机图如何绘制状态机图如何绘制状态机图状态机图应用说明状态机图应用说明本章小结本章小结状态是指在对象生命周期中满足某些条件、执行某些活状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况动或等待某些事件的一个条件和状况 一个状态通常包括名称、进入一个状态通常包括名称、进入/退出活动、内部转换、子退出活动、内部转换、子状态和延迟事件等五个部分组成状态和延迟事件等五个部分组成状态机是计算

2、机科学理论的一部分,但状态机是计算机科学理论的一部分,但UML中的状态中的状态机模型主要是基于机模型主要是基于David Harel所做的扩展,是用来展示所做的扩展,是用来展示状态与状态之间转换的图状态与状态之间转换的图 l 状态机图描述从状态到状态的控制流程,常用来对系状态机图描述从状态到状态的控制流程,常用来对系统的动态特怔进行建模。在大多数情况下,它用来对统的动态特怔进行建模。在大多数情况下,它用来对反应型对象反应型对象(外部事件触发对象外部事件触发对象,对象接受到事件后产生对象接受到事件后产生响应响应)的行为模型。的行为模型。l 状态机图常用来描述业务或软件系统中的对象在外部状态机图常

3、用来描述业务或软件系统中的对象在外部事件的作用下,对象的状态从一个状态到另一个状态事件的作用下,对象的状态从一个状态到另一个状态的控制流。利用状态图可以精确地描述对象在生命周的控制流。利用状态图可以精确地描述对象在生命周期内的行为特征。期内的行为特征。 状态和状态机状态和状态机如何阅读状态机图如何阅读状态机图如何绘制状态机图如何绘制状态机图状态机图应用说明状态机图应用说明本章小结本章小结最为核心的元素无外乎是两个:一个是用圆角矩形表示最为核心的元素无外乎是两个:一个是用圆角矩形表示的状态(初态和终态例外);另一个则是在状态之间的、的状态(初态和终态例外);另一个则是在状态之间的、包含一些文字描

4、述的有向箭头线,这些箭头线称为转换包含一些文字描述的有向箭头线,这些箭头线称为转换l 初始状态初始状态l 初始状态代表状态图的起始位置,只能作为转换的源,初始状态代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标。初始状态在一个状态图中只而不能作为转换的目标。初始状态在一个状态图中只允许有一个,它用一个实心的圆表示允许有一个,它用一个实心的圆表示初始状态的表示初始状态的表示l 终止状态终止状态l 终止状态是对象的最后状态,是一个状态图的终止点。终止状态是对象的最后状态,是一个状态图的终止点。终止状态只能作为转换的目标,而不能作为转换的源。终止状态只能作为转换的目标,而不能作为转换的源

5、。终止状态在一个状态图中可以有多个,它用一个套有终止状态在一个状态图中可以有多个,它用一个套有一个实心圆的空心圆表示。一个实心圆的空心圆表示。终止状态的表示终止状态的表示l状态状态l 对象属性值的集合标识了一个对象的状态。表示对象状态的图标由一对象属性值的集合标识了一个对象的状态。表示对象状态的图标由一个带圆角的矩形表示。它包含个三部分:个带圆角的矩形表示。它包含个三部分:l 名称:给对象所处状态取的名字,名字用一个字符串表示,在一个图名称:给对象所处状态取的名字,名字用一个字符串表示,在一个图中,名字应该是唯一的。中,名字应该是唯一的。l 内部转换:对象响应外部事件所执行的动作。内部转换发生

6、时,不改内部转换:对象响应外部事件所执行的动作。内部转换发生时,不改变对象的状态,但是,当进入该状态时,可以包含进入动作;当退出变对象的状态,但是,当进入该状态时,可以包含进入动作;当退出该状态时,可以包含退出动作。我们把内部转换标识在状态框的第二该状态时,可以包含退出动作。我们把内部转换标识在状态框的第二栏;用一条实线箭头来标识外部转换,外部转换是指一种状态到另一栏;用一条实线箭头来标识外部转换,外部转换是指一种状态到另一种状态的转换。种状态的转换。l 嵌套状态嵌套状态 :状态图中的状态可以包含两种状态:一种是简单状态,:状态图中的状态可以包含两种状态:一种是简单状态,简单状态不包含其它状态

7、;一种是组合状态,组合状态包含了子状态。简单状态不包含其它状态;一种是组合状态,组合状态包含了子状态。即状态图的某些状态本身也是状态图。即状态图的某些状态本身也是状态图。状态视图的表示状态视图的表示l 转换是指对象在外部事件的作用下,当满足特定的条转换是指对象在外部事件的作用下,当满足特定的条件时,对象执行一定的动作,进入目标状态。转换用件时,对象执行一定的动作,进入目标状态。转换用带箭头的直线表示,箭尾连接源状态带箭头的直线表示,箭尾连接源状态(转出的状态转出的状态),箭,箭头连接目标状态头连接目标状态(转入的状态转入的状态)。l 转换关系到的内容包括:源状态、目标状态、外部事转换关系到的内

8、容包括:源状态、目标状态、外部事件、监护条件和执行的动作。件、监护条件和执行的动作。源状态:即受转换影响的状态源状态:即受转换影响的状态目标状态:当转换完成后对象的状态目标状态:当转换完成后对象的状态 触发事件:用来为转换定义一个事件,包括调用、改变、触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件信号、时间四类事件监护条件:布尔表达式,决定是否激活转换、监护条件:布尔表达式,决定是否激活转换、动作:转换激活时的操作动作:转换激活时的操作l 源状态源状态l 对于一个转换来说,转换前对象所处的状态,就是源对于一个转换来说,转换前对象所处的状态,就是源状态。源状态是个相对的概念

9、,即,相对当前状态而状态。源状态是个相对的概念,即,相对当前状态而言,它的前一个状态就是源状态。言,它的前一个状态就是源状态。l 目标状态目标状态l 转换完成后,对象所处的状态就是目标状态转换完成后,对象所处的状态就是目标状态 。当前状。当前状态相对它的前一个状态而言,当前状态就是目标状态。态相对它的前一个状态而言,当前状态就是目标状态。源状态和目标状态都是相对某个转换而言的。源状态和目标状态都是相对某个转换而言的。l 事件:就是外部作用于一个对象,能够触发对象状态事件:就是外部作用于一个对象,能够触发对象状态改变的一种现象。事件可以分为调用、改变、信号、改变的一种现象。事件可以分为调用、改变

10、、信号、时间四类事件。时间四类事件。1).信号事件信号事件l 对象之间通过发送信号和接收信号实现通信。信号是对象之间通过发送信号和接收信号实现通信。信号是一种异步机制。在计算机中,鼠标和键盘的操作均属一种异步机制。在计算机中,鼠标和键盘的操作均属于此类事件。对于一个信号而言,对象一般都有相应于此类事件。对于一个信号而言,对象一般都有相应的事件处理器,如的事件处理器,如onMouseClick()等。()等。2).调用事件调用事件l 调用某个对象的成员方法就是调用事件,它是一种同调用某个对象的成员方法就是调用事件,它是一种同步的机制。例如在图中,步的机制。例如在图中,turnOn就是一种调用事件

11、,就是一种调用事件,用来将开关置于用来将开关置于“On”状态。状态。3).改变事件改变事件l 改变事件是指某个指定属性值为真时,事件得到触发。改变事件是指某个指定属性值为真时,事件得到触发。它与监护条件不同,在对象生命周期内,一直在计算它与监护条件不同,在对象生命周期内,一直在计算改变事件中的属性值,当属性值为真时,事件触发,改变事件中的属性值,当属性值为真时,事件触发,计算停止。计算停止。4).时间事件时间事件l 当时间流逝到某个时刻,触发事件对对象起作用。时当时间流逝到某个时刻,触发事件对对象起作用。时间事件代表时间的流逝。它可以指定为绝对形式(每间事件代表时间的流逝。它可以指定为绝对形式

12、(每天的某时,例如天的某时,例如after(12:00),也可以指定为相对),也可以指定为相对形式(从某一指定事件发生开始所经过的时间,例如形式(从某一指定事件发生开始所经过的时间,例如after(2seconds)。对于前一种形式,也可以使用)。对于前一种形式,也可以使用变化事件来描述:变化事件来描述:when(12:00)。)。l 监护条件监护条件l 监护条件是一个布尔表达式,当布尔表达式的值为真监护条件是一个布尔表达式,当布尔表达式的值为真时,转换才能够完成。只有在触发事件发生时,才计时,转换才能够完成。只有在触发事件发生时,才计算一次监护条件的值,当监护条件的值为真时,转换算一次监护条

13、件的值,当监护条件的值为真时,转换才发生。如果转换发生后,监护条件才由假变为真,才发生。如果转换发生后,监护条件才由假变为真,那么转换也不会被触发。那么转换也不会被触发。 l 动作动作l 当转换被激活后,如果定义了相应的动作,那么就将当转换被激活后,如果定义了相应的动作,那么就将执行这个动作。动作可以是一个赋值语句、简单的算执行这个动作。动作可以是一个赋值语句、简单的算术运算、发送信号、调用操作、创建和销毁对象、读术运算、发送信号、调用操作、创建和销毁对象、读取和设置属性的值,甚至是一个包含多个动作的活动。取和设置属性的值,甚至是一个包含多个动作的活动。例如,在图中,当例如,在图中,当turn

14、On事件发生,就测试监护条件事件发生,就测试监护条件有水有水,如果有水,就会执行,如果有水,就会执行“烧水烧水”的动作。的动作。l 动作分为入口动作和出口动作。当转换发生时,进入动作分为入口动作和出口动作。当转换发生时,进入某个状态时发生的动作称为入口动作;离开某个状态某个状态时发生的动作称为入口动作;离开某个状态时发生的动作称为出口动作。时发生的动作称为出口动作。l 1).入口动作入口动作l 入口动作表示对象进入某个状态所要执行的动作。入入口动作表示对象进入某个状态所要执行的动作。入口动作用口动作用“entry/要执行的动作要执行的动作”表示。表示。l 2). 出口动作出口动作l 出口动作表

15、示对象退出某个状态所要执行的动作。出出口动作表示对象退出某个状态所要执行的动作。出口动作用口动作用“exit/要执行的动作要执行的动作”表示。表示。 入口动作和出入口动作和出口动作都标识在状态视图的第二栏中。口动作都标识在状态视图的第二栏中。l 活动活动l 当对象处于一个状态时,它一般是空闲的,在等待一当对象处于一个状态时,它一般是空闲的,在等待一个事件的发生。但是某些时间,对象正在执行一序列个事件的发生。但是某些时间,对象正在执行一序列动作,即,对象做着某些工作,并一直继续到被某个动作,即,对象做着某些工作,并一直继续到被某个外部事件的到来,才中断这些工作,我们把对象处于外部事件的到来,才中

16、断这些工作,我们把对象处于某个状态时进行的一序列动作称为活动。某个状态时进行的一序列动作称为活动。l 如果对象处于某个状态进行一些动作,可能会需要一如果对象处于某个状态进行一些动作,可能会需要一些时间,我们可以用活动来描述这一序列动作。表示些时间,我们可以用活动来描述这一序列动作。表示活动的方法是,在状态的转换分栏中添加一行活动的方法是,在状态的转换分栏中添加一行“活动活动描述描述”,其格式为,其格式为“do/动作名动作名”。l 活动用来描述对象处于某个状态时,对象进行的一活动用来描述对象处于某个状态时,对象进行的一序列动作。序列动作。与状态与状态off相关的转换有两个,其触发事件都是相关的转

17、换有两个,其触发事件都是turnOn,只不过其监护条件不同。如果对象收到事件只不过其监护条件不同。如果对象收到事件turnOn,那,那么将判断壶中是否有水;如果么将判断壶中是否有水;如果没水没水,则仍然处于,则仍然处于off状状态;如果态;如果有水有水则转为则转为on状态,并执行状态,并执行“烧水烧水”动作动作而与状态而与状态on相关的转换也有两个,如果相关的转换也有两个,如果“水开了水开了”就执就执行行turnOff,关掉开关;如果烧坏了,就进入了终态了,关掉开关;如果烧坏了,就进入了终态了 转换类型描述语法外部转换 对事件做出响应,引起状态变化或自身转换,同时引发一个特定动作,如果离开或进

18、入状态将引发进入转换、离开转换事件(参数)监护条件/动作内部转换 对事件做出响应,并执行一个特定的活动,但并不引起状态变化或进入转换、离开转换事件(参数)监护条件/动作进入转换 当进入某一状态时,执行相应活动entry/活动退出转换 当离开某一状态时,执行相应活动exit/活动进入和退出转换:当进入一个状态时,执行某个动作;进入和退出转换:当进入一个状态时,执行某个动作;或当退出某个状态时,执行什么动作。这时就可以使用或当退出某个状态时,执行什么动作。这时就可以使用进入和退出转换来表示进入和退出转换来表示内部转换:用来处理一些不离开该状态的事件内部转换:用来处理一些不离开该状态的事件 活动:当

19、对象处于一个状态时,它一般是空闲的,在等活动:当对象处于一个状态时,它一般是空闲的,在等待一个事件的发生。但是某些时间,你可能希望描述个待一个事件的发生。但是某些时间,你可能希望描述个正在进行的活动。在处于一个状态的同时,对象做着某正在进行的活动。在处于一个状态的同时,对象做着某些工作,并一直继续到被某个事件中断些工作,并一直继续到被某个事件中断延迟事件:延迟事件是一种特殊的事件,它是指该事件延迟事件:延迟事件是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行。例如,当失,但会被延迟执行。例如,当E-

20、mail程序中正在发送程序中正在发送第一封邮件时,用户下达发送第二封邮件执令就会被延第一封邮件时,用户下达发送第二封邮件执令就会被延迟,但第一封邮件发送完成后,这封邮件就会被发送。迟,但第一封邮件发送完成后,这封邮件就会被发送。这种事件就属于延迟事件这种事件就属于延迟事件复合状态是指包含一个或多个嵌套状态机的状态,也复合状态是指包含一个或多个嵌套状态机的状态,也称为子状态机状态,它所包含的状态称为子状态。称为子状态机状态,它所包含的状态称为子状态。仅包含一个状态机的复合状态称为顺序复合状态,也称为非仅包含一个状态机的复合状态称为顺序复合状态,也称为非正交状态。正交状态。等价的简单状态机图等价的

21、简单状态机图l IC卡电话包括卡电话包括3 个基本状态:个基本状态:“使用状态使用状态”、“未使用状态未使用状态”和和“维修状态维修状态”。其中。其中“使用状态使用状态”状态是一个复合状态。状态是一个复合状态。l当拿起电话打当拿起电话打IC电话的时候,首先要插入电话的时候,首先要插入IC卡,进行卡,进行IC卡的有效验证,验证通过才可以拨打电话卡的有效验证,验证通过才可以拨打电话,此时从最初的,此时从最初的“IC卡验证卡验证”状态转到状态转到“拨号拨号”状态。如果电话接通,则转到状态。如果电话接通,则转到“连接连接”状态;在状态;在连接状态,如果对方也拿起听筒,则转入连接状态,如果对方也拿起听筒

22、,则转入“通话通话”状态,通话完毕转入状态,通话完毕转入“挂断挂断”状态;如果对方无状态;如果对方无人接听。则转入人接听。则转入“挂断挂断”状态。如果拨号时出现异常情况,则挂断电话;如果挂断后重新拨号,电状态。如果拨号时出现异常情况,则挂断电话;如果挂断后重新拨号,电话又处于话又处于“拨号拨号”状态。如果此时取出状态。如果此时取出IC卡,则卡,则IC电话转入电话转入“未使用未使用”状态。状态。l“使用状态使用状态”包含包含5个子状态,因为个子状态,因为IC电话不能同时处于两个不同的子状态中,所以这些子状态是电话不能同时处于两个不同的子状态中,所以这些子状态是顺序子状态。顺序子状态。 如果复合状

23、态包含两个或者多个并发的子状态机,此时称复如果复合状态包含两个或者多个并发的子状态机,此时称复合状态的子状态为并发子状态。合状态的子状态为并发子状态。 l 考察一辆处于考察一辆处于“运行运行”状态的电动车。车处在运行状态时,状态的电动车。车处在运行状态时,包含了前进和后退两个不同的子状态,这两个子状态之间的包含了前进和后退两个不同的子状态,这两个子状态之间的关系看,它们就是顺序子状态,因为一辆车不可能同时处于关系看,它们就是顺序子状态,因为一辆车不可能同时处于前进和后退两种子状态;另一方面,车的运行状态又包括高前进和后退两种子状态;另一方面,车的运行状态又包括高速行驶状态和低速行驶状态。前进状

24、态可以同时为高速行驶速行驶状态和低速行驶状态。前进状态可以同时为高速行驶或者低速行驶状态;后退状态时,也可以是高速行驶或者低或者低速行驶状态;后退状态时,也可以是高速行驶或者低速行驶状态,即,前进状态或后退状态之一,可以与高速行速行驶状态,即,前进状态或后退状态之一,可以与高速行驶状态或低速行使状态之一同时存在。驶状态或低速行使状态之一同时存在。l 我们把这些可以同时出现的状态称为并发子状态,并发子状我们把这些可以同时出现的状态称为并发子状态,并发子状态可以用于并发线程的状态建模。态可以用于并发线程的状态建模。“一个圆圈中加上字母一个圆圈中加上字母H”,用来表示历史状态的。它的,用来表示历史状

25、态的。它的含义是:当从状态含义是:当从状态“结账结账”和和“显示购物车显示购物车”返回子状返回子状态态“显示索引信息显示索引信息”时,将进入的是离开时的历史状态。时,将进入的是离开时的历史状态。也就是说,转到购物也就是说,转到购物车或结账区之后,车或结账区之后,再回到再回到“浏览目录浏览目录”的的页面时,其中的内容页面时,其中的内容是不变的,仍然保留是不变的,仍然保留原来的信息。原来的信息。 将子状态机单独定义,并对其进行命名(通常以大写字将子状态机单独定义,并对其进行命名(通常以大写字母开头),然后在需要使用的地方来引用它母开头),然后在需要使用的地方来引用它 状态和状态机状态和状态机如何阅

26、读状态机图如何阅读状态机图如何绘制状态机图如何绘制状态机图状态机图应用说明状态机图应用说明本章小结本章小结绘制状态机图的理想步骤是:寻找主要的状态,确定状绘制状态机图的理想步骤是:寻找主要的状态,确定状态之间的转换,细化状态内的活动与转换,用复合状态态之间的转换,细化状态内的活动与转换,用复合状态来展开细节来展开细节寻找主要状态:对于航班机票预订系统而言,显然包括寻找主要状态:对于航班机票预订系统而言,显然包括的状态主要有的状态主要有 - 在刚确定飞机计划时,显然是没有任何预订的,并在刚确定飞机计划时,显然是没有任何预订的,并且在有人预订机票之前都将处于这种且在有人预订机票之前都将处于这种“无

27、预订无预订”状态状态 - 对订座而言显然有对订座而言显然有“部分预订部分预订”和和“预订完预订完”两种两种状态状态 - 而当航班快要起飞时,显然要而当航班快要起飞时,显然要“预订关闭预订关闭”总结一下,主要有四种状态:无预订、部分预订、预订总结一下,主要有四种状态:无预订、部分预订、预订完以及预订关闭完以及预订关闭 确定状态间转换确定状态间转换源目标无预订部分预订预订完预订关闭无预订预订()不直接转换关闭()部分预订退订(),使预订人=0预订(),无空座关闭()预订完不直接转换退订()关闭()预订关闭无转换无转换无转换细化状态内的活动与转换细化状态内的活动与转换使用复合状态使用复合状态l 要创

28、建状态图,首先要标识出哪些实体需要使用状态图进一步建模。虽然我们可以为每一个类、操作、包或用例创建状态图,但是这样做势必浪费很多的精力。l 一般来说,不需要给所有的类都创建状态图,只有具有重要动态行为的类才需要。l 从另一个角度看,状态图应该用于复杂的实体,而不必用于具有复杂行为的实体。使用活动图可能会更加适合那些有复杂行为的实体。具有清晰、有序的状态实体最适合使用状态图进一步建模。l 对于学生选课来说,需要建模的实体就是学生账号。l 当确定了需要建模的实体,并当确定了需要建模的实体,并找出了实体的初始状态和终止找出了实体的初始状态和终止状态以及其他相关状态后,就状态以及其他相关状态后,就可以

29、着手创建状态图。可以着手创建状态图。l 首先,我们要找出相关的事件首先,我们要找出相关的事件和转换。对于学生账号来说,和转换。对于学生账号来说,当有新的同学入学时,将会给当有新的同学入学时,将会给新同学创建一个新的账号,下新同学创建一个新的账号,下面新同学可以用这个账号去选面新同学可以用这个账号去选课。一般来说,每个人的选课课。一般来说,每个人的选课数目是有限的,比如说选择数目是有限的,比如说选择6门课程后将不能再选课。如果门课程后将不能再选课。如果已选了已选了6门课程还要再选课,门课程还要再选课,就必须删除已选的课程。直到就必须删除已选的课程。直到这位同学毕业,将其账号删除这位同学毕业,将其

30、账号删除,则进入终止状态。,则进入终止状态。 状态和状态机状态和状态机如何阅读状态机图如何阅读状态机图如何绘制状态机图如何绘制状态机图状态机图应用说明状态机图应用说明本章小结本章小结状态机图是一个用来描述局部信息的建模工具。主要应用状态机图是一个用来描述局部信息的建模工具。主要应用有两种:对象的生命周期、反应型对象建模有两种:对象的生命周期、反应型对象建模对对象生命周期建模:对对象生命周期建模:最通常的目的最通常的目的交互图建模的是协作的多个对象的行为,而状态机是对交互图建模的是协作的多个对象的行为,而状态机是对单个对象在整个生命周期内的行为建模单个对象在整个生命周期内的行为建模在对对象的生命

31、周期建模时,主要描述:对象能够响应在对对象的生命周期建模时,主要描述:对象能够响应的事件、对这些事件的响以及过去对当前行为的影响的事件、对这些事件的响以及过去对当前行为的影响 对反应型对象建模:对反应型对象建模:主要是说明:这个对象可能处于的稳定状态、从一个主要是说明:这个对象可能处于的稳定状态、从一个状态到另一个状态之间的转换所需的触发事件,以及状态到另一个状态之间的转换所需的触发事件,以及每个状态改变时发生的动作每个状态改变时发生的动作 交互图建模的是交互图建模的是“对象到对象的控制流对象到对象的控制流”,活动图建,活动图建模的是模的是“活动到活动的控制流活动到活动的控制流”,而状态机图建

32、模的,而状态机图建模的是是“事件到事件的控制流事件到事件的控制流”状态机图既可以用来表示一个业务领域的知识,也可状态机图既可以用来表示一个业务领域的知识,也可以用来描述设计阶段对象的状态变迁以用来描述设计阶段对象的状态变迁状态和状态机状态和状态机如何阅读状态机图如何阅读状态机图如何绘制状态机图如何绘制状态机图状态机图应用说明状态机图应用说明本章小结本章小结首先介绍了首先介绍了“状态状态”的概念和的概念和UML表示法,然后引入表示法,然后引入了状态机的概念了状态机的概念 通过三个例子逐一说明简单状态机图、包含复杂转换的通过三个例子逐一说明简单状态机图、包含复杂转换的状态机图以及包含复合状态的状态机图的阅读方法状态机图以及包含复合状态的状态机图的阅读方法紧接着通过一个航班机票预订系统来阐述了状态图的绘紧接着通过一个航班机票预订系统来阐述了状态图的绘制过程:确定状态,分析状态间的转换,细化活动与内制过程:确定状态,分析状态间的转换,细化活动与内部转化,通过复合状态来组织部转化,通过复合状态来组织 简明地点出状态图的两大功能:对对简明地点出状态图的两大功能:对对象的生命周期建模以及对反应型对象象的生命周期建模以及对反应型对象的行为建模的行为建模 (1)对于)对于“远程网络教学系远程网络教学系统统”,学生如果需要下载

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论