wing
wing

Reputation: 63

UML class diagram generalization or not?

The professor requests to draw a class diagram with multiplicity and relationship indicated for following scenario:

A student taking subjects borrow some textbooks as listed in subject syllabus and some reference books which are not listed in subject syllabus.

I know how to draw the association relationship between student and subject. But I am not sure whether I should generate the Book class and make two sub-classes for textbook and reference book. My justification is I think textbook and reference book use the same attribute and method. Generalization may be not necessary.

After thinking a few minutes, I may create the Book class with common attribute (title, ISBN, etc.) and create another class BookType to indicate the book type. But I think BookType can be an attribute to Book class.

As I do not have concrete idea, would anyone give some advise?

Upvotes: 0

Views: 271

Answers (1)

Jul10
Jul10

Reputation: 503

In general the answer depends by the functional requirements, but I would be oriented to not specify the difference beetween syllabus and reference books, because at the end they are still books, without any particular specification or methods.
So, I would exclude generalisation and also the addition of a type attribute. At most,if you need to distinguish beetween the two kind of books, you can say that a Student holds two different list of borrowed books, syllabusBooks and referenceBooks.

Upvotes: 1

Related Questions