Example of good assumptions ---------------------------------------------- - "Material" and "Item" represent the same concept - A collection is owned by exactly one branch - A material belongs to exact one collection - A collection can only contain one type of material - Any kind of material should has an language attribute - Each branch has a unique name - Two collections at different branches may use same name - A user can borrow as many items as she wishes - Videos and CDs can also in more than one languages - Type (age group) of a user are defined by their age and there is no overlapping between types. - We only store information about books, cds and videos (not other kinds of material) - A user can return an items to any library branch, we need to keep tract this information - A user may not return an item for ever Examples of "not-so-good" assumptions ------------------------------------------------ - The database only store date of birth, let the applicaiton to figure out user type and associate fine-rate [not an assumption about the domain, but how you build your information system] - Library items are organized hierrachecally with item concept as parent and book, cd and video concepts as children [not an assumption about the domain, but a modeling technique used in a design decision] - Each item also has a loan period [may be redundant since each user type already has an associated loan period] - A book can only be in one language [this contradicts to what is clearly stated in the description] Examples of contraints/information not captured ---------------------------------------------- - What info need to store if an item is lost - History of an item's condition - Number of books each type of user can borrow - Sequence of tasks a librarian performs to check out/in books - Number of library branches - Fine calculation