您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > UML新编实验指导书(实验三类图)
天津理工大学华信软件学院天津理工大学(华信软件学院)实验指导书课程名称:软件工程与UML建模适应课程:(1969216)天津理工大学华信软件学院2上机实验(三)创建类和类图一、实验目的:在Rose环境下创建类和类图,完成应用案例的类图设计。二、实验内容:(一)创建类1)根据“需求陈述”提炼对象和类2)分析对象,并将对象抽象成类(二)创建类图建立类之间的关系(关联关系、泛化关系、聚集或组合关系、依赖关系等)创建类图。(三)综合应用练习。三、操作步骤:(一)创建类1、启动Rose2003进入后,在左面结构框内右击LogicalView;2、选New选ClassDiagram,再在ClassDiagram下创建类;3、给类命名(比如Course);4、增加属性(右击框途中的类,选NewAttribute);5、添加类操作(右击框途中的类,选NewOperation);(二)建立类之间的关系1.首先关联关系(使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮)1)单项关联;2)双向关联。2.练习聚集和组合(先建立关联,再右击靠近“整体”方的关联线,选Aggregate选项。)3.然后泛化关系。4.最后练习依赖关系。四.实例练习(不能用课件及教材上的示例,要自己来想。)1.举实例说明类之间的关联关系。包括:单、双向关联、一对一关联、一对多关联、多对多关联、自反关联、限定关联和关联类。2.举实例说明类之间的聚合(组合)关系。3.举实例说明类之间的泛化(继承)关系。包括:单继承、多继承。4.举实例说明接口与实现,抽象类与子类等。五.综合应用:(一)以“学生选课系统”为例建立类图1.“学生选课系统”涉及到的类:1)Database类天津理工大学华信软件学院3属性:dbPath:String操作:(以下列出部分操作)QueryCourse()AddCourse()DeleteCourse()GetdbPath()SetdbPath()……2)Student类属性:studentID:IntstudentName:String操作:getStudentID()setStudentID()getStudentName()setStudentName()3)Registrar类属性:registrarName:StringregID:Int操作:getregID()setregID()getregistrarName()setregistrarName()4)Course类属性:courseID:IntcourseName:Stringclassroom:Stringteacher: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源代码,操作如下:①设置参数:ToolsOptionsNotation标签②在Default框中选Java;③检查类中所有操作,确认它们都具有返回值类型;④选种类Course,然后选:ToolsJava/J2EEGeneralcode⑤代码存放的路径(CLASSPATHentries)可以设为d:\student_name\code;生成的代码如下://Sourcefile:d:\\code\\Course.javapublicclassCourse{privateStringcourseName;privateIntcourseID;privateStringclassRoom;publicDatabasetheDatabase;天津理工大学华信软件学院5/***@roseuid44C6FA3000E6*/publicCourse(){}/***@roseuid4429D321008C*/publicvoidgetCourseID(){}/***@roseuid4429D34700EA*/publicvoidgetCourseName(){}/***@roseuid44C6F9AC0096*/publicvoidcreateCourse(){}/***@roseuid44C6F9C403BC*/publicvoiddestroyCourse(){}}注意:此例中已经对某些空格进行了压缩。其它类对应的Java代码,请学生自己完成。(二)创建“图书管理系统”的类图(对象模型)ss1.系统涉及到的类①Title类属性:name:StringISBN:StringNumberofitem:Int操作:Add()Delete()Update()②BorrowerInformation类属性:name:Stringaddress:Stringtel:String操作:Find()Query()delete()③Item类属性:ID:Int操作:Add()Delete()FindOnTitle()④Loan类属性:time:Date操作:Create()Destroy()⑤Reservation类属性:time:Date操作:Create()Destroy()Find()天津理工大学华信软件学院62.上述类的关联1)Title与BorrowerInformation之间的关联2)Title与Item之间的关联(学生自己填写)3)Item与BorrowerInformation之间的关联(学生自己填写)3.完成类图(对象模型)的设计(见下图)图3-2图书管理系统类图(三)创建“网上购物系统”中与“AddItemtoShoppingCart”对应的类图。1.分析“AddItemtoShoppingCart”涉及到的类1)CartInterface(或Interface)类属性:(无)操作:AddItem()天津理工大学华信软件学院72)CartManager(或CartMgr)类属性:(无)操作:AddItem()3)ProductMgr类属性:(无)操作:GetProduct()4)Product类属性:ProductID:IntProductName:StringUnitPrice:Double操作:FindProduct()5)CartItem类属性:NumberofItemsinCart:Int操作:AddItemtoCart()2.建立关系,(增加版型)创建类图。(请同学自己完成)3.创建构件图(请学生自己完成)4.类映射到构件;见实验(五)。5.生成Java代码(请学生自己完成)。(四)创建类图补充实例练习A.根据以下每一组类绘制类图。1)学校、操场(playground)、校长(principal)、学校人员、教师、食堂(diningroom)、设施、教室、学生、机房、计算机、课桌、椅子、书本。2)文件系统、文件、磁盘(disc)、目录文件(directoryfile)、磁道(track)、扇区(sector)、ASCII文件、二进制文件。B.给每个类添加属性和方法(至少2个属性,2个操作)C.绘制一个类模型来描述“无向图”(UndirectedGraph)。无向图由一组顶点(vertex)和边(edge)组成。每个边均连接顶点对。(模型只捕获图的结构,不考CarInterfaceProductProductMgrCartMgrCartItem天津理工大学华信软件学院8虑外形等方面的问题)D.绘制一个类模型来描述“有向图”(DirectedGraph)。有向图由一组顶点(vertex)和边(edge)组成。每个边均连接顶点对,但边是有方向的。(模型只捕获图的结构,不考虑外形等方面的问题)E.以医院管理信息系统为背景根据以下类构造类图:(属性和操作从略)医院(Hospital)、门诊部(OutpatientDepartment)、药房(Pharmacy)、住院部(InpatientDepartment)、病人(Patient)、病房(Ward)、病床(Bed)、住院病人(Inpatient)、门诊病人(Outpatient)、药品(Drug)、用药纪录(Recordondrug)F.选择填空:供选择的答案①~⑤Circle,Arc,Point,Polygon,LineG.给上述5个类添加属性和方法(至少2个属性,2个操作)H.某音像出租店,要记录图书、唱碟和客户租借信息。现已设计了两个类Book和CD如下:(1)经过分析,上述两个类重复内容(属性和方法)较多,于是又打算定义一个Loan类,表示Book类和CD类的重复部分。请画出上述三个类构成的优化类图。(2)如果再引入一个History类来记录所有租借Book和CD的历史,请画出上述四个类构成的类图。(只画出类的框架结构)六.评分标准1.能根据“学生选课系统”、“图书管理系统”的需求陈述正确找出类、正确识别类的主要属性和操作、并建立类与类之间的关系,并在上述基础上完成类图设计者,可得到80分;2.能正确完成创建类图补充实例练习者,能得到90以上分数。
本文标题:UML新编实验指导书(实验三类图)
链接地址:https://www.777doc.com/doc-2852884 .html