UML 新编实验指导书(实验三 类图)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津理工大学华信软件学院
天津理工大学(华信软件学院)
实验指导书
课程名称:软件工程与UML建模
适应课程:
(1969216)
上机实验(三)创建类和类图
一、实验目的:
在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类
属性:
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之间-----单向关联(一对多)
④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;