利用存在的依赖关系构造一个图书馆的对象模型。 画出上一问中使用的图书馆程序的层次结构图。

admin2009-02-15  39

问题 利用存在的依赖关系构造一个图书馆的对象模型。
画出上一问中使用的图书馆程序的层次结构图。

选项

答案[*]

解析 本题中的图书馆有一个书和读者的聚合关系。即图书馆确实是由书和读者组成。书和副本之间的关系既不是集合关系也不是继承关系。对象“书”表示书的抽象,而副本为借出的实际书籍。读者和副本之间的关系称为“租借”。从副本的观点来看,任务是“借出被登记”,而从读者的角度来看,任务是“借出登记”。多重性指出一个副本可以不进行借出登记,也可以只借给一个读者(0..1)。另一多重性(0..*)指出一个读者每次可以具有0个、1个或多个“借出登记”关系。
   存在依赖关系定义如下:如果该较低类(子女)只在较高(双亲)类存在时存在并且较低(子女)类只与较高(双亲)类的一个实例相联系的话,就说一个类(双亲)可以与一个较低类(子女)相连关系。该关系和继承关系可以用来表示任何问题的领域。如题中的关系模式所示,除“租借”外的所有关系以及图书馆-书都满足存在依赖的要求。但不满足“租借”关系,因为一个副本对象可以存在于登记借阅它的凑者对象之前。不过,可以建立一个确实满足ED关系的租借对象。对象“书”不能是图书馆的子女,因为书可存在特定的图书馆之前或之后。可以将“人员”增加到图中,以显示在“图书馆”上不属于存在-依赖的那部分读者。
   时序图中,垂直的线代表类的实例。每条垂直线在顶部用类名、后跟一个冒号,最后为实例名来标记。水平箭头描述功能调用。箭头的尾部位于调用类的线上,箭头的头部位于被调用类的线上。功能名位于箭头上。垂直线上的宽方块给出被调用功能的执行时间。时序图比对象模型更接近设计阶段。这个图中使用的有些功能在对象模型中没有使用,而且图中调用的时序是由实际的设计所决定的。
   层次结构图给出系统的调用结构。图中的每个框代表一项功能。层次结构图通常在面向对象的开发中不使用,但它是用于理解系统的动态结构的一个非常有用的图。
转载请注明原文地址:https://kaotiyun.com/show/3gDZ777K
0

最新回复(0)