Googolplex Library System

Software Requirements Specification

Ryan O’Malley

George Maslennikov

Shaishiv

Aamir Siddiqui

September 26, 2002

Submitted in partial fulfillmentof the requirements of SE 516 - Engineering of Software Systems

Chapter 1:Introduction

Chapter 2:Purpose

Chapter 3:Functional Requirements Definition

3.1.Add Holding

Brief Description

Initial Step-by-Step Description

3.2.Remove Holding

Brief Description

Initial Step-by-Step Description

3.3.Modify Holding

Brief Description

Initial Step-by-Step Description

3.4.Search for Holdings

Brief Description

Initial Step-by-Step Description

3.5.View Holding Information

Brief Description

Initial Step-by-Step Description

3.6.View On-Line Electronic Holding

Brief Description

Initial Step-by-Step Description

3.7.Check Out Holding

Brief Description

Initial Step-by-Step Description

3.8.Check in Holding

Brief Description

Initial Step-by-Step Description

3.9.Add User

Brief Description

Initial Step-by-Step Description

3.10.Remove User

Brief Description

Initial Step-by-Step Description

3.11.Modify User

Brief Description

Initial Step-by-Step Description

3.12.View User Account Information

Brief Description

Initial Step-by-Step Description

3.13.User Log In

Brief Description

Initial Step-by-Step Description

3.14.User Log Out

Brief Description

Initial Step-by-Step Description

3.15.Change User Password

Brief Description

Initial Step-by-Step Description

Chapter 4:Functional Requirements Specifications

4.1.Add Holding

4.2.Remove Holding

4.3.Modify Holding

4.4.Search for Holdings

4.5.View Holding Information

4.6.View On-Line Electronic Holding

4.7.Check Out Holding

4.8.Check In Holding

4.9.Add User

4.10.Remove User

4.11.Modify User

4.12.View User Account Information

4.13.User Login

4.14.User Log Out

4.15.Change User Password

Chapter 5: Entity Relationship Diagram

Chapter 6: User Interface Specification

Chapter 7: Non-Functional Requirements

Product Requirements

Process Requirements

External Requirements

Chapter 8: Glossary

1

Chapter 1:Introduction

The current problem facing the Googolplex University Library is that their library system is not computerized. The Library contains about 2000 holdings that include books, CD-ROMs, journals, and on-line electronic books. The users of the library are faculty, staff, and students at the University. Computerizing the Library system will allow users to search for holdings by title, author name, ISBN number, and/or call number. The users will be able to search for holdings according to one or more of those criteria. Since the system is available on-line, users can find the holding they are interested in without leaving their office or dorm room. This will save the users of the system a lot of time. Furthermore, since the system will also keep track of all holdings and all users account information, it will improve the performance of the library.

This system will be a stand-alone system available on-line but only for users on campus. Users will be able to use the system via any web-browser. The system will utilize a database that will contain all the information needed, such as holdings information, user accounts information

Googolplex Library System - Software Requirements Specification, Last Modified -9/15/2018

1

Chapter 2:Purpose

This Software Requirements Specification provides a complete description of all the functions and constraints of the Googolplex Library System. The expected audience of this document includes the Librarians, faculty, staff, and students of the Googolplex University and the software developer and persons desiring a model for software development documentation

Googolplex Library System - Software Requirements Specification, Last Modified -9/15/2018

1

Chapter 3:Functional Requirements Definition

3.1.Add Holding

Brief Description

The Librarian adds a new holding into the system.

Initial Step-by-Step Description

  1. The Librarian selects “Add New Holding” from the “Librarian Menu”.
  2. The “Add New Holding” form appears.
  3. The Librarian will input all of the required holding information.
  4. The Librarian clicks on the “Add” button.
  5. The new holding is added into the system.
  6. The Librarian receives a confirmation that the new holding has been added to the system.

3.2.Remove Holding

Brief Description

The Librarian removes a holding from the system.

Initial Step-by-Step Description

Before this use case can be initiated, the holding must exist in the system.

  1. The Librarian selects “Remove Holding” from the “Librarian Menu”.
  2. The Librarian is presented with a form asking for the call number.
  3. The Librarian enters the call number of the holding.
  4. The Librarian clicks on the “Submit” button.
  5. The Librarian is presented with the “Holding Information” screen with “Remove” and “Cancel” buttons located at the bottom of the screen.
  6. The Librarian clicks on the “Remove” button.
  7. The Librarian is prompted to confirm the request.
  8. The Librarian clicks the “Ok” button to confirm the request.
  9. The holding is removed from the system.
  10. The Librarian receives a confirmation that the holding has been removed from the system.

3.3.Modify Holding

Brief Description

The Librarian modifies the holding information.

Initial Step-by-Step Description

Before this use case can be initiated, the holding must exist in the system.

  1. The Librarian selects “Modify Holding” from the “Librarian Menu”.
  2. The Librarian is presented with a form prompting for the call number.
  3. The Librarian enters the call number and clicks on the “Submit” button.
  4. The system retrieves the holding information based on the call number.
  5. The Librarian is presented with the “Modify Holding” form containing the current information on the holding.
  6. The Librarian makes the modifications.
  7. The Librarian clicks on the “Save” button.
  8. The system updates the holding information.
  9. The Librarian receives a confirmation that the holding has been modified.

3.4.Search for Holdings

Brief Description

The user searches for a holding according to his/her search criteria.

Initial Step-by-Step Description

Before this use case can be initiated, the user must be logged into the system.

  1. The user selects “Search for Holdings” from the “User Menu”or “Librarian Menu”.
  2. The “Search for Holdings” form appears.
  3. The user inputs the criteria (i.e. isbn number, title, author, call number) for his/her search.
  4. The user clicks on the “Search” button.
  5. The user is presented with the “Search Results” screen that displays the search results matching user’s search criteria.

3.5.View Holding Information

Brief Description

The user views the information about the holding.

Initial Step-by-Step Description

Before this use case can be initiated, the user must have searched for holdings and the search results must contain one or more holdings.

  1. The user clicks on the “View Holding Information” link displayed on the “Search Results” screen next to the desired search result.
  2. The user is presented with “Holding Information” screen containing the detailed information on the holding.

3.6.View On-Line Electronic Holding

Brief Description

The user views the contents of the on-line electronic holding.

Initial Step-by-Step Description

Before this use case can be initiated, the user must have searched for holdings.

1.The user clicks on the “View On-Line” link in the “Holding Information” screen.

2.The system displays the electronic holding in pdf format.

3.7.Check Out Holding

Brief Description

The Librarian sets a holding as checked out.

Initial Step-by-Step Description

1.The Librarian selects “Check Out Holding” from the “Librarian Menu”.

2.The Librarian is presented with the “Check Out Holding” form.

3.The Librarian enters the user id.

4.The Librarian enters the call number of the holding.

5.The Librarian clicks the “Check Out” button.

6.The system sets the holding as unavailable.

7.The Librarian receives a confirmation of the holding as being checked out by the specified user.

3.8.Check in Holding

Brief Description

The Librarian sets a holding as available.

Initial Step-by-Step Description

Before this use case can be initiated, the holding being checked in, must be set as checked out in the system.

1.The Librarian selects “Check in Holding” from the “Librarian Menu”.

2.The Librarian is presented with the “Check in Holding” form.

3.The Librarian inputs the call number of the holding.

4.The Librarian clicks the “Check In” button.

5.The system sets the holding as available.

6.The system removes the holding from the user account.

7.The Librarian receives a confirmation of the holding as being checked in.

3.9.Add User

Brief Description

A new user will be added into the system by a Librarian.

Initial Step-by-Step Description

Before this use case can be initiated the user to be added cannot exist in the system.

1.The Librarian selects “Add New User” from the “Librarian Menu”.

2.The request is sent to the system and the “Add New User” form is displayed.

3.The Librarian inputs all the required information about the user.

4.The Librarian clicks on the “Submit” button.

5.The submitted information is sent to the database.

6.The user is added to the system.

7.The Librarian receives confirmation of the user being added to the system containing the new user’s id and password.

3.10.Remove User

Brief Description

A user will be removed from the system by a Librarian.

Initial Step-by-Step Description

Before this use case can be initiated the user to be removed must exist in the system.

1.The Librarian selects “Remove User” from the “Librarian Menu”.

2.The request is sent to the system and the “Remove User” form is displayed.

3.The Librarian inputs all the required information.

4.The Librarian clicks on the “Remove” button.

5.The Librarian is prompted to confirm the request.

6.The Librarian clicks the “Ok” button to confirm the request.

7.The user is removed from the system.

8.Before this use case can be initiated,

9.The Librarian receives confirmation that the user has been removed from the system.

3.11.Modify User

Brief Description

The Librarian modifies the user information stored in the system.

Initial Step-by-Step Description

Before this use case can be initiated, this user must exist in the system.

1.The Librarian selects “Modify User” from the “Librarian Menu”.

2.The Librarian is presented with a form asking for the user’s ID.

3.The Librarian inputs user’s ID.

4.The Librarian clicks on the “Submit” button.

5.The request is sent to the system, and the system searches for the User ID inputted.

6.The Librarian is presented with the “Modify User” form.

7.The Librarian makes the desired modifications.

8.The Librarian clicks on the “Save” button.

9.The system updates the user’s account.

10.The Librarian receives confirmation that the user’s information has been modified.

3.12.View User Account Information

Brief Description

The Librarian views the User Account Information.

Initial Step-by-Step Description

Before this use case can be initiated, the user, whose account is being viewed, must exist in the system.

1.The Librarian selects “View User Account” from the “Librarian Menu”.

2.The Librarian is presented with a form asking for User ID.

3.The Librarian inputs User ID.

4.The Librarian clicks on the “Submit” button.

5.The system searches for the User ID submitted.

6.The Librarian is presented with the screen containing the User Account Information.

3.13.User Log In

Brief Description

The user will be logged into the system or receive an error message stating the failure to log in.

Initial Step-by-Step Description

Before this use case can be initiated, the user must have accessed the system.

1.The user is presented with a “Login” form, asking for User ID and Password.

2.The user inputs their User ID and password.

3.The user clicks on the “Login” button.

4.The request is sent to the system to check for the inputted User ID.

5.The system compares the password inputted by the user with the password stored in the system linked to the inputted User ID.

6.The user is presented with the “Welcome” screen.

3.14.User Log Out

Brief Description

The user will be logged out of the system.

Initial Step-by-Step Description

Before this use case can be initiated, the user must be logged into the system.

1.The user selects “Log out” from the “User Menu” or “Librarian Menu”.

2.The user is presented with the “Goodbye” screen.

3.The user is logged out of the system.

3.15.Change User Password

Brief Description

The current user password will be changed by a Librarian to a new password desired by the user.

Initial Step-by-Step Description

Before this use case can be initiated, the user whose password is being changed must exist in the system.

1.The Librarian selects “Change User Password” from the “Librarian Menu”.

2.The “Change User Password” form appears.

3.The Librarian inputs the user’s id.

4.The Librarian inputs the new password.

5.The Librarian inputs the new password again.

6.The Librarian clicks on the “Change” button.

7.The Librarian is notified that the password has been changed

Googolplex Library System - Software Requirements Specification, Last Modified -9/15/2018

1

Chapter 4:Functional Requirements Specifications

4.1.Add Holding

Use Case / Add Holding
Priority / Essential
Trigger / Selection from the “Librarian Menu”
Precondition / The Holding does not exist in the database.
Basic Path /
  1. The Librarian selects “Add New Holding” from the “Librarian Menu”.
  2. The “Add New Holding” form appears.
  3. The Librarian will input all of the required holding information.
  4. The Librarian will click on the “Add” button.
  5. The new holding is added into the system.
  6. The Librarian receives a confirmation that a new holding has been added to the system.

Alternate Paths /
  1. The Librarian clicks on the “Cancel” button.
  2. The Librarian is returned to the “Welcome” screen.

Postcondition / The Librarian has added the holding successfully, and a call number is assigned to the new holding.
Exception Paths /
  1. The Librarian does not input all of the required information.
  2. The Librarian clicks on “Add” button.
  3. An error message is returned, prompting the Librarian to input all of the required information.

4.2.Remove Holding

Use Case / Remove Holding
Priority / Essential
Trigger / Selection from the “Librarian Menu”
Precondition / The holding must exist in the system.
Basic Path /
  1. The Librarian selects “Remove Holding” from the “Librarian Menu”.
  2. The Librarian is presented with a form asking for the call number.
  3. The Librarian enters the call number of the holding.
  4. The Librarian clicks on the “Submit” button.
  5. The Librarian is presented with the “Holding Information” screen with “Remove” and “Cancel” buttons located at the bottom of the screen.
  6. The Librarian clicks on the “Remove” button.
  7. The Librarian is prompted to confirm the request.
  8. The Librarian clicks on the “Ok” button to confirm the request.
  9. The holding is removed from the system.
  10. The Librarian receives a confirmation the holding has been removed from the system.

Alternate Paths /
  1. Replacing step 8 above, the Librarian clicks on the “Cancel” button.
  2. The Librarian is returned to the “Welcome” screen.

Postcondition / The Librarian has removed the holding successfully.
Exception Paths / 1. If the Librarian enters a call number that does not exist in the system, the librarian is asked to reenter the call number of the holding.

4.3.Modify Holding

Use Case / Modify Holding
Priority / Essential
Trigger / Selection from the “Librarian Menu”
Precondition / The holding must exist in the system.
Basic Path /
  1. The Librarian selects “Modify Holding” from the “Librarian Menu”.
  2. The Librarian is presented with a form prompting for the call number.
  3. The Librarian enters the call number and clicks on the “Submit” button.
  4. The system retrieves the holding information based on the call number.
  5. The Librarian is presented with the “Modify Holding” form containing the current information on the holding.
  6. The Librarian makes the modifications.
  7. The Librarian clicks the “Save” button.
  8. The system modifies the holding information.
  9. The librarian receives confirmation that the holding has been modified.

Alternate Paths /
  1. Replacing step 7 above, the Librarian clicks on the “Cancel” button.
  2. The Librarian is returned to the “Welcome” screen.

Postcondition / The holding information is updated.
Exception Paths / None

4.4.Search for Holdings

Use Case / Search for Holdings
Priority / Essential
Trigger / Selection from the “User Menu” or “Librarian Menu”.
Precondition / The user must be logged into the system.
Basic Path /
  1. The user selects “Search for Holdings” from the “User Menu” or “Librarian Menu”.
  2. The “Search for Holdings” form appears.
  3. The user inputs the criteria (i.e. isbn number, title, author, call number) for his/her search.
  4. The user clicks on the “Search” button.

Alternate Paths / None
Postcondition / The user is presented with the “Search Results” screen that displays the search results matching the user’s search criteria.
Exception Paths / None

4.5.View Holding Information

Use Case / View Holding Information
Priority / Essential
Trigger / Selection from the “Search Results” screen.
Precondition / The user searched for holdings and the search results show one or more holdings.
Basic Path /
  1. The user clicks on the “View Holding Information” link displayed on the “Search Results” screen next to the desired search result.

Alternate Paths / None
Postcondition / The user is presented with “Holding Information” screen containing the detailed information on the holding.
Exception Paths / None

4.6.View On-Line Electronic Holding