To review your skills in developing a class diagram, develop a domain class
diagram, including associations and multiplicities, based on the following narrative.
This case is a simplified (initial draft) of a new system for the University Library.
Of course, the library system must keep track of books. Information is maintained
about both book titles and the individual book copies. Book titles maintain
information about title, author, publisher, and catalog number. Individual copies
maintain copy number, edition, publication year, ISBN, book status (whether it is
on the shelf or loaned out), and date due back in.
The library also keeps track of patrons to the library. Because it is a university
library, there are several types of patrons, each with different privileges. There are
faculty patrons, graduate student patrons, and undergraduate student patrons.
Basic information about all patrons is name, address, and telephone number. For
faculty patrons, additional information is office address and telephone number. For
graduate students, information such as graduate program and advisor information
is maintained. For undergraduate students, program and total credit hours are
The library also keeps information about library loans. A library loan is a
somewhat abstract object. A loan occurs when a patron approaches the circulation
desk with a stack of books to check out. Over time a patron can have many loans. A
loan can have many physical books associated with it. (And a physical book can be
on many loans over a period of time. Information about past loans is kept in the
database.) So, in this case, an association class should be created for loaned books.
If a book is checked out that a patron wants, he/she can put that title on reserve.