UML实验指导书(共31页).doc
精选优质文档-倾情为你奉上UML实验指导书 实验指导说明书 面向对象设计UML建模 -08本新版 上机实验 创建用例及用例图 一.实验目的:在Rose 2003 环境下设计应用系统的UML用例图。 二.实验内容:根据用户“需求陈述”创建Use Case框图。包括: 案例1. 绘制“自动饮料机售货”的Use Case框图 案例2. 用例之间的三种关系练习 案例3. 设计“网上学生选课系统”的Use Case 框图 案例4. 设计“图书管理系统”的Use Case 框图 三.操作步骤: 案例1. 建立用例图的步骤: 。右击Use Case View 。选New ? Use Case Diagram 。起名,比如:Buy Drink 。双击Buy Drink图标,这时工具栏变成适合Use Case作图的形式。 。设计Use Case Diagram. “自动饮料机售货”需求陈述: “顾客通过自动饮料售货机, 可以方便地买到一听饮料。而自动饮料售货机除了卖给顾客饮料外,还具备以下功能: ·供应商可以向自动饮料售货机添加饮料; ·收银员可以从自动饮料售货机取钱. ” 经过分析可知自动饮料售货机系统涉及到的名词及概念有: CustomerSupplierCashier Buy drinkSet drinkTake money Open machineClose machine 显然, 前三个名词为参与者. 后面的那些功能为Use Case . 绘制自动饮料售货机售货的用例图. (提示:首先找出参与者和用例之间的关系, 建立初步用例图, 然后细化用例建立用例之间的include或extend关系。) 案例2. 用例之间的三种关系练习 ·分析用例之间的“泛化关系”、“include” 和“extend”关系。 ·在Rose下创建包括以上三种关系的Use Case图。 案例3. “学生选课系统”需求陈述: 管理员通过系统界面进入,建立本学期要开的课程,并把这些信息保存到Database中。管理员可以对设置的课程进行增加、删除或改动。 学生通过客户浏览器并根据学号和密码进入选课界面;学生可以进行三种操作:查询已选课程,选课及付费。 经过需求分析可知: 系统用户有: 管理员学生(Student); 本系统的Use Case 包括: 选课查询 ( Query Course ) 付费( Pay for Course )增加课程( Add Course ) 修改课程( Modify Course )删除课程( Delete Course )。 设计Use Case Diagram. 案例4. 根据“图书管理系统案例”绘制Use Case图和顺序图 需求描述如下: 1)系统使用良好的图形用户界面; 2)在此界面下,只有图书管理员才能和系统直接交互对话; 3)借阅者可通过图书管理员进行借书,还书(Return item),预定和取消预定。条件是:借阅人必须事先注册.方可借书; 4)当预定的图书归还时,或新购进时,通知预定人,当预定的书已经借到时, 预定自动取消; 5)为简单起见我们常用“标题”和“书目”对图书进行划分。标题指的是书名,书目指的是具体一册书; 6)所有图书均预先登记. 不同的书按书名(Title)区分, 而且同名的书可以有多本(item),它们按书号区分; 7)图书管理员可以方便的建立,删除修改标题及借阅者信息,增加和删除书目,也可以查询图书和借阅者信息。 a) 试做出系统的初始Use Case 图 b) 于多个Use Case 都具有寻找标题和寻找借阅者部分, 2 实验指导说明书 试绘制改进的Use Case 图(可在原Use Case 图上改进)。 *案例5.(选作) 根据“网上购物系统”案例,绘制初始Use Case图。 “网上购物系统”涉及到的参与者如下: Customer(客户) Warehouse Manager(库房经理) Shipping Service(供货服务) Purchase Manager(采购经理)Credit System(信用系统) “网上购物系统”涉及到的Use Case如下: Browse Web Site(浏览网站) Add Item to Shopping Cart(给购物推车添加物品) View Shopping Cart(查看购物推车) Purchase Item in Shopping Cart(购买购物推车中的商品) Remove Item from Shopping Cart(从购物推车中删除商品) Browse Item for Sale(浏览销售的商品) Provide Feedback(提供反馈信息)Stock Inventory(盘点) rn Item to Stock(返回库存商品)Ship Order(提供订单)Add New Item for Sale(增加新销售商品) Remove Item for Sale(取消某销售商品)Purchase Inventory(购买库存) 分别以客户, 库房经理,和采购经理为中心建立Use Case Diagram. 参考答案: 。以客户为中心建立的初始Use Case Diagram. 图1-1 网上购物系统用例图 。以库房经理和采购经理为中心建立的初始Use Case Diagram请学生自己画出。 3 实验指导说明书 四. 评分标准 1正确完成案例13者可以得到70分; 2正确完成案例13,同时正确完成案例4者,可以得到85分; 3完成1和2项任务,同时又完成案例5者,或者在建模过程中有创造性者 可以给90分以上分数。 上机实验 创建交互图 一. 实验目的:在Rose 环境下创建UML交互图 二. 实验内容: (一). 根据“学生选课系统”案例,分别创建: 选课, 查询 (Query Course), 增加课程 (Add Course), 付费 (Pay for Course), 修改课程 (Modify Course) 和删除课程 (Delete Course), 所对应的主脚本的顺序图。并分别转化为对应的协作图。 (二). 根据“图书管理系统”的用例图,创建: 借书(Lend Item)用例所对应的顺序图. *(三). 根据“网上购物系统”的用例图,创建: 浏览网站和 添加物品到购物推车(Add Item to Shopping Cart)所对应的顺序图. 三. 操作步骤: (一). 以“Select Course”为例, 完成“学生选课系统”的顺序图 1.分析事件流 1) 学生进入选课主界面; 2)学生点击选课按钮; 3)系统显示所有课程信息; 4)学生选择课程; 5)系统验证课程是否可选; 6)系统显示课程选择成功; 7)用例结束。 2创建顺序图总体步骤: 1) 寻找对象,上述案例涉及的对象有: Form(或Interface), Course Control Database(注意:Database 亦可看成参与者) 4 实验指导说明书 2) 参与者;Student 3) 将消息加进图中。 3在Rose下操作步骤: 1)Tools ? Options ?Diagram标签,确保有关参数选中。(比如:Sequence Numbering) 2)打开实验所创建的“网上学生选课系统”的Use Case 框图 3)右击Use Case View 选New ? Sequence Diagram 4) 新图标命名为Select Course即可 5) 双击新窗口,并将浏览器中的参与者(Student)拖入新窗口中。 6) 在新窗口中利用Create a Object 工具按钮创建对象并正确命名. 7) 在顺序图中增加消息. 完成顺序图设计. Select Course 的顺序图: 图21 选课顺序图 4. 按上述步骤,参照选课顺序图,完成:查询 (Query Course),增加课程 (Add Course), 付费 (Pay for Course), 修改课程 (Modify Course) 和删除课程 (Delete Course) 所对应的主脚本的顺序图设计. 注意事项: 5 实验指导说明书 1. Database可以看作对象, 也可以看作参与者, 视情况而定. 2.顺序图中的界面对象可命名为Form,也可命名为Interface等. 3.在顺序图中可以根据具体情况增设Control对象. 4若有两个以上的参与者,应将主参与者放在顺序图最左方,次参与者放在顺序图最右方。 Query Course的顺序图: Add Course 的顺序图: Modify Course的顺序图: Delete Course的顺序图: 图22 删除课程顺序图 Pay for Course 的顺序图: 5. 按F5键并检查每个顺序图对应的协作图。 (二)根据“图书管理系统”用例图中的“Lend item”绘制对应的顺序图. 1. 分析事件流 1). 借书者提出结束申请; 2). 管理员选择借书选项(等同于发出借书命令) 3). 系统查找标题(Title); 4). 系统查找该标题下的有效书目; 6 实验指导说明书 5). 系统核查借书者信息(Borrower Information); 6). 办理借书(即产生一条新借书记录). 2. 寻找相关对象 1) Lend Window(或Form) 2) Title3) Borrower Information 4) Loan5) Item 3. 寻找参与者 直接参与者只有:Librarian. 注意:Student 为间接参与者(见问题陈述), 所以不能在顺序图中出现. 4. 将消息加进框图中, 完成顺序图设计. Lend Item (借书) 的顺序图: 图23 借书顺序图 (三). 根据“网上购物系统”的用例图,创建: 浏览网站和 添加物品到购物推车(Add Item to Shopping Cart)所对应的顺序图. 1. 分析事件流,以“Add Item to Shopping Cart”为例: 1)顾客提出欲将某商品,比如白袜子(White Socks)添加到购物推车中; 2)系统把该请求通过用户界面找到CartMgr; 3)通过CartMgr 找到ProductMgr; 4)通过ProductMgr 找到Product 5)CartMgr完成把White Socks装入购物推车中. 2. 寻找相关对象 1) Interface2) CartMgr 3) ProductMgr 7 实验指导说明书 4) Product 5) CartItem 3. 参与者仅为顾客(Customer) 4. 将消息添加到框图中, 完成顺序图设计. Browse Web Site的顺序图: Add Item to Shopping Cart(添加物品到购物推车) 的顺序图: 图24 向购物推车添加商品顺序图 四. 评分标准 1仅完成“学生选课系统”的指定六个用例的顺序图者,可得60-70分; 2完成1.指定内容,同时完成“图书管理系统”和“网上购物系统”指定内容者,可得到80分以上; 3完成1和2指定内容,并有创造性者可得90分以上成绩。8 实验指导说明书 上机实验 创建类和类图 一. 实验目的:在Rose 环境下创建类和类图, 完成应用案例的类图设计。 二. 实验内容: (一)创建类 1)根据“需求陈述”提炼对象和类 2)分析对象,并将对象抽象成类 (二) 创建类图 1) 建立类之间的关系 2) 创建类图。 综合应用练习 三. 操作步骤: (一)创建类 1 右击Logical View 2 选New ?选Class Diagram ,再在Class Diagram下创建类; 3 给类命名(比如Course) 4 增加属性(右击框途中的类,选New Attribute) 5 添加类操作(右击框途中的类,选New Operation) 建立类之间的关系 1关联关系 (使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮) 1) 单项关联 2) 双向关联 2聚集和组合 ( 先建立关联,再右击靠近“整体”方的关联线,选Aggregate) 3泛化关系 4依赖关系 四实例练习 1举实例说明类之间的关联关系。包括:单、双向关联、一对一关联、一对多关联、多对多关联、自反关联、限定关联和关联类。 2举实例说明类之间的聚合关系。 3举实例说明类之间的泛化关系。包括:单继承、多继承。 9 实验指导说明书 4举实例说明接口与实现,抽象类与子类等。 五综合应用: 以“学生选课系统”为例建立类图 1“学生选课系统”涉及到的类: 1) Database类 属性: dbPath: String 操作:(以下列出部分操作) Query Course() Add Course()Delete Course() Get dbPath()Set dbPath()? 2) Student类 属性: studentID: IntstudentName: String 操作: get StudentID()set StudentID() get StudentName() set StudentName() Registrar类 属性: registrarName: String regID: Int 操作: get regID() set regID() get registrarName() set registrarName() 3) Course类 属性: courseID: Int courseName: String classroom: Stringteacher: string 操作: createCourse() getCourseID()setCourseID()getTeacher()4) Control类 属性: (无) 操作: verifyCourse()canAdd()queryCourse() confirmDelete()canSelect() queryAssociation() 5) Form类 属性: (接口无属性) 操作: getCourseInfo()showSuccessInfo()showConfirmPage() displayCourseList() 2. 创建上述类之间的关系; 10 实验指导说明书 Student和Form之间-单向关联(一对多) Registrar和Form之间-单向关联(一对多) Form和Course之间-单向关联(一对多) Control和Course之间-单向关联(一对多) Control和Form之间-双向关联(一对多) Control和Database之间-单向关联(一对一) 3完成类图的设计 图31 学生选课系统简化类图 4. 生成代码。 可以针对某一个类,比如Course类,生成Java源代码, 操作如下: 设置参数: Tools ? Options ? Notation标签 在Default 框中选Java; 检查类中所有操作,确认它们都具有返回值类型; 选种类Course,然后选:Tools ? Java/J2EE ? Generate code 代码存放的路径(CLASSPATH entries)可以设为d:code或编辑(Edit)一个路径名. 生成的代码如下: /Source file: d:code 11 实验指导说明书 public class Course private String courseName; private Int courseID; private String classRoom;/* * return Boolean*/ public Boolean getCourseID()/* * return Boolean*/ public Boolean getCourseName()/* * return Boolean*/ public Boolean createCourse()/* * return Boolean*/ public Boolean destroyCourse() 注意:此例中已经对某些空格进行了压缩。其它类对应的Java代码,请学生自己完成。 以“借书”为主题创建“图书管理系统”的类图1系统涉及到的类 Title类 属性: name: StringISBN: String Number of item: Int操作: Add()Delete()Update() Borrower Information类 属性: name: Stringaddress: String tel: String 操作: Find()Query()delete() Item类 属性: ID: Int 操作: Add()Delete()FindOnTitle() Loan类 属性: time: Date 12 实验指导说明书 操作: Create()Destroy() Reservation 类 属性: time: Date 操作: Create() Destroy()Find() 2. 上述类的关联 1) Title 与 Borrower Information 之间的关联 2) Title 与 Item 之间的关联(学生自己填写) 3) Item 与 Borrower Information 之间的关联(学生自己填写) 4)完成类图的设计 (学生自己完成) 创建“网上购物系统”中 与“Add Item to Shopping Cart”对应的类图1分析“Add Item to Shopping Cart”涉及到的类 1) CartInterface(或Interface)类 属性: 操作: AddItem() 2) CartManager(或CartMgr)类 属性:(无) 操作:AddItem() 3)ProductMgr 类 属性:(无) 操作:GetProduct() 4) Product类 属性: ProductID:IntProductName:String UnitPrice:Double 操作: FindProduct() 6) CartItem类 属性:Number of Items inCart:Int 操作:Add Item to Cart() 2建立关系,(增加版型)创建类图。 3创建构件图 4类映射到构件; 见实验 13 实验指导说明书 5生成Java代码 创建类图补充实例练习 A. 根据以下每一组类绘制类图 1)学校、操场、校长、学校人员、教师、食堂(dining room)、 设施、教室、学生、机房、计算机、课桌、椅子、书本。 2)文件系统、文件、磁盘(disc)、目录文件(directory file)、磁道(track)、扇区(sector)、ASCII文件、二进制文件。 B. 给每个类添加属性和方法 C. 绘制一个类模型来描述“无向图”。无向图一组顶点和边(edge)组成。每个边均连接顶点对。 D. 绘制一个类模型来描述“有向图”。有向图一组顶点和边(edge)组成。每个边均连接顶点对,但边是有方向的。 E以医院管理信息系统为背景根据以下类构造类图: 医院、门诊部、药房、住院部、病人、病房、病床(Bed)、住院病人(Inpatient)、门诊病人(Outpatient)、药品(Drug)、用药纪录 F. 选择填空: 供选择的答案 Circle , Arc , Point , Polygon , Line G给上述5个类添加属性和方法 14 实验指导说明书 H某音像出租店,要记录图书、唱碟和客户租借信息。现已设计了两个类Book和CD 如下: 经过分析,上述两个类重复内容较多,于是又打算定义一个Loan类,表示Book类和CD类的重复部分。请画出上述三个类构成的优化类图。 如果再引入一个History类来记录所有租借Book和CD的历史, 请画出上述四个类构成的类图。 六. 评分标准 1能根据“学生选课系统” 、“图书管理系统”的需求陈述正确找出类、正确识别类的主要属性和操作、并建立类与类之间的关系,并在上述基础上完成类图设计者,可得到80分; 2能正确完成创建类图补充实例练习者,能得到90以上分数。 上机实验 数据建模 一. 实验目的:UML数据库设计,对象模型和数据模型之间相互转换。 二. 实验内容: 1应用UML元素及其关系来模拟数据库的模式、库结构、表结构、视图、域、索引、主键、 外键、约束、触发器、存储过程,以及表与表之间的关系。 2以包为单位进行对象模型和数据模型之间的转换。3在Schema下编写存储过程;并创建表的触发器。4正向工程生成SQL源代码 三. 实验过程: 数据建模 首先要设置参数:Tools ? Options ? Notation标签 在Default框中选 Analysis1创建表 创建数据库对象 15 实验指导说明书 . 右击Component View 并选Data Modeler ? New Database . 默认名称DB_0 . 右击DB_0 并选 Open Specification . 选定目标数据库,比如: Oracle (或SQL Server 2000等) 创建模式(Schema) . 在Logical View下创建名为SchemaS_0模式 . 右击Logical View选Data Modeler ? New ? Schema 则自动创建SchemaS_0 . 右击SchemaS_0打开Specification , Database 选 DB_0, Target 就是Oracle创建域包和域 . 右击Global Data Type 并选 Data Modeler ? New ? Domain Package系统创建DP_0 . 双击DP_0 打开规范说明,将DBMS设定为Oracle. 在DP_0下创建域Domain . 右击DP_0,选Data Modeler ? New ? Domain,出现DOM_0. 右击DOM_0, 打开Domain 的Specification, 然后对域进行设置. 比如: Data Type 设置为Varchar2 Length 设置为10等. 选中 Unique Constraint和 Not Null 在SchemaS_0下 创建数据模型图 . 右击SchemaS_0,选Data Modeler ? New ? Data Modeler Diagram . 自动出现NewDiagram(仔细察看) 在NewDiagram 下创建表(比如:Table_0, Table_1) . 双击NewDiagram . 在右边框图区内创建表(Table_0, Table_1) . 在表中增加列Column(可以按教科书中例子进行设置) 2. 建立表间关系 建立确定关系 使用Identifying Relationship按钮, 从主表拉向子表, 在子表中自动生成外键FK。 这时FK必是PK的一部分(主表和子表有共存亡关系) 16 实验指导说明书 图41 表之间的确定关系 建立非确定关系 使用Non-Identifying Relationship按钮, 从主表拉向子表. 在子表中自动生成外键FK. 这时FK不是PK的一部分(子表可以单独存在),在这种情况下又分成两种情况: 强制性非确定关系: 主表多重性为1或1.* 图42 表之间的强制性非确定关系 非强制性非确定关系: 主表多重性为0.1或0.* 图43 表之间的非强制性非确定关系 3. 增加约束 主键约束和唯一性约束 17 实验指导说明书 . 打开表的Specification, 选 Key Constrain . 选 Unique Constraint 或 Primary Key Check Constraint 选Check Constraint 标签,并在Expression 字段下输入SQL语句. 增加索引 在Index标签下设置. 4.增加触发器(Trigger)打开表的Specification 选Trigger Event Insert Delete Update (默认为Insert,可以选Update) 选Trigger Type 单选框 before after (默认为after) 填写Action body 比如:Select * From Inserted 只要填写核心动作即可,比如: print“数据已更新!”(这时执行结果输出: 数据已更新!) 请同学自己完成较复杂或有特点的触发器。(请勿照抄) 5. 增加存储过程(SP) (注意: 存储过程不是针对表的,只能在Schema下建立) 右击SchemaS_0 选Data Modeler ? New ? Stored procedure 在浏览器中出现SP ContainerSP_00(把存储过程放入容器中) 右击新创建的存储过程容器, 并打开其Specification 选General标签, 填写有关信息 必要时填写Parameter 信息 选Action body 标签,填写存储过程语句 比如:假如在Table_2中有一个整数字段,并在该表中录入一定量的记录。可编写下列存储过程: Select * from Table_2 where QTY=par1 Exec SP1 20(其中SP1为过程名,20 为参数值) 请同学自己完成较复杂或有特点的存储过程。(请勿照抄) 18 实验指导说明书 6. 生成SQL代码文件 右击SchemaS_0 选Forward Engineer 选 Next ,并指定产生SQL文件的路径名, 单击 Finish 按钮,得到如下SQL代码: 注意:如果DB_0的目标数据库为SOL Server 2000,所生成的代码有明显的不同。 *注:如果机器中有SQL执行环境,生成过程中,可选定 Execute 选择框执行SQL代码。 (二) 对象模型和数据模型之间相互转换(参见教科书第80页至84页,请学生自己完成) 四评分标准 1按照“实验指导”的要求创建表,建立表间关系,并完成数据模型和对象模型之间转换者,可得到60-70分。 2在第1项工作完成的基础上能正确编制触发器和存储过程并完成正向工程者,可得到85分成绩。 3在第1和第2项工作的基础上有创造性发挥者可得到85分以上成绩。 19 实验指导说明书 上机实验 创建包图和构件图 一. 实验目的:创建UML包图和构件图,把类图通过构件生成高级语言源代码。 二. 实验内容: 1创建包图练习 2按教科书P105P108的示例,练习正向工程; 3使用D:盘中的Clock. Java 源代码进行逆向工程,并检查所生成的构件和类。 4按照“学生选课系统”所建立的类图进行正向工程: 方法1:一对一映射; 方法2:多对一映射; 5按照“图书管理系统”所建立的类图进行正向工程; 6按照同学自己所创建的类图进行正向工程。 三创建包图步骤: 1创建一个新包 1)右击Logical View 2)选New ->Package 3)给包命名,并将其拖入右方绘图窗口 另一种方法是直接使用工具栏中的包按钮作图。 2在包中添加元素 1)右击“企业综合信息管理系统”包 2)选New ->Class 3) 为类命名 4)右击“企业综合信息管理系统”包 2)选New ->Package 3)取名 “财务管理系统” 4)将其拖入右方窗口观看 3添加包中信息 1)右击作图窗口中的“企业综合信息管理系统”包 2)选Select Compartment Items? 3) 在Edit Compartment窗口选择要添加的类即可 20 实验指导说明书 (4) 同理对Sales Contract类和Product类进行设置。 7) 生成VC+代码: 选中Contract类 Tools? Visual V C+? Update Code 即可看到生成的VC+代码。见下图: 26 实验指导说明书 五评分标准 1.根据“学生选课系统”、“图书管理系统”和同学自己所建立的类图,正确通过构件生成框架代码者,可以得到60-70分成绩. 2. 能对上述案例进行正向工程和逆向工程,并能对 源代码进行逆向工程者,可得到80分以上的分数. 3.能自己设计类模型,并顺利完成类图生成 C+代码者,可得到90分以上的分数.27 实验指导说明书 上机实验 创建状态图 一. 实验目的:根据需求陈述创建应用对象的状态图。 二. 实验内容: 1根据以下叙述,绘制“销售合同生存周期”的状态图: 当销售部门和用户谈妥合同后,进入”签订合同”状态,这时允许修改,修改完成后返回签订合同状态,审核后进入”已审核的合同”状态,经过批准后进入”通过批准的合同”状态。当审核失败或未通过审核时,进入”被否决合同” 状态。已通过批准的合同可以激活执行,进入”执行合同”状态,当全部合同项目完成后,才称为履行合同。否则进入”锁定合同”状态,这时若解决了问题可返回执行合同,否则进入”未履行合同”状态. 2. 绘制学生选课系统中课程对象的状态图 经过需求分析,Course对象有以下状态: ·创建 ·添加到数据库中 ·课程被删除(Deleted) ·课程被修改(Modified) ·课程被开设(In Schedule) ·不允许选修 3绘制一本书在其生存周期的状态图 经过需求分析Book对象有以下状态: ·新书 ·可借阅 ·已借出 ·已预约 ·删除(Deleted) 如果在上题中再加上一个“罚款(Fine)”状态,则状态图将如何变化? *4绘制打电话过程“电话线路”的状态图 经过需求分析电话线路对象有以下状态:(可适当增减状态) “Idle”,“Dialing”,“Connecting”,“Ringing”,“Connected”,“Disconnected”,“TimeOut”, “Play Message”,“Busy Tone” (可以适当增减状态) 相关事件: 28 实验指导说明书 on hook(挂机)= hangs up, off hook(摘机)=pickup receiver, timeout(超时), called phone answers(接电话), line busy(线路忙), routed(线路接通), valid number(有效号码), invalid number(无效号码), wrong number(错码) 5绘制“网上应用系统用户界面及切换设计” 的状态图。陈述如下: 某应用系统包括“主界面”和“合同管理界面”、“销售管理界面”、“财务管理界面”、“物资供应管理界面”。为了使界面之间有机组合起来,特增加“登录”、“快捷菜单”等状态。请设置引起状态转换的事件并绘制状态图。 6绘制“智能交通信号灯控制” 的状态图。陈述如下: 交通信号灯(traffic lights)分成南北直行(N/S _ straight), 南北左转(N/S _ left), 东西直行(E/W_ straight)和东西左转(E/W _ left) 四个主要状态。规则是: 1) 任何状态下超时(timeout)均立即进行状态转换, 顺序是:直行、左转、直行、(对方)左转 ?; 2) 当处于直行状态时, 允许(右车道)汽车右转弯(turn right); 3) 处于直行(go straight)状态时, 时间到(timeout)如果左车道(left lane)无车, 则立即转入(对方)直行状态。 三在Rose 2003下的操作步骤: 1. 右击Logical View并选New ? State Chart Diagram 2. 命名状态图为Course 3. 在浏览器中双击Course 出现State Chart Diagram 窗口 4. 增加状态 在工具栏中选中State 按钮,点击框图内对应位置,则出现状态图元素。给状态起名字。 5. 增加状态细节 ·双击对应状态,弹出State Specification 对话框 · 点击Action选项卡,右击框内任意一点,选Insert。这时可以设置该状态下的活动 29 实验指导说明书 ·双击刚刚添加的活动,弹出Acti