Professional Documents
Culture Documents
: Library System
Books and journals The library contains books and journals. It may have several copies of a given book. Some of the books are for short term loans only. All other books may be borrowed by any library member for three weeks. Members of the library can normally borrow up to six items at a time, but members of staff may borrow up to 12 items at one time. Only members of staff may borrow journals. Borrowing The system must keep track of when books and journals are borrowed and returned, enforcing the rules described above. Browsing The system should allow users to search for a book on a particular topic, by a particular author etc., to check whether a copy of book is available for loan and, if not, to reserve the book. Anybody can browse in the library.
BookBorrower
Browser
JournalBorrower
Librarian
Borrow journal
Extend loan
BookBorrower
Reserve book
Browse
Browser
Borrow journal
Update catalog
Librarian
Return journal JournalBorrower
<<include>>
Check for resevati on
<<include>>
Extend loan
BookBorrower
BookBorrower
BookBorrower
JournalBorrower
BookBorrower
Reserve book
Borrow journal
Class Diagram
Identifying Classes
: Library System:
Take a list of candidates classes by underlining the nouns and noun phrases.
Books and journals The library contains books and journals. It may have several copies of a given book. Some of the books are for short term loans only. All other books may be borrowed by any library member for three weeks. Members of the library can normally borrow up to six items at a time, but members of staff may borrow up to 12 items at one time. Only members of staff may borrow journals. Borrowing The system must keep track of when books and journals are borrowed and returned, enforcing the rules described above.
Class Diagram
Identifying Classes
: Library System:
From the list of candidates classes, the following are discarded as they are obviously not good candidate class. library, because it is outside the scope of the system; short term loan, because a loan is really an event, the lending of a book to a user, which so far as we know is not useful object in this system; member of the library, redundant with library member; week, it is a measure of time, not a thing; item, it means book or journal; time, it is outside the scope of the system; system, it is part of meta-language of requirements description, not part of the domain; rule, for the same reason.
Class Diagram
Identifying Classes Possible classes:
: Library System:
LibraryMember
Copy
Book MemberOfStaff
Journal
Class diagram :
LibraryMember -borrows/returns 0..1
Library System
Copy 0..* 1..* -is a copy of
1 Book
MemberOfStaff
Journal
Sequence diagram :
theLibraryMember:LibraryMember
Library System
theBook:Book
theCopy:Copy
BookBorrower borrow()
Collaboration diagram:
System
Library
1:okToBorrow()
State diagram :
return()
on loan
Library System
on the shelf
borrow()
Class Copy
return()/book.returned(self)
on loan on the shelf
borrow()/book.borrowed(self)
State diagram :
Library System
returned()
not borrowable borrowable
Class Book