Despite the video introducing it as an assignment, this is not a graded assignment — it is now at the same level as any other Udacity quiz, which means you should still complete it, but it is not graded separately.
The goal of this exercise is to design the information system for a library (detailed below) using a UML class diagram. To represent your design, use a UML class diagram. Include classes, their attributes and operations, and the relationships among them. Indicate the attribute types and the cardinality of any association, aggregation, and generalization relationship.
Please use yuml.me to create the diagram. You will be asked to paste both the yuml code you used to generate the diagram and the link to your diagram into the quiz. If you are having trouble getting started with the yuml syntax, check out the samples page.
1. Each patron has one unique library card for as long as they are in the system.
2. The library needs to know at least the name, address, phone number, and library card number for each patron.
3. In addition, at any particular point in time, the library may need to know or to calculate the items a patron has checked out, when they are due, and any outstanding overdue fines.
4. Children (age 12 and under) have a special restriction–they can only check out five items at a time.
5. A patron can check out books or audio/video materials.
6. Books are checked out for three weeks, unless they are current best sellers, in which case the limit is two weeks.
7. A/V materials may be checked out for two weeks.
8. The overdue fine is ten cents per item per day, but cannot be higher than the value of the overdue item.
9. The library also has reference books and magazines, which can’t be checked out
10. A patron can request a book or A/V item that is not currently in.
11. A patron can renew an item once (and only once), unless there is an outstanding request for the item, in which case the patron must return it.
These requirements are partially based on material from Ian Sommerville and Spencer Rugaber
You can find the video introducing the exercise here.