实验_6类图

更新时间:2024-06-07 13:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验六 学习在Rose中创建类图

实验目的:学习在Rose中创建类图的基本过程,掌握在系统模型中类图的作用。 实验要求:掌握根据具体需求描述找出系统中类与类之间的关系,并加以分析,完成类图的绘制。

实验条件:windowsXP、Rose2003 实验内容及步骤:

类图是系统静态视图的一部分,它主要用来描述软件系统的静态结构。该视图主要支持系统的功能需求,也就是系统要提供给最终用户的服务。当系统分析师以支持软件系统的功能需求为目的设计静态视图时,通常以下述3种方法之一使用类图: 1. 对系统的词汇建模:

用UML构建系统通常是从构造系统基本词汇开始,用于描述系统的边界,即用来决定哪些抽象是要建模系统中的一部分,哪些抽象是处于要建模系统之外。系统最基本的元素在这里被确定。系统分析师可以用类图描述抽象和它们的职责。 2. 对简单协作建模:

现实世界中的事物大多都是有相互关系、相互影响的,将这些事物抽象成类后,情况也是如此。所要构造的软件系统中的类很少有孤立存在的,它们总是和其他类协同工作,以实现强于单个类的语义。因此在抽象了系统词汇后,系统分析师还必须将这些词汇中是事物协同工作的方式可视化和详述。 3. 对逻辑数据库模式建模:

在设计一个数据库时,通常使用数据库模式来描述数据库的概念设计。数据库模式建模是对数据库概念设计的蓝本,可以使用类图对这些数据库的模式进行建模。

下面的实验,要求在独立进行面向对象需求分析的基础上,使用Rose工具绘制类图。 一、创建类图:

介绍类图的基本绘制方法。根据以下步骤完成“选课系统”类图的设计。需求陈述如下:某学校网上选课系统主要包括如下功能:管理员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。同样,通过业务层,这些操作结果存入数据库中。

1. 确定选课系统中的类:

除了上个实验中已经确定的各个角色可以作为类之外,还可抽象出三个类:课程类、界面类、控制对象类。下面就来创建类图。 2. 新建类(以课程类为例):

(1) 右键单击浏览器中的Logical View,在弹出菜单上,选择“New→Class”,并为

类命名为“Course”。

(2) 右键单击“Course”,在弹出菜单上,选择“New→Attribute”。输入属性名称,

如:“name”,并设置各种固有特性,比如:类型(Type)、版型(Stereoptype,如Lable、Decoration、Icon等)、初始值(Initial)、存取控制(Export Control)等。在Detail选项卡中进一步设置属性,属性的“Containment”特征表示属性如何存放在类中。“By Value”表示属性放在类中,“By Reference”表示属性放在类外,类指向这个属性。“Unspecified”表示还没有指定控制类型,应在生成代码之前指定By Value 或 By Reference。

(3) 右键单击“Course”,在弹出菜单上,选择“New→Operation”。输入操作名称,

如:“GetName”,。选择“GetName”按下鼠标右键,选择“Open Specification”,

1

在弹出的对话框中可以设置操作的固有特性。(操作或属性都有存取控制的选项,操作的存取控制的选项默认值是公有的,属性的存取控制的选项默认值是私有的)。

3. 创建类图:

(1) 右键单击浏览器中的Logical View,在弹出菜单上,选择“New→Class Diagram”,

并为类命名为“选课系统类图”。

(2) 双击“选课系统类图”,将各个类和角色拖至编辑区中。角色间的关联关系可

以直接看到。(选课系统中设计的类有:界面FormObject、控制对象ControlObject、课程Course;设计的角色:学生Student、管理员Registrar、学生和管理员的父类People、数据库Database;类和角色的关系如下:角色Student和Registrar从People派生,学生、管理员在与系统交互时,都有一个界面与之对应,一个界面可能和0~n门课程相关,控制对象负责课程的处理并使结果在界面上显示,控制对象完成对数据库的操作,界面请求控制对象的服务。) (3) 选中角色“People”,右键单击选择“New Attribute”,给People增加一个私有

属性“name”。这时Registrar和Student都没有设置属性。双击Student的图标,弹出“Class Specification”对话框,点击Attributes选项卡,这时Show inherite被选择,而Attribute列表中没有如何属性。父类中的私有属性没有被继承。将People的name属性设置成保护属性或公有属性时,父类中的保护属性被子类继承。

(4) 类的显示时,可将类的属性和操作的“Show All Attributes”和“Show All

Operations”设置为不选,将类的属性和操作隐藏起来。

4. 创建各类之间关系:

(1) 如一个用户界面对象和0个或多个学生相关。在类图的工具栏中选择

“unidirectional association”图标,按下鼠标左键,从Student指向FormObject使之建立关联。

(2) 选择Student和FormObject之间的关联,按下鼠标右键,在弹出的菜单中选择

“Open Standard Specification”,在对话框中可以设置关联的属性。关联两端的对象,箭头指向的称为“Role A”记作“theFormObject”,另一端为“Role B”。 (3) 点击“Role B Detail”选项卡,将Multiplic设置成0…n,再点击“Role A Detail”

选项卡,将Multiplic设置成1。

(4) 在类图中添加和修改聚集关系。新建立一个和选课系统无关的类text,并假设

一个界面对象中有0至多个text对象,则界面类和text类之间存在共享聚集关系。选择FormObject和text之间的关联,按下鼠标右键,在弹出的菜单中选择“Open Specification”,在对话框中点击“Role B Detail”选项卡,将对话框中的Aggregate项选中,并将Containment of text 设置为By Value,按下“Apply”按钮,类图中的共享聚集标记就变成了组合聚集关系。 (5) 根据自己分析的结果,完成类间关联关系的创建。

5. 保存类图:

在“文件”菜单上,指向“保存”,以“学号姓名. mdl”来保存模型文件。

2

二、类图设计练习:

1. 图书馆馆藏出版物需求描述如下:

一家图书馆藏有书籍、杂志、小册子、电影录像带、音乐CD、录音图书磁带和报纸等出版物,供读者借阅。这些出版物有出版物名、出版者、获得日期、目录编号、书架位置、借出状态和借出限制等属性,并有借出、收回等服务。 创建图书馆馆藏出版物的类图。

分析:题目中很明确地给出了此对象模型中包含的各种类,也明显地表示出了馆藏出版物与“书籍、杂志、小册子、电影录像带”等其它类之间是继承关系。所以,容易画出此描述的类图。

3

2. 交通工具分为空中、陆地、水上三种。空中交通工具分为客机、货机、专用轻型机。

陆地交通工具分为列车、汽车;列车又分为旅客列车、货运列车;汽车又分为客车、货车。水上交通工具分为客轮、货轮、客货混合轮。建立交通工具的类图。

3. 一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机

包括一个机箱,一个主板,一个电源,存储器等部件。存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘、光盘、优盘。请建立微机的类图。

完成后,重新保存“学号姓名. mdl”模型文件。

4

本文来源:https://www.bwwdw.com/article/olv6.html

Top