0% found this document useful (0 votes)
30 views

Project: Library System: There Are 2 Users of The System: Patrons and Librarians. Librarians Can Also Be Patrons

This document outlines the requirements for a library system, including two types of users (patrons and librarians), the objectives of the system, information to be contained in the system about patrons, books, shelves, and integrity constraints. It also describes the interactions users can have with the system, such as logging in/out, withdrawing and returning books, searching the catalog, paying fines, and administrative functions for librarians.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Project: Library System: There Are 2 Users of The System: Patrons and Librarians. Librarians Can Also Be Patrons

This document outlines the requirements for a library system, including two types of users (patrons and librarians), the objectives of the system, information to be contained in the system about patrons, books, shelves, and integrity constraints. It also describes the interactions users can have with the system, such as logging in/out, withdrawing and returning books, searching the catalog, paying fines, and administrative functions for librarians.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 5

Project: Library System

This requirements document describes the requirements of our library system. It does not describe all the functionalities of a real library system but only of subset of them.

Introduction
There are 2 users of the system: patrons and librarians. Librarians can also be patrons.

The objectives of the library system are to allow patrons to: login/logout withdraw and return boo s search the library!s boo s pay overdue charges put a boo on hold and librarians to: login/logout add/remove boo s to/from the library move boo s from one shelf of the library to another one activate manually the ne"t#day function that updates the databases at the end of the day.

Information to be contained in the System


$. The system shall contain information about each valid patron of the system: loginid, name, password, address% unpaid fines and the identity of each boo the patron has currently withdrawn. It is assumed that the information about all patrons is part of the initial state of the database &no interactions are needed to add or delete patrons from the system'.

2. The system shall contain information about each librarian: loginid% name, password and address. It is assumed that the information about all librarians is part of the initial state of the database &no interactions are needed to add or delete librarians from the system'. Librarians can be patrons.

(. The system shall contain information about each boo in the library: isbn number% title% author&s'% year &of publication'% copy number% shelfid% current status &on# loan% on#shelf% on#hold% on#loan#and#on#hold'% the date on which the boo entered loan and/or hold status. )or boo s on loan the system shall contain the loginid of the patron involved. )or boo s on hold or on#loan#and#on#hold the system shall contain the loginid of the patron involved.

*. The system shall contain information about each shelf in the library: shelfId, capacity &the ma"imum number of boo s that the shelf can hold'.

Integrity Constraints
The database shall satisfy the following integrity constraints. $. + boo cannot be on hold for a particular patron for more than ( days. +s a result of this constraint% removing the boo from hold status% the boo reverts to the on shelf status. ,emoving the boo from on#loan#and#on# hold status will result in a status of on#loan for the boo . 2. + patron cannot withdraw a boo if his/her unpaid fines e"ceed -.. (. + patron cannot withdraw more than 2 boo s at any one time. *. The capacity of a shelf cannot e"ceed ./ boo s. .. + boo on loan for more than two wee s becomes overdue.

Interactions with the System


login/logout (patron, librarian) In order to perform the following interactions with the system% a user must login first with a valid loginid and password. If login is successful the user!s loginid is returned by the 0123 to the application program. +ll subsequent interactions are assumed to have been initiated by that user until the session completes &the user logs out'. 3ince loginid is used to identify the user in these interactions% the application should retain loginid until the end of the session% supplying it as a parameter when necessary to the 0123. The session is ended with logout% at which point the application can discard loginid and the ne"t interaction must be a new login. withdraw - (patron) The purpose of this interaction is to allow a patron to withdraw a boo .

The isbn and copy number of the boo to be withdrawn are supplied at the screen. The interaction fails if: The boo is already withdrawn. The boo is not in the library!s collection. The patron has already withdrawn . boo s. The patron owes more than -.. The boo is on hold by someone else. hold - (patron) Isbn of the boo is supplied on the screen. The purpose of this interaction is to allow a patron to place a boo that is currently withdrawn on hold. 4hen a patron puts a boo on hold% a copy number &for the given isbn' will be assigned by the system. The interaction fails if: $. 2. (. *. .. 5. 6. The boo is on the shelf The patron has withdrawn and not yet returned a boo with the same isbn The patron has already put on hold a boo with the same isbn The boo is not in the library!s collection The patron has already withdrawn . boo s. The patron owes more than -.. The patron cannot have more than 2 boo s on hold.

return - (patron) The isbn and copy number of the boo are supplied at the screen. The purpose of this interaction is to allow a patron to return a boo that he/she has withdrawn. If the boo is overdue% the patron!s charge record is updated by an amount of -$ a day. If the boo is on hold by a patron% a call is made to this patron &you can ignore the call in the transaction% but you should record the date that the call was made'. The interaction fails if the boo is not recorded as being withdrawn by that patron. search - ( patron) The purpose of this interaction is to allow a patron to search for a boo in the library. 7ne or more of the following: title, author, year are supplied at the screen. 8ither title or author must be supplied% however the title need not be complete # a

substring of the title might be supplied # and only a single author can be supplied &even though boo s can have multiple authors'. + range of years can be specified. )or e"ample% the search 9lists all boo s with the word :hi ing! in the title written by 3mith &there might be coauthors' between $;;. and 2///. The title% author and year of all boo s that satisfy the search criterion are output. pay - (patron) The amount of the payment is input at the screen. The purpose of this interaction is to allow a patron to pay a fine. The amount of payment is deducted from the balance owed. +ny e"cess is considered a donation to the library. The amount of fine remaining is displayed on the screen. next-day - (librarian) The purpose of this interaction is to allow a librarian to record the fact that another day has passed. +ctions that depend on the date &e.g.% removing a boo from hold status' should be automatically triggered by this interaction. The interaction fails if the initiator is not a librarian. &7ne implementation of this is that your interface ensures that only a librarian can initiate this interaction'. add - ( librarian) Isbn, title, year, author&s', and shelf-Id &of the shelf on which the boo is to be stored' are supplied at the screen. The purpose of this interaction is to allow a librarian to add a new boo to the library!s boo s. 2ultiple copies of the same boo can e"ist in the library!s boo s. + new copy number must be assigned to the boo to be added. The interaction fails if: The initiator is not a librarian. The shelf is full. The boo specifications conflict with a boo already in the library!s collection &e.g.% if there is a boo in the library!s collection with the same isbn number but a different author% title% or year.' move - (librarian) isbn, copy number and shelf-Id &to identify the new shelf' are supplied.

The purpose of this interaction is to allow a librarian to move a boo from one shelf to another. The interaction fails if: The boo is not in the library!s boo s. The shelf is full. The initiator is not a librarian. remove - ( librarian) Isbn and copy number are supplied at the screen. The purpose of this interaction is to allow a librarian to remove a boo from the library!s boo . The interaction fails if the boo is not in the library!s boo s or if the initiator is not a librarian.

You might also like