




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8天 津 理 工 大 学 华 信 软 件 学 院上机实验(三) 创建类和类图一、实验目的:在Rose 环境下创建类和类图, 完成应用案例的类图设计。二、实验内容:(一)创建类1)根据“需求陈述”提炼对象和类2)分析对象,并将对象抽象成类(二) 创建类图建立类之间的关系(关联关系、泛化关系、聚集或组合关系、依赖关系等)创建类图。(三) 综合应用练习。三、操作步骤:(一) 创建类1、右击Logical View2、选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: Stringclassroom: 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完成类图(对象模型)的设计(以下是简化的类图参考图,详细的类图由同学们自己来完成。) 图31 学生选课系统简化类图4. 生成代码。可以针对某一个类,比如Course类,生成Java源代码, 操作如下: 设置参数: Tools Options Notation标签 在Default 框中选Java; 检查类中所有操作,确认它们都具有返回值类型; 选种类Course,然后选:Tools Java/J2EE Generate code 代码存放的路径(CLASSPATH entries)可以设为d:code或编辑(Edit)一个路径名.生成的代码如下:/Source file: d:codeCourse.javapublic class Course private String courseName; private Int courseID; private String classRoom; public Database theDatabase; /* * 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代码,请学生自己完成。(二)创建“图书管理系统”的类图(对象模型)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()2. 上述类的关联1) Title 与 Borrower Information 之间的关联2) Title 与 Item 之间的关联(学生自己填写) 3) Item 与 Borrower Information 之间的关联(学生自己填写) 3. 完成类图(对象模型)的设计 (见下图)图3-2 图书管理系统类图(三) 创建“网上购物系统”中与“Add Item to Shopping Cart”对应的类图。1分析“Add Item to Shopping Cart”涉及到的类1)CartInterface(或Interface)类属性:(无)操作:AddItem() 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创建构件图(请学生自己完成)CarInterfaceProductProductMgr CartMgr CartItem4类映射到构件; 见实验(五)。5生成Java代码(请学生自己完成)。(四)创建类图补充实例练习A. 根据以下每一组类绘制类图。1)学校、操场(playground)、校长(principal)、学校人员、教师、食堂(dining room)、 设施、教室、学生、机房、计算机、课桌、椅子、书本。2)文件系统、文件、磁盘(disc)、目录文件(directory file)、磁道(track)、扇区(sector)、ASCII文件、二进制文件。B. 给每个类添加属性和方法(至少2个属性,2个操作)C. 绘制一个类模型来描述“无向图”(Undirected Graph)。无向图由一组顶点(vertex)和边(edge)组成。每个边均连接顶点对。(模型只捕获图的结构,不考虑外形等方面的问题)D. 绘制一个类模型来描述“有向图”(Directed Graph)。有向图由一组顶点(vertex)和边(edge)组成。每个边均连接顶点对,但边是有方向的。(模型只捕获图的结构,不考虑外形等方面的问题)E以医院管理信息系统为背景根据以下类构造类图:(属性和操作从略) 医院(Hospital)、门诊部(Outpatient Department)、药房(Pharmacy)、住院部(Inpatient Department)、病人(Patient)、病房(Ward)、病床(Bed)、住院病人(Inpatient)、门诊病人(Outpatient)、药品(Drug)、用药纪录(Record on drug)F. 选择填空:供选择的答案 Circle , Arc , Point , Polygon , LineG给上述5个类添加属性和方法(至少2个属性,2个操作)H某音像出租店,要记录图书、唱碟和客户租借信息。现已设计了两个类Book和CD 如下:(1)经过分析,上述两个类重复内容(属性和方法)较多,于是又打算定义一个Loan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年传真保密机项目规划申请报告
- 2025年生蚝项目规划申请报告
- 2025年核电项目立项申请报告
- 2025至2030中国大葱产品行业发展趋势分析与未来投资战略咨询研究报告
- 年度安全再培训考试题及答案解析
- 新入职员工岗前考试试题及答案解析
- 2025年能源互联网架构下分布式能源协同优化报告
- 三辆车安全测试题及答案解析
- 2025年废弃矿井资源再利用技术市场推广与产业应用研究报告
- 医院生产安全培训考试题及答案解析
- 高校实验室安全基础课(实验室准入教育)学习通网课章节测试答案
- 临时汽车修理工聘用合同
- 梦中的婚礼钢琴简谱曲谱
- 【申报书】高职院校高水平专业群建设项目申报书
- 劳动教育通论1-11章完整版课件
- 《炼油与化工装置机泵 在线监测系统技术规范》
- 羽毛球竞赛编排知识与方法
- 2023数据标准管理实践
- 非洲水坝施工方案
- Unit 3 Understanding ideas The Road to Success课件 2023-2024学年高中英语外研版选择性必修第一册
- 项目需求分析文档(模板)
评论
0/150
提交评论