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: title, author, ISBN, publisher, year, edition, signature (the location of the media within the library building) and one of the following types: belletristic, lyric, historic, science, children books, specialized, travel or other.
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: title, ISSN, publisher, signature.
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 ISBN or 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: last name, first name, gender, date of birth, address (street, city, area code and country), date of membership, annual member fees. Users can be of the following types: regular, children, students or 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 employee.
Contents |
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).
Implementation Requirements
- The application business should run on any compliant EBJ3 application server (JSR220)such as JBoss AS.
- The Web tier should use JSP Documents.
- The database support is either MySQL or JBoss Hibernate.