System Requirements Documet

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 16

SYSTEM SPECIFICATION

AND REQUIREMENTS DOCUMENT


FOR THE
Online Library Management System

CS690

Author
Roja Boina
Date
8/30/2016

TABLE of CONTENTS
Paragraph and Description
1.

Scope

1.1

Introduction

1.2

System overview

1.3

Document overview

2. Reference Documents
2.1

Books

2.2

websites

3.Operational Concepts
3.1

System purpose

3.2

Operational environment

3.3

System Architechture

4.Requirements
4.2

System requirement

4.2.1

Hardware components

4.2.2

Software components

4.2.3

Interfaces

4.2.4

Online help system

4.2.5

Security

4.2.6

Reports/OPI/GUI

4.2.7 Design Constraints

5.Quality Assurance
2

5.1

System quality factors

5.2

System Evaluation

5.3 System Qualification testing

6.

Requirement Tractability Matrix

10-11

12

7.Preparation for delivery


7.1

Documentation

12

7.2

Installation

13

7.3

Personnel& Training

8.Notes

13

9.Appendices

14

TABLES
1.Provide a list of tables, if any
Unit test case for login form

11

2.Traceability matrix

12

REVISION HISTORY (change tracking)


Date
Name
9/2/2016

Changes

Paragraph and description & Document Overview

1. SCOPE
1.1 Introduction
Online Library Management System is a system which maintains the information about
the books present in the library, their authors, the members of library to whom books are
issued, library staff and all. This is very difficult to organize manually. Maintenance of all
this information manually is a very complex task. Owing to the advancement of technology,
organization of an Online Library becomes much simple.
It is a system, which maintains the information about the books present in the library, their
authors, the members of library to whom books are issued, library staff and all.
1.2 System overview
Main purpose of this project is to computerize and automate the operations performed over
the information about the members, book issues and returns and all other operations.
This computerization of library helps in many instances of its maintenances. It reduces the
workload of management as most of the manual work done is reduced. Library
Management System is basically updating the manual library system into an internet-based
application so that the users can know the details of their accounts, availability of books
and maximum limit for borrowing.
The project is specifically designed for the use of librarians and library users. The product
will work as a complete user interface for library management process and library usage
from ordinary users. Library Management System can be used by any existing or new
library to manage its books and book borrowing, insertion and monitoring. It is especially
useful for any educational institute where modifications in the content can be done easily
according to requirements.
The project can be easily implemented under various situations. We can add new features
as and when we require, making reusability possible as there is flexibility in all the
modules.
The language used for developing the project is Java as it is quite advantageous than
other languages in terms of performance, tools available, cross platform compatibility,
libraries, cost (freely available), and development process.
1.3 Document overview
The main objective of this document is to illustrate the requirements of the project Library
Management system. The document gives the detailed description of the both functional
and non-functional requirements proposed by the client. The purpose of this project is to
provide a friendly environment to maintain the details of books and library members. The
main purpose of this project is to maintain easy circulation system using computers and to
provide different reports.

2. REFERENCE DOCUMENTS
2.1 Books:
Software Requirements and Specifications: A Lexicon of Practice, Principles and
Prejudices (ACM Press) by Michael Jackson
Software Requirements (Microsoft) Second Edition By Karl E. Wiegers
Software Engineering: A Practitioners Approach Fifth Edition By Roger S. Pressman
2.2 Websites:
http://www.slideshare.net/
http://ebookily.net/doc/srs-library-management-system
3. OPERATIONAL CONCEPTS
3.1 System Purpose
The main purpose of the project is to develop software which would automate the
functioning of a library over a network, be it Internet or Intranet.
3.2 Operational Environment
The product will be operating in windows environment. The Library Management System is
a website and shall operate in all famous browsers, for a model we are taking Microsoft
Internet Explorer, Google Chrome, and Mozilla Firefox. Also it will be compatible with the IE
6.0. Most of the features will be compatible with the Mozilla Firefox & Opera 7.0 or higher
version. The only requirement to use this online product would be the internet connection.
The hardware configuration include Hard Disk: 40 GB, Monitor: 15 Color monitor,
Keyboard: 122 keys. The basic input devices required are keyboard, mouse and output
devices are monitor, printer etc.
3.3 System Architecture
The software provides good graphical interface for the user and the administrator can
operate on the system, performing the required task such as create, update, viewing the
details of the book.
It allows user to view quick reports like Book Issued/Returned in between particular
time.
It provides stock verification and search facility based on different criteria.
The user interface must be customizable by the administrator
All the modules provided with the software must fit into this graphical user interface
and accomplish to the standard defined
The design should be simple and all the different interfaces should follow a standard
template
6

The user interface should be able to interact with the user management module and
a part of the interface must be dedicated to the login/logout module
Login Interface:
In case the user is not yet registered, he can enter the details and register to create his
account. Once his account is created he can Login which asks the user to type his
username and password. If the user entered either his username or password incorrectly
then an error message appears.
Search:
The member or librarian can enter the type of book he is looking for and the title he is
interested in, then he can search for the required book by entering the book name.
Categories View:
Categories view shows the categories of books available and provides ability to the
librarian to add/edit or delete category from the list.
Librarians Control Panel:
This control panel will allow librarian to add/remove users; add, edit, or remove a
resource. And manage lending options
outputs:
1)Produces form of book booking in online.
2)The system shall now display if the book if exist or not and show where position of book
in library.
3)The system shall require a user to register, in order to carry out any transactions with it
except for checking the availability of book.
4)Ask the user to enter the following for staff information
Inputs:
1)Detail list about the booking book, date and number of booking.
2)Insert the user information such as id, a password, first name, last name, address, 3)
3)phone number, email address, sex, age, preferred credit card number.
Logging in a userrigin city and destination city.

4. REQUIREMENTS
The users of the system are members and Librarian of the university who act as
administrator to maintain the system. The members are assumed to have basic knowledge
of the computers and internet browsing. The administrators of the system should have
more knowledge of the internals of the system and is able to rectify the small problems that
may arise due to disk crashes, power failures and other catastrophes to maintain the
system. The proper user interface, user manual, online help and the guide to install and
maintain the system must be sufficient to educate the users on how to use the system
without any problems.
The admin provides certain facilities to the users in the form of: Backup and Recovery
Forgot Password
Data migration i.e. whenever user registers for the first time then the data is stored
in the server
Data replication i.e. if the data is lost in one branch, it is still stored with the server
Auto Recovery i.e. frequently auto saving the information
Maintaining files i.e. File Organization
The server must be maintained regularly and it has to be updated from time to time
Whereas the user can :
Login
Reserve a book
Cancel a book
Check the availability of books
Place order

4.2 System Requirements


4.2.1 Hardware Components
.
Processor: Pentium(R) Dual-core CPU
Hard Disk: 40GB
RAM: 256 MB or more
4.2.2 Software Components
Basically identify the hardware needed to make your system work.
This software package is developed using java as front end which is supported by sun
micro system. Microsoft SQL Server as the back end to store the database.
Operating System: Windows NT, windows 98, Windows XP
Language: Java Runtime Environment, Net beans 7.0.1 (front end)
Database: MS SQL Server (back end)
8

4.2.3 Interfaces

User Interfaces
Will make use of the existing Web Browsers such as Microsoft Internet Explorer or
Netscape. The user-interface of the system shall be designed as shown in the userinterface prototypes.
Hardware Interfaces
The existing Local Area Network (LAN) will be used for collecting data from the users and
also for updating the Library Catalogue.
Software Interfaces
A firewall will be used with the server to prevent unauthorized access to the system.
Communications Interfaces
The Online Library System will be connected to the World Wide Web.
Database Storage:
Database is a storage device in which the application information will be stored in database
. The information is normalized in the forms of tables .The main entities stored are:
Member/ admin information
Book information
Book Transactions
Audit Log.
4.2.4 Online Help System
.

Online help is provided for each of the feature available with the Online Library System. All
the applications provide an on-line help system to assist the user. The nature of these
systems is unique to application development as they combine aspects of programming
(hyperlinks, etc) with aspects of technical writing (organization, presentation). Online help
is provided for each and every feature provided by the system.The User Manual describes
the use of the system to Librarian and Employees. It describes the use of the system on
mobile systems. The user manual should be available as a hard copy and also as online
help. An installation document will be provided that includes the installation instructions and
configuration guidelines, which is important to a full solution offering. Also, a Read Me file is
typically included as a standard component. The Read Me includes a Whats New With
This Release section, and a discussion of compatibility issues with earlier releases. Most
users also appreciate documentation defining any known bugs and workarounds in the
Read Me file. Since the installation of Online Library System is a complex process, our
experts will do it. So an installation Guide will not be provided to the user.

4.2.5 Security
System will use secured database
Normal users can just read information but they cannot edit or modify anything
except their personal and some other information.

System will have different types of users and every user has access constraints
Proper user authentication should be provided
No one should be able to hack users password
There should be separate accounts for admin and members such that no member
can access the database and only admin has the rights to update the database

4.2.6 Reports/Outputs/GUIs
Describe the characteristics of each report that is to be produced by the system.
Description: Describe the report and its purpose
Frequency: Describe the frequency that the report will be produced
4.2.7 Design Constraints
Software Language Used
The languages that shall be used for coding the Online Library System are Active Server
Pages (ASP), Java Servlets, Java Server Pages (JSP), HTML, JavaScript, and VBScript.
For working on the coding phase of the Online Library System, the Internet Information
Services (IIS) Server needs to be installed.
Development Tools

10

Will make use of the available Java Development Tool kits for working with Java Beans and
Java Server Pages. Also will make use of the online references available for developing
programs in ASP, HTML and the two scripting languages, JavaScript and VBScript.
Class Libraries
Will make use of the existing Java libraries available for JSP and Servlets. Also we need to
develop some new libraries for the web-based application. Also will develop new programs
using ASP and scripting languages.
Examples: Software languages, Database Management System, developmental tools
(software languages, compiles, test tools) and existing architecture.

Purchased Components
The System Administrator will need to purchase the license for IIS Server. Mostly it is
available with Windows Environment. So the system need not purchase any licensing
products.

Licensing Requirements - Define any licensing requirements or other usage restriction


requirements. Legal, Copyright and Other Notices - Describe any necessary legal
disclaimers, warranties, copyright notices, patent notice, word mark, trademark, or logo
compliance issues for the software.
5. QUALITY ASSURANCE
Define the testing, inspections, checks, and evaluations performed on the system and
system components to assure the system requirements are met in the deliverable system.
Or reference a Quality Assurance Plan.
5.1 System quality factors
Specify system quality factors at the system level and/or component level. Example
factors include qualification criteria, software complexity, coding standards, error
categories, qualification error limits, evaluation error limits, and reliability.
Mainly focuses on statement and functional testing . white box and black box testing will be
performed. The following quality factors can be checked:
Adaptability: the software is adaptable by the organisations.
Availability: the availability of software is easy and for everyone.
Correctness: the results of the function are pure and accurate.
Flexibility: operations may be flexible and reports can be performed in many ways.
11

Maintainability: after deployment if any errors occur it should be maintained by software


developers
Portability: software can be deployed in any machine.
Reliability: the performance of the software is better which will increase the reliability.
Reusability: the data and record that are saved in database can be reused if needed.

5.2 System Evaluations


Identify tests and inspections of both received and delivered products, materials, or
services to determine compliance with all specified requirements.
5.3 System Qualification Testing
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and coding. Testing presents an interesting of a
system using various test data. Preparation of the test data plays a vital role in the system
testing. After preparation the test data, the system under study is tested those test data.
Errors were found and corrected by using the following testing steps and corrections are
recorded for future references. Thus, series of testing is performed on the system before it
is already for implementation.
The development of software systems involves a series of production activities where
opportunities for injection of human errors are enormous. Errors may begin to occur at the
very inception of the process where the objectives may be erroneously or imperfectly
specified as well as in later design and development stages. Because of human in ability to
perform and communicate with perfection, software development is followed by assurance
activities.
Quality assurance is the review of software products and related documentation for
completeness, correctness, reliability and maintainability. And of course it includes
assurances that the system meets the specification and the requirements for its intended
use and performance. The various levels of quality assurance are described in the
following sub sections.
System Testing
Software testing is a critical element of software quality assurance and represents the
ultimate review of specifications, design and coding. The testing phase involves the testing
of system using various test data; Preparation of test data plays a vital role in the system
testing. After preparation the test data, the system under study is tested.
Those test data, errors were found and corrected by following testing steps and corrections
are recorded for future references. Thus a series testing is performed on the system before
it is ready for implementation.
The various types of testing on the system are:
Unit testing
Integrated testing
Validation testing
Output testing
User acceptance testing
12

Unit testing
Unit testing focuses on verification effort on the smallest unit of software design module.
Using the unit test plans. Prepared in the design phase of the system as a guide, important
control paths are tested to uncover errors within the boundary of the modules. The
interfaces of each of the modules under consideration are also tested. Boundary conditions
were checked. All independent paths were exercised to ensure that all statements in the
module are executed at least once and all error-handling paths were tested. Each unit was
thoroughly tested to check if it might fall in any possible situation. This testing was carried
out during the programming itself. At the end of this testing phase, each unit was found to
be working satisfactorily, as regarded to the expected out from the module.
Integration Testing
Data can be across an interface one module can have an adverse effect on anothers sub
function, when combined may not produce the desired major function; global data
structures can present problems. Integration testing is a symmetric technique for
constructing tests to uncover errors associated with the interface. All modules are
combined in this testing step. Then the entire program was tested as a whole.
Validation Testing
At the culmination of integration testing, software is completely assembled as a package.
Interfacing errors have been uncovered and corrected and final series of software testvalidation testing begins. Validation testing can be defined in many ways, but a simple
definition is that validation succeeds when the software functions in manner that is
reasonably expected by the consumer. Software validation is achieved through a series of
black box tests that demonstrate conformity with requirement. After validation test has
been conducted, one of two conditions exists.
The function or performance characteristics confirm to specification that are accepted.
A validation from specification is uncovered and a deficiency created.
Deviation or errors discovered at this step in this project is corrected prior to completion of
the project with the help of user by negotiating to establish a method for resolving
deficiencies. Thus the proposed system under consideration has been tested by using
validation testing and found to be working satisfactorily.
Output Testing
After performing the validation testing, the next step is output testing of the proposed
system, since a system is useful if it does not produce the required output in the specific
format required by them tests the output generator displayed on the system under
consideration. Here the output is considered in two ways: one is onscreen and the other
is printed format. The output format on the screen is found to be correct as the format was
designed in the system design phase according to the user needs. As far as hardcopies
are considered it goes in terms with the user requirement. Hence output testing does not
result any correction in the system.
User Acceptance Testing
User acceptance of the system is a key factor for success of any system. The system
under consideration is tested for user acceptance by constantly keeping in touch with
13

prospective system and user at the time of developing and making changes whenever
required.
Eg test case for unit testing on login form
LOGIN FORM:
SL.No

Test Case

Enter valid name and password Software should display main


& click on login button
window
Successful

Software should not display


main window
successful

Enter invalid

Excepted Result

Test Result

6. REQUIREMENTS TRACEABILITY matrix

Requirements DESIGN ELEMENTS


Issue book
Return book
Check
availability
Verify
password
7. PREPARATION FOR DELIVERY
Specify the customer's requirements for preparing the system and all components for
delivery including packaging, installation and training.
7.1 Documentation
All the things below mentioned have to be documented.
User Manual
The User Manual describes the use of the system to Librarian and Employees. It describes
the use of the system on mobile systems. The user manual should be available as a hard
copy and also as online help.
On-line Help
Many applications provide an on-line help system to assist the user. The nature of these
systems is unique to application development as they combine aspects of programming
14

(hyperlinks, etc) with aspects of technical writing (organization, presentation). Online help
is provided for each and every feature provided by the system.
Installation Guides, Configuration, Read Me File
This document includes the installation instructions and configuration guidelines, which is
important to a full solution offering. Also, a Read Me file is typically included as a standard
component. The Read Me includes a Whats New With This Release section, and a
discussion of compatibility issues with earlier releases. Most users also appreciate
documentation defining any known bugs and workarounds in the Read Me file.
Since the installation of Library Management System is a complex process, our experts will
do it. So an installation Guide will not be provided to the user.
Labeling and Packaging
The expected sales of the Library Management System are less. Usually representatives
will do most of the sales. Packaging and promotional materials will not be developed.

7.2 Installation
Install Java7,SQl,tomcat,eclipse.
7.3. Personnel and Training
Planning and integration technical skills , using right tools.
8.NOTES
The following are the list of conventions and acronyms used in this document and the
project as well:
Administrator: A login id representing a user with user administration privileges to
the software
User: A general login id assigned to most users
Client: Intended users for the software
SQL: Structured Query Language; used to retrieve information from a database
SQL Server: A server used to store data in an organized format
Layer: Represents a section of the project
User Interface Layer: The section of the assignment referring to what the user
interacts with directly
Application Logic Layer: The section of the assignment referring to the Web Server.
This is where all computations are completed
Data Storage Layer: The section of the assignment referring to where all data is
recorded
Use Case: A broad level diagram of the project showing a basic overview
Class diagram: It is a type of static structure diagram that describes the structure of
a system by showing the systems cases, their attributes, and the relationships
between the classes
Interface: Something used to communicate across different mediums
15

Unique Key: Used to differentiate entries in a database


9.APPENDICES
A: Admin, Abbreviation, Acronym, Assumptions; B: Books, Business rules; C: Class, Client,
Conventions; D: Data requirement, Dependencies; G: GUI; K: Key; L: Library, Librarian; M:
Member; N: Non-functional Requirement; O: Operating environment; P: Performance,
Perspective, Purpose; R: Requirement, Requirement attributes; S: Safety, Scope, Security,
System features; U: User, User class and characteristics, User requirement

16

You might also like