湖南大学系统分析与设计实验指导书(UML) - 图文 联系客服

发布时间 : 星期二 文章湖南大学系统分析与设计实验指导书(UML) - 图文更新完毕开始阅读988e4f80b9d528ea81c779cc

UML实验指导书

称接口也可以)。对于图像用户界面中的每一个控件X,在WidgetFactory中都会声明一个createX()这样的方法,如createScrollBar()、createWindow()等。对于美洲具体的图像用户界面,将定义一个具体的子类,如对应于Motif图形用户界面,定义了类MotifWidgetFactory,并且在类Presentation Manager图像用户界面也定义类似的类PMWidgetFactory,并在类中实现了createScrollBar()和createWindow()方法。对于Presentation Manager图形用户界面也定义类似的类PMWedgetFactory,并在类中实现了createScrollBar()和createWindow()方法。

任务3: 创建Visitor设计模式

对于每种操作类型,都定义为抽象类NodeVisitor的一个具体子类,如对应于类型检查的操作,定义了TypeCheckingVisitor类,对应于代码生成的操作,定义了CodeGeneratingVisitor类。在TypeCheckingVisitor类和CodeGeneratingVisitor类中,定义了一些visitX方法,这些visitX方法对应于对象结构中的结点类型。也就是说,在语法树中有几种类型的结点,在TypeCheckingVisitor类和TypeCheckingVisitor类中就有几个visitX方法。

Node类是抽象类,声明了一个accept()方法,该方法有一个参数,其类型为抽象类NodeVisitor。在具体运行时,传到方法中的对象会是NodeVisitor的具体子类,即会是TypeCheckingVisitor类或CodeGeneratingVisitor类的对象。对于Node类的每个具体子类,虽然都有方法accept(),但accept()方法中的语句是不同的。对于AssignmentNode类来说,accept()中的语句是v. visitAssignment(this),对于VariableRefNode类来说,accept()中的语句是v. visitVariableRef(this)。

使用Visitor设计模式:

1. 在菜单Tools?Options…?Notation中把建模语言设为Java。

2. 在类图中创建类,把类名设为A,然后用鼠标右击类A,在弹出菜单中选择

Java/J2EE?GOFPatterns?Visitor菜单项。 3. 这时弹出一个对话框,要求设置参与者。

4. 根据需要可以指定具体Visitor和具体Element类。系统会提供默认的一个具体

Visitor和具体Element。如果再增加一个具体Visitor和具体Element。所增加的具体Visitor是A_ContreteVisitor_B,所增加的具体Element是类A_ContreteElement_B。当然这些具体Visitor和具体Element类可以改成别的有意义的名字。 5. 单击OK按钮后,Rose在浏览器窗口中新生成7个类,A_Client、A_ObjectStructure、

A_Visitor、A_Element、A_ConcreteVisitor_A、A_ConcreteVisitor_B和A_ContreteElement_B。

6. 把类A和生成的7个类拖动到类图中,Rose2003会自动加上类与类直接的泛化、

关联、依赖等关系。为了使类图更加清楚,可以把类与类之间一些不太重要的依赖关系删除,最后得到类图。

7. 完成类图后,即可利用Rose2003生成代码框架。

湖南大学软件学院 39

UML实验指导书

实验九 数据建模

本次实验要求对象模型和数据模型的相互转换。

实验目的:

1. 掌握如何创建数据库对象; 2. 学习为关系数据库创建模式; 3. 掌握创建域包;

4. 学习创建数据模型图; 5. 学习创建表;

6. 实现对象模型和数据模型的相互转换。

实验任务:

1. 在Component 视图中创建数据库对象;

2. 在Logical 视图中创建模式,并选定目标数据库; 3. 在Logical 视图中创建包和域; 4. 在模式下创建数据模型图; 5. 创建表;

6. 实现对象模型和数据模型的相互转换。

实验结果:(Lab9-1.mdl和lab9-2.mdl)

创建正向工程和逆向工程。

任务1:正向工程(对象模型转换为数据模型)

用类表示数据库表:

1. 右键单击浏览器中的Component 视图; 2. 选择DataModeler/New/Database; 3. 新数据库取名为TestDB;

4. 双击TestDB,在Target中选中Microsoft SQL Server 2000.x; 这时在Logical视图中自动生成了Global Data Types和Schemas两个包。

湖南大学软件学院 40

UML实验指导书

图9-1 选择数据库

5. 右键单击浏览器中的Logical 视图;

6. 选择DataModeler/New/Schema,这时在Schemas中生成了<>s-1;

湖南大学软件学院 41

UML实验指导书

图9-2 选择DataModeler/New/Schema

此时双击<>s-1,在Database中选择TestDB,如图9-2所示,

图9-3 在Database中选择TestDB

湖南大学软件学院 42