某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托希赛公司开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。希赛公司决定采用面向对象的分析和设计方法开发此系统。图14-3所示为某类图书或唱碟被借阅时应记录的信息,

admin2017-08-31  37

问题 某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托希赛公司开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。希赛公司决定采用面向对象的分析和设计方法开发此系统。图14-3所示为某类图书或唱碟被借阅时应记录的信息,图14-4描述了系统定义的两个类Book和CD,分别表示图书和唱碟的信息。

为了记录每种图书或唱碟租借的历史记录,引入类CirculationHistory,类中存储的信息是图14-3中所表示的内容。请采用UML表示法将下列4个类之间的关系表示出来。

选项

答案见图14-14。 [*]

解析 问题2引入了CirculationHistory类,此类用于记录每种图书或光盘的租借记录。现要求CirculationHistory类、Book类、CD类及Items—on—loan类之间的关系,根据【问题1】可以知道,Items—on—loan是类Book和CD的公共部分,用面向对象的术语来说,类Items—on—loan是类Book和CD的父类,所以它们之间存在继承关系。
再看CirculationHistory类和其他类的关系,CirculationHistory类只需要记录图书或唱碟的名称及借阅记录,而不需要其他详细资料,这样,CirculationHistory不必和Book与CD产生关系,只需要与Items on loan产生关系即可。由于CirculationHistory中除记录图书或唱片名称以外,还需要记录借出时间、归还时间及用户名,这些数据无法从Items on loan中获取。一个CirculationItistory只包含一个Items on loan,存在1:1的关系,这说明Items on loan其实只是CirculationIlistory的组成部分,但Items on loan可脱离CirculationHistory而独立存在,也就是说,一本图书或一张CD可以没有记录其借阅历史的CirculationHistory,但有记录其基本信息的Items on loan,所以它们之间又存在聚集关系(而不是那种部分随整体销毁而销毁的组合关系)。综上所述,4个类的关系如图14.14所示。

聚合关联中涉及重复度,当没有指定重复度时,默认重复度为1,那么,图14-14中两个类CirculationHistory、Items on loan所在端的重复度都为1。
转载请注明原文地址:https://kaotiyun.com/show/wODZ777K
0

相关试题推荐
最新回复(0)