好文档 - 专业文书写作范文服务资料分享网站

UML 新编实验指导书(实验三 类图)

天下 分享 时间: 加入收藏 我要投稿 点赞

天 津 理 工 大 学 华 信 软 件 学 院

天津理工大学(华信软件学院)

实验指导书

课程名称:软件工程与UML建模

适应课程:

(1969216)

天 津 理 工 大 学 华 信 软 件 学 院 2

上机实验(三) 创建类和类图

一、实验目的:

在Rose 环境下创建类和类图, 完成应用案例的类图设计。 二、实验内容: (一)创建类

1)根据“需求陈述”提炼对象和类 2)分析对象,并将对象抽象成类 (二) 创建类图

建立类之间的关系(关联关系、泛化关系、聚集或组合关系、依赖关系等)创建类图。

(三) 综合应用练习。

三、操作步骤: (一) 创建类

1、启动Rose 2003进入后,在左面结构框内右击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.举实例说明类之间的泛化(继承)关系。包括:单继承、多继承。 4.举实例说明接口与实现,抽象类与子类等。

五.综合应用:

(一)以“学生选课系统”为例建立类图 1.“学生选课系统”涉及到的类: 1) Database类

天 津 理 工 大 学 华 信 软 件 学 院 3

属性:

dbPath: String

操作:(以下列出部分操作)

Query Course() Add Course() Delete Course() Get dbPath() Set dbPath() …… 2) Student类 属性:

studentID: Int studentName: String 操作:

get StudentID() set StudentID() get StudentName() set StudentName() 3) Registrar类 属性:

registrarName: String regID: Int 操作:

get regID() set regID()

get registrarName() set registrarName() 4) Course类 属性:

courseID: Int courseName: String classroom: String teacher: string 操作:

createCourse() destroyCourse() getName() setName() getCourseID() setCourseID() getTeacher() setTeacher() ……

5) Control类 属性: (无) 操作:

verifyCourse() canAdd() queryCourse()

confirmDelete() canSelect() queryAssociation() 6)Form类

属性:(接口无属性) 操作:

getCourseInfo() showSuccessInfo() showConfirmPage() displayCourseList() querySelectCourse()

2. 创建上述类之间的关系;

① Student和Form之间-----单向关联(一对多) ② Registrar和Form之间-----单向关联(一对多) ③ Form和Course之间-----单向关联(一对多)

天 津 理 工 大 学 华 信 软 件 学 院 4

④ Control和Course之间-----单向关联(一对多) ⑤ Control和Form之间-----双向关联(一对多)

⑥ Control和Database之间-----单向关联(一对一)

3.完成类图(对象模型)的设计(以下是简化的类图参考图,详细的类图由同学们自己来完成。)

图3—1 学生选课系统简化类图

4. 生成代码。

可以针对某一个类,比如Course类,生成Java源代码, 操作如下: ① 设置参数: Tools ? Options ? Notation标签 ② 在Default 框中选Java;

③ 检查类中所有操作,确认它们都具有返回值类型;

④ 选种类Course,然后选:Tools ? Java/J2EE ? General code

⑤ 代码存放的路径(CLASSPATH entries)可以设为d:\\student_name\\code; 生成的代码如下:

//Source file: d:\\\\code\\\\Course.java public class Course {

private String courseName; private Int courseID;

private String classRoom; public Database theDatabase;

天 津 理 工 大 学 华 信 软 件 学 院 5

/** * @roseuid 44C6FA3000E6 */

public Course() { } /**

*@roseuid 4429D321008C */

public void getCourseID() { } /**

* @roseuid 4429D34700EA */

public void getCourseName() { } /**

* @roseuid 44C6F9AC0096 */

public void createCourse() { } /**

* @roseuid 44C6F9C403BC */

public void destroyCourse() { } }

注意:此例中已经对某些空格进行了压缩。其它类对应的Java代码,请学生自己完成。

(二)创建“图书管理系统”的类图(对象模型)ss 1.系统涉及到的类 ① Title类

属性:name: String ISBN: String Number of item: Int 操作:Add() Delete() Update() ② Borrower Information类

属性: name: String address: String tel: String 操作: Find() Query() delete() ③ Item类

属性: ID: Int

操作: Add() Delete() FindOnTitle() ④ Loan类

属性: time: Date

操作: Create() Destroy() ⑤ Reservation 类 属性: time: Date

操作: Create() Destroy() Find()

UML 新编实验指导书(实验三 类图)

天津理工大学华信软件学院天津理工大学(华信软件学院)实验指导书课程名称:软件工程与UML建模适应课程:(1969216)天津理工大学华信软件学院2上机实验
推荐度:
点击下载文档文档为doc格式
1kl4x190ek1symv1jbs8
领取福利

微信扫码领取福利

微信扫码分享