- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 构建类图
【实验目的】
1.理解类的基本概念
2.理解类间的关系
3.掌握类图的绘制方法
4.掌握简单的类图设计方法
【实验器材】
1. 计算机一台;
2. Rational Rose 工具软件;
【实验内容】
【题目一】 分析选课系统中的类及关系,然后画出它们的类图。
1).分析
在选课系统中,通过分析可抽象出如下几个类:
(1)学生类
(2)管理员类
(3)课程类
学生类和管理员类的属性较容易分析,这里只列出课程类的属性和方法:
(1)课程名称
(2)开课教室
(3)课程号
(4)授课教师
(5)选课的学生
(6)开课起始时间
(7)允许选课的学生人数
(8)设置课程号
(9)设置课程名称
(10)查询课程号
(11)查询允许选课的学生人数
2)绘图步骤
下面介绍在Rose2003中创建类和它们之间关系的过程:
(1)在“Logical View“中双击Main图,或者右击“Logical View“,弹出在快捷菜单中选择“New”-“Class Diagram”,双击图标,出现图2.1,为编辑类图做好准备。
图2.1
(2)在逻辑视图中,从工具栏中选择class图标,在右边的绘图区中添加一个新元素,并取名Student表明新增一个类,如图2.2所示。
图2.2
(3)选择新创建的元素,点击鼠标右键,在弹出的菜单中选择“Open Sepcification”,弹出图2.3对话框。
(4)在对话框中,可以修改元素的名称,这里新元素的名称定为“Student”,如图2.4所示。
图2.3
图2.4
(5)点击“Attributes”选项卡,添加属性,如图2.5所示。
图2.5
(6)点击“operations”选项卡,添加方法如图2.6所示。
图2.6
(7)同样的方法添加Course类,如图2.7所示。
图2.7
(8)创建两个类之间的关系,通过分析得出:学生类和课程类之间为单向关联。
选择图标栏的“关联”,由学生类指向课程类。如图2.8所示。
图2.8
(9)创建关联名。右击关联,选择“open specification“,键入关联名(select),如图2.9所示。
图2.9
(10)分别在“Role A Detail“和“Role B Detail“选项卡中键入名称和多重性,如图2.10所示。
图2.10
(11)重复(2)-(10)中的步骤完成选课系统整个类图的创建。
(12)如图2.11转换生成代码,查看所生成的三个的代码。
图2.11
【题目二】
已知三个类A、B和C,其中类A由类B的一个实例类和类C的1个或多个实例类构成,请画出能够正确表示类A、B和C之间关系的UML类图。
【题目三】
根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
【题目四】
根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。
public class Invoice
{
public double amount;
public Date date = new Date();
public string customer;
public string specification;
public string administrator = “unspecified”;
static private int number_of_invoices=0;
public invoice()
{
number_of_invoices++;
}
public void print()
{
System.out.println(The number of invoices is ”+ number_of_invoices);
}
}
【题目五】
下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正类图。
【题目六】
(1)现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。(商品信息包括商品编号,商品名称,价格,生产厂商等)
(2)如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?
【实验报告要求】
1. 整理实验结果。
2. 小结实验心得体会。
文档评论(0)