Prepared by
ii
Prepared by
iii
Table of Contents
Table of Contents ......................................................................................................................... iii Revision History ........................................................................................................................... iv 1. Introduction..............................................................................................................................1
1.1 1.2 1.3 1.4 1.5 1.6 2.1 2.2 2.3 2.4 2.5 3.1 3.2 3.3 3.4 3.5 Purpose ........................................................................................................................................ 1 Intended Audience and Reading Suggestions ............................................................................. 1 Product Scope.............................................................................................................................. 1 Definitions, acronyms and abbreviation...................................................................................... 2 References ................................................................................................................................... 2 Overview ..................................................................................................................................... 2 Product Perspective ..................................................................................................................... 4 Product Functions........................................................................................................................ 4 User Classes and Characteristics................................................................................................. 4 Constraints................................................................................................................................... 5 Assumptions and Dependencies .................................................................................................. 5 External Interface Requirements ................................................................................................. 5 Functions ..................................................................................................................................... 7 Performance Requirements ....................................................................................................... 17 Design Constraints .................................................................................................................... 19 Software System Attributes....................................................................................................... 19
2. Overall Description..................................................................................................................3
iv
Revision History
Name Md. Forhad Rabbi, Date Dec 13, 2007 Reason For Changes Version Version 1.0
Introduction
1. Introduction
1.1 Purpose
The purpose of this Software requirement specification (SRS) document is to gather requirements for Ronneby County Library Management System version 1.0 (RCLMS). Our company SM2 Software AB will develop the RCLMS for the local library in Ronneby. Currently the county library is using a text based UNIX system that can be only used by the librarians. The new system will provide a graphical user interface and will allow all the users of the system (members, non-members, librarians) to access it. Moreover the new system will be accessible from terminals within the library and also through the internet from computers outside the library. This Software requirement specification document provides a complete description of the Ronneby County Library Management System.
Introduction
1.5 References
[IEEE] The applicable IEEE Std 830-1993, IEEE Standard for Software Requirements Specifications, published in IEEE Standard Collection 2001 edition.
1.6 Overview
This SRS is divided in three sections. The first section gives the introduction of the RCLMS. The second section provides the overall description of the system. Finally, the third section includes a detailed description of all the requirements belonging to the RCLMS
Introduction
2. Overall Description
The Ronneby County library management system (RCLMS) provides a range of features and functionalities. The context diagram in Figure 1 gives a brief overview of the RCLMSs interactions with all the users in the system.
The following subsections give a brief overview of the background of the RCLMS and some aspects that affect the system and its requirements.
Introduction
Introduction
2.4 Constraints
The following are a general list of constraints that would delimit the developers options while building the RCLMS: 1. 2. 3. 4. 5. The system shall be able to use the existing Oracle database. The system shall be able to run on Windows XP. The system shall never store historical data of a customer. The system shall use the existing barcode scanners in the library. The system shall use the existing terminals in the library.
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
User interfaces for all users will be graphical user interfaces (GUI). These GUI will be both web based and desktop based. 3.1.1.1 Librarian user interface Librarian - The librarian interface would enable the librarian to perform all the functionalities which the system provides for this type of user. Librarian will be able to perform add media, search media and issue a media for members etc. Head Librarian The head librarian will be able to perform all the functionalities of the librarian as well as adding and removing librarians from the system 3.1.1.2 Public user interface Member This interface allows the members to login, reserve media, search media, check the status of return date and logout. These features will also be available through the web interface.
Introduction
Non-Member This interface only allows the non-members to search media. This feature will also be available through the web interface. 3.1.1.3 System manager user interface System manager interface would enable the manager to perform all the functionalities which the system provides for this type of user. System manager will be able to perform the same tasks that the head librarian has. Moreover, he will also be able to backup all data regarding the system.
Introduction
3.2 Functions
3.2.1 Authentication Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies 3.2.2 Search
3.2.2.1 Search for media
Functions.Authentication.Login Login The users shall be able to login into the RCLMS by entering their library card number and password Mikael, Head Librarian, in customer meeting on 23.11.2007 The system would have to distinguish users so that they are only authorized to view the data that is meant for them N/A N/A Functions.Authentication.Logout Logout The logged in users shall be able to logout of the system Mikael, Head Librarian, in customer meeting on 23.11.2007 Authorized users may want to leave the RCLMS N/A Functions.Authentication.Login
Dependencies
Functions.Search.Searchformedia. Searchformedia Search for media All the users of the RCLMS shall be able to search for media. Mikael, Head Librarian, in customer meeting on 23.11.2007 All the users shall be able to search for books so that they can find the media they want to issue or reserve. All the users will be able to use this search facility. The users can only search using Title, Author and Keywords or a combination of these items. N/A
Introduction
Dependencies
3.2.2.2 Search for users
Functions.Search.Searchformedia. SpecialSearchformedia Special search for media The librarians shall be able to search for damaged media Mikael, Head Librarian, in customer meeting on 23.11.2007 The librarians will also be able to search for books with torn or missing pages and CDs/DVDs with scratches so that he can replace them. One important risk here is that the librarian might not know about some books that have missing pages, and so the data has not been entered into the RCLMS. This would mean that the librarian will not be able to search for that book. N/A
Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies 3.2.3 Manage media Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies
Functions.Search.Searchforusers.Searchformembers Search for members The librarians shall be able to search for members Saad Salahuddin, Requirements Engineer, in meeting on 10.12.2007 This is needed so that the librarian can easily search and view profile information of members N/A Functions.ManageMembers.Add members
Functions.ManageMedia.Add media Add media The librarians shall be able to add new media to the RCLMS Saad Salahuddin, Requirements Engineer, in meeting on 10.12.2007 This is needed to add data regarding new media N/A N/A Functions.ManageMedia.Remove media Remove media The librarians shall be able to remove media from the RCLMS Saad Salahuddin, Requirements Engineer, in meeting on 10.12.2007 This is needed to remove data regarding media N/A Functions.ManageMedia.Add media December 13, 2007
Introduction
Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale
Functions.ManageMedia.Edit media Edit media The librarians shall be able to edit media from the RCLMS Saad Salahuddin, Requirements Engineer, in meeting on 10.12.2007 This is needed to edit and update the information regarding media N/A Functions.ManageMedia.Add media Functions.ManageMedia.View media View Media The users shall be able to view a list of available media. Mikael, Head Librarian, in customer meeting on 23.11.2007 All the users shall be able to view the media so they know what media are currently available in the library. The members can then reserve these media or reissue the media that they already have borrowed. N/A Functions.ManageMedia.Add media
3.2.4 Reserve media Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Functions.ReserveMedia.Reserve media Reserve Media The members shall be able to reserve media. Mikael, Head Librarian, in customer meeting on 23.11.2007 The members will reserve the media so that they can enter the reservation queue and borrow the media when it is their turn The members will need their library card number to reserve media. Non-members cannot reserve media. Functions.Search.Searchformedia. Searchformedia
Introduction
10
3.2.5 Borrow media Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Functions.BorrowMedia.Borrow media Borrow Media The RCLMS shall allow the librarians to borrow media for the members using the members library cards. Mikael, Head Librarian, in customer meeting on 23.11.2007 The members will need to borrow media in order to use them outside of the library. Cannot borrow media that has already been 1. Reserved by another member 2. Borrowed by another member The members will need to be in the library to borrow the media The members will need to give their library card to the librarian so that the librarian can scan it. Functions.OtherFunctions.Scan card, Functions.OtherFunctions.Scan media
Dependencies
3.2.6 Reissue media Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies 3.2.7 Return media Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Functions.ReturnMedia.Return media Return media The RCLMS shall allow the librarians to enter information about the media that the members return. Mikael, Head Librarian, in customer meeting on 23.11.2007 The members need to return the media to the library before the due date expires, otherwise they will be fined a week after the deadline expires. The members will need to be in the library to return the media. The librarian is only allowed to return the media, so the member will need to go to the librarians to return the media they have borrowed. Functions.OtherFunctions.Scan media Functions.ReissueMedia.Renew date Renew return date for media The members shall be able to extend the returning time of their borrowed media Mikael, Head Librarian, in customer meeting on 23.11.2007 The members can extend the return date if they want to keep the media for a longer period of time The members shall not be able to renew media that are currently reserved by another member. Non members are not authorised to use this feature. N/A
Dependencies
Introduction
11
3.2.8 Manage members Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Functions.ManageMembers.Add members Add new members The librarians shall be able to add new members to the RCLMS. Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed to add the information about the new members into the RCLMS so that they can use the features of the system. The librarian may add incorrect information about the member Add members Functions.ManageMembers.Generate code Generate members library code The RCLMS shall be able to generate a random library code for a new member. Marcus Briland, Requirement Engineer, in meeting on 10.12.2007 This is needed to create a new library code for new members N/A Functions.ManageMembers.Add members Functions.ManageMembers.Remove members Remove members The librarians shall be able to remove members from the RCLMS. Marcus Briland, Requirement Engineer, in meeting on 10.12.2007 This is needed to remove members that want to leave the library. N/A Functions.ManageMembers.Add members Functions.ManageMembers.View profile View profile information The members shall be able to view their personal information Forhad Rabbi, Requirement Engineer, in meeting on 10.12.2007 This is needed so that the members can view their information N/A Functions.ManageMembers.Add members
Introduction
12
Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies 3.2.9 Manage Librarians Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies
Functions.ManageMembers.View members View member information The librarians shall be able to view member information Forhad Rabbi, Requirement Engineer, in meeting 10.12.2007 This is needed for the librarian to view members N/A Functions.ManageMembers.Add members
on
Functions.ManageMembers.Edit profile Edit profile information The members shall be able to edit their personal information. Saad Salahuddin, Requirement Engineer, in meeting on 11.12.2007 The members may want to change their address or other specific data that may change over time N/A Functions.ManageMembers.Add members
Functions.ManageLibrarians.Mngr Add librarian Add librarians The system manager shall be able to add librarians to the RCLMS Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed to add new librarian accounts so that these accounts can use provide the librarian functionality N/A N/A Functions.ManageLibrarians.Mngr Remove librarian Remove librarians The system manager shall be able to add librarians to the RCLMS. Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed to remove librarians from the RCLMS N/A Functions.ManageLibrarians.Mngr Add librarian
Introduction
13
Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies
Functions.ManageLibrarians.Lib Add librarian Add librarians The head librarian shall be able to add librarians to the RCLMS Mikael, Head Librarian, in customer meeting on 23.11.2007 This head librarian also needs to perform this functionality N/A N/A Functions.ManageLibrarians.Lib Remove librarian Remove librarians The head librarian shall be able to add librarians to the RCLMS. Mikael, Head Librarian, in customer meeting on 23.11.2007 The head librarian also needs to perform this functionality N/A Functions.ManageLibrarians.Lib Add librarian
3.2.10 System Notifications Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Functions.SystemNotification.Late media Notification for Overdue media The RCLMS shall notify librarians for all media that is one day overdue. Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed to notify the librarian so that they can send a letter to the member who has borrowed the media. One risk that exists here is that even after the notification the librarian may forget to send the letter. This notification would only be displayed once N/A Functions.SystemNotification.Reserved media Notify librarian about return of reserved media The RCLMS shall be able to notify the librarian about the return of a reserved media. Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed so that the librarian can make a call to the member who has reserved the media to tell him that it is available. One risk is that the librarian doesnt make a call even after the notification. This notification would only be displayed once N/A
Introduction
14
Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies 3.2.11 Debt Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions/risks Dependencies
Functions.SystemNotification.Overdue books Notify librarian about three week overdue book The RCLMS shall be able to notify the librarian about a book that is three week overdue. Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed because this is the deadline date after which the system will start fining the member. This notification would only be displayed once N/A Functions.SystemNotification.Overdue media Notify librarian about other media that is three week overdue The RCLMS shall be able to notify the librarian about the other media that is three week overdue. Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed because this is the deadline date after which the system will start fining the member. This notification would only be displayed once N/A
Functions.Debt.Display debt Display Debt The RCLMS shall be able to display a members current debt. Mikael, Head Librarian, in customer meeting on 23.11.2007 The members and librarians need to see information regarding the current debt of the member. Through this information the member shall be able to pay the overdue debt to the library. One restriction here is that the data might not be updated and the members might be viewing incorrect information. Functions.Debt.Calculate debt Functions.Debt.Reduce debt Reducing of members debts The librarians shall be able to reduce the debts of a member when paid. Marcus Briland, Requirement Engineer, on 10.12.2007 This is needed so that the member can get rid of his debts by paying them One restriction here could be that the librarians might not be able to enter this data very frequently and the system might not be fully updated.
Functions.Debt.Display debt
Introduction
15
Requirements ID Title Description Identifier/Source Rationale Restrictions/risks Dependencies 3.2.12 Bilingual Display Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies 3.2.13 Backup Requirements ID Title Description Identifier/Source Rationale Restrictions & Risks Dependencies
Functions.Debt.Calculate debt Calculation of members debts The RCLMS shall be able to calculate the debt of a member Saad Salahuddin, Requirement Engineer This is needed so that the system knows the amount of debt that the members needs to pay. N/A N/A
Functions.BilingualDisplay.English Display in English The RCLMS shall be able to display information in English Mikael, Head Librarian, in customer meeting on 23.11.2007 The customer wants to use this for users who understand English N/A Functions.BilingualDisplay.Swedish Functions.BilingualDisplay.Swedish Display in Swedish The RCLMS shall be able to display information in Swedish Mikael, Head Librarian, in customer meeting on 23.11.2007 The customer wants this for users who understand Swedish. N/A Functions.BilingualDisplay.English
Functions.Backup.Backup data Backup data The system manager shall be able to back up the entire database of the RCLMS. Mikael, Head Librarian, in customer meeting on 23.11.2007 This is to prevent data loss if the system data gets corrupted The system manager may not always be available for backup. N/A
Introduction
16
3.2.14 Other Functions Requirements ID Title Description Identifier/Source Rationale Functions.OtherFunctions.Remove reservation Remove reservation of media The RCLMS shall automatically remove a reservation for media. Saad Salahuddin, Requirement Engineer, on 11.12.2007 This is needed for two reasons: 1. If a book hasnt been borrowed within a week the reservation shall be removed. 2. If the member borrows the book within that week, the reservation shall be removed N/A Functions.ReserveMedia.Reserve media Functions.OtherFunctions.Scan card Get library-card number with barcode scanner The librarian shall be able to scan a library card with the barcode scanner to get the library card number into the system Mikael, Head Librarian, in customer meeting on 23.11.2007 This is needed to make it easier when registering borrows N/A N/A Functions.OtherFunctions.Scan media Get media id with barcode scanner The librarian shall be able to scan the media with the barcode scanner to get the media ID into the system. Mikael, Head Librarian, in customer meeting on 23.11.2007 In order to make it easier when registering borrows and unregister when returned N/A N/A Functions.OtherFunctions.Display borrower Who has borrowed the media The system shall be able to display the member who has borrowed a media item Forhad Rabbi, Requirement Engineer on 10.12.2007 This is needed so that the librarians are able to see who currently has a media item N/A N/A
Restrictions & Risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions/risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions/risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions/risks Dependencies
Introduction
17
Requirements ID Title Description Identifier/Source Rationale Restrictions/risks Dependencies Requirements ID Title Description Identifier/Source Rationale Restrictions/risks Dependencies
Functions.OtherFunctions.Display reserver Who has reserved a media The system shall be able to display the member who has reserved a media item Forhad Rabbi, Requirement Engineer on 10.12.2007 This is needed so that the librarians are able to see who currently has a media item N/A N/A Functions.OtherFunctions.Calculate returndate Calculate return date The RCLMS shall be able to calculate the return date for a media Saad Salahuddin, Requirement Engineer on 10.12.2007 This is needed in order to see when a media item is due and how much the fine would be after the due date. N/A N/A
Introduction
18
PerformanceReq.Throughput library Throughput at library The throughput time at the library shall be a maximum of one second Mikael, Head Librarian, in customer meeting on 23.11.2007 So that the work can go smooth for members and librarians N/A N/A
PerformanceReq.Throughput outside Throughput outside library The throughput time via internet shall be a maximum of five seconds Mikael, Head Librarian, in customer meeting on 23.11.2007 To make it work smooth and fast for people accessing the system N/A N/A
Introduction
19
3.5.2 Availability
1. The RCLMS will be available at all times, even during the system backups and recoveries.
3.5.3 Security
1. There will be proper user privileges according to the user type i.e. Librarian or Member. 2. Users will be able to login into the system only by using his or her id and password. 3. No historical data about members will be saved in the system.
3.5.4 Maintainability
There are no maintainability requirements.
3.5.5 Portability
1. The RCLMS will run its desktop interface only on Windows XP. 2. The RCLMS will run its web interface on any operating system that has a web browser installed. 3. The RCLMS web server would be portable to any other server that supports Apache.