欢迎来到天天文库
浏览记录
ID:51016830
大小:76.96 KB
页数:6页
时间:2020-03-17
《UML 新编实验指导书(实验三).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、UML新编实验指导书(实验三) 天津理工大学华信软件学院上机实验(三)创建类和类图 一、实验目的在Rose环境下创建类和类图,完成应用案例的类图设计。 二、实验内容(一)创建类1)根据“需求陈述”提炼对象和类2)分析对象,并将对象抽象成类 (二)创建类图建立类之间的关系(关联关系、泛化关系、聚集或组合关系、依赖关系等)创建类图。 (三)综合应用练习。 三、操作步骤 (一)创建类 1、右击LogicalView 2、选New?选ClassDiagram,再在ClassDiagram
2、下创建类; 3、给类命名(比如Course) 4、增加属性(右击框途中的类,选NewAttribute) 5、添加类操作(右击框途中的类,选NewOperation) (二)建立类之间的关系1.关联关系(使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮)1)单项关联2)双向关联2.聚集和组合(先建立关联,再右击靠近“整体”方的关联线,选Aggregate)3.泛化关系。 4.依赖关系。 四.实例练习(要求尽量用英文表示)1.举实例说明类之间的关联关系。 包括单、双向关
3、联、一对一关联、一对多关联、多对多关联、自反关联、限定关联和关联类。 2.举实例说明类之间的聚合(组合)关系。 3.举实例说明类之间的泛化(继承)关系。 包括单继承、多继承。 4.举实例说明接口与实现,抽象类与子类等。 五.综合应用(一)以“学生选课系统”为例建立类图1.“学生选课系统”涉及到的类1)Database类属性:天津理工大学华信软件学院2dbPath:String操作(以下列出部分操作)QueryCourse()AddCourse()DeleteCourse()GetdbPa
4、th()SetdbPath()……2)Student类属性:studentID:IntstudentName:String操作:getStudentID()setStudentID()getStudentName()setStudentName()3)Registrar类属性:registrarName:StringregID:Int操作:getregID()setregID()getregistrarName()setregistrarName()4)Course类属性:courseID:Int
5、courseName:Stringclassroom:Stringteacher:string操作:createCourse()destroyCourse()getName()setName()getCourseID()setCourseID()getTeacher()setTeacher()……5)Control类属性:(无)操作verifyCourse()canAdd()queryCourse()confirmDelete()canSelect()queryAssociation()6)For
6、m类属性:(接口无属性)操作getCourseInfo()showSuessInfo()showConfirmPage()displayCourseList()querySelectCourse()2.创建上述类之间的关系;①Student和Form之间-----单向关联(一对多)②Registrar和Form之间-----单向关联(一对多)③Form和Course之间-----单向关联(一对多)④Control和Course之间-----单向关联(一对多)天津理工大学华信软件学院3⑤Contro
7、l和Form之间-----双向关联(一对多)⑥Control和Database之间-----单向关联(一对一)3.完成类图(对象模型)的设计(以下是简化的类图参考图,详细的类图由同学们自己来完成。 )图3—1学生选课系统简化类图4.生成代码。 可以针对某一个类,比如Course类,生成Java源代码,操作如下:①设置参数:Tools?Options?Notation标签②在Default框中选Java;③检查类中所有操作,确认它们都具有返回值类型;④选种类Course,然后选:Tools?Ja
8、va/J2EE?Generatecode⑤代码存放的路径(CLASSPATHentries)可以设为d:code或(Edit)一个路径名.生成的代码如下//Sourcefile:d:\code\Course.javapublilassCourse{privateStringcourseName;privateIntcourseID;privateStringclassRoom;publicDatabasetheDatabase;天津理工大学华信软件学院4/***@roseui
此文档下载收益归作者所有