the relationship between author and book is clearly associationsince you would never say" book is an author(it' not inheritance)and saying " book has an author"though grammatically correctdoes not imply that authors are part of books (it' not aggregationindeedany one author may be associated with multiple books we should also pay attention to the noun (nouns are always good candidates for objectsshelf is shelf an object that needs to be modeled in cataloging systemhow do we identify an individual shelfwhat happens if book is stored at the end of one shelfand later moved to the beginning of the next shelf because another book was inserted in the previous shelfdds was designed to help locate physical books in library as suchstoring dds attribute with the book should be enough to locate itregardless of which shelf it is stored on so we canat least for the momentremove shelf from our list of contending objects another questionable object in the system is the user do we need to know anything about specific usersuch as their nameaddressor list of overdue booksso farthe librarian has told us only that they want catalogthey said nothing about tracking subscriptions or overdue notices in the back of our mindswe also note that authors and users are both specific kinds of peoplethere might be useful inheritance relationship here in the future for cataloging purposeswe decide we don' need to identify the user for now we can assume that user will be searching the catalogbut we don' have to actively model them in the systembeyond providing an interface that allows them to search we have identified few attributes on the bookbut what properties does catalog havedoes any one library have more than one catalogdo we need to uniquely identify themobviouslythe catalog has to have collection of the books it containssomehowbut this list is probably not part of the public interface what about behaviorsthe catalog clearly needs search methodpossibly separate ones for authorstitlesand subjects are there any behaviors on bookswould it need preview methodor could preview be identified by first pages attribute instead of methodthe questions in the preceding discussion are all part of the object-oriented analysis phase but intermixed with the questionswe have already identified few key objects that are part of the design indeedwhat you have just seen are several microiterations between analysis and design