ROSE绘制UML图的步骤_第1页
ROSE绘制UML图的步骤_第2页
ROSE绘制UML图的步骤_第3页
ROSE绘制UML图的步骤_第4页
ROSE绘制UML图的步骤_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、ROSE绘制UML图的步骤一 使用ROSE绘制用例图的步骤1创建用例图一般情况下,用例图是UML中要绘制的第一个图。在用RATIONAL ROSE创建所用的模型之前,首先要新建一个工程。新建工程可以点击【File-New】菜单项,选项卡【New】如图所示,用来选择新建模型时采用的摸板。在此我们暂时不用摸板,选择Cancel。要建立新的用例图,可以右键单击“Use Case View”节点,在弹出的菜单中选择【New-Use Case Diagram】菜单项,如下图所示。此时,在“Use Case Diagram”树形结构下多了一个名为“NewDiagram”的图标,这个图标就是新建的用例图标。

2、右键单击次图标,在弹出菜单中选择【Rename】菜单项,可以为用例图重新命名。最好为用例图模型取一个有意义的名字。双击用例图标,出现用例图的编辑区和编辑工具栏,如图所示,左边是用例图的编辑工具栏,右边是用例图的编辑区2用例图工具栏按纽简介 选择一项 添加文本框 添加注释 将图中的元素与注释连接起来包 用例 参与者 关联关系依赖和实例化 泛化关系3工具栏的定制用户可以根据需要自行定制和添加工具栏中的图标,操作方法如下:右键单击工具箱的空白处(注意不要点到图标按纽),在弹出的菜单中选择【Customsize】菜单项后出现“自定义工具栏”对话框4添加参与者与用例(1)绘制参与者和用例,参与者和用例的

3、绘制方法相同,首先点击工具栏中的图标按纽,然后在编辑区要绘制的地方单击鼠标左键,如下说示显示了一个参与者和一个用例(2)设置用例的属性。在用例上双击,弹出用例属性设置对话框,如图所示。在对话框的“General”选项卡中可是设置用例的名称“name”,用例的类型“Stereotype”,用例的层次“rank”,以及对用例的问档说明“documentation”。(3)设置参与者的属性。参与者的属性设置跟用例的设置一样。5添加参与者与用例的关系参与者与用例的关系为关联关系,要绘制关联关系。首先点击工具栏上的按纽,然后,在参与者与用例之间拖动鼠标即可此外还可以修改关系的属性,具体方法可以仿照用例与

4、参与者的属性设置方法。6添加用例之间的关系用例之间的关系包括关联关系(Association),包含关系(Include) ,扩展关系(Extend) 和泛化关系(Generalization) 四种上述几种关系的绘制方法同参与者与用例之间的关联关系的绘制方法相同,只不过要在关系的属性设置窗口中选择关系的类型,如图所示二 使用Rose绘制类图的步骤1创建类图要创建类图,可以右键单击“Logic View”节点,在弹出的菜单中选择【New-ClassDiagram】。如图对与有些项目而言,可以对类进行划分,将其分为几个包,比方Business和GUI Package,在“Logic View”下

5、新建两个包(Package),与上面介绍的方法类似,右键单击“Logic View”后,选择【Package】按纽就可以建立包,按照上面的介绍的创建类图的方法,在“Business”下创建一个类图,取名为“Business”。双击类图的图标,将会打开类图的编辑区域,如图所示 选择一项 添加文本框 添加注释 将图中的元素与注释连接起来类 接口 有方向的关联关系 关联类包 依赖和实例化 泛化关系 实现关系关联关系 聚合关系我们可以使用前面介绍的方法对工具栏进行定制。2加入类单击工具栏中类的图标,然后在类图编辑区域中的某个位置单击鼠标左键,就可以在类图中绘制一个类。改变类的名称,只需要在创建时直接输

6、入即可。还可以右键单击编辑区域中类的图标,在弹出的菜单中,选择【Open Specification】按纽,弹出“Class Specification”对话框,可以对类进行一定的设置,包括设置类的名字,类的类型,类的导出控制等,“Class Specification”窗口对于类是非常重要的,后面也会多处使用到。3增加类的属性使用“Class Specification”,按照前面介绍的方法打开“Class Specification”窗口,然后选择“Attibutes”选项卡,在窗口的空白的地方单击右键,并且选择【Insert】按纽,如图所示双击name属性,打开“Class Attibu

7、te Specification”对话框,如图所示在上图对话框中,可以对属性的名字,类型,修饰符,初始值等进行设置,修饰符是指该属性或方法使用的范围,面向对象变成语言一般有3个修饰符:public,private和protect。4增加类的方法增加类的方法与增加属性相似。下面介绍一下类方法的设置。首先,新建一个方法,然后双击该方法的名字(与打开“Class Attribute Specification”相似),就可以打开“Operation Specification”对话框,如图所示。下面介绍该对话框中两个主要的选项卡(1)“General”选项卡包括方法的一般设置,如方法名(Name),

8、返回类型(Return Type),修饰符(Export Control)等设置(2)“Detail”选项卡可以添加该方法的参数(Arguments),协议(Protocol),条件(Qualification),运行时的空间大小(Size),时间(Time),是否是抽象方法(Abstract)以及同步性(Concurrency)。三 使用Rose绘制包图的步骤1创建包包将具有一些共性的类组合在一起,在UML中,包用如图的符合表示在“Logic View”的图标上单击鼠标右键,在弹出的菜单中选择【New-Package】,点击菜单项之后,Rose在“Logic View”目录下创建一个名为“N

9、ewPackage”的包,右键单击包的图标,在弹出菜单中选择【Rename】,可以更改创建包的名字。在“Logic View”中创建包之后,可以选中所创建的包,用鼠标将其拖到右边的绘制区,此时,在绘制区会出现创建的包的图标。2修改包的属性可以修改包的属性,要修改包的属性,可以双击右边“Logic View”目录树下的包图标,在弹出的对话框的“General”选项卡里进行设置,如下图所示3增加包的信息假设包中有两个类,名字分别为“Class1”和“Class2”。首先选中包的图标,在上面单击右键,在弹出的菜单中选择“Select Compartment Items.”菜单项,如图所示接下来在弹出

10、的对话框左边窗口选择要添加的类,点击中见的按纽【】,就可以将所选择的类加入到包中,如图所示添加完之后点击【ok】按纽,可以看到包图中图标变成了如下图所示其中类名前的加号表示加入包中的类是公有的。4添加包之间的输入依赖输入依赖需要两个包,首先在绘制区域创建两个包的图标,分别取名为“Package1”和“Package2”。假设名为“Package2”的包依赖于名为“Package1”的包,则在工具栏选择 ,从包“Package2”的图标到“Package1”包的图标拖动鼠标,即可添加两者之间的输入依赖。如图所示5删除包可以从图形绘制区域或者整个模型中删除包,如果从整个模型中删除包,则包的所有内容

11、都要删除(1) 从图形绘制区域删除包。首先选中所要删除的包的图标,然后按下Delete键即可。(2) 从整个模型中删除包。要从整个模型中删除包,需要在左边“Logic View”窗口中右键单击要删除的包,从弹出的菜单中选择【Delete】菜单项。四 使用Rose绘制状态图的步骤1创建状态图在Rational Rose中可以为每个类创建一个或者多个状态图,类的状态和转换都可以在状态图中体现。要为一个类创建状态图,可以在“Logic View”展开的树形结构中右键单击所要创建状态图的类,在弹出的菜单中选择【New-Statechart Diagram】,如图所示点击菜单项后,Rose在“Logic

12、 View”目录下创建“State/Activity Model”子目录,目录下是新建的状态图“New Diagram”,右键单击状态图的图标,在弹出的菜单中选择【Rename】可以更改创建的状态图的名字。状态图创建后,双击状态图的图标,出现状态图绘制区域。2状态图工具栏按纽简介 选择一项 添加文本框 添加注释 将图中的元素与注释连接起来添加状态 状态图的起点 状态图的终点 状态之间的转换状态的自转换 判定如同用例图的工具栏一样,状态图的工具栏也可以定制。如果发现工具栏中没有上表中列出的图标按纽,则可以从自定义对话框中选择3加入开始状态和终止状态开始状态在图中显示为实心圆,点击开始状态图标,然

13、后在绘制区域要绘制开始状态的地方单击鼠标左键就可以加入开始状态。终止状态的加入方法和开始状态相同,如图所示4增加状态增加状态的步骤如下:(1) 增加状态。要增加状态,首先要点击工具栏中的状态图标,然后在绘制区域中要绘制的地方单击鼠标左键。如图显示了一个状态图标可以修改状态的属性信息,如状态的名字和文档说明等,要修改状态属性,可以双击状态图标,在弹出的对话框的“General”选项卡里进行设置(2) 增加入口动作。入口动作是对象进入某个状态时发生的动作,进入动作在状态内显示,前面有“entry”前缀。添加入口动作可以在状态属性设置对话框里进行:点击对话框的“Actions”选项卡,在空白处单击鼠

14、标右键,在弹出菜单中选择【Insert】菜单项。接着双击出现的动作类型“Entry/”,在出现的对话框的“When”选项的下拉列表中选择“On Entry”,在“Name”选项中填入动作的名字,如上图所示。点击“OK”按纽,退出此对话框,然后在点击属性设置对话框的“OK”按纽,在状态图的入口动作就添加完成,添加了入口动作的状态如下图所示。(3)增加出口动作。出口动作与入口动作相似,不过它在对象退出某个状态时发生。它的添加方法也和入口动作相似,只不过在“When”选项的下拉菜单中要选择“On Exit”。添加了出口动作的状态如下图所示(4)增加活动。活动是对象在特定状态时进行的行为,活动与入口动

15、作/出口动作不同,活动是可以中断的。增加活动与增加入口动作和出口动作类似,只要在“When”选项的下拉列表中要选择“Do”即可。5增加转换转换是从一种状态到另一种状态的过度,在UML中转换用一条带箭头的直线表示,增加转换的步骤如下:(1)加入转换图标。转换要在两个状态之间进行,要增加转换,首先点击工具栏中的状态之间的转换图标,然后但击转换的源状态,即转换开始状态,向目标状态拖动一条直线。如图所示(2)增加事件。事件导致对象从一种状态转变到另一种状态。双击两状态之间的转换图标,出现一个事件转换窗口。在框图中,事件可以用操作名和有意义的字符串表示,要增加事件,可以双击转换的图标,在出现的对话框的“

16、General”选项卡里增加,如图所示从图中可以看到,可以在“Event”选项中添加触发转换的事件,在“Argument”选项中添加事件的参数,还可以在“Documentation”选项添假对事件的描述。添加事件后的状态图如下图所示(3)增加动作。动作是转换过程中发生的不可中断的行为,大多数动作要在转换时发生。要增加动作,可以双击转换的图标,选择出现的对话框中的“Detail”选项卡的“Action”选项中填入要发生的动作。如下图所示(4)增加监护条件。监护条件控制转换发生与否。监护条件的添加方法与动作的添加方法相似,都是在上图中进行,只不过是在“Guard Condition”选项中填入监护

17、条件。6增加历史状态历史状态的添加方法如下(1)双击要添加历史状态的状态,在打开的对话框中选择“General”选项卡。(2)将左下角的“State/Activity History”复选框勾选,就可以增加历史状态了,如下图所示。五 使用Rose绘制活动图的步骤1创建活动图要创建活动图,可以在“Logic View”的图标下单击鼠标右键,在弹出的菜单中选择【New-Activity Diagram】,如图所示与状态图一样,Rose也会在“Logic”目录下创建“State/Activity Model”子目录,目录下新检“New Diagram”,右键单击活动图的图标,在弹出的菜单中选择【Re

18、name】,可以更改创建的活动图名字。建立活动图以后,双击活动图的图标,出现活动图的绘制区域,如图示。2活动图工具栏简介 选择一项 添加文本框 添加注释 将图中的元素与注释连接起来添加状态 添加活动 状态图的起点 状态图的终点 状态之间的转换 状态的自转换 水平同步垂直同步 咏道 对象 对象流 与用例图的工具栏一样 ,活动图的工具栏也可以定制。3加入出态和终态加入出态和终态跟状态图一样。4增加动作状态要增加动作状态,首先点击工具栏中的添加活动的图标,然后在绘制区域要绘制动作状态的地方单击鼠标左键即可。如图所示。可以修改动作状态的属性信息,如名字和文档说明等,要修改属性,可以双击相应的动作状态图

19、标,在弹出的对话框的“General”选项卡里修改。5增加活动状态活动状态的表示图标和动作状态图标相同,与动作状态不同的是活动状态可以添加动作。添加动作的步骤如下(1)选种要添加动作的活动状态的图标,右键单击,在弹出的菜单中选择菜单项【Open Specification】。(2)在弹出的对话框中选择“Action”选项卡,在空白处单击鼠标右键,从弹出的菜单中选择【Insert】菜单项。(3)接这双击列表中出现的默认状态“Entry”选项卡,在出现的对话框的“When”选项的下拉列表中有“On Entry”,“On Exit”,“Do”和“On Event”等动作选项。用户可以根据需要进行选择

20、。下面的“Name”字段要求用户加入所添加动作的名称,如图所示(4)如果选择“On Event”,则要求在相应的字段中输入事件的名称“Event”、参数“Argument”和事件发生的条件“Condition”。(5)点击“OK”按纽,退出当前对话框,然后点击属性设置对话框的“OK”按纽,活动状态的动作就添加完成。如图所示6增加动作流动作流显示了活动之间的转移,动作流在状态之间进行,好增加动作流,点击工具栏中的状态之间转换图标,然后在两个要转换的动作状态之间拖动一条直线,如图所示7增加分支与合并分支与合并描述对象的条件行为。要增加分支与合并,点击工具栏的图标按纽,然后在要绘制区域要加入分支与合

21、并的地方单击鼠标左键。由于一个分支有一个入转换和两个带条件的出转换,一个合并有两个带条件的入转换和一个出转换,所以分支与合并要和动作流相结合才有意义。如图所示8增加分叉与汇合分叉与汇合描述对象的并发行为。分叉分为水平分叉与垂直分叉,两者在表达的意义上没有任何区别,只是为了画图的方便才分为两种。要增加分叉与汇合,点击工具栏中的水平同步图标按纽,在绘制区域要加入分叉与汇合的地方单击鼠标左键。由于每个分叉有一个输入转换和两个或多个输出转换,每个汇合有两个或多个输入转换和一个输出转换,所以分叉与会合也要和动作流相结合。如图所示9增加咏道咏道用与将活动图中的活动分组。要绘制咏道,可以点击工具栏中的咏道图

22、标按纽,然后在绘制区域点击鼠标左键,咏道就绘制出来了。可以修改咏道的名字一反映咏道的分组情况,修改方法如下(1)选种相应的咏道,右键单击,在弹出的菜单中选择【Open Specification】(2)在弹出的对话框中的“Name”字段可以修改咏道的名字新增加的咏道图标如图所示10增加对象和对象流可以通过对象流显示工作流如何影响或使用对象。对象与活动间的带箭头的虚线表示对象流。(1)增加对象。要增加对象,可以点击工具栏中对象图标按纽,在绘制区域要绘制的地方单击鼠标左键。增加了对象以后,可以输入对象名,标出对象的状态和增加对对象的说明等,要增加上述内容,右键单击相应的对象,在弹出的菜单中选择【O

23、pen Specification】。选择弹出对话框的“General”选项卡,如图所示从图中可以看出,在“Name”字段可以填入对象的名字,如果建立相应的对象类,可以在“Class”对象的下拉列表中选择。如果建立了相应的状态,则需要从“State”字段下拉列表中选择。如果没有状态或需要添加状态,则选择“New”,在出现的“State Specification”窗口输入新状态名并点击“OK”按纽即可,还可以在“Documentation”字段输入对对象的说明。(2)增加对象流。要增加对象流,可以点击工具栏中的对象流图标按纽,从改变对象的活动拖放到相应的对象上,或从对象拖放到使用对象的活动,如

24、图所示六 使用Rose绘制时序图的步骤1创建时序图要创建时序图,可以在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择【New-Sequence Diagram】,在“Use Case View”目录下将创建时序图“New Diagram”,右键单击时序图的图标,在弹出的菜单中选择【Rename】,可以更改创建的时序图的名字。建立时序图之后,双击时序图的图标,将出现时序图的绘制区域,如图所示。2时序图工具栏简介 选择一项 添加文本框 添加注释 将图中的元素与注释连接起来添加对象 在两个对象之间增加消息 添加反身消息返回消息 生命线的终止符3添加对象时序图与对象密不可分,要

25、绘制时序图,首先要添加对象。(1)向时序图增加对象,要将对象添加到时序图,首先点击工具栏中的添加对象图标按纽,然后在绘制区域要绘制的地方单击鼠标左键即可。如图所示。(2)设置对象属性。新创建的对象需要一个有意义的对象名字,可以修改对象的属性信息,如名字和文档说明等,要修改对象属性,可以双击相应的对象图标,在弹出的对话框的“General”选项卡里修改,如图所是示。(3)设置对象持续性。可以设置对象的持续性,Rose中提供了3个选项,“持续性(Persistent)”对象保存到数据库或其他形式的永久存储体中,即使程序终止,对象依然存在。“静态(Static)”对象保存在内存中直到程序终止。“临时

26、(Transient)”对象只是在短时间内保存在内存中。要设置对象持续性,右键单击要设置持续性的对象,从弹出菜单中选择“Open Specification”。在出现的对话框的“General”选项卡中的“Persistence”字段中选择相应的菜单按纽“Persistent”,“Static”和“Transient”。如上图所示。4添加消息消息是对象间的通信,一个对象可以请求另一个对象做某件事,在时序图中,消息用两个对象生命线之间的箭头表示。增加对象间的消息。要增加对象之间的消息,首先点击工具栏中的图标按纽,然后拖动鼠标从发送消息的对象或角色的生命线拖动到接受消息的对象或角色的生命线,如图消

27、息绘制出来以后还要输入消息文本,双击表示消息的箭头,在弹出的对话框中的“Name”字段里输入要添加的文本即可。七 使用Rose绘制协作图的步骤1创建协作图要创建协作图,可以在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择【New-Collaboration Diagram】,Rose会在“Use Case View”目录下创建协作图“New Diagram”,右键单击协作图的图标,在弹出的菜单中选择【Rename】,可以更改协作图的图标。建立协作图以后,双击协作图的图标,出现协作图的绘制区域,如图所示。2协作图工具栏简介 选择一项 添加文本框 添加注释 将图中的元素与注

28、释连接起来添加对象 添加实例 创建对象间的通信路径 显示对象可以调用自己的属性 在两个对象之间或一个对象本身增加消息 在两个对象之间或一个对象本身从反方向增加消息 显示两个对象之间的信息流在反方向显示两个对象之间的信息流。3添加对象要将对象加入协作图,首先点击工具栏的图标按纽,然后在绘制区域要放置的地方单击说表左键,如图所示。在协作图的对象可以设置对象属性和对象的持续性,设置方法跟时序图想同。4添加消息(1)添加对象间的消息。在将消息添加到两个对象之间前,首先要建立对象间的通信路径。点击工具栏上的按纽,在两个目标对象之间拖动一条直线,就在对象间增加了通信路径。有了通信路径,就可以在路径上增加对

29、象之间的消息了。增加对象见消息的步骤如下:选择工具栏中的图标按纽或,单击两个对象之间的通信路径,就会画出消息箭头,如图示同时序图的消息一样,在消息上要添加消息文本,双击表示消息的箭头,在弹出的对话框的“Name”字段里输入消息要添加的文本,如图所示(2)添加反身消息。可以为一个对象添加反身消息。首先选择工具栏中的图标按纽,然后单击收发消息的对象,为此对象增加一个到它自身的通信路径。反身通信路径在对象上方,显示为半原形,如图所示。选择工具栏按纽,然后在对象的反身通信路径上单击,Rose中就会为对象添加消息,新添加的消息的属性值可以按照前面介绍的方法修改。如图所示。5添加数据流数据流描述一个对象向

30、另一个对象发送消息时返回的消息。一般说来,对协作图的每个消息添加上数据流是没有必要的,这样做只会使图中堆满价值不大的信息。只要在一些重要消息上附加数据流即可。数据流添加步骤如下:选择工具栏的图标按纽或,单击要返回数据的消息,Rose就会在协作图中添加数据流箭头,如图所示。八 使用Rose绘制组件图的步骤1创建组件图要创建组件图,可以在“Component View”的图标上单击鼠标右键,在弹出的菜单中选择【New-Componet Diagram】,Rose会在“Component View”目录下创建组件图“New Diagram”,右键单击组件图的图标,在弹出的菜单中选择【Rename】,

31、可以更改创建的组件图的名字。建立组件图以后,双击组件图的图标,出现组件图的绘制区域,如图所示。2组件图工具栏按纽简介 选择一项 添加文本框 添加注释 将图中的元素与注释连接起来添加组件 包 添加依赖关系 添加子程序规范 添加虚包添加子程序体 添加主程序 添加包规范 添加包体添加任务规范 添加任务体 添加数据库 添加虚子程序3添加组件组件图创建以后,下一步就是向图中增加组件。通常对每个逻辑视图包创建一个组件视图包。例如,如果逻辑视图包括Item,Title和Reservation类,则对应的组件视图也应该包含Item,Title和Reserve类的组件。要将组件添加进组件图,首先点击工具栏中的图

32、标组件按纽,然后在绘制区域要绘制的地方单击鼠标左键,输入组件名即可,如图所示。还可以为组件添加说明文档:右键单击要添加说明的组件,从弹出的菜单中选择【Open Specification】菜单项以打开组件规范对话框,选择“General”选项卡,在“Documentation”字段中输入组件的文档说明。4添加组件的细节和其他模型元素一样,每个组件可以增加属性细节,如组件类型,组件语言以及组件声明等。(1)指定组件的类型。组件类型表明用哪个图标表示组件。从图标按纽可以看出,组件有很多类型:标准组件类型,子程序规范,子程序体,主程序,包规范,包体,任务规范和任务体等。要为组件指定类型,可以在组件的

33、规范窗口中选择“General”选项卡,在“Stereotype”字段中选择或输入所需要的组件类型,如图所示。(2)指定组件语言。在Rose中,可以对各个组件分别指定语言,如模型的一部分也可以指定C+语言,另一部分可以指定JAVA语言。Rose支持的语言包括ANSI C+,Ada95,CORBA,C+,COM,Java,VisualBasic,Visual C+,Web Modeler,XML_DTD和Oracle8等。要为组件指定语言,可以打开相应组件的规范窗口,选中“General”选项卡,然后在“Language”字段中选择语言,如上图所示。(3)为组件添加声明。对于组件来说,还可以为每

34、个组件生成代码期间要添加的补充声明。要添加声明,可以打开相应组件的规范窗口,选中“Detail”选项卡,然后在“Declarations”字段中添加,如图所示。5增加组件之间的依赖组件之间惟一存在的关系就是组件依赖,添加一个组件对另一个组件的依赖,步骤如下:选择工具栏的图标按纽,从源组件想目标组件拖动一条线。源组件是指依赖于其他组件的组件,目标组件是某一组件所依赖的组件,如图所示。九 使用Rose绘制配置图的步骤1打开配置图在Rose中只有一个配置图图标“Deployment Vies”,双击配置图标,出现配置图的绘制区域,如图所示2配置图的工具栏按纽简介 选择一项 添加文本框 添加注释 将图中的元素与注释连接起来添加处理器 添加关联关系(也可以成为连接) 添加设备3添加处理器要为配置图添加处理器,首先选择工具栏中的图表按纽,然后在绘制区域要放置的地方单击鼠标左键,输入处理器的名称即可。如图所示。4增加处理器细节在处理器规范窗口中可以 指定处理器的类型,增加处理器的特性和设置处理器的计

温馨提示

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

评论

0/150

提交评论