Introducing the Librarian Application

From Wiki
Jump to: navigation, search

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.


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 related activities

  • 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

Personal tools