0% found this document useful (0 votes)
223 views

Smart RFID Based Library System

This document outlines the components and modules of an RFID-based library management system. It describes RFID tags and readers, the database, and modules for user login, book issuing/returning. It discusses advantages of RFID like rapid check-in/out and inventorying. Diagrams are included for use cases, classes, entities, activities, and sequences. The software development life cycle phases of planning, analysis, design, and development are also overviewed.

Uploaded by

sharif
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
223 views

Smart RFID Based Library System

This document outlines the components and modules of an RFID-based library management system. It describes RFID tags and readers, the database, and modules for user login, book issuing/returning. It discusses advantages of RFID like rapid check-in/out and inventorying. Diagrams are included for use cases, classes, entities, activities, and sequences. The software development life cycle phases of planning, analysis, design, and development are also overviewed.

Uploaded by

sharif
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 85

Table of Contents

1.1 ABSTRACT:........................................................................................................................ 6
1.2 INTRODUCTION ................................................................................................................. 6
1.3RFID Technology in Libraries .............................................................................................. 6
1.4 COMPONENTS .................................................................................................................. 7
1.4.1RFIDTags:.......................................................................................................................... 7
1.4.2RFIDReaders: .................................................................................................................. 10
1.4.4 MICROCONTROLLER: ................................................................................................ 12
1.5 DATABASE:....................................................................................................................... 12
2 Modules that are described as follows .................................................................................. 13
2.1Module1 ............................................................................................................................ 13
2.1.1 The Initial Setup ............................................................................................................ 13
2.2 Module2 ........................................................................................................................... 13
2.2.1 The Login Process........................................................................................................... 13
2.2.2 The Issue Process ............................................................................................................ 13
D.2.3 Module 4 ....................................................................................................................... 13
The Return Process ................................................................................................................. 13
3.0 About Scope of RFID Technology .................................................................................... 13
3.1 Auto-On ............................................................................................................................. 14
3.2 Features .............................................................................................................................. 14
3.3 Differences between RFID and a simple barcode system ................................................. 15
4.0 Introduction: ....................................................................................................................... 19
4.1 Purpose & Scope ............................................................................................................... 19
4.2 Time Management: ........................................................................................................... 19
4.3 Objective: .......................................................................................................................... 19
5.0 Tools Used in the Project: .................................................................................................. 20
MYSQLI SERVER v.3.3.2: ..................................................................................................... 20
Sublime and Notepad++ latest version: ................................................................................... 20
5.1 Languages used in Software: ............................................................................................ 20
PHP .......................................................................................................................................... 20
SQL .......................................................................................................................................... 20
Microsoft Word 2013 latest version ........................................................................................ 21
RFID Reader Latest ZKTECO................................................................................................. 21
Existing System ....................................................................................................................... 21
Improvements .......................................................................................................................... 21
Advantages of RFID systems................................................................................................... 22
Rapid check-out / check-in ...................................................................................................... 22
Simplified patron self check-out / check-in ............................................................................. 22
High reliability ......................................................................................................................... 22
Page 1 of 85
High-speed inventorying .......................................................................................................... 23
Automated materials handling ................................................................................................. 23
Long tag life ............................................................................................................................. 23
PROPOSED SYSTEM OF LIBRARY MANAGEMENT SYSTEM ................................. 25
6.1 User Module: .................................................................................................................... 25
6.2 New user register: .............................................................................................................. 25
6.3 Student Login: ................................................................................................................... 25
6.4 Search book:....................................................................................................................... 26
6.5 Issue Book:......................................................................................................................... 26
6.6 Return Book: ...................................................................................................................... 26
Admin Module: ........................................................................................................................ 26
Register user............................................................................................................................. 26
6.7 Issue Book .......................................................................................................................... 26
6.8 Librarian:............................................................................................................................ 26
6.8 Software Requirements: ..................................................................................................... 28
Front End: ................................................................................................................................ 28
Back End: ................................................................................................................................. 28
6.9 Books and its attirbutes: ..................................................................................................... 28
User: ......................................................................................................................................... 29
Issue Status: ............................................................................................................................. 30
6.10 Return Status: ................................................................................................................... 31
Diagrams: ................................................................................................................................. 32
7.0 Use Case Diagram: ........................................................................................................... 32
7.1 Class Diagram ................................................................................................................... 33
Use case 2 diagram .................................................................................................................. 34
7.2 ER Diagrams ...................................................................................................................... 35
7.4 Class Diagrams ................................................................................................................. 36
7.4.1 Advance Class Diagram .................................................................................................. 36
7.5 Activity diagramfor RFID Library Management System. ................................................. 37
7.6 Sequence diagram templates. ............................................................................................ 38
7.8 Entity Relationship Diagram advance for library ............................................................. 39
8.0 Phases of Software Development Life Cycle ................................................................... 41
8. 1. Planning ........................................................................................................................... 41
8.2. Systems Analysis and Requirements ................................................................................ 41
8. 3. Systems Design ................................................................................................................ 42
8.4. Development ..................................................................................................................... 42
8.5. Integration and Testing ..................................................................................................... 42
8.6. Implementation ................................................................................................................. 43
8.7. Operations and Maintenance............................................................................................. 43

Page 2 of 85
8.8 Importance of the SDLC .................................................................................................... 43
9.0 Models in Software ............................................................................................................ 44
9.1 Waterfall Model ................................................................................................................. 44
Waterfall model Diagram ........................................................................................................ 45
9.2 V-Shaped Model: ............................................................................................................... 45
V Model diagram ..................................................................................................................... 45
9.3 Prototype Model................................................................................................................. 46
9.4 Spiral Model....................................................................................................................... 46
Spiral Model has four phases: .................................................................................................. 46
9.5 Which model is use in RFID-LMS .................................................................................... 48
9.6 What is Agile?................................................................................................................... 49
Agile Model - Pros and Cons ................................................................................................... 53
10.0 Software Development Life Cycle................................................................................... 55
10.1 Defining &Planning and Requirement Analysis.............................................................. 56
10.2 Design: ............................................................................................................................. 56
10.3 Coding/Implimentation. .................................................................................................. 57
Code For RFID-LMS Dashboard and Sign in and sign Up page. ........................................... 57
Code for Book retrieve the book:............................................................................................. 58
Coding Techniques .................................................................. Error! Bookmark not defined.
STRUCTURED PROGRAMMING ........................................................................................ 59
PROGRAMMING STYLE ...................................................... Error! Bookmark not defined.
INTERNAL DOCUMENTATION ......................................................................................... 60
CODING .................................................................................................................................. 60
CODING STANDARD AND GUIDELINES ......................................................................... 61
REPRESENTATIVE CODING STANDARDS...................................................................... 61
REPRESENTATIVE CODING GUIDELINES ...................................................................... 61
NAMES.................................................................................................................................... 61
VARIABLES ........................................................................................................................... 62
Coding Walkthroughs .............................................................................................................. 62
CODE INSPECTION .............................................................................................................. 62
SUMMARY ............................................................................................................................. 63
11.1 Screen Short for RFID-LMS ............................................ Error! Bookmark not defined.
Login & Signup: Introduction and code .................................................................................. 66
Code For student Registration/login page................................................................................ 66
11.3 Dashboard with all related Features and Menu: ............................................................ 69
Description ............................................................................................................................... 69
11.4 Student Registered Page: ................................................ Error! Bookmark not defined.
11.4 Student Registration page Register students: ................................................................... 70
11.5 Code For Student Registration Page: .............................................................................. 70

Page 3 of 85
11.6 Website Preview ............................................................................................................. 72
This is my website for RFID-LMS System ............................................................................. 72
Screen Shot for Books Register w.r.t rfid / isbn number that are unique for each
book.......................................................................................... Error! Bookmark not defined.
Issue Books by RFID. .............................................................. Error! Bookmark not defined.
Returning the books by RFID . ................................................ Error! Bookmark not defined.
Software Quality and software attributes ................................................................................. 75
What Are The Quality Attributes? ........................................... Error! Bookmark not defined.
Reliability................................................................................................................................. 75
Maintainability ...................................................................................................................................... 75
Correctness:.............................................................................................................................. 75
Learnability: Learnability of a software system depends on: .................................................. 76
Robustness: Robustness reduces the impact of operational mistakes, erroneous
input data, and hardware errors. ............................................................................................... 76
Extensibility: ............................................................................................................................ 77
Testing Estimation Techniques ....................................................................................................... 78
PERT Software Testing Estimation Technique ....................................................................... 78
Use-Case Point Method ........................................................................................................... 79
Function Point / Testing Point Analysis .................................................................................. 79
Experience-based Testing Estimation Technique .................................................................... 79
Software Testing Phase ............................................................................................................ 79
Software validation and verification ........................................................................................ 80
Advantages of Validation: ....................................................................................................... 80
Verification makes sure that the product is designed to deliver all functionality to
the customer. ............................................................................................................................ 81
Advantages of Software Verification : .................................................................................... 81
Challenges ................................................................................................................................ 81
Poorly defined goal .................................................................................................................. 82
Unrealistic Deadlines ............................................................................................................... 82
Solution: ................................................................................................................................... 82
Conclusion and Summery: ....................................................................................................... 83
Conclusion and Thanks ............................................................ Error! Bookmark not defined.

Page 4 of 85
CHEPTER NO: 1

Page 5 of 85
INTRODUCTION
---------------------------------------------------------------------***--------------------------
----------------

1.1 ABSTRACT:
Radio Frequency Identification (RFID) mean says that transfers the
information wirelessly, using radio frequency waves. It is automatic
identification technology. This paper is about RFID based Smart Library
Management System (SLMS) that allows fast transaction flow and will
make easy to handle the activities like issue and return of books from the
library without much manual intervention. This system is based on RFID
readers and passive RFID tags that are able to store the information
electronically which can be read by the RFID readers.
This system will make users to issue and return of books via RFID tags
very easy and also calculate the corresponding fine associated with the
period of time the absence of the book from the library.

Keywords: RFID Readers; RFID Tags; Methodology; Anti- theft.

1.2 INTRODUCTION

In everyday life, we are using Library. In libraries, working is still done


manually. Books issue, reissue, return all this activities are done by
librarian and it also increases the labor cost. So instead of doing this
manually we are creating the system named as Smart Library
Management System.
In this system we are going to design a system in which user can get all
information about name of the books he/she had issued. They will also get
to know return date of the book. If user is not registered then there is
option for new registration (signup). The tag is attached to the each book
in the library. These tags have the unique code and because of this
uniqueness in code we are using it for different items. For this smart library
management system we used RFID instead of Bar code due to more
advantages over bar code.

1.3RFID Technology in Libraries


A library is a growing system. The problems associated with the
maintenance and securities are used to identify, track, sort or detect
library collections at the circulation desk and in the daily maintenance.
This system consists of smart RFID labels, hardware and software,

Page 6 of 85
provides libraries with more effective way of managing their data while
providing greater service. The technology works through thin smart
labels, which placed on the inside cover of each book in a library’s
collection. Manual interactions are not needed for RFID-tag reading. It
most care is taken to provide following features to the Library using RFID
technology to minimize the manual intervention and to minimize the
manual errors and to provide fast issuing, reissuing and searching of
books.

1.4 COMPONENTS

The RFID based Smart Library Management System consists of


following components
A. RFID Tags
B. RFID Reader
C. Microcontroller
D. Database Software

Figure 2.1 RFID Component

1.4.1 RFID Tags:


Tags are thin labels which can be fixed inside a back cover of the book.
RFID tags a remade up of carbonic structure which contains a magnetic
trip or coil layer inside the tag which helps in sensing the tags. In the
figure shown, the tag contains a unique serial number like
“0600394791” which is used for the authentication of the user.

Since RFID tags can be attached to cash, clothing, and possessions, or


implanted in animals and people, the possibility of reading personally-
linked information without consent has raised serious privacy concerns

These concerns resulted in standard specifications development

Page 7 of 85
addressing privacy and security issues. ISO/IEC 18000 and ISO/IEC
29167 use on-chip cryptography methods for untraceability, tag and
reader authentication and over-the-air privacy. ISO/IEC 20248 specifies a
digital signature data structure for RFID and barcodes providing data,
source and read method authenticity. This work is done within ISO/IEC
JTC 1/SC 31 Automatic identification and data capture techniques.Tags
can also be used in shops to expedite checkout, and to prevent theft by
customers and employees.

Page 8 of 85
A radio-frequency identification system uses tags, or labels attached to the
objects to be identified. Two-way radio transmitter-receivers called interrogators
or readers send a signal to the tag and read its response.

RFID tags can be either passive, active or battery-assisted passive. An active tag
has an on-board battery and periodically transmits its ID signal. A battery-
assisted passive (BAP) has a small battery on board and is activated when in the
presence of an RFID reader. A passive tag is cheaper and smaller because it has
no battery; instead, the tag uses the radio energy transmitted by the reader.
However, to operate a passive tag, it must be illuminated with a power level
roughly a thousand times stronger than for signal transmission. That makes a
difference in interference and in exposure to radiation.

Tags may either be read-only, having a factory-assigned serial number that is


used as a key into a database, or may be read/write, where object-specific data
can be written into the tag by the system user. Field programmable tags may be
write-once, read-multiple; "blank" tags may be written with an electronic product
code by the user.

RFID tags contain at least three parts: an integrated circuit that stores and
processes information and that modulates and demodulates radio-frequency (RF)
signals; a means of collecting DC power from the incident reader signal; and an
antenna for receiving and transmitting the signal. The tag information is stored in
a non-volatile memory. The RFID tag includes either fixed or programmable
logic for processing the transmission and sensor data, respectively.

Page 9 of 85
When we bring the tag in front of the reader of the reader, the reader antenna
senses the tag and checks the unique serial number of the tag. If the tag is
registered in the data base then the reader authenticates the tag otherwise the
reader shows an error and gives the message that the tag is not registered or the
tag is not authenticated.

Figure 1.2 RFID Tags

1.4.2 RFID Readers:


RFID readers are used to interrogate data stored in tags. It contains a radio
frequency module, a control unit and an antenna to communicate with electronic
tags via radio signals. The antenna inside the reader generate select magnetic
field. When at a passes through the field, the information stored on the tag is
interpreted by the reader and sent to the database server, which in turn stores or
retrieves information about the book’s issue or return.

Figure 1.3 RFID TAGS READER

Page 10 of 85
Figure 2.4 RFID Reader

Different types of readers are available in market depending on their range and
suitable applications.

 Lowfrequencyreaders-125Khz
 High frequencyreaders-13.56Mh
 Ultra High frequencyreaders-800-900Mhz
Features:

 -It is a 13.56MHZ non-contact IC reader which is easy and stable to use.
 -Fast in reading the RFID Tags.
 -Plug and play, needn't extra driver.
 -Widely used in many RFID application systems such as personnel identification, logistics,
access control, conference attendance system, anti-counterfeit and industrial production
process control system.

Specification:

 Color: Black
 Net Weight: 39g
 Gross Weight: 100g
 Size: 104x70x11mm/4.09"x2.76"x0.43"
 Support MIFARE, 14443A protocol, S50, S70
 Power source: USB
 Interface: USB, 106Kbit/s , (RS232, 9600,N,8,1)
 Working distance: Up to 8 cm
 Frequency: 13.56MHz
 Temperature: -30 degrees Celsius to + 60 degrees Celsius
 Humidity: 5%-95%
 Audio/Visual Indication: LED and buzzer
 SDK: Communication Protocol

Package includes:

 1 x RIFD Card Reader
 1 x USB Cable

Page 11 of 85
1.4.4 MICROCONTROLLER:

In this project, we are going to design a system by which user can use the library
smartly. Major components in our system areas micro controller, Database, RFID
readers and RFID tags. Micro controller has the in built USART support and we will
use it to obtain serial communication for transmitting and receiving the data
between RFID readers, Microcontroller & the Database stored in PC. Also to
achieve anti-theft we will interface a Buzzer and one more RFID reader to the

Microcontroller.
Figure 1.4 Database for SLMS overview

1.5 DATABASE:

A database is an organized collection of data. It is the collection of schemas,


tables, queries, reports, views, and other objects. The data are organized to model
aspects of reality in a way that supports processes requiring information

Page 12 of 85
2 Modules that are described as follows

2.1Module1

2.1.1 The Initial Setup

Whenever a book is acquired by the library, an RFID tags are placed into the
books with the relevant information like, call number, author name, and book
number, etc. The detailed information regarding the book is also stored in the
computer database. The computer database also stores all information for
individual users (users) of the library. Each user is supplied with registered RFID
cards. These cards carry identification data and details like: address, roll number,
and telephone no. etc. for each user.
2.2 Module2

2.2.1 The Login Process

There is an administrator with special privileges who has a unique master


password controlling the GUI of the RFID SLMS system. As soon as he powers
on the system, the first screen displays the LOGIN dialogue box. First he will
need to scan his ID card in front of the RFID reader and then entering the
corresponding password to enable the system for further usage.
2.2.2 The Issue Process

When a user needs to get a book issued , he can get it done without any manual
intervention. He simply needs to scan his RFID card in front of the RFID reader
and it automatically opens his/her login account page. The again he needs to scan
the selected books to be issued, one by one in front of the RFID reader. The
computer records all these data against his name. Finally a message is displayed
informing the user that the ISSUE process has been successful. The user takes the
books for a specified time period from the library after which he has to return the
books to the library.

D.2.3 Module 4

The Return Process

When a user want store turn books, he simply places the books again in front of
the RFID connected with the controller and the books are automatically adjusted
for return against the user’s name.

3.0 About Scope of RFID Technology

RFID: What is it? The concept of RFID (Radio Frequency Identification)


technology was developed in 1948 but it has had to wait fifty years before it has
been able to deliver on its or signal promise. The advent of tiny integrated circuits
Page 13 of 85
(“chips”) allowed solution designers to add intelligence to the movement of
goods through the supply chain and when a chip and an aerial were attached to a
sticky label the RFID “Tag” was born. RFID was then conceived, as the name
suggests, as a means of enabling tags to identify themselves to a radio receiver.
The tags now come in all shapes and sizes and are attached to a staggering range
of items with a wide range of applications from cars (electronic tolls) to earrings
(brand protection). For some time now they have also been attached to library
books. This document seeks to show how and why this has been done up to now,
but more importantly how it might be done even more effectively in the future.
This is a step by step guide, which will explain what RFID is, how it is used and
the benefits which can accrue. It will also provide a realistic view of the issues
around RFID, it will look at how it is best deployed and warn of any pitfalls so
that libraries can access the necessary information to have meaningful
conversations with suppliers. Libraries will then be able to invest in RFID
technology appropriately to suit their needs and to maximize the available
benefits.

Figure 1.5 RFID Reader That reads the Tags and store information

3.1 Auto-On

It is an Automatic RF Detection technology that automatically checks for


presence of a book. When used with Auto-On –compatible software, the ZK
RFID will turn on and scan books as soon as we touch the device.

3.2 Features

 High-performance , maintenanace-free optical RF Sensor


Page 14 of 85
 Sensor resistant to scratches, impact, vibration and electrostatic
shock
 Auto-On (Automatic Book Placement Detection)
 Smart Capture
 USB Connection
 Removable weighted Stand

3.3 Differences between RFID and a simple barcode system

Many libraries have already installed barcode systems where a barcode is placed
in each book and the LMS (Library Management System) uniquely identifies the
book by reading the barcode, using a barcode scanner. This technology has
enabled self service and self return to operate successfully for many years,
functions which have since come to be synonymous with RFID technology. The
main differences between using barcodes or RFID tags are the latter’s ability to
issue multiple items simultaneously and to allow items to be read without having
to open them to find the bar codes. Libraries should consider the volumes of
items which will need to be processed either for self-service and self-return and
aim for an RFID/ sortation solution which can cope. A larger library with big
volumes could justify a sortation solution perhaps using a system of conveyors
and sorting units etc. A smaller library probably could not justify this investment.
RFID tags and workstations can also identify multi-part sets to detect whether
these are complete on return or issue. This is a useful function of RFID assuming
the LMS knows to look for all the parts which make up a complete item. Another
significant difference between barcode and RFID systems is that barcodes use
standards that can be read by most scanners. While RFID transmission protocols
are well established tags are, at present, not governed by similar standards,
meaning that some tags may only be read by a specific reader.
Another important difference between barcodes and RFID is that barcode
data is uni-directional (i.e. you can only read it, not write it). RFID not only reads
from, but can also write information to, the tag. RFID therefore requires an
exchange of data.

Uses of RFID Technology in the word in SLMS

Because most libraries have library management IT systems, the data for the tags
can be generated from the library's database. The data can include a number of
fields such as the book's unique identifier, loan record and bar code number.

The tag, costing around 45p, is manually stuck into the book's inner spine or
close to the spine in the inside cover, sometimes using special non-damaging
glue. The library then uses handheld readers to perform stocktakes, while fixed
readers at issuing desks scan books entering or leaving the library. A stack of
books can be scanned in seconds, significantly reducing the time and staff needed
to manage loans. In some libraries, this activity has become partly self-service.
Page 15 of 85
According to The RFID Knowledgebase, a research service, US libraries lead the
world in RFID use, with the UK and Japan equal second. It estimates that 35m
library items have been tagged worldwide.

In the UK, 18 libraries are using the technology, either in pilot projects or with
complete systems. The latest - and possibly the largest to go live - is the Hendon
Campus Library at Middlesex University. This new library has selected a
£200,000 system from Switzerland-based Biblioteca, which has been installed by
its UK distributor D-Link in association with Dynix, the university's library
management system supplier. D-Link has also installed similar systems at
Nottingham Trent University's library, Colchester public library, the Barbican
library in London and Norwich Millennium library.

So far, 250,000 of HCL's 300,000 books have been tagged in a three-week


period, despite the library thinking it might take two months. Marvin Crisp, the
managing director of D-Link, says there are immediate security benefits: "If
someone walks out of the library with a book, it is automatically scanned, so they
instantly know which book it was. That was never possible before." It is also
possible to do a stocktake using a handheld reader while walking slowly past
each shelf: there is no need to open a single book.

Crisp believes that RFID systems are only scratching the surface of their
potential. "It is possible to make returns fully automated using a device that sorts
returned books for you. It is also possible to have 'intelligent shelving' by putting
antennas throughout the library so books can be constantly monitored. This
means that if a book is misplaced, its location will automatically be noted;
therefore it can be easily found."

Because the data on borrowing can be kept on the tag, it is technically possible to
walk around the library to weed out items not regularly used: books that have not
been taken out for more than a year, for example.

But with concerns about cost, it won't be adopted overnight. Crisp says that most
of the library systems installed have been with new libraries or those involved in
new extensions. "That way, it is possible to put the cost of RFID into the building
budget," he adds.

At the British Library in London, cost is a key concern: "We are looking at the
technology with a view to running a pilot next year," says Dawn Olney, head of
collection and storage, "but with a collection of 150m items, we are concerned
about cost. We are trying to identify which items to tag in a trial project. If lots of
libraries opt for RFID, then prices will come down, making it more feasible."

The library's inventory includes books, manuscripts, maps, newspapers,


magazines, prints and drawings, scores, patents and stamps.

Fortunately, the British Library is in a position to use RFID as a leapfrog


technology because, unlike most public libraries, it does not barcode its books. It
uses a simple shelf marking system, and could upgrade without going via
barcodes.

Page 16 of 85
The next "flagship" library system will be Brighton's new £14m city centre
Jubilee library, which will hold 110,000 books and 16,000 audiovisual items. The
system, which is being installed by Manchester-based specialists Intellident, will
go live when the library opens in March. Intellident has 15 RFID library
installations in the south of England, and recently secured an agreement to RFID-
enable Essex's public libraries.

Sally McMahon, head of libraries at Brighton & Hove City Council, says: "RFID
technology will transform the way we deliver public library services. The remit
of a library is much wider nowadays, and this will free staff to play a more
supporting role running classes and helping people. But there will always be staff
present."

Page 17 of 85
CHEPTER NO: 2

Page 18 of 85
4.0 Introduction:

An intelligent Library Management System (LMS) based on Radio Frequency


Identification (RFID) was built as a pilot project for the university library. A
Graphic al User Interface (GUI) was carefully designed to support all necessary
Library functionalities and user needs.
RFID technology finds a useful and potentially promising application in the field
of library science

4.1 Purpose & Scope

RFID (Radio Frequency Identification) technology is an automatic identification


system consisting of a tag and a reader which can communicate with radio waves.
Within the business processes it is possible to read and write the data from and
into the Microchip included tags from long distances. In this way, with lower
costs more efficient process management and monitoring is provided. Today,
RFID technology can find a wide range of application areas in many sectors such
as automotive, logistics,
Retail, healthcare and libraries. RFID can provide long term benefits to libraries
in Process, traceability and security.
Radio Frequency Identification (RFID) means a system that transfers the
Information wirelessly, using radio frequency waves. It is automatic
identification technology.

4.2 Time Management:

RFID –SLMS Web Application covers the requirement of the day to day
monitoring of the Book. You can create customized all books reports daily.

4.3 Objective:

 Create a web application to be used in place on old paper based


Library’s Books Management.
 Use MYSQLI SERVER technology ot create strong and
 Secured database connectivity.
 Incorporate the server software within the code.
 Runtime package and deployment instructions are given.
 Latest technology of RFID Device.
Page 19 of 85
5.0 Tools Used in the Project:

MYSQLI SERVER v.3.3.2:

Mysqli Server Management Studio is a software application that is used for


configuring, managing, and administering all components within Microsoft sql
server.
The tool includes both script editors and graphical tools with work with objects
and features of the server.

Sublime and Notepad++ latest version:

Sublime Text, Atom, and Notepad++ are all general purpose text editors. They
are suited to web development, with features beyond those available in basic text
applications like Notepad. But they are not as complex or specialized as most
IDEs. All three are cross-platform and support a variety of languages.

5.1 Languages used in Software:

Figure 2.1 Language that mostly Used in SLMS

PHP

PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used


open source general-purpose scripting language that is especially suited for web
development and can be embedded into HTML.

SQL
SQL is a domain-specific language used in programming and designed for
managing data held in a relational database management system, or for stream
processing in a relational data stream management system

Page 20 of 85
Other languages are:

1. JavaScript
2. CSS
3. HTML
4. Objective C

Microsoft Word 2013 latest version

Microsoft Word 2013 latest version word processor, part of the Office 2013. It
boasts improved performance on the previous version, and more features.

RFID Reader Latest ZKTECO

RFID READER: It communicates with the tags through an RF channel to


obtain identifying information. Depending on the type of tag, this communication
may be a simple ping or maybe a more complex multi-round protocol. In
environments with many tags, a reader may have to perform an anti-collision
protocol to ensure that communication conflicts don’t occur. Anti-collision
protocols permit readers to rapidly communicate with many tags in serial order.
ZKTeco is the leader of security and time management solutions, we strive to
provide the best products and services to our users.

Existing System

We have visited GCUF Library.


All the Records are maintained is registers
The lock of consistency in register maintenance leads to both loss of work as well
as money and time.
More manual work. In their system first take collect order from customer.

They give registration form from customer with personal and ordered books
details.
Then they will ordered them to supplier, supplier supply book transport through
and payment the supplier banking through manual.
Improvements
Before this project, all the library was working by manual and very rare
Universities use barcode. Manual work was very time consumer and costly
required people and hardware registers for student registrations.
Barcode system was also costly. Some time we required advance barcode
machine that read barcode tag if it became dim.

User Friendly and Less Paper work .


Page 21 of 85
No manual Registration on Register.

So I through that Radio Frequency Based Identification Project should launched


so that it work on waves form and scan/capture all information of book and
students.
This was the reason for development of New Version of RFID-LMS.

Advantages of RFID systems


Rapid check-out / check-in

The use of RFID reduces the amount of time required to perform circulation
operations. The most significant time savings are attributable to the facts that
information can be read from RFID tags much faster than from barcodes and that
several items in a stack can be read at the same time. While initially unreliable,
the anti-collision algorithm that allows an entire stack to be check-out or check-in
now appears to be working well.

The other time savings realized by circulation staff are modest unless the RFID
tags replace both the EM security strips or RF tags of older theft detection
systems and the barcodes of the library management system - i.e., the system is a
comprehensive RFID system that combines RFID security and the tracking of
materials throughout the library; or it is a hybrid system that uses EM for security
and RFID for tracking, but handles both simultaneously with a single piece of
equipment. There can be as much as a 50 percent increase in throughput. The
time savings are less for check-out than for check-in because the time required
for check-out usually is extended by social interaction with patrons.

Simplified patron self check-out / check-in

For patrons using self check out, there is a marked improvement because they do
not have to carefully place materials within a designated template and they can
check out several items at the same time.

Patron self check-in shifts that work from staff to patrons. Staff is relieved further
when readers are installed in book-drops.

High reliability

1. The readers are highly reliable. RFID library systems claim an almost 100
percent detection rate using RFID tags.
2. There is no false alarm than with older technologies once an RFID system is
properly tuned.
3. RFID systems encode the circulation status on the RFID tag. This is done by
designating a bit as the "theft" (EAS) bit and turning it off at time of check-out
and on at time of check-in. If the material that has not been properly check-out is
taken past the exit sensors, an immediate alarm is triggered.
Page 22 of 85
High-speed inventorying

A unique advantage of RFID systems is their ability to scan books on the shelves
without tipping them out or removing them. A hand-held inventory reader can be
moved rapidly across a shelf of books to read all of the unique identification
information. Using wireless technology, it is possible not only to update the
inventory, but also to identify items which are out of proper order.

Automated materials handling

Another application of RFID technology is automated materials handling. This


includes conveyer and sorting systems that can move library materials and sort
them by category into separate bins or onto separate carts. This significantly
reduces the amount of staff time required to ready materials for re-shelving.

Long tag life

Finally, RFID tags last longer than barcodes because nothing comes into contact
with them. Most RFID vendors claim a minimum of 100,000 transactions before
a tag may need to be replaced.

Page 23 of 85
CHEPTER NO: 3

Page 24 of 85
6.0 System Flow

PROPOSED SYSTEM OF LIBRARY MANAGEMENT SYSTEM

The project Library Management System aims at developing a fully functional


computerized system to maintain all the day to day activity of a library

This project has many features which such as the facility of user login and
teachers login. Also on the top of all this, there is an admin who will be managing
the entire application’s authorization and authentication, not any intruder can
login and modify the data, as a login for admin is also available.

The various modules of this system areas:

6.1 User Module:

This module is further divided into various sub-modules describing the user in a
better way:

6.2 New user register:

To sign up a new user to this system

6.3 Student Login:

So as to confirm that only an authenticated user is using the project.

Page 25 of 85
6.4 Search book:

The user can search book based on book id, book name, or by author name.

6.5 Issue Book:

To help the user get the required books issued.

6.6 Return Book:

To return the book before the last date without fine, or after the specified time
duration with a late fine.

Admin Module:

It is to be operated by the admin with unique id and password. The admin is the
person who decides authentication and authorization for all the different users of
the application. It further can be subdivided as:

Register user
6.7 Issue Book

Maintain books in a stack, means record the availability at regular time interval.

6.8 Librarian:

Includes all the library staff who are required to enter the records in the system
and keep an eye on the various activities like the issue of the book, the return of
the book, non-availability of books etc. through the developed system.

Page 26 of 85
Page 27 of 85
6.8 Software Requirements:
Front End:
- Client on Internet: Web Browser, Operating System(any).
- Client on Intranet: Web Brower, Operating System(any).
Back End:
- JavaScript
- PHP
- SQL
- MySQL
- Web Server
- Database Server Apache
- Operating System

6.9 Books and its attributes:

Page 28 of 85
These are the basic building block of this system as well as any library. In other
words the main purpose of any library and the cause to develop systems like this.

Book _Name:

The name of the book which is almost unique in some way.

Book_ Code:

A number to use for sorting and arranging the book, as well as identifying it in
the library.

Author:

The one who has written the book. As sometimes the book’s series become more
popular by the author’s name rather than the book name.

Price:

The market value of the book is also required to maintain in the record, as
sometimes it is needed to arrange and sort based on this, secondly, it is also
required for compensation in case of loss or damage, as fine charges.

Quantity:

This is to indicate the availability of each book individually, so as to know


whether last copy should be issued or kept as a reference piece. Also to maintain
the number of books.

Rack/addition No:

To get the exact location of the book, so as it becomes easy to search it and sort it
at the time of binding up work.

Published date:

As there are various further division and subcategories of any subject. So, in that
case, this is the unique id to distinguish the books, arrange them, and sort them.
Like in computer science there are further many specialties like core java,
advanced java, HTML, html5 etc.

User:

The next is the beneficiary, by whom the library is being accessed and who
serves as a purpose for this system. Its attributes include:

CNIC Number

The name of the student or teacher, who will get the book issued, or who will
return the book.

Page 29 of 85
Contact:

This refers to the user’s physical area of residence. It is a composite attribute. As


it further contains the house number and lane number.

Student Name/ Member ship name

To indicate the amount of fine he/she has to deposit and keep it up to date so that
he/she is aware of the payment to be made at the end of the year or session.

Issue Status:

It makes to the notice of the librarian as well as to the student or teacher that ow
many books they have already got issued and how much more can they get at the
current point of time. It includes attributes as:

Issue ID
Roll number of Student Name

Book Name:

The name of the book which is almost unique in some way.

Member or student Name

Book Code:

A number to use for sorting and arranging the book, as well as identifying it in
the library.

Id:

The user’s unique college or university roll number i.e. the id. The same is
applicable to teachers also, with their unique id. To know which user has been
issued the book and for what time limit, that is what time the user is supposed to
return the book, and if not will be charged fine.

Date_Issue:

The date on which user got the book issued to read from it.

Page 30 of 85
Return_Date:

It indicates the date on which user is supposed to be returning the book, that is it
is the date after the duration completed for which the user has been issued the
book.

6.10 Return Status:

This tells the library management authority about the status of returned books per
user. Whether a particular user has returned the book or not, on or before the last
date. If not, in that case, the fine will be charged from him/her as a penalty for
late submission.

Book_Name:

The name of the book which is almost unique in some way.

Book_Code:

A number to use for sorting and arranging the book, as well as identifying it in
the library.

Id:

The user’s unique college or university roll number i.e. the id. The same is
applicable to teachers also, with their unique id. To know which user has been
issued the book and for what time limit, that is what time the user is supposed to
return the book, and if not will be charged fine.

Date_Issue:

The date on which user got the book issued to read from it.

Return_Date:

It indicates the date on which user is supposed to be returning the book, that is it
is the date after the duration completed for which the user has been issued the
book.

Page 31 of 85
Diagrams:

7.0 Use Case Diagram:

Figure 3.1 RFID Use Case Diagram for Librarian Student


Use Case Diagram –RFID Library Management System The use case diagram
are usually referred to as behavior diagram used to describe the actions of all user
in a system. All user describe in use case are actors and the functionality as action
of system.

Page 32 of 85
7.1 Class Diagram

Figure 3.2 Class Diagram of SLMS

Library Management System Class ( Class Diagram (UML)) Library


management system class diagram describes the structured class diagram of
library management system, their attributes, methods and relationships among
objects.

Page 33 of 85
Use case 2 diagram

Figure 3.4 Use Case Diagram for RFID-SLMS

For Student, Teacher, Non Teacher and Librarian Use Case Diagram
Librarian register student, book, using RFID Card to publish.
Use Case Diagram – Library Management System
The use case diagram are usually referred to as behavior diagram used to
describe the actions of all user in a system. All user describe in use case are
actors and the functionality as action of system.
Page 34 of 85
7.2 ER Diagrams

Figure 3.5 Class Diagram for RFID-SLMS

Library management system class diagram describes the structured class diagram
of library management system, their attributes, methods and relationships among
objects. Class uml teach software uml classless diagram class diagram template
library class library management class.

Page 35 of 85
7.4 Class Diagrams

Figure 3.6 Advance Class and ER Diagram for RFID-SLMS

7.4.1 Advance Class Diagram


Library domain model UML class diagram example describes main classes and
for Integrated Library System (ILS), aka Library Management System (RFID-
LMS)

Page 36 of 85
7.5 Activity diagramfor RFID Library Management System.
The activity diagram used to describe flow of activity through a series of
actions. Activity diagram is a important diagram to describe the system

Figure 3.7 Activity Diagram for Issue Books

Page 37 of 85
Figure 3.8 (2nd Activity diagram for Returning Book)

7.6 Sequence diagram templates.

Many project managers and engineers use sequence diagrams in UML to get a
better idea of how tasks within a project will function, overlap, and move
between objects or components. Create sequence diagrams to display interactions
between objects and the order in which those interactions occur.

Figure 3.9 Sequence Diagram for RFID-SLMS Solution

Page 38 of 85
7.8 Entity Relationship Diagram advance for library

This ER (Entity Relationship) Diagram represents the model of RFID Library


Management System Entity. The entity-relationship diagram of Library
Management System shows all the visual instrument of database tables and the
relations between Books, Librarian, Student, Address etc

Figure 3.10 ER diagram for SLMS

Page 39 of 85
CHEPTER NO: 4

Page 40 of 85
8.0 Phases of Software Development Life Cycle

Following are the seven phases of the SDLC (System analysis and Planning)

8. 1. Planning

This is the first phase in the systems development process. It identifies whether or
not there is the need for a new system to achieve a business’s strategic objectives.
This is a preliminary plan (or a feasibility study) for a company’s business
initiative to acquire the resources to build on an infrastructure to modify or
improve a service. The company might be trying to meet or exceed expectations
for their employees, customers and stakeholders too. The purpose of this step is
to find out the scope of the problem and determine solutions. Resources, costs,
time, benefits and other items should be considered at this stage. Requirement
gathering and analysis: Business requirements are gathered in this phase. This
phase is the main focus of the project managers and stake holders. Meetings with
managers, stake holders and users are held in order to determine the requirements
like; Who is going to use the system? How will they use the system? What data
should be input into the system? What data should be output by the
system? These are general questions that get answered during a requirements
gathering phase. After requirement gathering these requirements are analyzed for
their validity and the possibility of incorporating the requirements in the system
to be development is also studied.

Finally, a Requirement Specification document is created which serves the


purpose of guideline for the next phase of the model. The testing team follows the
Software Testing Life Cycle and starts the Test Planning phase after the
requirements analysis is completed.

8.2. Systems Analysis and Requirements

The second phase is where businesses will work on the source of their problem or
the need for a change. In the event of a problem, possible solutions are submitted
and analyzed to identify the best fit for the ultimate goal(s) of the project. This is
where teams consider the functional requirements of the project or solution. It is
also where system analysis takes place—or analyzing the needs of the end users
to ensure the new system can meet their expectations. Systems analysis is vital in
determining what a business"s needs are, as well as how they can be met, who
will be responsible for individual pieces of the project, and what sort of timeline
should be expected.

There are several tools businesses can use that are specific to the second phase.
They include:

Page 41 of 85
 CASE (Computer Aided Systems/Software Engineering)
 Requirements gathering
 Structure snalysis

8. 3. Systems Design

The third phase describes, in detail, the necessary specifications, features and
operations that will satisfy the functional requirements of the proposed system
which will be in place. This is the step for end users to discuss and determine
their specific business information needs for the proposed system. It"s during this
phase that they will consider the essential components (hardware and/or software)
structure (networking capabilities), processing and procedures for the system to
accomplish its objectives. On receiving system design documents, the work is
divided in modules/units and actual coding is started. Since, in this phase the
code is produced so it is the main focus for the developer. This is the longest
phase of the software development life cycle.

8.4. Development

Deployment: After successful testing the product is delivered / deployed to the


customer for their use.

As soon as the product is given to the customers they will first do the beta testing.
If any changes are required or if any bugs are caught, then they will report it to
the engineering team. Once those changes are made or the bugs are fixed then the
final deployment will happen.

The fourth phase is when the real work begins—in particular, when a
programmer, network engineer and/or database developer are brought on to do
the major work on the project. This work includes using a flow chart to ensure
that the process of the system is properly organized. The development phase
marks the end of the initial section of the process. Additionally, this phase
signifies the start of production. The development stage is also characterized by
instillation and change. Focusing on training can be a huge benefit during this
phase.

8.5. Integration and Testing

The fifth phase involves systems integration and system testing (of programs and
procedures)—normally carried out by a Quality Assurance (QA) professional—to
determine if the proposed design meets the initial set of business goals. Testing
may be repeated, specifically to check for errors, bugs and interoperability. This
testing will be performed until the end user finds it acceptable. Another part of
Page 42 of 85
this phase is verification and validation, both of which will help ensure the
program"s successful completion.

8.6. Implementation

The sixth phase is when the majority of the code for the program is written.
Additionally, this phase involves the actual installation of the newly-developed
system. This step puts the project into production by moving the data and
components from the old system and placing them in the new system via a direct
cutover. While this can be a risky (and complicated) move, the cutover typically
happens during off-peak hours, thus minimizing the risk. Both system analysts
and end-users should now see the realization of the project that has implemented
changes.

8.7. Operations and Maintenance

The seventh and final phase involves maintenance and regular required updates.
This step is when end users can fine-tune the system, if they wish, to boost
performance, add new capabilities or meet additional user requirements.

8.8 Importance of the SDLC

If a business determines a change is needed during any phase of the SDLC, the
company might have to proceed through all the above life cycle phases again.
The life cycle approach of any project is a time-consuming process. Even though
some steps are more difficult than others, none are to be overlooked. An
oversight could prevent the entire system from functioning as planned.

Systems development specialists at Innovative Architects possess extensive


experience in managing these type of projects. If you have a situation at your
organization and you think a customized software solution may be what you
need, contact us today. Consultants at Innovative Architects will be able to
quickly guide you through each of these steps, ensuring you can have your new
system online as soon as possible.

Page 43 of 85
9.0 Models in Software

9.1 Waterfall Model

Waterfall models the very first model that is used in SDLC. It is also known as
the linear sequential model.

In this model, the outcome of one phase is the input for the next phase.
Development of the next phase starts only when the previous phase is complete.

 First, Requirement gathering and analysis is done. Once the requirement is freeze then
only the System Design can start. Here in, the SRS document created is the output for the
Requirement phase and it acts as an input for the System Design.
 In System Design Software architecture and Design, documents which act as an input for
the next phase are created i.e. Implementation and coding.
 In the Implementation phase, coding is done and the software developed is the input for
next phase i.e. testing.
 In the testing phase, the developed code is tested thoroughly to detect the defects in the
software. Defects are logged into the defect tracking tool and are retested once fixed.
Bug logging, Retest, Regression testing goes on until the time the software is in go-live
state.
 In the Deployment phase, the developed code is moved into production after the sign off
is given by the customer.
 Any issues in the production environment are resolved by the developers which come
under maintenance.

Page 44 of 85
Waterfall model Diagram

Figure 4.1 Waterfall model

9.2 V-Shaped Model:

V- Model is also known as Verification and Validation Model. In this model


Verification & Validation goes hand in hand i.e. development and testing goes
parallel. V model and waterfall model are the same except that the test planning
and testing start at an early stage in V-Model.

Figure 4.2 V Model diagram

Page 45 of 85
9.3 Prototype Model

The prototype model is a model in which the prototype is developed prior to


actual software.

Prototype models have limited functional capabilities and inefficient performance


when compared to the actual software. Dummy functions are used to create
prototypes. This is a valuable mechanism for understanding the customers’ needs.

Software prototypes are built prior to the actual software to get valuable feedback
from the customer. Feedbacks are implemented and the proOnce the requirement
gathering is done, the quick design is created and the prototype which is
presented to the customer for evaluation is built.

Customer feedback and the refined requirement is used to modify the prototype
and is again presented to the customer for evaluation. Once the customer
approves the prototype, it is used as a requirement for building the actual
software. The actual software is build using the Waterfall model approach.

Prototype is again reviewed by the customer for any change. This process goes on
till the model is accepted by the customer.

9.4 Spiral Model

The Spiral Model includes iterative and prototype approach.

Spiral model phases are followed in the iterations. The loops in the model
represent the phase of the SDLC process i.e. the innermost loop is of requirement
gathering & analysis which follows the Planning, Risk analysis, development,
and evaluation. Next loop is Designing followed by Implementation & then
testing.

Spiral Model is a combination of a waterfall model and iterative model. Each


phase in spiral model begins with a design goal and ends with the client
reviewing the progress. The spiral model was first mentioned by Barry Boehm in
his 1986 paper.

The development team in Spiral-SDLC model starts with a small set of


requirement and goes through each development phase for those set of
requirements. The software engineering team adds functionality for the additional
requirement in every-increasing spirals until the application

Spiral Model has four phases:

 System maintenance

Page 46 of 85
 System enhancement
 System Development
 Concept Development

Figure 4.3 Spiral model

(i) Planning:

The planning phase includes requirement gathering wherein all the required
information is gathered from the customer and is documented. Software
requirement specification document is created for the next phase.

(ii) Risk Analysis:

In this phase, the best solution is selected for the risks involved and analysis is
done by building the prototype.

The risk involved in accessing the data from a remote database can be that the
data access rate might be too slow. The risk can be resolved by building a
prototype of the data access subsystem.

(iii) Engineering: Once the risk analysis is done, coding and testing are done.

Page 47 of 85
When to use Spiral Methodology?

 When project is large


 When releases are required to be frequent
 When creation of a prototype is applicable
 When risk and costs evaluation is important
 For medium to high-risk projects
 When requirements are unclear and complex
 When changes may require at any time
 When long term project commitment is not feasible due to changes in economic
priorities

Spiral model is a combination of sequential and prototype model. This model is best
used for large projects which involves continuous enhancements. There are specific
activities which are done in one iteration (spiral) where the output is a small prototype
of the large software. The same activities are then repeated for all the spirals till the
entire software is build.

Agile Model:

Agile SDLC model is a combination of iterative and incremental process models


with focus on process adaptability and customer satisfaction by rapid delivery of
working software product. Agile Methods break the product into small
incremental builds. These builds are provided in iterations. Each iteration
typically lasts from about one to three weeks. Every iteration involves cross
functional teams working simultaneously on various areas like −

 Planning
 Requirements Analysis
 Design
 Coding
 Unit Testing and
 Acceptance Testing.

At the end of the iteration, a working product is displayed to the customer and
important stakeholders.

What is Agile?

Agile model believes that every project needs to be handled differently and the
existing methods need to be tailored to best suit the project requirements. In
Agile, the tasks are divided to time boxes (small time frames) to deliver specific
features for a release.

Iterative approach is taken and working software build is delivered after each
iteration. Each build is incremental in terms of features; the final build holds all
the features required by the customer.

Page 48 of 85
9.5 Which model is use in RFID-LMS
Agile SDLC model separates the product into cycles and delivers a working
product very quickly. This methodology produces a succession of releases.
Testing of each release feeds back info that’s incorporated into the next version.
According to Robert Half, the drawback of this model is that the heavy emphasis
on customer interaction can lead the project in the wrong direction in some cases

Agile SDLC model is a combination of iterative and incremental process models


with focus on process adaptability and customer satisfaction by rapid delivery of
working software product. Agile Methods break the product into small
incremental builds. These builds are provided in iterations. Each iteration
typically lasts from about one to three weeks. Every iteration involves cross
functional teams working simultaneously on various areas like

 Requirements Analysis
 Design
 Coding
 Unit Testing and
 Acceptance Testing.

At the end of the iteration, a working product is displayed to the customer and
important stakeholders.

9.6 What is Agile?

Agile model believes that every project needs to be handled differently and the
existing methods need to be tailored to best suit the project requirements. In
Agile, the tasks are divided to time boxes (small time frames) to deliver specific
features for a release.

Iterative approach is taken and working software build is delivered after each
iteration. Each build is incremental in terms of features; the final build holds all
the features required by the customer.

How an Agile team works

Agile project management was developed as an alternative to traditional project


management, which is directed towards a major final deliverable. Agile instead
breaks goals down into several independent products that can be developed,
released, and iterated upon quickly.

The two main styles of Agile project management are Scrum and Kanban, which
both utilize a board to visualize tasks in columns of to-do, in progress, and done.

Page 49 of 85
There are a few defining characteristics of an Agile workflow:

 Daily standup – A daily meeting in which contributors and managers discuss what
work was done yesterday, what they’re working on today, and any questions that
come up.
 Sprints – Short spans in which products are planned, developed, reviewed, and
released. They are projects within the projects.
 Regular reviews and retrospectives – An Agile team manages itself, but there are
built-in measures to make sure work is being delivered at a consistent quality. Peer
review and reviews by managers occur before tasks get completed and after the sprint
is over.

With short task spans and demanding schedules, an Agile workflow requires a
coordinated team. Roles have to be circumscribed enough so that people know
what they ought to be doing at all times, yet flexible enough to allow people to
take the initiative and exceed expectations.

A Scrum team is small, lean, and results-driven. The ideal Scrum team is 5-6
people. An Agile team working in Scrum has three roles The Product Owner –
Often an executive or key stakeholder, the Product Owner has a vision for the end
product and a sense of how it will fit into the company’s long-term goals. This
person will need to direct communication efforts, alerting the team to major
developments and stepping in to course-correct and implement high-level
changes as necessary.

 The Scrum Master – The Scrum Master is most akin to a project manager. They
are guardians of process, givers of feedback, and mentors to junior team
members. They oversee day-to-day functions, maintain the Scrum board, check in
with team members, and make sure tasks are being completed on target.
 The Team Member – Team members are the makers: front- and back-end
engineers, copywriters, designers, videographers, you name it. Team members
have varied roles and skills but all are responsible for getting stuff done on time
and in excellent quality.

9.7 Rules in Agile Model

From Beck, Kent et al. (2001), below are the twelve core principles of the Agile
Manifesto:

1. Customer satisfaction through early and continuous delivery of useful


software

Customer satisfaction is obtained through early delivery of products to customer


for testing and feedback, through continuous delivery to let customer know the
progress and through delivery of values to the customers by fulfilling the top
priority requirements first. The output of each iteration is working code that can
be used to evaluate and respond to changing and evolving user requirements.

Page 50 of 85
2. Welcome changing requirements, even late in development

This places emphasis on responsiveness to change as opposed to tight alignment


to approved plans. The change control process is simplified and no formal
documentation and approval required. This is harness change for the customer’s
competitive advantage because it allow fast response to latest changes in external
environment to enhance competitive advantage to emerging opportunities.

3. Frequently Delivered Software(weeks rather than months)

This provides immediate values to the customers by delivering working features.


Each iteration or Sprint should lead to a release of a product. The teams make
sure that each feature is fully developed, tested, styled, and accepted by the
product owner before counting it as delivered. The project team activities can be
better structured with the fixed delivery timeframe to focus on delivery of value.

4. Close, daily cooperation between business people and developers

Agile development principles include keeping requirements and documentation


lightweight, and acknowledging that change is a normal and acceptable reality in
software development. This makes close collaboration particularly important to
clarify requirements just-in-time and to keep all team members ‘on the same
page’ throughout the development.

5. Projects are built around motivated individuals, who should be trusted

Projects are built around motivated individuals who are given the environment
and support they need, and trusted to get the job done. Team members choose the
jobs they are most interested in through self-organization and not through
external management influence. Micromanagement and top-down approach to
management are shunned.

6. Face-to-face conversation is the best form of communication

Obtain direct feedback by going to the source of problem or confusion and use
oral communication at the workplace for the benefit of osmotic communication.
Virtual team conversations are facilitated via video conferencing.

7. Collocation and pair programming

This principle is practiced via colocation and pair programming. Collocation


involves collocating a number of teams in the same open area and pair
programming, which entails two programmers sharing a single workstation (one
screen, keyboard and mouse). The programmer at the keyboard is usually called
the "driver", the other, also actively involved in the programming task but
focusing more on overall direction is the "navigator"; it is expected that the
programmers swap roles every few minutes or so.

This leads to increase in code quality because "programming out loud" leads to
clearer articulation of the complexities and hidden details in coding tasks,
reducing the risk of error or going down blind alleys. It also yields better
Page 51 of 85
diffusion of knowledge among the team. Other benefits include better transfer of
skills, large reduction in coordination efforts, and improved resiliency of a pair to
interruptions.

8. Sustainable development, able to maintain a constant pace

Agile methodologies seek work-life balance among the team members and
promote happiness by avoiding burnout or exhaustion. Through close
collaboration and by being alert and creative, these methodologies avoid long
nights and weekends, during which people try to undo the errors of unresponsive
planning. The sponsors, developers, and users are able to maintain a constant
pace indefinitely.

9. Excellence through Reflection

The best architectures, requirements, and designs emerge from self-organizing


teams. At regular intervals, the team reflects on how to become more effective,
then tunes and adjusts its behavior accordingly. These retrospective meetings
ensure that the lessons learned during the project are put back into the next
iteration.

10. Simplicity—the art of maximizing the amount of work not done—is


essential

The Pareto principle or the 80/20 rule is applied. It means that typically 80% of
your results may actually come from only 20% of your efforts! The idea is to
focus on the important 20% of effort that gets the majority of the results. If you
have control over the scope, and if speed-to-market is of primary importance,
why not seek to deliver the important 80% of your product in just 20% of the
time?

Focus on what are essential to create value to the project and customer not on
distractors that do not add values like components, process, etc.

11. Self-organizing teams

The team is utterly self-managing under the Scrum methodology. It has


autonomy and responsibility to meet the goals of the sprint and is responsible for
determining how it will accomplish the work to be completed. The basic principle
is that the team knows best how to carry out the work, not the project manager or
human resources department.

12. Regular adaptation to changing circumstance

This is in contrast to capturing all known requirements and baseline the scope so
that any other changes are subject to change control. Agile Development holds
that that requirements emerge and evolve, and that however much analysis and
design you do, this will always be the case because you cannot really know for
sure what you want until you see and use the software. And in the time you
would have spent analyzing and reviewing requirements and designing a solution,
external conditions could also have changed.
Page 52 of 85
Agile Model - Pros and Cons

Agile methods are being widely accepted in the software world recently.
However, this method may not always be suitable for all products. Here are some
pros and cons of the Agile model.

The advantages of the Agile Model are as follows −

 Is a very realistic approach to software development


 Promotes teamwork and cross training.
 Functionality can be developed rapidly and demonstrated.
 Resource requirements are minimum.
 Suitable for fixed or changing requirements
 Delivers early partial working solutions.
 Good model for environments that change steadily.
 Minimal rules, documentation easily employed.
 Enables concurrent development and delivery within an overall planned context.
 Little or no planning required.
 Easy to manage.
 Gives flexibility to developers.

The disadvantages of the Agile Model are as follows −

 Not suitable for handling complex dependencies.


 More risk of sustainability, maintainability and extensibility.
 An overall plan, an agile leader and agile PM practice is a must without which it
will not work.
 Strict delivery management dictates the scope, functionality to be delivered, and
adjustments to meet the deadlines.

Page 53 of 85
 Depends heavily on customer interaction, so if customer is not clear, team can be
driven in the wrong direction.
 There is a very high individual dependency, since there is minimum
documentation generated.
 Transfer of technology to new team members may be quite challenging due to
lack of documentation.

Page 54 of 85
CHEPTER NO: 5

Page 55 of 85
10.0 Software Development Life Cycle

10.1 Defining &Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is


performed by the senior members of the team with inputs from the customer, the
sales department, market surveys and domain experts in the industry. This
information is then used to plan the basic project approach and to conduct
product feasibility study in the economical, operational and technical areas.

Planning for the quality assurance requirements and identification of the risks
associated with the project is also done in the planning stage. The outcome of the
technical feasibility study is to define the various technical approaches that can be
followed to implement the project successfully with minimum risks.

Figure 5.1 for SDLC

10.2 Design:

In this third phase, the system and software design documents are prepared as per
the requirement specification document.

High-Level Design (HLD)

 Brief description and name of each module


 An outline about the functionality of every module
 Interface relationship and dependencies between modules
 Database tables identified along with their key elements
 Complete architecture diagrams along with technology details

Low-Level Design(LLD)

 Functional logic of the modules

Page 56 of 85
 Database tables, which include type and size
 Complete detail of the interface
 Addresses all types of dependency issues
 Listing of error messages
 Complete input and outputs for every module

10.3 Coding/Implementation.

Once the system design phase is over, the next phase is coding. In this phase,
developers start build the entire system by writing code using the chosen
programming language. In the coding phase, tasks are divided into units or
modules and assigned to the various developers. It is the longest phase of the
Software Development Life Cycle process.

In this phase, Developer needs to follow certain predefined coding guidelines.


They also need to use programming tools like compiler, interpreters, debugger to
generate and implement the code.

Example:

Code For RFID-LMS Dashboard and Sign in and sign Up page.

<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE); // Find the errors
$currDir = dirname(__FILE__); // main file directory
include("{$currDir}/defaultLang.php"); //Including the other file reading
directories in the code.
include("{$currDir}/language.php");
include("{$currDir}/lib.php");

$x = new DataList; // Create a new dataList variable


$x->TableTitle = $Translation['homepage']; // homepage pass to new variable
$tablesPerRow = 2;
$arrTables = getTableList(); // array take the table list

// according to provided GET parameters, either log out, show login form
(possibly with a failed login message), or show homepage
if(isset($_GET['signOut'])){ // sign in authorities
logOutUser();
redirect("index.php?signIn=1");
}elseif(isset($_GET['loginFailed']) || isset($_GET['signIn'])){
if(!headers_sent() && isset($_GET['loginFailed'])) header('HTTP/1.0 403
Forbidden');
include("{$currDir}/login.php");
}else{
Page 57 of 85
include("{$currDir}/main.php")}

Code for Book retrieve the book:

<?php
/* accessible tables */
$arrTables = get_tables_info();
if(is_array($arrTables) && count($arrTables)){
/* how many table groups do we have? */
$groups = get_table_groups();
$multiple_groups = (count($groups) > 1 ? true : false);

/* construct $tg: table list grouped by table group */


$tg = array();
if(count($groups)){
foreach($groups as $grp => $tables){ //variable use foreach //statement to read
//variable grp
foreach($tables as $tn){
$tg[$tn] = $grp;
}
}
}

$i = 0; $current_group = '';
foreach($tg as $tn => $tgroup){
$tc = $arrTables[$tn];
/* is the current table filter-first? */
$tChkFF = array_search($tn, array());
/* hide current table in homepage? */
$tChkHL = array_search($tn,
array('books','NewsPapers','Magazines','Users','Book_Issue','Return_Book','Types
'));
/* allow homepage 'add new' for current table? */
$tChkAHAN = array_search($tn, array());

/* homepageShowCount for current table? */


$count_badge = '';
if($tc['homepageShowCount']){
$sql_from = get_sql_from($tn);
$count_records = ($sql_from ? sqlValue("select count(1) from " . $sql_from) : 0);
$count_badge = '<span class="badge hspacer-lg text-bold">' .

Page 58 of 85
number_format($count_records) . '</span>';
}

$t_perm = getTablePermissions($tn);
$can_insert = $t_perm['insert'];

$searchFirst = (($tChkFF !== false && $tChkFF !== null) ? '?Filter_x=1' : '');
?>
<?php if(!$i && !$multiple_groups){ /* no grouping, begin row */ ?>

<div class="row table_links">


<?php } ?>

STRUCTURED PROGRAMMING

Dijkstra recognized that the go to statement was an inherently error-response


programming construct. It made it difficult to localized state changes. This
observation led to the development of so-called structured programming.
Moreover, structured programming means programming without using go to
statements, programming using only while loop and if statements as control
constructs and designing using top-down approach. The adoption of structured
programming was an important milestone in the development of software
engineering because it was the first step away from an undisciplined approach to
software development. The problems with structured programming are as
follows:

 Only a limited number of control and data abstraction constructs


are used. The program development process is a process of
stepwise refinement of the specification.
 A limited number of constructs are used and the aim is to apply
correctness-preserving transformation to the specification to create
the program code.
 A computer program is said to be structured if it has a modular
design and uses only the three types of logical structures,
sequences, decisions and loops.
 Sequences: Statements are executed one after another.
 Decisions: One of two blocks of program code is executed based
on a test for some condition.

Page 59 of 85
 Loops (Iteration): One or more statements are executed repeatedly
as long as a specified condition is true

Advantages of Structured programming

The goal of structured programming is to create correct programs that are easy to
write, understand and change. They are easy to write programs by modular
design. Moreover, modular design increases the programmer’s productivity by
allowing them to look at the big picture first and focus on details later. In
addition, several programmers can work on a single, large program, each working
on a different module Studies show structured programs take less time to write
than standard programs. Procedures written for one program can be reused in
other programs requiring the same task. A procedure that can be used in many
programs is said to be reusable.

It is easy to debug the programs written using structured programming languages


since each procedure is specialized to perform just one task, a procedure can be
checked individually. In addition, older unstructured programs consist of a
sequence of instructions that are not grouped for specific tasks. The logic of such
programs is cluttered with details and therefore difficult to follow. Moreover,
such programs are easy to understand. Here, the relationship between the
procedures shows the modular design of the program. Moreover, meaningful
procedure names and clear documentation identify the task performed by each
module and meaningful variable names help the programmer identify the purpose
of each variable. Finally, the modular programming provides flexibility in
modification since it is easy to change one module at a time. A correctly written
structured program is self-documenting and hence it can be easily understood by
another programmer.

INTERNAL DOCUMENTATION

Internal documentation comprises the code comprehension features provided as


part of the source code itself. Internal documentation is provided through
appropriate module header and comments embedded in the source code. Internal
documentation is provided through the use of meaningful variable names, module
and function headers, code indentation, code structuring, use of enumerated types
and constant identifiers, use of user-defined data types, etc. Good software
development organizations usually ensure good internal documentation by
appropriately formulating their coding standards and coding guidelines.

CODING

Coding is undertaken once the design phase is complete and the design documents
have been successfully reviewed. In this coding phase, every module identified
and specified in the design document is independently coded. Good software
Page 60 of 85
development organizations require their programmers to adhere to some well-
defined and standard style of coding is called coding standards.

CODING STANDARD AND GUIDELINES

Good software development organizations usually develop their own coding


standards and guidelines depending on what best suits their needs and the steps of
products they develop. Here, some general coding standards and guidelines which
are commonly adopted by many software development organizations are
provided rather than trying to provide an exhaustive list of representative coding
standards and representative coding guideli

REPRESENTATIVE CODING STANDARDS

The use of global variables must be limited in a program. Contents of headers


preceding codes for different modules. Naming convention for global variables,
local variables and constant identifiers. Error return conventions and exception
handling mechanisms.

REPRESENTATIVE CODING GUIDELINES

 Do not use a coding style that is too clever or too difficult to understand.
 Avoid obscure side effect and don’t use go-to statements.
 Do not use an identifier for multiple purposes.
 The code should be well-documented.
 The length of any function should not exceed 10 source lines unless it is
necessary.

NAMES

The naming scheme is one of the most influential aids to understanding the
logical flow of an application. A name should tell “what” rather than “how.” By
avoiding names that expose the underlying implementation, which can change,
the programmers can preserve a layer of abstraction that simplifies the
complexity. For example, they can use GetNextStudent() instead of
GetNextArrayElement(). A problem of naming is the difficulty in selecting a
proper name which may indicate that the programmers need to further analyze or
define the purpose of an item. It makes names long enough to be meaningful but
Page 61 of 85
short enough to avoid verbosity. Programmatically, a unique name serves only to
differentiate one item from another. Expressive names function as an aid to a
human reader; therefore, it makes sense to provide a name that a human reader
can comprehend. However, be certain that the chosen names are in compliance
with the applicable language’s rules and standards.

VARIABLES

The following rules must be followed to provide names in programming for


variables.Append computation qualifiers (Avg, Sum, Min, Max, Index) to the end
of a variable name where appropriate.Do not use literal numbers or literal strings,
such as For i = 1 To 7. Instead, use named constants, such as For i = 1 To
NUM_DAYS_IN_WEEK for ease of maintenance and understanding.

CODING REVIEW

The code review for a module is carried out after the module is successfully
compiled and all the syntax errors eliminated. Code reviews are extremely cost-
effective strategies for reduction in coding error in order to produce high quality
code. Normally two types of code reviews are carried out on the code of module-
code walk through and code inspection.

Coding Walkthroughs

Code walk-through is a an informal code of analysis technique. In this technique


after a module has been coded, it is successfully compiled and all syntax errors
are eliminated. Some member of the development team are given the code a few
days before the walkthrough meeting to read and understand the code. Each
member selects some test cases and simulates execution of the code by hand.
Objective of walk-through is to discover the algorithmic and logical error in the
code. The team performing the code walk-through should not be either too big or
too small. Ideally, it should consist of three to seven members. The discussion
should focus on discovery of errors and not on how to fix the discovered errors.
In order to foster cooperation and to avoid the feeling among the engineers that
they are being evaluated in the code walk through meeting, managers should not
attend the walk through meetings.

CODE INSPECTION

Fagan Inspection is a method to find defects. It is a structured process


that involves detecting defects in development documents like programming
code, specifications, designs etc., during the various phases of software
development process

Page 62 of 85
Software maintenance is the general process of changing a system after it has
been diverted. The change may be simple changes to correct coding errors, more
extensive changes to correct design errors or significant enhancement to correct
specification error or

Accommodate new requirements. The maintenance activities include the


checking of use of uninitialized variables, jumps into loops and non-terminating
loops, incompatible assignments, array indices out of bounds, improper storage
allocation and de-allocation, mismatches between actual and formal parameters in
procedure calls, use of incorrect logical operators or incorrect precedence among
operators, improper modification of loops and comparison of equality of floating
point values, etc.

SUMMARY

Coding is an important activity in software engineering process. Software size is


optimized using coding. Selection of a programming language is important for
good coding. Good coding practices, enhances the quality of software.

Page 63 of 85
Page 64 of 85
CHEPTER NO: 6

Page 65 of 85
Login & Signup: Introduction and code
Today I’m going to connect login & Signup Web services using Login & Signup
HTML page. You can use any HTML page, I’m using This because it has a really
beautiful design and has Form for both Login & Signup.

Figure 6.1 Login and Student page


11.2 Login Page for Student and Admin/Librarian.
Username:Admin
Password : admin
Code For student Registration/login page
if($_POST['signUp'] != ''){ // if sign up page not found
// receive data
$memberID = is_allowed_username($_POST['newUsername']);
$email = isEmail($_POST['email']); // Check the user email
$password = $_POST['password']; //check the password
$confirmPassword = $_POST['confirmPassword'];
$groupID = intval($_POST['groupID']); //vailed or not using both

Page 66 of 85
$custom1 = makeSafe($_POST['custom1']);
$custom2 = makeSafe($_POST['custom2']);
$custom3 = makeSafe($_POST['custom3']);
$custom4 = makeSafe($_POST['custom4']);

// validate data by taking different custom variable


if(!$memberID){
echo error_message($Translation['username invalid']);
exit;
}
if(strlen($password) < 4 || trim($password) != $password){
echo error_message($Translation['password invalid']);
exit;
}
if($password != $confirmPassword){
echo error_message($Translation['password no match']);
exit;
}
if(!$email){
echo error_message($Translation['email invalid']);
exit;
}
if(!sqlValue("select count(1) from
membership_groups where groupID='$groupID' and
allowSignup=1")){

echo error_message($Translation['group invalid']);


exit;
}

// save member data


$needsApproval = sqlValue("select needsApproval
from membership_groups where groupID='$groupID'");
sql("INSERT INTO `membership_users` set memberID='$memberID',
passMD5='".md5($password)."', email='$email' signupDate='".@date('Y-m-
d')."', groupID='$groupID', isBanned='0', isApproved='".($needsApproval==1 ?
'0' : '1')."', custom1='$custom1', custom2='$custom2', custom3='$custom3',
custom4='$custom4', comments='member signed up through the registration
form.'", $eo);

// admin mail notification


/* ---- application name as provided in AppGini is used here ---- */
$message = nl2br(
"A new member has signed up for {$app_name}.\n\n" .

Page 67 of 85
"Member name: {$memberID}\n" .
"Member group: " . sqlValue("select name from membership_groups
where groupID='{$groupID}'") . "\n" .
"Member email: {$email}\n" .
"IP address: {$_SERVER['REMOTE_ADDR']}\n" .
"Custom fields:\n" .
($adminConfig['custom1'] ? "{$adminConfig['custom1']}:
{$custom1}\n" : '') .
($adminConfig['custom2'] ? "{$adminConfig['custom2']}:
{$custom2}\n" : '') .
($adminConfig['custom3'] ? "{$adminConfig['custom3']}:
{$custom3}\n" : '') .
($adminConfig['custom4'] ? "{$adminConfig['custom4']}:
{$custom4}\n" : '')
);

if($adminConfig['notifyAdminNewMembers'] == 2 && !$needsApproval){


sendmail(array(
'to' => $adminConfig['senderEmail'],
'subject' => "[{$app_name}] New member signup",
'message' => $message
));
}elseif($adminConfig['notifyAdminNewMembers'] >= 1 && $needsApproval){
sendmail(array(
'to' => $adminConfig['senderEmail'],
'subject' => "[{$app_name}] New member awaiting
approval",
'message' => $message
));
}

Page 68 of 85
11.3 Dashboard with all related Features and Menu:
A dashboard has three parts: a header, a sidebar, and a body. Here's the
most minimal possible UI for a dashboard page.DashboardHeader(),
dashboardSidebar(), dashboardBody().

Figure 6.1 Dashboard for RFID-SLMS

Description

After login to software admin panel the home page looks like this. You can set a
specific page to display in dashboard from settings .

The projects we are building (especially web apps and web software) are also
going to integrate countless aspects of modern web development; analytics,
dynamic forms data, UI and UX elements, and much more.

These simple yet powerful admin templates are well suited for web apps or any other website
or project that requires admin dashboard. This templates will serve as a solid foundation for
your upcoming project and will save you a lot of time. Needless to say that Bootstrap makes
these templates mobile-friendly and responsive.

Below listed free Bootstrap admin templates are rather simple and might not be the right fit
for everyone. On those template collections, you will find HTML5/CSS3 coded admin
templates as well as one powered by AngularJS and Bootstrap.

Page 69 of 85
Figure 6.5 member and student Registerd with RollNo and CNIC

11.4 Student Registration page Register students By Student Name Roll


No and Cnic and Contact ID:

11.5 Code For Student Registration Page:

<?php

// including directories for accessing the pages


$currDir=dirname(__FILE__);
include("$currDir/defaultLang.php");
include("$currDir/language.php");
include("$currDir/lib.php");
@include("$currDir/hooks/Users.php");
include("$currDir/Users_dml.php");

// mm: can the current member access this page?


$perm=getTablePermissions('Users');
if(!$perm[0]){
echo error_message($Translation['tableAccessDenied'], false);
echo '<script>setTimeout("window.location=\'index.php?signOut=1\'",
2000);</script>';
Page 70 of 85
exit;
}

$x = new DataList;
$x->TableName = "Users";

// Fields that can be displayed in the table view


$x->QueryFieldsTV = array(
"`Users`.`id`" => "id",
"`Users`.`Membership_Number`" => "Membership_Number",
"`Users`.`Name`" => "Name",
"`Users`.`Contact`" => "Contact",
"`Users`.`ID_Number`" => "ID_Number"
);
// mapping incoming sort by requests to actual query fields
$x->SortFields = array(
1 => '`Users`.`id`',
2 => 2,
3 => 3,
4 => 4,
5 => '`Users`.`ID_Number`'
);

// Fields that can be displayed in the csv file


$x->QueryFieldsCSV = array(
"`Users`.`id`" => "id",
"`Users`.`Membership_Number`" => "Membership_Number",
"`Users`.`Name`" => "Name",
"`Users`.`Contact`" => "Contact",
"`Users`.`ID_Number`" => "ID_Number"
);
// Fields that can be filtered
$x->QueryFieldsFilters = array(
"`Users`.`id`" => "ID",
"`Users`.`Membership_Number`" => "CNIC Number",
"`Users`.`Name`" => "Name",
"`Users`.`Contact`" => "Contact",
"`Users`.`ID_Number`" => " Roll Number ID "
);

// Fields that can be quick searched


$x->QueryFieldsQS = array(
"`Users`.`id`" => "id",
"`Users`.`Membership_Number`" => "Membership_Number",
"`Users`.`Name`" => "Name",
"`Users`.`Contact`" => "Contact",
"`Users`.`ID_Number`" => "ID_Number"
);

Page 71 of 85
11.6 Website Preview

This is my website for RFID-LMS System

Figure 6.5 simple webpage for RFID-SLMS


A web page or webpage is a document commonly written in HTML (Hypertext
Markup Language) that is accessible through the Internet or other networks using
an Internet browser. A web page is accessed by entering a URL address and may
contain text, graphics, and hyperlinks to other web pages and files. The page you
are reading now is an example of a web page.

Page 72 of 85
Figure 6.6 searching and scanning the book

11.5 Advance Book Scan on RFID Machine to Publish and issue the Books
That dream is slowly becoming a reality as libraries adopt the use of tiny Radio
Frequency Identification (RFID) tags for tracking books and audiovisual items.
Tiny RFID tags can store detailed information about an item, which is then sent
via radio waves to a reading device - either a handheld or fixed unit.

Page 73 of 85
CHEPTER NO: 7

Page 74 of 85
Software Quality and software attributes

How a Product developer will define quality – The product which meets the
customer requirements.
How Customer will define Quality – Required functionality is provided with user
friendly manner.

These are some quality definitions from different perspective. Now lets see how
can one measure some quality attributes of product or application.

Following factors are used to measure software development quality. Each


attribute can be used to measure the product performance. These attributes can be
used for Quality assurance as well as Quality control.

Quality Assurance activities are oriented towards prevention of introduction of


defects and Quality control activities are aimed at detecting defects in products
and services.

Reliability

Measure if product is reliable enough to sustain in any condition. Should give


consistently correct results.
Product reliability is measured in terms of working of project under different
working environment and different conditions.

Maintainability

Different versions of the product should be easy to maintain. For development it


should be easy to add code to existing system, should be easy to upgrade for new
features and new technologies time to time. Maintenance should be cost effective
and easy. System be easy to maintain and correcting defects or making a change
in the software.

Correctness:

The correctness of a software system refers to:

- Agreement of program code with specifications


- Independence of the actual application of the software system.

The correctness of a program becomes especially critical when it is embedded in


a complex software system.

Page 75 of 85
Reliability of a software system is defined as the probability that this system
fulfills a function (determined by the specifications) for a specified number of
input trials under specified input conditions in a specified time interval (assuming
that hardware and input are free of errors).
A software system can be seen as reliable if this test produces a low error rate
(i.e., the probability that an error will occur in a specified time interval.)
The error rate depends on the frequency of inputs and on the probability that an
individual input will lead to an error.
Adequacy: Factors for the requirement of Adequacy:
- The input required of the user should be limited to only what is necessary. The
software system should expect information only if it is necessary for the
functions that the user wishes to carry out. The software system should enable
flexible data input on the part of the user and should carry out plausibility checks
on the input. In dialog-driven software systems, we vest particular importance in
the uniformity, clarity and simplicity of the dialogs.
- The performance offered by the software system should be adapted to the
wishes of the user with the consideration given to extensibility; i.e., the functions
should be limited to these in the specification.

- The results produced by the software system: The results that a software
system delivers should be output in a clear and well structured form and be easy
to interpret. The software system should afford the user flexibility with respect to
the scope, the degree of detail, and the form of presentation of the results. Error
messages must be provided in a form that is comprehensible for the user.

Learnability: Learnability of a software system depends on:

- The design of user interfaces


- The clarity and the simplicity of the user instructions (tutorial or user manual).

The user interface should present information as close to reality as possible and
permit efficient utilization of the software’s failures.

The user manual should be structured clearly and simply and be free of all dead
weight. It should explain to the user what the software system should do, how the
individual functions are activated, what relationships exist between functions, and
which exceptions might arise and how they can be corrected. In addition, the user
manual should serve as a reference that supports the user in quickly and
comfortably finding the correct answers to questions.

Robustness: Robustness reduces the impact of operational mistakes, erroneous


input data, and hardware errors.

A software system is robust if the consequences of an error in its operation, in the


input, or in the hardware, in relation to a given application, are inversely
Page 76 of 85
proportional to the probability of the occurrence of this error in the given
application.

- Frequent errors (e.g. erroneous commands, typing errors) must be handled with
particular care.

- Less frequent errors (e.g. power failure) can be handled more laxly, but still
must not lead to irreversible consequences.

Maintainability: Maintainability = suitability for debugging (localization and


correction of errors) and for modification and extension of functionality.

The maintainability of a software system depends on its:

Extensibility:

Extensibility allows required modifications at the appropriate locations to be


made without undesirable side effects. Extensibility of a software system depends
on its:

Testability:
suitability for allowing the programmer to follow program execution (runtime
behavior under given conditions) and for debugging. The testability of a software
system depends on its:
Modular,
well-structured programs prove more suitable for systematic, stepwise testing
than monolithic, unstructured programs.

Testing tools and the possibility of formulating consistency conditions


(assertions) in the source code reduce the testing effort and provide important
prerequisites for the extensive, systematic testing of all system components.

Efficiency: ability of a software system to fulfill its purpose with the best
possible utilization of all necessary resources (time, storage, transmission
channels, and peripherals).

Portability: the ease with which a software system can be adapted to run on
computers other than the one for which it was designed.

- Structuredness: System-dependent elements are collected in easily


interchangeable program components.
Page 77 of 85
A software system can be said to be portable if the effort required for porting it
proves significantly less than the effort necessary for a new implementation.

Software Testing Technique and Tools

 Unit testing.
 Integration testing.
 System testing.
 Sanity testing.
 Smoke testing.
 Interface testing.
 Regression testing.
 Beta/Acceptance testing.
Testing Estimation Techniques
The following testing estimation techniques are proven to be accurate and are
widely used −

 PERT software testing estimation technique


 UCP Method
 WBS
 Wideband Delphi technique
 Function point/Testing point analysis
 Percentage distribution
 Experience-based testing estimation technique
PERT Software Testing Estimation Technique
PERT software testing estimation technique is based on statistical methods in
which each testing task is broken down into sub-tasks and then three types of
estimation are done on each sub-tasks.

The formula used by this technique is −

Test Estimate = (O + (4 × M) + E)/6

Where,

O = Optimistic estimate (best case scenario in which nothing goes wrong and all
conditions are optimal).

M = Most likely estimate (most likely duration and there may be some problem
but most of the things will go right).

L = Pessimistic estimate (worst case scenario where everything goes wrong).

Standard Deviation for the technique is calculated as −


Page 78 of 85
Standard Deviation (SD) = (E − O)/6
Use-Case Point Method
UCP Method is based on the use cases where we calculate the unadjusted actor
weights and unadjusted use case weights to determine the software testing
estimation.

Function Point / Testing Point Analysis


FPs indicate the functionality of software application from the user's perspective
and is used as a technique to estimate the size of a software project.

In testing, estimation is based on requirement specification document, or on a


previously created prototype of the application. To calculate FP for a project,
some major components are required. They are −

 Unadjusted Data Function Points − i) Internal Files, ii) External Interfaces

 Unadjusted Transaction Function Points − i) User Inputs, ii) User Outputs &
iii) User Inquiries

 Capers Jones basic formula −

Number of Test Cases = (Number of Function Points) × 1.2

 Total Actual Effort (TAE) −

(Number of Test cases) × (Percentage of Development Effort /100)


Experience-based Testing Estimation Technique
This technique is based on analogies and experts. The technique assumes that you
already tested similar applications in previous projects and collected metrics from
those projects. You also collected metrics from previous tests. Take inputs from
subject matter experts who know the application (as well as testing) very well and
use the metrics you have collected and arrive at the testing effort.

Software Testing Phase


Software testing is an important part of software development. If software
testing is not performed properly, applications can have errors which may lead to
rework, costly failure or worse, loss of life.
Software testing is a process of executing a program or application with the intent
of finding the software bugs.

Let’s break down the basic definition of software testing into the following parts:

1) Process: Testing is a process rather than a single activity.

Page 79 of 85
2) All Life Cycle Activities: Testing is a process that’s take place throughout the
Software Development Life Cycle (SDLC).

 The process of designing tests early in the life cycle can help to prevent defects
from being introduced in the code. Sometimes it’s referred as “verifying the test
basis via the test design”.
 The test basis includes documents such as the requirements and design
specifications.

Software validation and verification


Validation is determining if the system complies with the requirements and
performs functions for which it is intended and meets the organization’s goals
and user needs.
Validation is done at the end of the development process and takes place after
verifications are completed.

Figure 7.1 verification and validation

A product can pass while verification, as it is done on the paper and no running or
functional application is required. But, when same points which were verified on
the paper is actually developed then the running application or product can fail
while validation. This may happen because when a product or application is build
as per the specification but these specifications are not up to the mark hence they
fail to address the user requirements.

Advantages of Validation:

Page 80 of 85
1. During verification if some defects are missed then during validation process it
can be caught as failures.
2. If during verification some specification is misunderstood and development had
happened then during validation process while executing that functionality the
difference between the actual result and expected result can be understood.
3. Validation is done during testing like feature testing, integration testing, system
testing, load testing, compatibility testing, stress testing, etc.
4. Validation helps in building the right product as per the customer’s requirement
and helps in satisfying their needs.

Verification makes sure that the product is designed to deliver all functionality to
the customer.

 Verification is done at the starting of the development process. It includes


reviews and meetings, walk-throughs, inspection etc. to evaluate documents,
plans, code, requirements and specifications.
 Suppose you are building a table. Here the verification is about checking all the
parts of the table, whether all the four legs are of correct size or not. If one leg of
table is not of the right size it will imbalance the end product. Similar behavior is
also noticed in case of the software product or application. If any feature of
software product or application is not up to the mark or if any defect is found then
it will result into the failure of the end product. Hence, verification is very
important. It takes place at the starting of the development process.

Advantages of Software Verification :

 Verification helps in lowering down the count of the defect in the later stages of
development.
 Verifying the product at the starting phase of the development will help in
understanding the product in a better way.
 It reduces the chances of failures in the software application or product.
 It helps in building the product as per the customer specifications and needs.

Challenges

1. Undefined Goals – When goals are not clearly identified, the whole project and
team can suffer. When upper management cannot agree to or support undefined
goals, the project in question typically has little chance of succeeding. The project
manager must ask the right questions to establish and communicate clear goals
from the outset.
2. Scope Changes – Also known as scope creep, this occurs when project
management allows the project’s scope to extend beyond its original objectives.
Clients and supervisors may ask for changes to a project, and it takes a strong
project manager to evaluate each request and decide how and if to implement it,
while communicating the effects on budget and deadlines to all stakeholders.

Page 81 of 85
Every day we hear same stories, common challenges and issues in project
management. Yet we fail to learn our lesson out of these stories. Being a project
manager, have you ever wondered why only a handful of companies manage to
deliver projects successfully whereas you struggle to even meet the deadlines?

It’s because besides having the ability to plan, manage resources and meet
deadlines, one must possess the ability to foresee the challenges that may hamper
the progress of the overall project.

As a part of today’s article, we have researched the typical challenges a project


manager can expect to meet while a project is in motion. Let’s see what these
challenges are:

Poorly defined goal

The first major challenge that project managers and team members might face is
not knowing what exactly to expect from the project. If the goals and objectives
are not clearly defined, the project is doomed to fail.

Unrealistic Deadlines
The second reason why most projects fail or what most project managers and
project members struggle is with the unrealistic expectations clients and
stakeholders have from them. Most project timelines do eventually slip due to the
unrealistic ‘initial deadlines’. As we live in a world, where competition is getting
aggressive and targets are set either unrealistic or unachievable rather than driven
by calculated business requirements. From then, what begins is a desperate
attempt where the team tries to fit the requirements in the already drawn
boundaries.

Solution:

Project managers can take care of the project deadlines and other related issues
with impeccable planning, alternative analysis and proper communication of the
real-time progress to project participants and other key decision makers. Plan
your events, manage your schedule, and keep track of important dates with a
project calendar.

Benefits of RFID in Library:


Time saving, fast accessing of books and eliminating manual errors are the main benefits of
the RFID in Library. Although RFID can be used in library anti-theft systems, this doesn’t
mean that it is a highly secure technology. RFID tags can easily be shielded by a thick layer
of Mylar, a few sheets of aluminum foil, or even an aluminum gum wrapper, so that they
won’t be detected by the reading device. There is, however, some potential savings because
a single tag serves many different functions. The library saves some time in processing new
items because it only has to affix one technology to the item. It may also save some money

Page 82 of 85
due to the integration of circulation and security with a single vendor and into a singl

Deployment and Launch


SDLC: Software deployment phase

Contents

1. OBJECTIVE

a. Communicate new deployment to the users.

b. Execute training plan.

c. Perform data entry or conversion (if relevant)

d. Install System.. 2

e. Post-deployment review.

f. Revise previous documentation.

4. DELIVERABLES:

a. Delivered System.

b. Change Requests.

c. Release/Version Description Document

d. Post deployment revieve

Conclusion and Summery:

Every project manager fear one thing the most – scope creep. Most of the times, a
project starts a certain way but as it progresses, it takes a different shape and
doesn’t even look the same project you started. This often is a result of the
expansion of a project outside of the planned objectives – aka scope creep.

RFID in the library speeds up book borrowing, monitoring, books searching processes and
thus frees staff to do more user-service tasks. But the performance varies with respect to
the vendors of RFID readers and tags. The efficient utilization of the technology also
depends upon the information to be written in tag. Experimental results with respect to
effectiveness of RFID reader position, tag position are presented in the paper. The work is
in progress to setup the same in CDAC library. Developments in RFID technology

continue to yield larger memory capacities, wider reading ranges, and faster processing
Page 83 of 85
This can put project managers and team members in a difficult spot as
unpredictable or new changes can often lead to the project failure. Remember, a
lot of little changes are as bad as one big change. To avoid scope-creep, it’s
better to determine project goals (cost, schedule, quality) through a systematic
process with proper planning and understanding of the customer needs. Make
realistic assumptions about resource availability and deadlines to achieve quality
results. As, there is no 100% anti-scope-creep solution but documenting what is
happening and communicating challenges to stakeholders, team, and management
in advance might help.

 Software Project Management Plan (SPMP)


 Radio Frequency Identification Devices(RFID)
 Software Quality Assurance Plan (SQAP)
 Software Requirements Specifications(SRS)
 Software Design Description(SDD)
 Software Test Documentation(STD)

Summary

This document is written for describing all the features and procedures
that were followed while developing the system. This document specially
mentions the details of the project how it was developed, various features
and functionalities of the project and the procedures followed in achieving
their objectives. Smart RFID Based Library System is used to manage
the book by using RFID tags. It is very essential for an Institute or
organization. IT is very useful for their mutual development. This IT
initiatives have encouraged various Organizations or institutions to
develop systems to facilitate by Radio waves operation. The Smart RFID
Based Library System will include various parts (Sign in Log in , Subject
Enrollment, Book, Magazine , Newspaper and other international book
with ISBN number) this system helps in conducting Book Record ,
Student Record quickly and can thus help in saving time and the
operations will be carried out efficiently. With the effective use , nay
Page 84 of 85
Institute can apply the Smart RFID Based Library System for conducting
books and record of RFID Code for match , getting better result in less
time. In recent time, there has been high level of impersonation
experienced on a daily basis in private and public sectors, the ghost
worker syndrome which has become a menace across all tiers of
government.

The Smart RFID Based Library System was implemented with JavaScript,
PHP Core HTML and CSS Microsoft’s Structured Query Language (SQL)
Server xampp as the backend. The experimental result shows that the
developed system is highly efficient in the verification of users book with a
accuracy level of 98.5% with RFID.

The End of Documentation RFID-SLMS

Page 85 of 85

You might also like