Library Circulation System

(LCS)

Software Requirements Specification

Version 1

June 24, 2004

 

 

 

 

Mohamed Ali

Richard Allen

BuYunG J. Tarianto

Susrutha Narla

Wayne Salhany

Thara Soman


Revisions

Version

Primary Author(s)

Description of Version

Date Completed

Draft 1

Richard Allen

First rough draft.

6/13/2004

Draft 2

Thara Soman

Second draft

6/14/2004

Draft 3

Thara Soman

Third Draft

6/17/2004

Draft 4

Thara Soman

Fourth Draft

6/22/2004

Draft 5

Richard Allen

Reworded some sections, improved some formatting, moved acronyms section to the glossary

6/22/2004

Draft 6

Susrutha Narla

Duplicated Functional Requirements are Correctly Referenced and Updated Use Cases

6/23/2004

Draft 7

Wayne Salhany

Additions and changes to screen shots and use cases.

6/24/2004

Version 1

Richard Allen

Final formatting and cleaning up

6/24/2004

 

Table of Contents

Table of Figures. v

1. Introduction. 1

1.1 Purpose. 1

1.2 Intended Audience. 1

1.3 Project Scope. 2

1.4 References. 2

2. Overall Description. 3

2.1 Product Perspective. 3

2.2 Product Features. 3

2.3 User Classes and Characteristics. 4

2.4 Operating Environment 5

2.5 Design and Implementation Constraints. 5

2.6 User Documentation. 6

2.7 Assumptions and Dependencies. 6

3. Functional Requirements. 7

3.1 Administration Features. 7

3.1.1 Update User Information. 7

3.1.2 Login. 8

3.1.3 Logout 8

3.1.4 Update Library Resource Information. 9

3.1.5 System Automated Functions. 9

3.2 Inventory Features. 10

3.2.1 Add Item.. 10

3.2.2 Edit Item.. 11

3.2.3 Delete Item.. 11

3.2.4 Check-out Item.. 11

3.2.5 Check-in Item.. 12

3.2.6 Display Checked Out Items. 12

3.2.7 Search Item.. 13

3.2.8 Renew Item.. 14

3.2.9 Reserve Item.. 14

3.3 Reporting Features. 14

3.3.1 Report of Overdue Items. 15

3.3.2 Report of Missing Items. 15

4. Data Requirements. 17

4.1 Data Validation. 17

4.2 Data Dictionary. 17

5. External Interface Requirements. 19

5.1 User Interfaces. 19

5.1.1 Web Application. 19

5.1.2 Look and Feel 19

5.1.3 Reporting and Printing. 20

5.1.4 Screen Images. 20

5.1.4.1 Home Page. 20

5.1.4.2 Advanced Search (Not Logged In) 21

5.1.4.3 Advanced Search (Logged In) 22

5.1.4.4 Advanced Search Results (Not Logged In) 23

5.1.4.5 Check-In. 24

5.1.4.6 Check-Out 25

5.1.4.7 Edit User 26

5.1.4.8 Maintain Item.. 27

5.1.4.9 Maintain Validation Data. 28

5.1.4.10 Reports. 29

5.1.4.11 Reserve Item.. 30

5.1.4.12 Extend Due Date. 31

5.2 Software Interfaces. 32

5.3 Communications Interfaces. 32

6. Nonfunctional Requirements. 33

6.1 Performance Requirements. 33

6.2 Security Requirements. 33

6.3 Software Quality Attributes. 34

6.3.1 Reliability. 34

6.3.2 Flexibility. 34

6.3.3 Portability. 34

6.3.4 Testability. 34

7. Appendix A: Use Case Scenarios. 35

Use Case Summary. 35

Use Case Descriptions. 36

UC-01 – Change User Password(s) 36

UC-02 – Change User Type(s) 37

UC-03 – Configure the Due Date for an Item(s) 38

UC-04 – Configure the Fine for Overdue Item(s) 39

UC-05 – Configure the Maximum Fine per Item(s) 40

UC-06 – Change default Due date for Item.. 41

UC-07 – Change Number of Items a User can Check-Out 42

UC-08 – Add an Item(s) 43

UC-09 – Edit an Item(s) 44

UC-10 – Delete an tem(s) 45

UC-11 – Check-In an Item(s) 46

UC-12 – Check-Out an Item(s) 47

UC-13 – Reports on Over Due Item(s) 48

UC-14 – Reports on Missing Item(s) 49

UC-15 – Simple Search for Item(s) 50

UC-16 – Advanced Searched for Item(s) 51

UC-17 – Renew Item(s) 52

UC-18 – Reserve Item(s) 53

UC-19 – Change Password. 54

8. Appendix B: Glossary. 55

 Table of Figures

Figure 5.1.4.1  Home Page Screen. 20

Figure 5.1.4.3  Advanced Search Screen (Not Logged In) 21

Figure 5.1.4.2  Advanced Search Screen (Logged In) 22

Figure 5.1.4.4  Advanced Search Results Screen (Not Logged In) 23

Figure 5.1.4.5  Check-In Screen. 24

Figure 5.1.4.6  Check-Out Screen. 25

Figure 5.1.4.7  Edit User Screen. 26

Figure 5.1.4.8  Maintain Item Screen. 27

Figure 5.1.4.9  Maintain Validation Data Screen. 28

Figure 5.1.4.10  Reports Screen. 29

Figure 5.1.4.11  Reserve Item Screen. 30

Figure 5.1.4.12  Extend Due Date Screen. 31


1.  Introduction

1.1  Purpose

This document is the Software Requirements Specification (SRS) for the Library Circulation System (LCS).  It contains detailed functional, non-functional, and support requirements and establishes a requirements baseline for development of the system.  The requirements contained in the SRS are independent, uniquely numbered, and organized by topic.  The SRS serves as the official means of communicating user requirements to the developer and provides a common reference point for both the developer team and stakeholder community.  The SRS will evolve over time as users and developers work together to validate, clarify and expand its contents.

1.2  Intended Audience

This SRS is intended for several audiences, including the customer, as well as the project managers, designers, developers, and testers.

  • The customer will use this SRS to verify that the developer team has created a product that is acceptable to the customer.
  • The project managers of the developer team will use this SRS to plan milestones and a delivery date, and ensure that the developing team is on track during development of the system.
  • The designers will use this SRS as a basis for creating the system’s design.  The designers will continually refer back to this SRS to ensure that the system they are designing will fulfill the customer’s needs.
  • The developers will use this SRS as a basis for developing the system’s functionality.  The developers will link the requirements defined in this SRS to the software they create to ensure that they have created software that will fulfill all of the customer’s documented requirements.
  • The testers will use this SRS to derive test plans and test cases for each documented requirement.  When portions of the software are complete, the testers will run their tests on that software to ensure that the software fulfills the requirements documented in this SRS.  The testers will again run their tests on the entire system when it is complete and ensure that all requirements documented in this SRS have been fulfilled.

1.3  Project Scope

The purpose of LCS is to provide a convenient, easy-to-use, Internet-based application for Librarians to track and manage the circulation of resources at a university, which include books, magazines, journals, Compact Disks (CD), videocassettes, Digital Video Disks (DVD) (see page 10 for complete list), etc.  In addition, the purpose of LCS is also to provide a convenient, Internet-based method for Students and Faculty of a university to search for items in the library’s circulation, renew items they have checked out, and reserve items.   LCS will provide following major functionalities:

  • Allow the system to be accessed via the Internet.
  • Restrict access to functionality of the system based upon user roles.  For example, only Administrators of the system will be provided functionality to change user types, configure how long items may be checked out and the fines for overdue items.
  • Maintain a database of all items in the library’s circulation.
  • Allow any user to search for items.
  • Allow Librarians to check-out and check-in items for valid users.
  • Allows valid users to renew items online by logging into the system.
  • Allow Librarians to generate reports on the items in the system (e.g., all overdue items, all missing items.)

A web-based solution will provide many benefits including the following:

  • The application only needs to be installed and maintained on one computer.
  • The application can be accessed from any computer that has Internet access and a compatible web browser, which means that Students/Faculty can search for items from home at any time of the day, even when the library is closed.
  • Future releases of the application can provide web-based interfaces (e.g., Web Services) for other library systems, so that other libraries can search the inventory or even reserve an item.

1.4  References

The following reference was used in support of this document.

IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications.

2.  Overall Description

2.1  Product Perspective

LCS shall be a new, self-contained system that can be used to replace existing systems whether they are electronic or manual.  LCS shall not have the responsibility of maintaining resource data that is provided by the Library of Congress, such as ISBN numbers.  In addition LCS shall not have the responsibility of maintaining user data that is provided by a university’s registration system and human resources department, such as Student/Faculty ID numbers, names, etc.  LCS shall provide tables in its database for such information, but how that information gets into the LCS database is to be handled by the university.  Therefore LCS does not need to specifically interface with any other computer system.

LCS shall be implemented such that its functionality is accessible via a typical Internet browser (i.e., Internet Explorer, Netscape, or Mozilla).  LCS shall also be implemented such that the web server can reside on a separate machine than the database server, but the web server and database server must not be required to be on separate machines.

2.2  Product Features

LCS shall have the following major features:

  • Accessible via the Internet.
  • Allow valid users to login and logout.
  • Restrict access to functionality of the system based upon user roles.  For example, only Administrators of the system will be provided functionality to configure how long items may be checked out and the fines for overdue items.
  • Allow administrators of the system to change user types and configure parameters of the system.
  • Maintain a database of all items in the library’s circulation.
  • Allow any user to search for items in the library’s circulation without having to log in to the system.
  • Allow valid users that log in to renew items, reserve items, and view the items they have checked out.
  • Allow Librarians to check-out and check-in items for valid users.
  • Allow Librarians to generate reports on the items in the system (e.g., all overdue items, all missing items.)

2.3  User Classes and Characteristics

The following table describes general user’s characteristics that will affect the functionality of the software product.

 

User Type

Characteristics

Technical Expertise

Affects to functionality

Public User

A Public user does not have an account in the system. They can only search for items.

Experienced with operating Microsoft Windows/ Linux

Experienced with browsing the internet using graphical browsers such as Internet Explorer, Netscape Communicator, and Mozilla.

The user interface should follow standard web practices such that the web interface is consistent with typical internet applications.

The user interface should provide appropriate error messages for invalid input as well as tool-tips and online help.

Student

The largest user group of the system. They will search for items, renew items and reserve items.

Faculty

Librarian

Has all the system privileges of Student and Faculty users as well as additional privileges to the following functionality. Responsible for adding/editing/deleting items, checking out/in items, generating reports on overdue and missing items, changing the number of items a user can checkout, changing default item due dates, and giving Librarian rights to other users.

Administrator

Has all the system privileges of a Librarian plus additional privileges to the following functionality. Responsible for changing user passwords, changing user types, and configuring the system.

Table 2.3.1  User Characteristics

As noted in the table above, the user types have a hierarchical relationship such that the Administrator user type inherits all of the privileges of the Librarian user type, the Librarian user type inherits all of the privileges of the Faculty user type, and so on.


2.4  Operating Environment

The following outlines the types of client and server system that LCS will operate on:

Operating System

Browser

Monitor

Microsoft Windows or Linux

Internet Explorer 6 or later, Netscape 7 or later, Mozilla 1.0.1 or later

17” at 1280 x 1024 or

1024 x 768 resolution

Table 2.4.1  Client Machine Requirements

 

Operating System

Processor

RAM

Microsoft Windows 2000 Professional (or greater)

Intel Pentium 4 at 1.7 GHz

256 Mbytes

Table 2.4.2  Server Machine Requirements

2.5  Design and Implementation Constraints

LCS will have the following constraints:

  • The system shall execute on the Microsoft Windows 2000 operating system or greater.
  • The system shall be usable via a web browser and the Internet.
  • The system shall restrict the user’s access to functionality by user role.
  • The user interface of the system shall be easy to use with minimal clutter and shall make use of drop-down boxes, radio buttons, and other selectable fields wherever possible instead of fields that require the user to type in data.

2.6  User Documentation

This section identifies the documentation that is required to support the system.  LCS will be deployed with documentation appropriate for its size and complexity.  This documentation will provide an important foundation for the successful operation and management of the system.

  • The system’s configuration shall be documented and updated as changes to the system are made due to patches, new releases, etc.
  • A user guide describing how to use LCS shall be deployed with the system.
  • A product reference manual describing how to install, setup, and run the application shall be provided.
  • LCS shall contain a help system that will be accessible while a user is on the system via tool-tips and icons that link to user documentation.

2.7  Assumptions and Dependencies

Due to the fact that this is a school project for a summer semester and time is very limited, the following two assumptions have been made.

  • A commercial product such as LCS would most likely obtain all user information (minus user ID and password) from some other university system.  For example, when a Student register’s for classes at a university, their information is typically entered into an electronic system that maintains data on every Student of the university.  In addition, when Faculty and staff of a university are hired, their information is typically entered into an electronic system that maintains data on every Faculty and staff member of the university.  A system such as LCS would typically interface with these systems to gather information on valid users of LCS.  Therefore, for this project, the assumption is made that the user data maintained in LCS’s database (minus user ID and password) is automatically populated by some other electronic system of the university.
  • MARC (MAchine Readable Cataloguing) is a machine-readable exchange format for bibliographic data.  MARC data for any resource that has been given an ISBN number can be electronically obtained from the Library of Congress (http://www.loc.gov/).  Several programs are available for parsing MARC files in order to create software applications for electronically gathering and/or using data on ISBN labeled resources including the Java-based open-source project MARC4J (http://marc4j.tigris.org).  A commercial product such as LCS would most likely provide functionality that would allow librarians to gather MARC data on new additions to the library and automatically populate the LCS database with this information.  In the interest of time, it is assumed that a program outside the scope of LCS provides this functionality, and therefore this external program will handle populating the LCS database with ISBN resources.  LCS will only provide functionality for users to assign call numbers to new copies of an ISBN resource that is already in the LCS database.

3.  Functional Requirements

This section will specify the functional requirements of the system.  They are divided into

  • Administration Features
  • Inventory Features
  • Reporting Features

3.1  Administration Features

The Administration Features shall provide the login and logout functions and provide a mechanism for Librarian/Administrator to update information about the users of the Library and Library resources.

3.1.1  Update User Information

Librarian

FR1          The system shall enable any Librarian to give Librarian rights to other users. A Librarian shall be able to change user type to “Librarian” or “Student” or “Faculty”

Priority: High

 

FR2          The system shall enable the Librarian to change the number of items each user can check-out.

Priority: High

 

Administrator

FR3          The system shall enable the Administrator to change a user’s type to any user type.

Priority: High

 

FR4          The system shall enable the Administrator to change user passwords.

Priority: High

 


3.1.2  Login

Student/Faculty/Librarian/Administrator

FR5          The system shall allow the user to log in based upon an assigned login id and password.

Priority: High

 

FR6          The system shall enable users (Students and Faculty) to change their passwords.

Priority: High

 

FR7          The system shall provide the user with a status of their checked out items with the following information:

o       Person Status

o       Call Number

o       Title

o       Author

o       Check-out Date

o       Due Date

o       Item Status (Checked Out, Renewed, Overdue etc)

o       Fines and Fees

Priority: High

 

 

Librarian/Administrator

FR8          The system shall provide the Librarian/Administrator with at least the following features:

o       Administration

o       Inventory

o       Reports

Priority: High

 

3.1.3  Logout

Student/Faculty/Librarian/Administrator

FR9          The system shall allow users to logout of the system.

Priority: High

 


3.1.4  Update Library Resource Information

Administrator

FR10      The system shall enable the Administrator to configure the due date calculation for an item, currently 14 days.

Priority: High

 

FR11      The system shall enable the Administrator to configure the fine/item/day for an overdue item, currently 50 cents/day.

Priority: High

 

FR12      The system shall enable the Administrator to configure the maximum fine per item, currently $10 per item.

Priority: High

 

3.1.5  System Automated Functions

 

FR13      The system shall automatically set the user status to “ABLE TO CHECK-OUT” if the user has no books overdue and if the user hasn’t reached the checkout limit.

Priority: High

 

FR14      The system shall automatically set the user status to “NOT ABLE TO CHECK-OUT” if the user has books overdue or if the user has reached the checkout limit.

Priority: High  

 

FR15      The system shall automatically compute the due date for every item checked out, which is currently 14 days from the date an item is checked out.

Priority: High

 

FR16      The system shall automatically send e-mail to the user when an item is overdue.

Priority: Low

 

FR17      The system shall compute fines automatically for overdue items.  The fine is currently 50 cents/day.  The fine should not exceed the maximum fine per item (the maximum fine is currently $10 per item).

Priority: High

 

FR18      The system shall automatically set the Item Status to IN LIBRARY when a new item is added and when the Librarian checks in item. 

Priority: High

 

FR19      The system shall automatically set the Item Status to CHECKED OUT when an item is checked out.

Priority: High

FR20      The system shall automatically set the Item Status to RENEWED when an item is renewed.

Priority: High

 

FR21      The system shall automatically set the Item Status to OVERDUE when an item is overdue.

Priority: High

 

FR22      The system shall automatically set the Item Status to LOST when an item is overdue for more than 60 days.

Priority: High

 

FR23      The system shall automatically compute the due date for every item renewed, which is currently 14 days from the date an item is renewed.

Priority: High

 

 

3.2  Inventory Features

The system shall enable Librarians to add, edit or delete an item. Items include Books, Journals, Magazines, Tapes, Compact Disks (CDs), Video Cassettes, and Digital Video Disks (DVDs).

The system shall allow the Librarian to check-in, check-out, renew and reserve items for valid users.  The system also shall allow users to renew and reserve items online by logging into the system.

 

3.2.1  Add Item

Librarian

FR24      The system shall allow the Librarian to add items.

Priority: High

 

FR25      The system shall store the item information.

[And shall set the Status to IN LIBRARY] See FR18.

Priority: High

 

FR26      The System shall display a confirmation message confirming the addition of a new item.

Priority: High

 


3.2.2  Edit Item

Librarian

FR27      The system shall allow the Librarian to edit item information.

Priority: High

 

FR28      The system shall allow the Librarian to correct the status (MISSING or REFERENCE) of an item.

Priority: High

 

3.2.3  Delete Item

Librarian

FR29      The system shall allow the Librarian to delete items.

Priority: High

 

FR30      The System shall display a confirmation message confirming the removal of an item.

Priority: High

 

3.2.4  Check-out Item

Librarian

FR31      The system shall allow the Librarian to check-out items.

Priority: High  

 

FR32      The system shall allow only valid users to checkout an item. A user is considered to be a valid user if the user currently exists in the system and the status of the user is set to “ABLE TO CHECK-OUT” by the system.

 

The following is the list of the possible statuses for a user:

 

o       ABLE TO CHECK-OUT - This user status is set automatically by the system if the user has no books overdue and if the user hasn’t reached the checkout limit. See FR13.

 

o       NOT ABLE TO CHECK-OUT – This user status is set automatically by the system if the user has books overdue or if the user has reached the checkout limit. See FR14.

Priority: High

 


FR33      The system shall limit the number of items a user can check-out (5 is the default).

Priority: High

 

The system shall compute the due date for every item checked out, which is 14 days from the date an item is checked out. See FR15.

 

The system shall update the status of each item to CHECKED OUT. See FR19.

 

FR34      The system shall update the user’s checkout information with the Call Numbers, date checked out, and due dates. See FR6.

Priority: High

 

3.2.5  Check-in Item

Librarian

FR35      The system shall allow the Librarian to check-in items.

Priority: High

 

The system shall update the status of each item to IN LIBRARY. See FR18.

The system shall charge a fine if an item is overdue. See FR17.

 

FR36      The system shall update the user’s checkout information showing the item is no longer checked out.

Priority: High

 

3.2.6  Display Checked Out Items

Student/Faculty/Librarian/Administrator

FR37      Allow Librarians to see what items a particular user has checked out.

Priority: High

 

The system shall allow logged in users to see the items they have checked out and

The system shall display a list of items checked out and it includes the following information: See FR6.

o       Person Status

o       Call Number

o       Title

o       Author

o       Location

o       Item Status (Checked Out or Renewed)

o       Due Date

o       Fines and Fees

 

FR38      If there are no items checked out, the system shall display an appropriate message.

Priority: High

 

3.2.7  Search Item

Public Users/Student/Faculty/Librarian/Administrator

FR39      The system shall enable any user to perform advanced search for an item without logging into the system. The following are the Advanced Search capabilities the system provides:

o       Search based on authors/co-authors

o       Search based on item title

o       Search based on Call Number

o       Search based on ISBN

o       Search based on Subject

Priority: High

 

FR40      The system shall enable any user to perform a simple search on items.

Priority: Low

 

FR41      The search results shall display a list of items, which match the search parameters with the following details:

o       Title

o       Author

o       Library Location

o       Call Number

o       Status (Checked Out, IN Library etc)

Priority: High  

 

FR42      The system shall display a detailed view of an item when the user selects an item from the search results. The details to be displayed are:

o       Author

o       Title

o       Publisher

o       Subject(s)

o       Location

o       Call Number

o       Number of Items

o       Status

Priority: High

 

FR43      If no matching items are found, the user will be notified.

Priority: High

 


3.2.8  Renew Item

Student/Faculty/Librarian/Administrator

FR44      The system shall enable users to renew items online by logging into the system. Once a user logs in and sees a list of items they have checked out, they may renew items.

Priority: High

 

The system calculates the new due date by adding 14 days to the due date. See FR23.

 

FR45      The system shall allow the user to select the items to be renewed.

Priority: High

 

FR46      The system will update the display accordingly with the new due date.

Priority: High

 

FR47      If the user has already renewed the item once, the system will inform the user that the maximum number of renewals has already been made and the item cannot be renewed.

Priority: High

 

Librarian

FR48      The system shall allow the Librarian to override the default item due date when renewing an item.

Priority: Low

 

3.2.9  Reserve Item

Student/Faculty/Librarian/Administrator

FR49      The system shall enable users to reserve items online by logging into the system.

Priority: Low

 

FR50      The system shall enable users to cancel items on reserve.

Priority: Low

 

3.3  Reporting Features

The system shall provide the following reports to the Librarian:

  • Report of overdue items
  • Report of missing items

3.3.1  Report of Overdue Items

Librarian

FR51      The system shall enable the Librarian to execute the report of overdue items.

Priority: High

 

FR52      The Librarian shall specify the field on which the report is to be sorted.  The options are:

o       First Name

o       Last Name

o       Person ID

o       Item Name

o       Call Number

o       Due Date

Priority: Low  

 

FR53      The report shall consist of the following fields:

o       User Name (First Name, Last Name)

o       Person ID

o       Item Name

o       Item ID

o       Item Author

o       Call Number

o       Due Date

o       Fines and Fees

Priority: High

 

FR54      Once the report is displayed on the screen the system shall provide the option to print the report.

Priority: Low

 

FR55      If there are no overdue items, no report is generated.

Priority: High

 

3.3.2  Report of Missing Items

Librarian

FR56      The system shall enable the Librarian to execute report of missing items.

Priority: High  

 

FR57      The Librarian shall specify the field on which the report is to be sorted.  The options are:

o       Item ID

o       Item Name

o       Call Number

o       ISBN

Priority: Low  

FR58      The report shall consist of the following fields:

o       Item ID

o       Item Name

o       Item Author

o       Call Number

o       ISBN

o       Missing Date

Priority: High

 

FR59      Once the report is displayed on the screen the system shall provide the option to print the report.

Priority: Low

 

FR60      If there are no missing items, no report is generated.

Priority: High

4. Data Requirements

This section describes the data requirements necessary to support the functional requirements.

The “Example” column of the tables in this section gives some sample data when meaningful.

The “Required” column of the tables in this section states whether or not the field specified is required to be stored with each row and the default value if the field is not required.

4.1 Data Validation

DR1        All data shall be validated by the system before being stored in the database to minimize the possibility that invalid data will be stored in the database.  If the system determines that the user has entered invalid information, then an appropriate error message shall be displayed and the system shall allow the user to edit and resubmit the information.

Priority: High

4.2  Data Dictionary

Data

Description

Type

Min Length

Example

Required

Author

Author of a resource

character

50

Ian Sommerville

Yes

Subject

Subject of a resource

character

50

Software Engineering

Yes

Publisher

Publisher of a resource

character

50

Addison-Wesley

Yes

Room

Location of a resource

character

50

General Collection(2nd Floor)

Yes

Resource Type

Type of resource

character

50

Book

Yes

Item Status

Status of an Item

character

50

IN LIBRARY

Yes

Person Type

Type of person

character

50

Student

Yes

ISBN

The standard book number

alphanumeric

13

0-201-42765-6

Yes

Call Number

Unique number to identify a copy of an item

alphanumeric

18

QA76.758 .S657 1996

Yes

Title

The title of the resource

character

50

Software Engineering Process

Yes

First Name

A person’s first name

character

50

Kendra

Yes

Middle Name

A person’s middle name

character

50

Text

Yes

Last Name

A person’s last name

character

50

Mullen

Yes

ID

Unique ID of a person

numeric

6

81204

Yes

Max Items

The maximum number of items a person may check-out of the library

numeric

2

5

Yes, the default value is 5 items

Email Address

Person’s email address

alphanumeric

50

Kmullen@yahoo.com

Yes

Login ID

Person’s login ID

character

8

kmullen

Yes

Password

A person’s password

alphanumeric

6

1qaz2wsx

Yes

 

A resource has a type.  For example, it may be a book or DVD.  A resource has an author, a subject, a title, an ISBN, and a publisher. 

An item is an instance of a resource.  For example, it may be a copy of a book or DVD.  If it is in the library, it has a “location”. If it has some other status, the location may be undefined.

A person has a first name, middle name, last name, email address, password, a maximum number of items they can check-out of the library and a status.  They may optionally have a Student ID/Faculty ID or employee ID.

If an item is checked out then it has the identification of the person that has the item checked out.  Otherwise this identification is undefined.  It will also have a date checked out and a due date.

5.  External Interface Requirements

5.1  User Interfaces

5.1.1  Web Application

The library application will have a web interface consistent with the expected functioning and interaction typical of an Internet application.

  • The application will be accessed using any commonly used web browser.
  • Typical navigation links and action buttons will be used.
  • User interface will be graphical and “command button oriented.”

5.1.2  Look and Feel

The library application will have a common look and feel in all pages / screens of the application.

  • All pages will share a common set of fonts, font sizes, graphic treatment, etc.
  • All pages will have a common heading that identifies the application
  • All pages will have navigation buttons that allow navigation to other pages allowed based on logon state and type of user.
  • All pages will have an area for error messages and instructional messages prompting the user to take appropriate actions.
  • All pages will have an area for data collection as appropriate given the state of the application.  This area will have buttons for actions such as add, edit, delete, check-in and check-out.
  • Legends on buttons will be consistent over all the pages of the application.  For example, if ‘Edit’ is used as a caption then ‘Update’ would not also be used.
  • All pages will have an area for data output or reporting.
  • These areas that are common to all pages will appear consistently in the same order throughout the application

5.1.3  Reporting and Printing

The library application will have a common reporting and printing behavior in the entire application.

  • The results of a search or report function will appear in the data output or reporting area of the page as described above.
  • A button labeled “Report Only Page” will appear in this same area.
  • When the “Report Only Page” button is clicked, an additional browser window will open with the report formatted in that page.  The navigation area and other normal page areas will not be displayed.  The user may then use the browser’s built-in print function to print the page, if desired.

5.1.4  Screen Images

This section shows screen images that are a rough, initial representation of what the screens for the final system may look like.  Note that the system design process will likely generate screen images that are somewhat different.  The customer will approve any changes made to the screens during the design process, those changes will be incorporated into this document, and a new version of this document will be released.

5.1.4.1  Home Page

Figure 5.1.4.1  Home Page Screen

This is the entry page, the page the user sees before logging in.  The user can search for items in the library system.

5.1.4.2  Advanced Search (Not Logged In)

 

Figure 5.1.4.2  Advanced Search Screen (Not Logged In)

 

This is the advanced search screen seen by a user that is not logged in and has clicked the Advanced Search button.


5.1.4.3  Advanced Search (Logged In)

 

Figure 5.1.4.3  Advanced Search Screen (Logged In)

 

This is the advanced search screen seen by a librarian that is logged in and has clicked the Advanced Search button.

 


5.1.4.4  Advanced Search Results (Not Logged In)

 

Figure 5.1.4.4  Advanced Search Results Screen (Not Logged In)

 

This is the advanced search screen seen by a user that is not logged in and has entered some search criteria and clicked the Search button.

 


5.1.4.5  Check-In

 

Figure 5.1.4.5  Check-In Screen

 

This is the Check-in / Check-out screen after the librarian, Betty Bookreader, has logged in selected Bill Jones.  The item Bill Jones has checked out is visible and the librarian can check the item in by clicking the Check-in button next to the item.

 


5.1.4.6  Check-Out

 

Figure 5.1.4.6  Check-Out Screen

 

This is the Check-in / Check-out screen that the librarian sees after logging in and identifying a student and an item.  The student and item are displayed for verification and the item may be checked out to the student (or other user) by clicking the Check-out button.


5.1.4.7  Edit User

 

Figure 5.1.4.7  Edit User Screen

 

This is the Edit User screen after the librarian, Betty Bookreader, has logged in and identified a user.  The user in this case is Able Archer.  The librarian may edit data about the user by clicking the Edit button.


5.1.4.8  Maintain Item

 

Figure 5.1.4.8  Maintain Item Screen


5.1.4.9  Maintain Validation Data

 

Figure 5.1.4.9  Maintain Validation Data Screen


5.1.4.10  Reports

 

Figure 5.1.4.10  Reports Screen


5.1.4.11  Reserve Item

 

Figure 5.1.4.11  Reserve Item Screen


5.1.4.12  Extend Due Date

 

Figure 5.1.4.12  Extend Due Date Screen


5.2  Software Interfaces

The system must interface with a MySQL database to store and retrieve all of the data related to the system specified in section 4.

5.3  Communications Interfaces

The system shall use the Hyper Text Transfer Protocol (HTTP) to transfer information to and from the client web browser.

 

6.  Nonfunctional Requirements

All requirements in this section are high priority.

6.1 Performance Requirements

NF1          The error message notifications shall respond to the user in no more than 5 seconds.

NF2          Functions of the system that modify data stored in the database shall respond to the user in no more than 5 seconds.

NF3          The search functions shall respond to the user in no more than 10 seconds.

NF4          The report functions shall respond to the user in no more than 10 seconds.

NF5          All other functions of the system not mentioned above shall respond to the user in no more than 5 seconds.

6.2  Security Requirements

NF6          With the exception of the item search functionality, the system shall require users to log in with a valid user ID and password before being granted access to the system’s functionality.

NF7          Every user’s user ID and password shall be stored in the system’s database.

NF8          User passwords shall be stored in an encrypted format in the database.  There are no specific requirements on the level of encryption used to store the passwords, but the system shall be developed such that no person will be able read a password from the database and use that password to successfully log in to the system.

NF9          User ID’s shall be system generated such that they follow the format <initial of first name><first 7 characters of last name>[integer].  The initial of the user’s first name shall be combined with the first seven characters of the user’s last name (i.e., user Richard Allen would have a user ID of rallen).  The integer is only applied if the convention <initial of first name><first 7 characters of last name> does not generate a unique user ID (meaning another user has the same name, for example, user Richard Allen might get a user ID of rallen2).

NF10      User passwords shall initially be generated as the user’s Social Security Number/Tax ID.  When the user changes his or her password or an administrator changes a user’s password, the new password must be a minimum of 6 alphanumeric characters long and contain a minimum of two characters and two numbers.

 

6.3  Software Quality Attributes

6.3.1  Reliability

NF11      The system shall generate error messages when the user attempts to enter invalid data.

NF12      The system shall reject invalid user input without crashing.

NF13      The system shall show appropriate messages when the database is down or any other component cannot be accessed.

NF14      The system shall be recoverable within a day if it is down.

6.3.2  Flexibility

NF15      The data entered into the system shall be stored in the database in such a manner as to make it easy to export and load the data into another relational database management system.  In other words, non-standard features of the database system shall be avoided.

6.3.3  Portability

NF16      The system shall be designed with portability in mind.  The system shall be designed such that moving the system from a Microsoft Windows OS to a Linux or Unix based OS shall require little to no rewrite of the system code.  In addition, the system shall be designed such that the user interface of the system can be changed from the required Web browser based interface to a different interface and require little to no rewrite of the non user interface system code.

6.3.4  Testability

NF17      No part of the system shall be left untested before it is delivered to the customer.

7.  Appendix A: Use Case Scenarios

Use Case Summary

The following table summarizes the use cases of the system.

 

Use Case Number

Use Case Description

Actors

UC-01

Change User Passwords

Administrator

UC-02

Change User Types

Administrator, Librarian

UC-03

Configure the Due Date for an Item

Administrator

UC-04

Configure the Fine for Overdue Items

Administrator

UC-05

Configure the Maximum Fine per Item

Administrator

UC- 06

Change default Item Due dates

Librarian

UC-07

Change Number of Items a User can Check-out

Librarian

UC-08

Add an Item

Librarian

UC-09

Edit an Item

Librarian

UC-10

Delete an Item

Librarian

UC-11

Check-In an Item

Librarian

UC-12

Check-Out an Item

Librarian

UC-13

Reports on Over Due Items

Librarian

UC-14

Report on Missing Items

Librarian

UC-15

Simple Search for Items

Librarian, Student, Faculty, Administrator

UC-16

Advanced Search for Items

Librarian, Student, Faculty, Administrator

UC-17

Renew Items

Student, Faculty, Librarian

UC-18

Reserve Items

Students, Faculty

UC-19

Change Password

Student, Faculty

Use Case Descriptions

 

UC-01 – Change User Password(s)

Use Case Goal:

o       To change the existing password to a new password

 

Triggering Events:

o       The administrator has a need to change the existing password of a user to a new password.

Primary Actors:

o       Administrator

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click the Edit User button

o       Select the User (SCR2)

o       Click on Edit button

o       Change Password for the selected User

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR2

 

Associated Screens: SCR1 and SCR2


UC-02 – Change User Type(s)

 

Use Case Goal:

o       To change the user type

 

Triggering Events:

o       The administrator and librarian have a need to change the user type.

 

Primary Actors:

o       Administrator, Librarian

 

Main Scenario:

o       Visit Login page and Log in  (See Fig. 5.1.4.1 Home Page)

o       Click the Edit User button

o       Select the User (SCR2)

o       Click on the Edit button

o       Change the type for the selected User

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR2

 

Associated Screens: SCR1 and SCR2


UC-03 – Configure the Due Date for an Item(s)

 

Use Case Goal:

o       To configure the due date for an item

 

Triggering Events:

o       The administrator has a need to configure the due date for an item.

 

Primary Actors:

o       Administrator

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Maintain Item button

o       Select the Item

o       Click on Edit Due Date for an Item button (SCR3)

o       Change the Due Date for selected Item

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR3

 

Associated Screens: SCR1 and SCR3


UC-04 – Configure the Fine for Overdue Item(s)

 

Use Case Goal:

o       To configure the fine for overdue item

 

Triggering Events:

o       The administrator has a need to configure the fine for overdue item.

 

Primary Actors:

o       Administrator

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Maintain Validation Data button

o       Click on Configure the Fine for an Overdue Item button (SCR3)

o       Update the Fine for selected Overdue Item

o       Click on Update button

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR3

 

Associated Screens: SCR1 and SCR3


UC-05 – Configure the Maximum Fine per Item(s)

 

Use Case Goal:

o       To configure the maximum fine per item

 

Triggering Events:

o       The administrator has a need to configure the maximum fine per item.

 

Primary Actors:

o       Administrator

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Maintain Validation Data button

o       Click on Configure the Maximum Fine per Item button (SCR3)

o       Update the Fine for selected Item

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR3

 

Associated Screens: SCR1 and SCR3


UC-06 – Change default Due date for Item

 

Use Case Goal:

o       To change the default due date for item

 

Triggering Events:

o       The librarian has a need to change the default due date for item.

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Maintain Item button

o       Click on Change default Due date for Item button (SCR3)

o       Update the Due date for selected Item

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR3

 

Associated Screens: SCR1 and SCR3


UC-07 – Change Number of Items a User can Check-Out

 

Use Case Goal:

o       To change number of items a user can check-out

 

Triggering Events:

o       The librarian has a need to change number of items a user can check-out

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Edit Users button

o       Enter User’s Name and Click Search (SCR2)

o       List of matching users is displayed

o       Select the User and User data is displayed

o       Click on Edit button

o       Change the number of Item selected User can Check-Out

o       Click on Update button to confirm

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR2

 

Associated Screens: SCR1 and SCR2


UC-08 – Add an Item(s)

 

Use Case Goal:

o       To add new item(s)

 

Triggering Events:

o       The librarian has a need to add new item(s)

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Maintain Item button

o       Click on Add Item button to add new item (SCR3)

o       Enter the new Item data (select Location)  and confirm changes

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR3

 

Associated Screens: SCR1 and SCR3


UC-09 – Edit an Item(s)

 

Use Case Goal:

o       To edit an item

 

Triggering Events:

o       The librarian has a need to edit an item(s).

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Maintain Item button

o       Search and Select the Item to edit

o       Click on Edit Item button (SCR3)

o       Edit the Item details and confirm changes

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR3

 

Associated Screens: SCR1 and SCR3


UC-10 – Delete an tem(s)

 

Use Case Goal:

o       To delete an item

 

Triggering Events:

o       The librarian has a need to delete an item(s).

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Maintain Item button

o       Search and Select the Item to delete

o       Click on Delete Item button (SCR3)

o       Delete the selected Item and confirm changes

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR3

 

Associated Screens: SCR1 and SCR3


UC-11 – Check-In an Item(s)

 

Use Case Goal:

o       To check-in an item

 

Triggering Events:

o       The librarian has a need to check-in an item.

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Check-In/Check-Out button

o       Search for the Person/User (SCR6)

o       Select User and list of items checkout to the user is displayed

o       Click on Check In button and Status changes from Checked Out to In Library

o       A message is displayed

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR6

 

Associated Screens: SCR1 and SCR6


UC-12 – Check-Out an Item(s)

 

Use Case Goal:

o       To check-out an item

 

Triggering Events:

o       The librarian has a need to check-out an item

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click on Check-In/Check-Out button

o       Enter User name and Click Search for user (SCR6)

o       Select the User

o       Enter Item Name and Click Search item

o       Select the Item

o       Click Check-Out button and Status changes from In Library to Checked Out

o       A message is displayed

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR6

 

Associated Screens: SCR1 and SCR6


UC-13 – Reports on Over Due Item(s)

 

Use Case Goal:

o       To generate reports on over due item(s)

 

Triggering Events:

o       The Librarian has a need to generate report of over due item(s).

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click the Reports button

o       Select Report Type as Overdue Items (SCR7)

o       Click on Create Report button to generate the over due item(s) report

o       See the generated report of the over due item(s)

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR7

 

Associated Screens: SCR1 and SCR7


UC-14 – Reports on Missing Item(s)

 

Use Case Goal:

o       To generate reports on missing item(s)

 

Triggering Events:

o       The Librarian has a need to generate report of missing item(s).

 

Primary Actors:

o       Librarian

 

Main Scenario:

o       Visit Login page and Log in (See Fig. 5.1.4.1 Home Page)

o       Click the Reports button

o       Select Report Type as Missing Items (SCR7)

o       Click on Create Report button to generate the missing item(s) report

o       See the generated report of the missing item(s)

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR7

 

Associated Screens: SCR1 and SCR7


 UC-15 – Simple Search for Item(s)

 

Use Case Goal:

o       To perform a simple search for item(s)

 

Triggering Events:

o       The student, faculty, librarian, administrator has a need to search for item(s)

 

Primary Actors:

o       Librarian

o       Student

o       Faculty

o       Administrator

 

Main Scenario:

o       Visit the main page (See Fig. 5.1.4.1 Home Page)

o       Enter data and information such as title, author’s name etc.

o       Click the Search button

o       View the search result

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       SCR1

 

Associated Screens: SCR1


UC-16 – Advanced Searched for Item(s)

 

Use Case Goal:

o       To perform a search for item(s) with various variables.

 

Triggering Events:

o       The student, faculty, librarian, administrator has a need to search for item(s) with some conditions or variables.

 

Primary Actors:

o       Librarian

o       Student

o       Faculty

o       Administrator

 

Main Scenario:

o       Visit the main page (See Fig. 5.1.4.1 Home Page)

o       Click on the Advanced Search button

o       Enter data and information such as title, author’s name etc. (See Fig. 5.1.4.? Advanced Search-2)

o       Click the Search button

o       View the search result. ( See Fig. 5.1.4.? Advanced Search-3)

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1 then to SCR5

 

Associated Screens: SCR1 and SCR5


UC-17 – Renew Item(s)

 

Use Case Goal:

o       To extend the item(s) that has/have reached the due date.

 

Triggering Events:

o       The student, faculty, librarian has a need to extend item(s) due date.

 

Primary Actors:

o       Librarian

o       Student

o       Faculty

 

Main Scenario:

o       Visit the login page and log in (See Fig. 5.1.4.1 Home Page)

o       List of Checked Out items for that User will be displayed

o       Extend due date button will be shown for all the items which were not renewed in the past

o       Click on the Extend due date button to renew the item

o       Item(s) due date will be extended for 14 days

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1

 

Associated Screens: SCR1


UC-18 – Reserve Item(s)

 

Use Case Goal:

o       To reserve item(s) that has/have not been checked in.

 

Triggering Events:

o       The student and faculty has a need to reserve item(s) that is/are checked out.

 

Primary Actors:

o       Student

o       Faculty

 

Main Scenario:

o       Visit the login page and log in (See Fig. 5.1.4.1 Home Page)

o       Enter data and information such as title, author’s name etc. or (SCR5)

o       Click the Search button

o       View the search result

o       Click on the Reserve button

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       SCR1 or SCR5

 

Associated Screens: SCR1, SCR5


UC-19 – Change Password

 

Use Case Goal:

o       To change the existing password to a new password

 

Triggering Events:

o       The student and faculty has a need to change the existing password to a new one

 

Primary Actors:

o       Student

o       Faculty

 

Main Scenario:

o       Visit the login page and login (See Fig. 5.1.4.1 Home Page)

o       Proceed to the next activity

 

Associated Screen Flow Diagrams:

o       From SCR1

 

Associated Screens: SCR1

8. Appendix B: Glossary

Administrator: A person who administers LCS.

Call Number: A code that uniquely identifies the exact copy of a library item.  This number is also used to determine where the item is shelved.

Configure: An administrative function to set parameters for LCS such as the number of days between the check-out date and the due date.

Faculty: A person who works for the University.

Item: Any resource that the library considers a part of its circulation e.g. books, CDs, magazines, etc.

ISBN: An acronym for International Standard Book Number.  The International Standard Book Number is used to uniquely identify a book, but does not distinguish between copies of the book.

LCS: An acronym for Library Circulation System.  Library Circulation System is the name given to the system that this document describes.

Librarian: A person who is responsible for maintaining the library’s circulation.

Public User: A public user does not have an account in LCS.  They can only search for items.

Renew: A function of LCS that allows users to extend the due date for an item that is checked out.

Reserve: A function of LCS that allows users to mark themselves as the next recipient of an item if that item is currently checked out.

Student: A person who is enrolled at the University.

SRS: Software Requirements Specification.