Introducing the Librarian Application
A library has two types of media: books and magazines. A library management system should developed using JSP, Java Beans and XML data files.
Each type of media (book or magazine) is available in multiple copies.
Books have the following properties:
signature (the location of the media within the library building) and one of the following types:
So the infamous SICP might be encoded as:
title: Structure and Interpretation of Computer Programs author: H. Abelson, G. J. Sussman and J. Sussman ISBN: 978-0262011532 publisher: The MIT Press year: 1996 edition: 2 signature: 5.04 type: specialized
Magazines differ from books as new issues are published periodically. Magazines have at least the following properties:
An entry for MSDN Magazine might be:
title: MSDN Magazine ISSN: 1528-4859 publisher: Miller Freeman, Inc. signature: 5.11
Copies have the following properties: for
publication id (which is the
ISSN of the book or magazine the copy belongs to),
issue (only if we are dealing with a magazine copy) and
available (is it available or not).
An entry into the copies register would look like this:
publication id: 978-0262011532 issue: 0 available: 1
Users have the following basic properties:
date of birth,
area code and
date of membership,
annual member fees. Users can be of the following types:
employees. Children are persons under the age of 14. Students are persons registered with an university. The annual membership fee depends on the user's type.
An example user might look like:
last name: Muscar first name: Alex gender: male date of birth: 12.08.1986 address: Universitatstrasse 10, Cottbus, 03046, Germany date of membership: 07.03.2009 annual member fees: 19.99 eur type: student
Employees are responsible for book related tasks (e.g. book management, user management). Employees have the user type
Activities that must be supported
User Related Activities
- Users must login to access the system.
- There should be a https connection when the user login.
- Login uses a login name and a login password.
- Users can manage their personal data.
- Users required personal data consists of: login name, real name, email address (must be valid), password, tags (keywords of preferences). Users can update any of this data.
- Users can borrow (rent/book) book copies, but not magazines. A rental has a period of maximum two weeks and relates an user yo a book copy. A book is available for a rental if there exists at least one available copy in the inventory. Users can extend the borrowing term at most two times by four weeks.
- Users can subscribe to a book that is not available at the moment. Books that are subscribed cannot be extended anymore and must be returned at the end of the current borrowing term.
- Users can search for books (by title).
- Users can list all available books from the same category (in pages of 10 rows).
- Users can list their ongoing rentals.
- Employees must login to access their related pages
- Employees can manage rentals (e.g create a rental, return a book copy, subscribe an user to a borrowed book copy).
- Employees can manage users (add/delete/update). They cannot delete any user involved in ongoing rentals (safe delete).
- Employees can manage books and magazines (add/delete/update). They cannot delete any book involved in ongoing rentals.
Note: Users and employees must login using the same form (i.e the login component must be reusable).