Top Banner
“Online Library Management System” BY: Manoj Monga 07DDCS508 Faculty of Science and Technology, The ICFAI University, Dehradun April, 2011 1
89

Online Library Management System Report

Jan 19, 2016

Download

Documents

ManojMonga

It is a custom food menu management CMS that allows to create front end pages based on various templates. An admin user can add, delete or update menu items/categories. Food can be ordered online, using paypal gateway. As soon as new order arrives, the admin would be notified. The order-list will be updated on successful processing of the order.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Online Library Management System Report

“Online Library Management System”

BY:Manoj Monga07DDCS508

Faculty of Science and Technology,The ICFAI University,

Dehradun April, 2011

1

Page 2: Online Library Management System Report

A

Project Report

On

“Online Library Management

System”

By

Manoj Monga

(07DDCS50b)

Under the guidance of

Dr. PRASANNA DIXIT,

Faculty member,

ICFAI UNIVESRITY, DEHRADUN

Submitted in partial fulfillment of the requirements for

Degree of Bachelor of Technology in Computer Science

At

Faculty of Science and Technology

The ICFAI University, Dehradun

April 2011

2

Page 3: Online Library Management System Report

CERTIFICATE

This is to certify that Manoj Monga of final year ID NO. 07DDCS508, pursuing Computer

Science and Engineering Branch at FST, IUD has partially completed his Internship-III

under Dr. PRASANNA DIXIT on the topic “ONLINE LIBRARY SYSTEM” in the

academic year 2011.

IGNATURE OF THE FACULTY SIGNATURE OF THE IC

DATE: DATE:

3

Page 4: Online Library Management System Report

ACKNOWLEDGEMENT

I would like to pay my sincere gratitude to Dr. G.P. Srivastava, the vice-chancellor of Icfai

University, Dehradun for introducing this internship program in the curriculum. I am

specially indebted to Dr. R.C.Ramola, the director of Faculty of Science and Technology,

Dehradun for providing the students the platform to prepare such project report while

pursuing the graduation itself. I would also like to thank, Internship-in-charge, Dr.

Prasanna Dixit, Icfai University, Dehradun, for providing me the source and allowing me to

pursue internship due to which I am able to work on this project. I am also indebted to Mr

Chinmoy Panda, CEO, Mindfire Solutions for assigning me such an interesting topic

which made me aware of the Technical Aspects of Web Development.

My heart owes a special thank to My Project Manager and My Lead, whose instructions

throughout the preparation of this midterm report were invincible to me and without whose

guidelines this report would never have been possible. I also thank him for his guidance and

supervision in making my work an authentic and dependable source of information to one

and all.

My deep thanks go to my parents whose continuous support resulted in my pursuit of

Computer Science and Engineering at FST, Icfai University Dehradun.

Indeed my friends are main source of inspiration, encouragement and energy and of course I

thank them.

4

Page 5: Online Library Management System Report

PREFACE

This Project Report is meant to acquaint the readers with a technical in-depth on the

Concepts of Web applications and the various technologies used in designing it. This project

thereby is made using Ruby On Rails framework and Ruby in the code behind.

The project titled Library Management System is Library Management software for

monitoring and controlling the transactions in a library. It mainly focuses on basic operations

in a library like adding new books, and updating new information, searching books, issue

book and return book. Throughout the project the focus has been on presenting information

and comments in an easy and intelligible manner. The project is very useful for those who

want to know about Library Management System.

Thereby to make this application various other technologies were used. These were Ajax,

Jquery, Javascript, Html, Xml and CSS style sheets.

Using these mentioned technologies this application was henceforth designed.

The successful completion of the Project Report owes much to my project lead Mr. Amitabh

Pattnaik and my mentor Mr. Chittranjan Pattnaik who through his ideas, moral boost up

and healthy criticism enabled me to present this report in the form it is. I also thank him for

my internship-in-charge for his guidance and supervision in making my literature survey an

authentic and dependable source of information to one and all.

5

Page 6: Online Library Management System Report

ABSTRACT

This project of “LIBRARY MANAGEMENT” of gives us the complete information about

the library. In this Library Management System there are three types of login (administrator,

Librarian, user) with different privileges. Administrator have all the privileges he can enter

the record of new books, retrieve the details of books available in the library, can add new

members and there information along with there login credentials, can send notification

emails to members. Librarian have less privileges as compare to administrator, he can't add

new members. Librarian has the privileges to add new books, add new subjects, can send

notification emails to members. Users can only see the books in the library according to the

subjects, can issue the books according to the availability. In this project we can maintain the

database that can store books issued by any member with details and date and time, we can

charge late fees accordingly.

6

Page 7: Online Library Management System Report

Table of Contents

CERTIFICATION

ACKNOWLEDGEMENT

PREFACE

ABSTRACT

1. INTRODUCTION 9

1.1 Description of the Project 10

1.2 Motivation 10

1.3 Purpose 11

1.4 Scope 11

1.5 Implementation Technologies 12

1.6 System Requirements 14

2. SYSTEM ANALYSIS 16

2.1 System methodology 17

2.2 SDLC Objective 19

2.3 SDLC 22

2.4 Product Perspective 25

2.5 Product Features 25

2.6 Constraints 26

3. SYSTEM DESIGN 27

3.1 System Design 28

3.2 Steps in System Design 29

3.3 Architecture Diagram 31

3.4 Dataflow Diagram 32

3.5 E-R Diagram 32

7

Page 8: Online Library Management System Report

4. BACK-END DATABASE 34

4.1 Books Table 36

4.2 Subjects Table 36

4.3 Users Table 37

4.4 Users_info Table 38

4.5 Privileges 38

4.6 Books_user_info Table 38

5. SYSTEM IMPLEMENTATION 39

5.1 Platform for the Project 40

5.2 Snapshots 46

6. TEST CASES 59

6.1 Testing 60

6.2 Device Application Testing 64

BIBLIOGRAPHY

8

Page 9: Online Library Management System Report

9

Page 10: Online Library Management System Report

1.1 Description of the Project

The project titled Library Management System is Library Management software for

monitoring and controlling the transactions in a library .The project “Library Management

System” is developed in Ruby on Rails, which mainly focuses on basic operations in a library

like adding new books, and updating new information, searching books, issue book and

return book.

This project of “LIBRARY MANAGEMENT” of gives us the complete information about

the library. In this Library Management System there are three types of login (administrator,

Librarian, user) with different privileges. Administrator have all the privileges he can enter

the record of new books, retrieve the details of books available in the library, can add new

members and there information along with there login credentials, can send notification

emails to members. Librarian have less privileges as compare to administrator, he can't add

new members. Librarian has the privileges to add new books, add new subjects, can send

notification emails to members. Users can only see the books in the library according to the

subjects, can issue the books according to the availability. In this project we can maintain the

database that can store books issued by any member with details and date and time, we can

charge late fees accordingly.

Internet has made life easier we can order thing just clicking on the botton and that thing will

be at our door step in no time time thats why this project is also made keeping in mind the

comfortness of members, they didn't have to do any work, whenever any member issue a

book a email notification is send to the librarian with the name of the member and book

details and librarian will make the book available to them on there desk.

1.2 Motivation

The credit behind this goes to the host company, Mindfire Solutions who motivated us to do

this project. The project was explained to us in simple terms, we have to make the projects in

2 steps, initially we have to make the simple application which will show the available books

subject wise, users can see the available books and issue them, there is no admin login in first

step. In the 2nd step we have to make the admin module and librarian module that can add

10

Page 11: Online Library Management System Report

new books, new member, new subjects, can send email notification and other things

according to there privileges. The company ade it very easy for us to implement the project

and also helped in understanding the platform and in solving problems.

1.3 Purpose

The purpose of this application are as follows :

The software is for automation of library.

It provides following facilities to

Users :

Can see available books and there information in the library.

Can issue books according to the availability.

Librarian:

Can send notifications through mail to members.

Can add new book, new subject.

Can read and write information about books.

Admin :

Can read and write information about any member and assign them the privileges.

Can update, create, delete the record of membership as per requirement.

Can send notifications through mail to members.

Can add new book, new subject new members.

1.4 Scope

The different areas where we can use this application are :

Any education institute can make use of it for providing information about author,

content of the available books.

11

Page 12: Online Library Management System Report

It can be used in offices and modifications can be easily done according to

requirements.

1.5 Implementation Technologies

This application would not have been possible had it not been for the technologies which is

used for its creation. These technologies includes

Ruby On Rails

My SQL

Hyper Text Markup Language(HTML).

Cascading Style Sheets (CSS).

Javascript.

1.5.1 Ruby On Rails

Ruby on Rails (RoR) is an extremely productive web application framework written in Ruby

by David Heinemeier Hansson. This is a open source Ruby framework for developing

database-backed web applications. Ruby on Rails is intended to emphasize Convention over

Configuration (CoC), and the rapid development principle of Don't Repeat Yourself (DRY).

1.5.2 My SQL

MySQL is a Relational Database Management System (RDBMS) that runs as a server

providing multi-user access to a number of databases. It is named after developer Michael

Widenius' daughter, My. This is an open source software available and is commonly used.

The SQL phrase stands for Structured Query Language. SQL statements are used to perform

tasks such as update data on a database, or retrieve data from a database.

1.5.3 Hyper Text Markup Language(HTML).

HTML, which stands for Hyper Text Markup Language, is the predominant markup language

for web pages. HTML is the basic building-blocks of web pages. The purpose of a web

browser is to read HTML documents and compose them into visual or audible web pages.

The browser does not display the HTML tags, but uses the tags to interpret the content of the

12

Page 13: Online Library Management System Report

page. HTML elements form the building blocks of all websites. HTML allows images and

objects to be embedded and can be used to create interactive forms. It provides a means to

create structured documents by denoting structural semantics for text such as headings,

paragraphs, lists, links, quotes and other items. It can embed scripts in languages such as

JavaScript which affect the behavior of HTML web pages.

1.5.4 Cascading Style Sheets (CSS).

Cascading Style Sheets (CSS) is a style sheet language used to describe the presentation

emamtics (the look and formatting) of a document written in a markup language. Its most

common application is to style web pages written in HTML and XHTML, but the language

can also be applied to any kind of XML document.

CSS is designed primarily to enable the separation of document content (written in HTML or

a similar markup language) from document presentation, including elements such as the

layout, colors, and fonts. This separation can improve content accessibility, provide more

flexibility and control in the specification of presentation characteristics, enable multiple

pages to share formatting, and reduce complexity and repetition in the structural content

(such as by allowing for tableless web design). CSS can also allow the same markup page to

be presented in different styles for different rendering methods, such as on-screen, in print,

by voice (when read out by a speech-based browser or screen reader ) and on Braille-based,

tactile devices. While the author of a document typically links that document to a CSS style

13

Page 14: Online Library Management System Report

sheet, readers can use a different style sheet, perhaps one on their own computer, to override

the one the author has specified.

1.5.4 Javascript

JavaScript was first developed by Netscape as an open scripting language to create

interactive web pages. Script is nothing but a small program which is generally very easy to

learn and use. JavaScript as an open language implies that it can be used by anyone; no

license is required to use JavaScript. Microsoft created Jscript for its Internet Explorer similar

to Netscape JavaScript. JavaScript has the ability to function both as an object oriented

language as well as procedural language. Using JavaScript you can create objects, attach

methods and properties. Though JavaScript can run on both client-side and server-side, it is

very popular among client-side scripting languages. Client side means the script runs on

client browser. JavaScript are generally embedded in the header of web pages.

1.6 System Requirement

There are two types of system requirement

These are:-

1. Hardware requirement

2. Software requirement

These software and hardware requirements are needed for two purposes ,these are:

1. Developing

2. Deploying

1.6.1 Developing purposes: For developing purposes the software and hardware requirements are discussed below:-

1.6.1.1 Software requirements:

1. operating system- Any operating system with a javascript enabled web browser.

14

Page 15: Online Library Management System Report

2. Back-end tool-Database system(MySql)

1.6.1.2 Hardware requirements:

1. Processor- PIII 700 MHZ and above

2. Input/Output Device-Keyword,Mouse,and monitor.

3. RAM- Atleast 256 Mb.

1.6.2 Deploying purpose:

Viewer only needs a browser and a net connection along with a valid credit card to make

transactions

15

Page 16: Online Library Management System Report

16

Page 17: Online Library Management System Report

2.1 System Development Methodology

1.  Initiation Phase: The initiation of a system (or project) begins when a business

need or opportunity is identified. A Project Manager should be appointed to

manage the project. This business need is documented in a Concept Proposal.

After the Concept Proposal is approved, the System Concept Development Phase

begins.

2.  System Concept Development Phase: Once a business need is approved, the

approaches for accomplishing the concept are reviewed for feasibility and

appropriateness. The Systems Boundary Document identifies the scope of the

system and requires Senior Official approval and funding before beginning the

Planning Phase.

3.  Planning Phase: The concept is further developed to describe how the business

will operate once the approved system is implemented, and to assess how the

system will impact employee and customer privacy. To ensure the products and

/or services provide the required capability on-time and within budget, project

resources, activities, schedules, tools, and reviews are defined. Additionally,

security certification and accreditation activities begin with the identification of

system security requirements and the completion of a high level vulnerability

assessment.

4.  Requirements Analysis Phase: Functional user requirements are formally

defined and delineate the requirements in terms of data, system performance,

security, and maintainability requirements for the system. All requirements are

defined to a level of detail sufficient for systems design to proceed. All

requirements need to be measurable and testable and relate to the business need or

opportunity identified in the Initiation Phase.

17

Page 18: Online Library Management System Report

5.  Design Phase: The physical characteristics of the system are designed during this

phase. The operating environment is established, major subsystems and their

inputs and outputs are defined, and processes are allocated to resources.

Everything requiring user input or approval must be documented and reviewed by

the user. The physical characteristics of the system are specified and a detailed

design is prepared. Subsystems identified during design are used to create a

detailed structure of the system. Each subsystem is partitioned into one or more

design units or modules. Detailed logic specifications are prepared for each

software module.

6. Development Phase: The detailed specifications produced during the design

phase are translated into hardware, communications, and executable software.

Software shall be unit tested, integrated, and retested in a systematic manner.

Hardware is assembled and tested.

7. Integration and Test Phase: The various components of the system are

integrated and systematically tested. The user tests the system to ensure that the

functional requirements, as defined in the functional requirements document, are

satisfied by the developed or modified system. Prior to installing and operating

the system in a production environment, the system must undergo certification

and accreditation activities.

8. Implementation Phase: The system or system modifications are installed and

made operational in a production environment. The phase is initiated after the

system has been tested and accepted by the user. This phase continues until the

system is operating in production in accordance with the defined user

requirements.

18

Page 19: Online Library Management System Report

9.  Operations and Maintenance Phase: The system operation is ongoing. The

system is monitored for continued performance in accordance with user

requirements, and needed system modifications are incorporated. The operational

system is periodically assessed through In-Process Reviews to determine how the

system can be made more efficient and effective. Operations continue as long as

the system can be effectively adapted to respond to an organization’s needs. When

modifications or changes are identified as necessary, the system may reenter the

planning phase.

10.  Disposition Phase: The disposition activities ensure the orderly termination of

the system and preserve the vital information about the system so that some or all

of the information may be reactivated in the future if necessary. Particular

emphasis is given to proper preservation of the data processed by the system, so

that the data is effectively migrated to another system or archived in accordance

with applicable records management regulations and policies, for potential future

access.

2.2 SDLC Objectives

This guide was developed to disseminate proven practices to system developers, project

managers, program/account analysts and system owners/users throughout the DOJ. The

specific objectives expected include the following:

To reduce the risk of project failure

To consider system and data requirements throughout the entire life of the system

To identify technical and management issues early

To disclose all life cycle costs to guide business decisions

To foster realistic expectations of what the systems will and will not provide

To provide information to better balance programmatic, technical, management, and

cost aspects of proposed system development or modification

To encourage periodic evaluations to identify systems that are no longer effective

To measure progress and status for effective corrective action

19

Page 20: Online Library Management System Report

To support effective resource management and budget planning

To consider meeting current and future business requirements

Key Principles

This guidance document refines traditional information system life cycle management

approaches to reflect the principles outlined in the following subsections. These are the

foundations for life cycle management.

Life Cycle Management Should be used to Ensure a Structured Approach to

Information Systems Development, Maintenance, and Operation: This SDLC

describes an overall structured approach to information management. Primary

emphasis is placed on the information and systems decisions to be made and the

proper timing of decisions. The manual provides a flexible framework for

approaching a variety of systems projects. The framework enables system developers,

project managers, program/account analysts, and system owners/users to combine

activities, processes, and products, as appropriate, and to select the tools and

methodologies best suited to the unique needs of each project.

Support the use of an Integrated Product Team: The establishment of an

Integrated Product Team (IPT) can aid in the success of a project. An IPT is a

multidisciplinary group of people who support the Project Manager in the planning,

execution, delivery and implementation of life cycle decisions for the project. The

IPT is composed of qualified empowered individuals from all appropriate functional

disciplines that have a stake in the success of the project. Working together in a

proactive, open communication, team oriented environment can aid in building a

successful project and providing decision makers with the necessary information to

make the right decisions at the right time.

Each System Project must have a Program Sponsor: To help ensure effective

planning, management, and commitment to information systems, each project must

have a clearly identified program sponsor. The program sponsor serves in a

leadership role, providing guidance to the project team and securing, from senior

management, the required reviews and approvals at specific points in the life cycle.

20

Page 21: Online Library Management System Report

An approval from senior management is required after the completion of the first

seven of the SDLC phases, annually during Operations and Maintenance Phase and

six-months after the Disposition Phase. Senior management approval authority may

be varied based on dollar value, visibility level, congressional interests or a

combination of these. The program sponsor is responsible for identifying who will be

responsible for formally accepting the delivered system at the end of the

Implementation Phase.

A Single Project Manager must be Selected for Each System Project: The Project

Manager has responsibility for the success of the project and works through a project

team and other supporting organization structures, such as working groups or user

groups, to accomplish the objectives of the project. Regardless of organizational

affiliation, the Project Manager is accountable and responsible for ensuring that

project activities and decisions consider the needs of all organizations that will be

affected by the system. The Project Manager develops a project charter to define and

clearly identify the lines of authority between and within the agency’s executive

management, program sponsor, (user/customer), and developer for purposes of

management and oversight.

A Comprehensive Project Management Plan is Required for Each System

Project: The project management plan is a pivotal element in the successful solution

of an information management requirement. The project management plan must

describe how each life cycle phase will be accomplished to suit the specific

characteristics of the project. The project management plan is a vehicle for

documenting the project scope, tasks, schedule, allocated resources, and

interrelationships with other projects. The plan is used to provide direction to the

many activities of the life cycle and must be refined and expanded throughout the life

cycle.

Specific Individuals Must be Assigned to Perform Key Roles Throughout the

Life Cycle: Certain roles are considered vital to a successful system project and at

least one individual must be designated as responsible for each key role. Assignments

may be made on a full- or part-time basis as appropriate. Key roles include

program/functional management, quality assurance, security, telecommunications

21

Page 22: Online Library Management System Report

management, data administration, database administration, logistics, financial,

systems engineering, test and evaluation, contracts management, and configuration

management. For most projects, more than one individual should represent the actual

or potential users of the system (that is, program staff) and should be designated by

the Program Manager of the program and organization.

2.3 Process Engineering of Application Software (Software

Development Life cycle)

Fig 2.1 Software Development Life Cycle

22

Page 23: Online Library Management System Report

Identification of the need: Since the world is growing for globalization, every organization

wants to beat its competitors and want to grow. Enterprise Resourceful Planning (ERP) is the

need of today’s organization. Survival on manual system is difficult so, that’s why

organization of the corporate world wants to computerize their departments. The modules

should be complete database driven and interactive that should provide the proper

information about the Placement and Training Organization.

Success of a system depends largely on how accurately a problem is defined, thoroughly

investigated and properly carried out to the choice of solution. Analysis is a phase in which

the requirements for the new system are identified. System analysis is a detailed study of the

various operations performed by a system and their relationship within and outside of the

system. The question is: what must be done to solve the problem? One aspect of analysis is

defining the boundaries of the system and determining whether or not a candidate system

should consider other related system. During analysis data are collected on the available files,

decision points and transactions handled by the parent system. Data flow diagram,

interviews, onsite observations, questionnaires are used as a logical system model and tools

to perform the analysis.Tasks, which are performed as analyst:

Gathered all facts about the present system from the employees.

Studied strength and weakness of the current system.

Determined “what” must be done to solve the problem.

Prepared a functional specifications document.

In order to reduce the time, there is a need for computerized system that cans retrieve data,

insert data, update existing data or delete existing data. These modules are developed wit the

aim of reducing time, reducing manpower, reducing cost so that the records can be easily

maintained. The volume of work and complexity are increasing year by year. This system

reduces complexity and workload.

Preliminary Investigation:

A request to take assistance from information system can be made for many reasons, but in

each case some one in the organization initiate the request. When the request is made, the

first system activity the preliminary investigation begins. This activity has three parts:

23

Page 24: Online Library Management System Report

Request clarification

Feasible Study

Request approval

Many requests from employees and users in the organization are not clearly defined.

Therefore, it becomes necessary that project request must be examined and clarified properly

before considering systems investigation.

The feasibility study is carried out by a small group of people who are familiar with

information system techniques, understand the parts of the business or organization that will

be involved or affected by the project, and are skilled in the system analysis and design

process.

Request Approval: It is not necessary that all request projects are desirable or feasible. Some

organizations receive so many projects request from employees that only a few of them can

be purchased. However, those projects that are feasible and desirable should be put into a

schedule. In some cases, development can start immediately, although usually system staff

members are busy on other ongoing projects. When such situation arises, management

decides which projects are more urgent and schedule them accordingly. After a project

request is approved, its cost, priority, completion time and personal requirements are

estimated and used to determine where to add it to any existing project list. Later on, when

the other projects have been completed, the proposed application development can be

initiated.

Analysis is a process of studying a problem and to find the best solution to that problem.

System analysis gives us the target for the design and the implementation. Analysis is one

phase, which is important phase for system development lie cycle. System development is a

problem solving techniques. Analysis involves interviewing the client and the user. Thee

people and the existing documents about the current mode of operation are the basic source

of information for the analyst.

Analysis is the process of studying a problem to find the best solution to that problem.

System analysis gives us the target for the design and the implementation. Analysis is one

phase of the very important phase of the system development life cycle. System development

is a problem solving techniques. Analyses involve interviewing the client and the user. These

24

Page 25: Online Library Management System Report

people and the existing document about the current mode of operation are the basic source of

information for the analyst.

2.4 Product perspective

The proposed Library Management System will provide a search functionality to facilitate

the search of resources. This search will be based on various categories viz. book name or the

ISBN. Also Advanced Search feature is provided in order to search various categories

simultaneously. Further the library staff personnel can add/update/remove the resources and

the resource users from the system.

The University of Ballarat has various campuses distributed across Australia. Further each

branch is managed individually and locally by that branch library staff. The System should

reflect and support this decentralized structure. A provision should further be allowed to add

a branch. The System will also have an ADMIN who has full-fledged rights with regards to

managing resources across branches – such as transferring books across these branches. The

users can know the number of available books, information about their account etc.

2.5 Product Features

There are three different users who will be using this product:

Administrator who will be managing the data of Online Library.

Librarian who will be managing the things related to books only.

Users who will be accessing the Library online.

The features that are available to the Administrator are:

Can view the different categories of books available in the Library.

Can add new categories of books.

Can add new member and there privileges.

Can view the List of current users and edit there information.

Can view the List of books available in each category

Add books and their information of the books to the database

Edit the information of the existing books.

25

Page 26: Online Library Management System Report

Can check the report of the issued Books.

Can send E-mail notifications to all the members.

The features that are available to the Librarian are:

Can view the different categories of books available in the Library.

Can add new categories of books.

Can view the List of books available in each category

Add books and their information of the books to the database

Edit the information of the existing books.

Can check the report of the issued Books.

Can send E-mail notifications to all the members.

The features available to the Users are:

Can view The different categories of books available in the Library

Can view the List of books available in each category.

Can own an account in the Library.

Can view the books issued to him .

Can issue a new book.

Can search for a book.

2.6 Constraints

Some of the problems being faced in manual system are as follows:

1. Fast report generation is not possible.

2. Tracing a book is difficult.

3. Information about issue/return of the books are not properly maintained.

4. No central database can be created as information is not available in database.

26

Page 27: Online Library Management System Report

27

Page 28: Online Library Management System Report

3.1 SYSTEM DESIGN

The most creative and challenging phase of the system life cycle is system design. The term

design describes a final system and the process by which it is developed. It refers to the

technical specifications that will be applied in implementing the candidate system.

The first step is to determine how the output is to be produced and in what format. Samples

for the output (and input) are also presented.

The second step is input data and master files (data base) have to be designed to meet the

requirements of the proposed output. The operational (processing) phases are handled

through program construction and testing including a list of the programs needed to meet the

system’s objective and complete documentation. Finally, details related to justification of the

system on the user and the organization are documented and evaluated by management as a

step toward implementation. To design the system we must note the following points:

To identify the Software Components which satisfy the System Design.

To design and document the Software Components and their linkage.

In this component the software components and relevant interfaces such as, interactions with

existing internal and external systems, network connections, standard input an output formats

are to be identified.

Identify Relevant Interfaces

Interaction with existing internal systems.

Interaction with external systems.

Network Connections.

Standard Input Formats

Standard Output Formats.

Program Specification

Elements of Specifications required are

How it is being accessed.

Function called.

Program Security.

Field Details.

28

Page 29: Online Library Management System Report

Program Functions.

3.2 STEPS IN SYSTEM DESIGN

Databases and database technology are having a major impact on the growing use of

computers. It is fair to say that databases will play critical role: in almost all areas where

computers are used. Including business, engineering, medicine, law, education and library,

science to name a few. A database is a collection of related data. By data we mean known

facts that can be recorded and that have implicit meaning for example, consider, the names,

telephone numbers and addresses of the people you know. You may have recorded this data

in an indexed address, book, or you may have stored it on a diskette. Using a personal

computer and software such as DBASE IV or V, PARADOX, MS EXCEL OR MS

ACCESS. This is a collection of related data with an implicit meaning and hence is a

database.

A database is a logically coherent of with some inherent meaning.

A database represents some aspects of the real world. Sometimes called the mini-world or the

universe of discourse (UOD). Changes to the mini-world are reflected in the database.

A database is designed, built and populated with data for the specific people. It has an

intended group of users and some preconceived applications in which the users are interested.

A database can be of any size and of varying complexity. For example, the list of names and

addresses referred to earlier may consist of only a few hundred records, each with simple

structure. On the other hand the card catalog of a large library may contain half a million

cards stored under different categories by primary author’s last name, by subject, by book

title with each category organized in alphabetic order.

A database may be generated and maintained or by machine. The library card catalog is an

example of a database that may be created and maintained either by a group of application

programs written specially for that task or by a database management system.

A database management system (DBMS) is a collection of programs that enables users to

create and maintained a database. The DBMS is hence a general-purpose software system

that facilities tile processed of defining, constructing and manipulating database for various

applications. Defining a database involves specifying the data types, structures and

constraints for the data to be stored in the database. Constructing the database is the process

29

Page 30: Online Library Management System Report

of storing the data itself on some storage medium that is controlled by the DBMS.

Manipulating a database includes such functions as querying the database to reflect changes

in the mini-world, and generating reports form the data.

With the advent of the graphical operating system like windows, the world of imputing went

through a dramatic change. It opened up a whole new world of graphics. Interfaces that use

graphics came to known so graphical user interface (GUI). These became very popular

because the users could identify with images than words. Mention tile word print to a person

and it invokes the image of a printer. The primary requirements for an interface are that it is

easy to use. We must be able react intuitively to an interface presented to us. This is possible

if the interface presented is such that is it emulates real life.

30

1

Output Design

Input Design

FileDesign

Processing Design

Detailed System

Documentation

TestPrograms

Design submitted to management for approval

Design accepted

2

Abandon project

Cost Justification

and Candidate

design

From Analysis

Yes

No

Fig-3.1 Steps in System Design

Page 31: Online Library Management System Report

3.3 Architecture Diagram

Fig-3.2 Architecture Diagram

31

Page 32: Online Library Management System Report

3.4 Dataflow Diagram

3.4 E-R Diagram

It is clear that the physical objects from the previous section – the member,

books and library – correspond to entities in the Entity-Relationship model, and

the operations to be done on those entities – holds, checkouts, and so on –

correspond to relationships. However, a good design will minimize redundancy

and attempt to store all the required information in as small a space as possible.

32

Page 33: Online Library Management System Report

33

Page 34: Online Library Management System Report

34

Page 35: Online Library Management System Report

35

Page 36: Online Library Management System Report

4.1 Books Table

Books table is used to store the books in the online library it has a field 'subject_id' which

work as a foreign key and relate it to the subject table.

4.2 Subjects Table

Subject table is used to store the subjects in the online library it has a reference in books

table.

36

Page 37: Online Library Management System Report

4.3 Users Table

Users table is used to store the user’s login credential. It has 2 foreign keys which relate it to

privilege table and user_info table.

37

Page 38: Online Library Management System Report

4.4 User_info Table

User info table is used to store the information about the user, his address, email etc. This

table also store no. of book issued by the user.

4.5 Privileges

Privileges table store is the privileges of different groups. It has a refence I user table that

connects both the table.

4.6 Books_user_info Table.

This table is used to connect books and user_info table as there is many-to-many relations in

these 2 tables so we have to make another table to connect them.

38

Page 39: Online Library Management System Report

39

Page 40: Online Library Management System Report

5.1 PLATFORM FOR THE PROJECT

ABOUT RUBY ON RAILS

History

Ruby on Rails was extracted by David Heinemeier Hansson from his work on Basecamp, a

project management tool by 37signals (now a web applicatio company). Hansson first

released Ruby on Rails as open source in July 2004, but did not share commit rights to the

project until February 2005. .

Ruby on Rails version 2.3 was released on March 15, 2009. Major new developments in

Ruby on Rails include templates, engines, Rack and nested model forms.

Templates enable the developer to generate a skeleton application with custom gems

and configurations.

Engines let one reuse application pieces complete with routes, view paths and models.

The Rack web server interface and Metal allow one to write optimized pieces of code

that route around ActionController.

On December 23, 2008, Merb, another web application framework was launched, and Ruby

on Rails announced a commitment to work together. The Ruby on Rails team announced

they would work with the Merb project to bring "the best ideas of Merb" into Ruby on Rails

3, ending the "unnecessary duplication" across both communities. Merb was merged with

Rails as part of the Rails 3.0 release.

Technical overview

Like many web frameworks, Ruby on Rails uses the Model-ViewController (MVC)

architecture pattern to organize application programming.

Ruby on Rails includes tools that make common development tasks easier "out of the box",

such as scaffolding that can automatically construct some of the models and views needed for

a basic website. Also included are Webrick, a simple Ruby web server that is distributed with

40

Page 41: Online Library Management System Report

Ruby, andRake, a build system, distributed as a gem. Together with Ruby on Rails these

tools provide a basic development environment.

Ruby on Rails relies on a web server to run it. Mongrel was generally preferred over

WEBrick at the time of writing, but it can also be run by Apache and many others. From

2008 onwards, the Passenger web server replaced Mongrel as the most used web server for

Ruby on Rails.

Ruby on Rails is also noteworthy for its extensive use of theJavaScript libraries for Ajax.

Ruby on Rails initially utilized lightweight SOAP for web services.

Since version 2.0, Ruby on Rails by default offers both HTML and XML as output formats.

The latter is the facility for RESTful web services.

Framework structure

Ruby on Rails is separated into various packages, namely ActiveRecord, ActiveResource

(provides web services), ActionPack, ActiveSupport and ActionMailer. Prior to version 2.0,

Ruby on Rails also included the Action Web Service package that is now replaced by Active

Resource. Apart from standard packages, developers can make plugins to extend existing

packages.

Deployment

Ruby on Rails is often installed using RubyGems, a package manager which is included with

current versions of Ruby. Many Linux distributions also support installation of Ruby on Rails

and its dependencies through their native package management system, however, these

packages can often be outdated and unmaintained.

ABOUT My-SQL

MySQL is a Relational Database Management System (RDBMS) that runs as a server

providing multi-user access to a number of databases. It is named after developer

Michael Widenius' daughter, My. This is an open source software available and is

commonly used. The SQL phrase stands for Structured Query Language. SQL

41

Page 42: Online Library Management System Report

statements are used to perform tasks such as update data on a database, or retrieve

data from a database.

SQL – Structured Query Language

Tables

In relational database systems data are represented using tables. A query

issued against the DBS also results in a table. A table has the following structure:

Column 1 Column 2 . . . Column n

A table is uniquely identified by its name and consists of rows that contain the stored

information,each row containing exactly one tuple (or record). A table can have one

or more columns.

A column is made up of a column name and a data type, and it describes an attribute

of the tuples. The structure of a table, also called relation schema, thus is defined by

its attributes.

The type of information to be stored in a table is defined by the data types of the

attributes

At table creation time. SQL uses the terms table, row, and column for relation, tuple,

and attribute, respectively.

A table can have up to 254 columns which may have different or same data types and

sets of values respectively. Possible domains are alphanumeric data , numbers and

date formats.

Oracle offers the following basic data types

42

Page 43: Online Library Management System Report

char(n): Fixed-length character data , n characters long. The maximum size

for n is 255 bytes.

Example: char(40)

varchar2(n): Variable-length character string. The maximum size for n is

2000 . Only the bytes used for a string require storage.

Example: varchar2(80)

number(o, d): Numeric data type for integers and reals. o = overall number of

digits, d = number of digits to the right of the decimal point.

date: Date data type for storing date and time.

The default format for a date is: DD-MMM-YY.

Examples: ’13-OCT-94’

long: Character data up to a length of 2GB. Only one long column is allowed per

table.

Further properties of tables are:

the order in which tuples appear in a table is not relevant

.

a table has no duplicate tuples .

A database schema is a set of relation schemas. The extension of a database schema at

database run-time is called a database instance or database, for short.

43

Page 44: Online Library Management System Report

Queries

In order to retrieve the information stored in the database, the SQL query language is used.

In SQL a query has the following form

select [distinct] <column(s)>

from <table>

[ where <condition> ]

[ order by <column(s) [asc|desc]> ]

Data Definition in SQL

Creating Tables

The SQL command for creating an empty table has the following form:

create table <table> (

<column 1> <data type> [not null] [unique] [<column constraint>],

. . . . . . . . .

<column n> <data type> [not null] [unique] [<column constraint>],

[<table constraint(s)>]

);

For each column, a name and a data type must be specified and the column name must be

unique within the table definition. Column definitions are separated by comma. There is no

difference between names in lower case letters and names in upper case letters. In fact, the

only place where upper and lower case letters matter are strings comparisons. A not null

constraint is directly specified after the data type of the column and the constraint requires

defined attribute values for that column, different from null.

The keyword unique specifies that no two tuples can have the same attribute value for

thiscolumn. Unless the condition not null is also specified for this column, the attribute value

null is allowed and two tuples having the attribute value null for this column do not violate

the constraint.

44

Page 45: Online Library Management System Report

Example: The create table statement for our EMP table has the form

create table EMP (

EMPNO number(4) not null,

ENAME varchar2(30) not null,

JOB varchar2(10),

MGR number(4),

HIREDATE date,

SAL number(7,2),

DEPTNO number(2)

);

CONSTRAINTS

The definition of a table may include the specification of integrity constraints. Basically two

types of constraints are provided: column constraints are associated with a single column

whereas table constraints are typically associated with more than one column. However, any

column constraint can also be formulated as a table constraint.

The specification of a (simple) constraint has the following form:

[constraint <name>] primary key | unique | not null

A constraint can be named. It is advisable to name a constraint in order to get more

meaningful information when this constraint is violate.

Probably the most important type of integrity constraints in a database are primary key

constraints.

A primary key constraint enables a unique identification of each tuple in a table.

Based on a primary key, the database system ensures that no duplicates appear in a table.

the start date and end date of the project. Furthermore, we have the following conditions:

- a project is identified by its project number,

45

Page 46: Online Library Management System Report

- the name of a project must be unique,

- the manager and the budget must be defined.

5.2 SNAPSHOTS

5.2.1 Index Page (Login)

46

Page 47: Online Library Management System Report

5.2.2 Home Page

End-user:

47

Page 48: Online Library Management System Report

Librarian:

Librarian has an extra-menu item ‘Library Task’ in Upper menu bar.

48

Page 49: Online Library Management System Report

Admin:

Admin has an extra menu-item ‘Admin Task’ in the Upper menu bar.

49

Page 50: Online Library Management System Report

5.2.3 Navigation Bar

There is a navigation bar at both right and left side of every page.

Lower navigation bar shows subject list.

Upper navigation bar shows the menus like home and different tasks for different users-levels etc.

Admin:

Admin is the highest level, thus have highest and every privileges. He can perform admin tasks, library task and account tasks as well. Home is linked to the Homepage.

Under Admin Task menu there are sub-menus.

Add User: Admin can add new users with all privileges. Users can only be added by admin. There is no signup stuff.

User List: Admin can view the user list. He can add or remove them as well.

Librarian:

Librarian is a user level that manages the books stuff. He can add books and remove them. He can add subjects list as well. These tasks can be performed by Admin as well as he is the highest privileged.

50

Page 51: Online Library Management System Report

Under the librarian tasks, there are email facility, subject list and receive back the issued book sub-menus. He can send emails to the users regarding availability, return date and all.

End-User:

End-Users are lowest privileged users. They can just view the books and subjects, request for issuing a book. They can change their password and can do account related stuff. All the tasks those an end-user can perform, can be performed by librarian as well as admin.

Under the Account menu, we can change personal information, change password. And there is a link to logout from current account. Other menu item is Help. This is linked to the help page.

51

Page 52: Online Library Management System Report

5.2.4 Book Details page

On clicking the name of the book it will redirect to book detail page.

Details of a particular book are displayed here. There are four links name of subject (will redirect to subject details page), Back (return to book-list), Edit and Delete.

5.2.5 Issued Book listing page

Content of the Issued Book listing page is as below.

52

Page 53: Online Library Management System Report

5.2.6 Pagination

There is the facility for pagination if the content is more than the page, the pagination link

will show up.

5.2.7 Search facility

There is the search facility in every listing page. So that user can search bu name of book or

subjects.

Result of the above search

53

Page 54: Online Library Management System Report

5.2.8 List of books in a subject

This page displays the available books under a particular subject. In the following figure the books under Ruby On Rails subjects are listed with appropriate actions.

5.2.9 List of Subjects

Displays the list of available subjects in the library.

54

Page 55: Online Library Management System Report

5.2.10 Add or Edit a book

55

Page 56: Online Library Management System Report

5.2.11 Add new Subject

5.2.12 Add User Form

56

Page 57: Online Library Management System Report

5.2.13 Change Password

5.2.14 Edit Personal Info

57

Page 58: Online Library Management System Report

5.2.15 Send Email

58

Page 59: Online Library Management System Report

59

Page 60: Online Library Management System Report

6.1 Testing

“Testing is the process of executing a program with the intent of finding errors.”

Who should Do the Testing ?

Testing requires the developers to find errors from their software.

It is difficult for software developer to point out errors from own creations.

Many organizations have made a distinction between development and testing phase by

making different people responsible for each phase.

Testing Tools

One way to improve the quality & quantity of testing is to make the process as pleasant

as possible for the tester. This means that tools should be as concise, powerful & natural

as possible.

The two broad categories of software testing tools are:

Static

Dynamic

60

Page 61: Online Library Management System Report

Information Flow of Data for Testing

Fig-5.1 Flow of Data for Testing

Testing Methods

61

Testing

Debug

Reliability

Model

EvaluationTest Results

Software Configuration

Test Configuration

Expected Results

Correction

s

Error RateData

Predicted Reliabil i ty

Page 62: Online Library Management System Report

The box approach: Software testing methods are traditionally divided into white- and

black-box testing. These two approaches are used to describe the point of view that a test

engineer takes when designing test cases.

White box testing

White box testing is when the tester has access to the internal data structures and

algorithms including the code that implement these.

Types of white box testing

The following types of white box testing exist:

API testing (application programming interface) - testing of the application

using public and private APIs

Code coverage - creating tests to satisfy some criteria of code coverage (e.g.,

the test designer can create tests to cause all statements in the program to be

executed at least once)

Fault injection methods - improving the coverage of a test by introducing

faults to test code paths

Mutation testing methods

Static testing - White box testing includes all static testing

Test coverage

White box testing methods can also be used to evaluate the completeness of a test

suite that was created with black box testing methods. This allows the software team

to examine parts of a system that are rarely tested and ensures that the most important

function points have been tested.

Two common forms of code coverage are:

Function coverage, which reports on functions executed

62

Page 63: Online Library Management System Report

Statement coverage, which reports on the number of lines executed to

complete the test

They both return a code coverage metric, measured as a percentage.

Black box testing

Black box testing treats the software as a "black box"—without any knowledge of internal

implementation. Black box testing methods include: equivalence partitioning, boundary

value analysis, all-pairs testing, fuzz testing, model-based testing, traceability matrix,

exploratory testing and specification-based testing.

Specification-based testing: Specification-based testing aims to test the functionality of

software according to the applicable requirements.Thus, the tester inputs data into, and only

sees the output from, the test object. This level of testing usually requires thorough test cases

to be provided to the tester, who then can simply verify that for a given input, the output

value (or behavior), either "is" or "is not" the same as the expected value specified in the test

case.

Specification-based testing is necessary, but it is insufficient to guard against certain risks.

Advantages and disadvantages: The black box tester has no "bonds" with the code, and a

tester's perception is very simple: a code must have bugs. Using the principle, "Ask and you

shall receive," black box testers find bugs where programmers do not. On the other hand,

black box testing has been said to be "like a walk in a dark labyrinth without a flashlight,"

because the tester doesn't know how the software being tested was actually constructed. As a

result, there are situations when (1) a tester writes many test cases to check something that

could have been tested by only one test case, and/or (2) some parts of the back-end are not

tested at all.

Therefore, black box testing has the advantage of "an unaffiliated opinion", on the one hand,

and the disadvantage of "blind exploring", on the other.

63

Page 64: Online Library Management System Report

Grey box testing

Grey box testing involves having knowledge of internal data structures and algorithms for

purposes of designing the test cases, but testing at the user, or black-box level. Manipulating

input data and formatting output do not qualify as grey box, because the input and output are

clearly outside of the "black-box" that we are calling the system under test. This distinction is

particularly important when conducting integration testing between two modules of code

written by two different developers, where only the interfaces are exposed for test. However,

modifying a data repository does qualify as grey box, as the user would not normally be able

to change the data outside of the system under test. Grey box testing may also include reverse

engineering to determine, for instance, boundary values or error messages.

6.2 Device Application Testing

Device application (DevApp) testing is a collection of related activities with a single goal: to

uncover errors in DevApp content, function, usability, navigability, performance, capacity,

and security. To accomplish this, a testing strategy that encompasses both reviews and

executable testing is applied throughout the Web engineering process. If end users encounter

errors that shake their faith in the DevApp, they will go elsewhere for the content and

function they need, and the DevApp will fail. For this reason as many errors as possible must

be eliminated before the DevApp goes online.

The DevApp testing process begins by focusing on user-visible aspects of the

DevApp and proceeds to tests that exercise technology and infrastructure. In some instances

a DevApp test plan is produced. In every instance, a suite of test cases is developed for every

testing step and an archive of test results is maintained for future use.

Quality is incorporated into a web application as a consequence of good design. In our

project as well, the following quality dimensions have always been the cap stones in the

development process:

Content is evaluated at both the syntactic and semantic level.

64

Page 65: Online Library Management System Report

Function is tested to uncover errors that indicate lack of conformance to customer

requirements.

Structure is assessed to ensure that it properly delivers content and function, that it is

extensible, and that it can be supported as new content or functionality is added.

Usability is tested to ensure that each category of user is supported by the interface.

Navigability is tested to ensure that all navigational syntax and semantics are

exercised to uncover any navigational errors.

Performance is tested under a variety of operating conditions to ensure that the

system is responsive to user interaction and operates without unacceptable

operational degradation in contingency situations.

Compatibility is tested by executing the web application in a variety of different hosts

on both the client and server sides.

Interoperability is tested to ensure that the DevApp properly interfaces with other

applications and/or databases.

Security is tested by assessing potential vulnerabilities and attempting to exploit

each.

65

Page 66: Online Library Management System Report

BIBLIOGRAPHY

Books

ROR up and running by Curt Hibbs

Agile web development by Rails by David Heinimeire Hansson.

Simply Rails 2 by David Heinimeire Hansson.

Beginning with ROR by Peter Cooper

References

www.w3schools.com

www.tutorialspoint.com

66