UML 新编实验指导书.docx

上传人:牧羊曲112 文档编号:4925652 上传时间:2023-05-23 格式:DOCX 页数:10 大小:181.87KB
返回 下载 相关 举报
UML 新编实验指导书.docx_第1页
第1页 / 共10页
UML 新编实验指导书.docx_第2页
第2页 / 共10页
UML 新编实验指导书.docx_第3页
第3页 / 共10页
UML 新编实验指导书.docx_第4页
第4页 / 共10页
UML 新编实验指导书.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《UML 新编实验指导书.docx》由会员分享,可在线阅读,更多相关《UML 新编实验指导书.docx(10页珍藏版)》请在三一办公上搜索。

1、上机实验(三)创建类和类图一、实验目的:在Rose环境下创建类和类图,完成应用案例的类图设计。二、实验内容:(一)创建类1)根据“需求陈述”提炼对象和类2)分析对象,并将对象抽象成类(二)创建类图建立类之间的关系(关联关系、泛化关系、聚集或组合关系、依赖关系等) 创建类图。(三)综合应用练习。三、操作步骤:(一)创建类1、启动Rose 2003进入后,在左面结构框内右击Logical View;2、选 New 选 Class Diagram ,再在 Class Diagram 下创建类;3、给类命名(比如Course);4、增加属性(右击框途中的类,选New Attribute);5、添加类操

2、作(右击框途中的类,选New Operation);(二)建立类之间的关系1. 首先关联关系(使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮)1)单项关联;2)双向关联。2. 练习聚集和组合(先建立关联,再右击靠近“整体”方的关联线,选Aggregate 选项。)3. 然后泛化关系。4 .最后练习依赖关系。四、实例练习(不能用课件及教材上的示例,要自己来想。)1. 举实例说明类之间的关联关系。包括:单、双向关联、一对一关联、一对多关联、多对多关联、自反关 联、限定关联和关联类。2 .举实例说明类之间的聚合(组合)关系。3 .举实例说明类之间的泛化(继承)关系。包括:单继承、多

3、继承。4 .举实例说明接口与实现,抽象类与子类等。五、综合应用:(一)以“学生选课系统”为例建立类图1. “学生选课系统”涉及到的类:1) Database 类 属性:dbPath: String操作:(以下列出部分操作) Query Course() Get dbPath()2) Student 类属性:studentID: Int操作:get StudentID()get StudentName()3) Registrar 类属性:registrarName: String 操作:get regID()get registrarName()4) Course 类属性:courseID: I

4、ntclassroom: String操作:createCourse() setName() getTeacher()Add Course()Set dbPath()Delete Course()studentName: Stringset StudentID()set StudentName()regID: Intset regID()set registrarName()courseName: String teacher: stringdestroyCourse()getName()getCourseID()setCourseID()setTeacher()5) Control 类 属性

5、:(无) 操作:verifyCourse() confirmDelete()6) Form 类属性:(接口无属性) 操作:getCourseInfo()canAdd() canSelect()showSuccessInfo()displayCourseList()queryCourse()queryAssociation()showConfirmPage()querySelectCourse()2. 创建上述类之间的关系; Student和Form之间单向关联(一对多) Registrar和Form之间单向关联(一对多) Form和Course之间单向关联(一对多) Control和Cours

6、e之间单向关联(一对多) Control和Form之间双向关联(一对多) Control和Database之间单向关联(一对一)3. 完成类图(对象模型)的设计(以下是简化的类图参考图,详细的类图由同学 们自己来完成。)图31学生选课系统简化类图4. 生成代码。可以针对某一个类,比如Course类,生成Java源代码,操作如下: 设置参数:Tools今Options今Notation标签 在Default框中选Java; 检查类中所有操作,确认它们都具有返回值类型; 选种类 Course,然后选:Tools 今 Java/J2EE 今 General code 代码存放的路径(CLASSPAT

7、H entries)可以设为 d:student_namecode; 生成的代码如下:/Source file: d:codeCourse.javapublic class Courseprivate String courseName;private Int courseID;private String classRoom;public Database theDatabase;/* roseuid 44C6FA3000E6/public Course()/*项roseuid 4429D321008C*/public void getCourseID()/* roseuid 4429D34

8、700EA*/public void getCourseName()/* roseuid 44C6F9AC0096*/public void createCourse()/* roseuid 44C6F9C403BC*/public void destroyCourse()注意:此例中已经对某些空格进行了压缩。其它类对应的Java代码,请学生自 己完成。(二)创建“图书管理系统” 1.系统涉及到的类 Title类属性:name: String操作:Add()的类图(对象模型) ssISBN: String Delete()Number of item: Int Update() Borrowe

9、r Information 类 属性:name: String 操作:Find() Item类属性: ID: Int操作:Add() Loan类 属性: time: Date 操作:Create() Reservation 类 属性: time: Dateaddress: String Query()tel: Stringdelete()Delete()Destroy()FindOnTitle()操作: Create()Destroy()Find()Title 与 Borrower Information 之间的关联2. 上述类的关联1)2) Title与Item之间的关联(学生自己填写)3)

10、 Item与Borrower Information之间的关联(学生自己填写)3. 完成类图(对象模型)的设计(见下图)Loan邕 dateiintBorroer Informationname:String address: Strings city:String J zipnntH1* create 0 J* queryO* deleteQ J* create O1* destory 0 * findQ* addO* findOnTitle 0 deleteQ 1Reservation邕 date:Date+JItem+J匡 itemID:intP* create O1* destory

11、(J 1* find 0+JResevatjonLoan0.0,*Title -防 name: String+J囱 address:String 邕 ISBN:Stringp邕 Number of Reservation: int+J* create0 J* update 0* deleteQ 1* findQ J图3-2图书管理系统类图(三) 创建“网上购物系统”中与“Add Item to Shopping Cart”对应的类图。1 .分析 “Add Item to Shopping Cart”涉及到的类1) CartInterface(或 Interface)类属性:(无)操作:AddI

12、tem()2 ) CartManager(或 CartMgr)类属性:(无)操作:AddItem()3) ProductMgr 类属性: (无)操作:GetProduct()4) Product 类属性:ProductID:Int ProductName:String UnitPrice:Double操作:FindProduct()5) CartItem 类属性:Number of Items inCart:Int操作:Add Item to Cart()2.建立关系,(增加版型)创建类图。(请同学自己完成)3 .创建构件图(请学生自己完成)4. 类映射到构件;见实验(五)。5. 生成Java

13、代码(请学生自己完成)。(四)创建类图补充实例练习A. 才艮据以下每一组类绘制类图。1)学校、操场(playground )、校长(principal )、学校人员、教师、食堂(dining room)、设施、教室、学生、机房、计算机、课桌、椅子、书本。2)文件系统、文件、磁 (disc)、目录文件(directory file)、磁道(track)、 扇区(sector)、ASCII文件、二进制文件。B. 给每个类添加属性和方法(至少2个属性,2个操作)C. 绘制一个类模型来描述“无向图w (Undirected Graph)o无向图由一组顶点(vertex)和边(edge)组成。每个边均连

14、接顶点对。(模型只捕获图的结构,不考 虑外形等方面的问题)D. 绘制一个类模型来描述“有向图” (Directed Graph)。有向图由一组顶点 (vertex)和边(edge)组成。每个边均连接顶点对,但边是有方向的。(模型只捕获图的结构,不考虑外形等方面的问题)E. 以医院管理信息系统为背景根据以下类构造类图:(属性和操作从略)医院(Hospital)、门诊部(Outpatient Department)、药房(Pharmacy)、 住院部(Inpatient Department)、病人(Patient)、病房(Ward)、病床(Bed)、 住院病人(Inpatient)、门诊病人(O

15、utpatient)、药品(Drug)、用药纪录(Record on drug )F. 选择填空:供选择的答案Circle , Arc , Point , Polygon , LineG. 给上述5个类添加属性和方法(至少2个属性,2个操作)H. 某音像出租店,要记录图书、唱碟和客户租借信息。现已设计了两个类Book 和CD如下:Book: Stringauthor StringCDborrowDatef) returrif) modifyName modifyAuthorfborrowDatef) retumf) modifyName 0 modifyComposer()vname : String composer: String(1)经过分析,上述两个类重复内容(属性和方法)较多,于是又打算定义一 个Loan类,表示Book类和CD类的重复部分。请画出上述三个类构成的优化类图。(2 )如果再引入一个History类来记录所有租借Book和CD的历史,请画出上述四个类构成的类图。(只画出类的框架结构)六.评分标准1. 能根据“学生选课系统”、“图书管理系统”的需求陈述正确找出类、正确 识别类的主要属性和操作、并建立类与类之间的关系,并在上述基础上完成类图 设计者,可得到80分;2. 能正确完成创建类图补充实例练习者,能得到90以上分数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号