Вы находитесь на странице: 1из 48

Book

Polling
Chapter 1
INTRODUCTION

1.1 Overview

In recent years the mobile has become the valuable part of the human beings. It is
necessary for human beings to have a powerful device which will provide all the facilities
other than basic facilities available in mobile phones. Android provides such functionality
which enables the developers to design such applications which will make a simple
mobile to smart one. Android is open source it can be liberally extended to incorporate
new cutting edge technologies as they emerge. The platform will continue to evolve as
the developer community works together to build innovative mobile applications. The
project is book polling for android for monitoring and controlling the transactions in a
library.
The project "Book Polling" is developed in java which mainly focuses on basic
operations in a library like adding new students, new books, and updating new
information, searching books and members and facility to borrow and return books
through an android application. The purpose of the application is automation of library, it
provides facilities to student or member to search for the required books based on request
and it allows the administrator or librarian to issue & return books to students based on
timing slot and can create & delete membership of students.
1.2 Motivation of the project
The day by day problems faced by the students in the library management in every
educational institution, which is a common issue even in many well established
institutions, gave a thought of introducing a new system which can help to solve those
problems. Many experts in the library management system administration are still
struggling to find a way to overcome the difficulties faced in issuing the required books to
the students by the limited time slots availability. The close observation of these problems
as a student motivated to develop the new system.

1.3 Corporate Profile


PMAP INDIA
This system is created by Prasad K P to help all library professionals in Computerization
of libraries and providing better services to the readers/users, without having any training

Department of MCA, PESCE, 2015- 1


MANDYA. 2016
or language about the computer. The system is designed for all types of libraries, small or
big. This system provides several types of functions of library as mentioned below:

a) Generate report for Existing Books/Magazines/Other, Issue/Return Report


and subscription due report.
b) Automatic Book number system. The package includes a unique facility of
assigning Book Numbers to entries by the system developed by K P Prasad.
Five thousand books may be assigned book numbers automatically without
consulting any manual and save more.
c) Utilities and tools for catalogue card printing, spine labels printing, mailing
label printing, record counting, library statistics, at a glance on-line
calculators, library statistics and library rules and regulations.
d) Information services such as package provide the facilities of Selective
determination and Identification (SDI) Services, Awareness Services (CAS)
and Bibliographical Services.
Compatible with other software with all the database files used by the package are
fully readable by most of the database management packages and software like
dBase, FoxPro, PALMS etc. The report generated by th package are in the standard
text format (ASCII File).
Chapter
2 LITERATURE SURVEY

2.1 Literature Survey on Project


Literature survey is the most important step in the software development process. Before
developing the tool it is necessary to determine the time factor, economy and company
strength. Once these things are satisfied, then next step is to determine which operating
system and language can be used for the development of the tool. Once the programmers
start building the tool, they need a lot of external support. This support can be obtained
from senior programmers, from books or from websites. Before building the system the
above consideration are taken into account for developing the proposed system. The use
of the heuristics and the results they have given are evaluated to provide a basis for their use in
future.
The work by Allard A published in the year 2009 illustrates an insight into the library
managers and information. The purpose of this paper is to provide library managers with
the ability to recognize and address World 2.0 information issues to enhance their ability
to develop management plans for the future. This paper explores what World 2.0 means
to library managers in three ways. Three information dimensions are identified using
models to examine World 2.0 in a historical context. An analysis is conducted of the
different generations of users in World 2.0 including their diverse attitudes, beliefs,
experiences and skills and how these influence their engagement with the information
environment. Four key characteristics of Web 2.0 are identified through an analysis of
Web 2.0 in relation to World 2.0. Key findings in this paper are that: three dimensions of
information in World 2.0 exist and can be used by library managers to help them
understand the challenges and to facilitate the construction of strategic management plans
that address them. Generational and organizational perspectives of World 2.0 can
influence how libraries engage Web 2.0, and should be considered when library managers
make.
2.1.1 Conceptual and Dynamic Modeling of the Project Management
According to article entitled Conceptual and Dynamic Modeling of the Project
Management, it is found that many features influence the performance of a system
including the process structure, resources, targets and scope. A system development
process describes the flows of tasks within and between the development phases. The
characteristics of a development process describe the stages in the development of tasks,
the availability of work, iteration within and between phases and delays in processes such
as the allocation of resources or the recognition of failures. The resources are
characterized by their quantity and by their effectiveness or productivity. These
characteristics constrain the rate of development. A projects scope determines the
amount of tasks that have to be completed within the project. Targets describe the goals
for completion of the project. These structures (development process, resources, targets
and scope) interact with each other to drive the project performance.
To manage project successfully it is necessary to understand factors and dynamics
involved in the development of projects. Understanding the dynamics of the development
process requires a dynamics description of the causal structures that drive the project
behavior. The development process affects the performance by the maximum rate of
activities, the dependencies of those activities and the impacts of concurrence
relationships. The common project management techniques utilized in the critical path
method and PERT charts describe the activities with duration estimates, and internal and
possible external constraints by relating the start and finish times of different activities.
That requires a very high level of aggregation of the development process, resources,
targets and scopes in the project. Those techniques also do not include explicitly the
iteration process of tasks. Moreover, the relationships in the development process are
assumed to be linear, while, as many of the relationships are non-linear.
There are several objectives that can be obtained from the article of Conceptual and
Dynamic Modeling of the Project Management to the library management system
version 1.0. The results are mentioned below:
a) To describe the process systems development model and how this model can be
utilized and significant from the development of the library management systems.
b) To describe the applications of system dynamics theory to modeling detailed
project environments and how these models can be perform to modeling the
distance learning development projects.
c) To give a brief outline of how system dynamics models can be utilized in the real
project environments (library).
The article of Conceptual and Dynamic Modeling of the Project Management deeply
describe about strengths and availabilities of project management process. The impact of
unable to manage project management might generate project failures.
2.1.2 Android
Android is an operating system based on the Linux kernel, and designed primarily for
touch screen devices such as Smartphone and tablet computer. Initially developed by
android, which Google backed financial and later bought in 2005, android was in
unveiled in 2007 along with the founding of the open handset alliances a consortium of
hardware, software and telecommunication companies devoted to advancing open
standards for mobile devices. The first publicly available Smartphone running android,
the HTC dream, was released on October 22, 2008.
Android is popular with technology companies which require a ready-made, low-cost and
customizable operating system for high-tech devices. Android's open nature has
encouraged a large community of developers and enthusiasts to use the open-source code
as a foundation for community-driven projects, which add new features for advanced
user or bring Android to devices which were officially released running other operating
systems. The operating system's success has made it a target for patent litigation as part of
the so-called "Smartphone wars" between technology companies.
1. Microsoft Windows XP or later version.
2. Mac OS X 10.5.8 or later version with Intel chip.
3. Linux including GNU C Library 2.7 or later.
The main advantage for developing an application is that all the required tools to develop
Android application are freely available and can be downloaded from the web. Following
is the list of softwares you will need before you start your android application
programming.
1. Java JDK or JDK6
2. Android SDK
3. Eclipse IDE for Java Developers (optional)
4. Android Development Tools (ADT) Eclipse Plug in (optional).

Android Technology
Android technology is increasingly being used on a range of devices; the most common
hardware to use this platform is mobile phones. A large community of developers
regularly write applications (apps), including games, social networking, and business
modules, for Android smart phones. There are a wide range of free Android apps,
including games and productivity titles, and paid apps are even more common. Android
products which are used by thousands of developers because they are freely available
for download has given software developers the opportunity to sell their creations to a
wide group of consumers.

Features of Android
Messaging
SMS and MMS are available forms of messaging, including threaded text messaging and
Android Cloud to Device Messaging (C2DM) and now enhanced version of C2DM,
Android Google Cloud Messaging (GCM) is also a part of Android Push Messaging
Service.
Web browser
The web browser available in Android is based on the open-source Blink (previously
Web Kit) layout engine, coupled with Chromes V8 JavaScript engine. The browsers
scores 100/100 on the Acid3 test on Android 4.0.
Voice based features
Google search through voice has been available since initial release. Voice actions for
calling, texting, navigation, etc. are supported on Android 2.2 onwards. As of Android
4.1, Google expanded Voice Actions with the ability to talk back and read answers from
Googles Knowledge Graph when queried with specific commands. The ability to control
hardware has not yet been implemented.
Multi-touch
Android has native support for multi-touch which was initially made available in handsets
such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to
avoid infringing Apples patents on touch-screen technology at the time).
Multitasking
Multitasking of applications, with unique handling of memory allocation, is available.

Screen capture
Android supports capturing a screenshot by pressing the power and volume-down buttons
at the same time. Prior to Android 4.0, the only methods of capturing a screenshot were
through manufacture and third-party customization or otherwise by using a PC
connection (DDMS developers tool). These alternative methods are still available with
the latest Android.
Multiple language support
Android supports multiple languages.
Tethering
Tethering is connecting one device to another. Tethering allows sharing the Internet
connection of the phone or tablet with other devices such as laptops. Connection of the
phone or tablet with other devices can be done over wireless LAN (Wi-Fi),
over Bluetooth or by physical connection using a cable, for example through USB.
External storage
External storage comprises devices that temporarily store information for transporting
from computer to computer. Such devices are not permanently fixed inside a computer.
Semiconductor memories are not sufficient to provide the whole storage capacity required
in computers. The major limitation in using semiconductor memories is the cost per bit of
the stored information. So to full fill the large storage requirements of computers,
magnetic disks, optical disks are generally used.
Storage

SQLite, a lightweight relational database, is used for data storage purposes.

Eclipse

In computer programming, Eclipse is an integrated development environment (IDE). It


contains a base workspace and an extensible plug-in system for customizing the
environment. Written mostly in Java, Eclipse can be used to develop applications.

The initial codebase originated from IBM Visual Age. The Eclipse software development
kit (SDK), which includes the Java development tools, is meant for Java developers.
Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such
as development toolkits for other programming languages, and can write and contribute
their own plug-in modules.

JDK
The Java Development Kit (JDK) is an implementation of either one of the Java
SE, Java EE or Java ME platforms released by Oracle Corporation in the form of a binary
product aimed at Java developers on Solaris, Linux, Mac OS X or Windows. The JDK
includes a private JVM and a few other resources to finish the recipe to a Java
Application. Since the introduction of the Java platform, it has been by far the most
widely used Software Development Kit (SDK). On 17 November 2006, Sun announced
that it would be released under the GNU General Public License (GPL), thus making
it free software. This happened in large part on 8 May 2007, when Sun contributed the
source code to the Open JDK.

The JDK also comes with a complete Java Runtime Environment, usually called
a private runtime, due to the fact that it is separated from the "regular" JRE and has extra
contents. It consists of a Java Virtual Machine and all of the class libraries present in the
production environment, as well as additional libraries only useful to developers, such as
the internationalization libraries and the IDL libraries.
The JDK forms an extended subset of a software development kit (SDK). It includes
"tools for developing, debugging, and monitoring Java applications". Oracle strongly
suggests that they now use the term "JDK" to refer to the Java SE Development Kit. The
Java EE SDK is available with or without the "JDK", by which they specifically mean the
Java SE 7 JDK.
XML
Extensible Markup Language (XML) is a markup language that defines a set of rules for
encoding documents in a format which is both human-readable and machine-readable. It is
defined by the W3C's XML 1.0 Specification and by several other related specifications, all of
which are free open standards.

The design goals of XML emphasize simplicity, generality and usability across
the Internet. It is a textual data format with strong support via Unicode for
different human languages. Although the design of XML focuses on documents, it is
.
widely used for the representation of arbitrary data structures Such as those used in web
services. Several schema systems exist to aid in the definition of XML-based languages,
while many application programming interfaces (APIs) have been developed to aid the
processing of XML data.

Tablets
The tablet computer and its associated operating system began with the development
of pen computing. Electrical devices with data input and output on a flat information
display existed as early as 1888 with the telautograph, which used a sheet of paper as
display and a pen attached to electromechanical actuators. Throughout the 20th century
devices with these characteristics have been imagined and created whether
as blueprints, prototypes, or commercial products. In addition too many academic and
research systems, several companies released commercial products in the 1980s, with
various input/output types tried out.
Abbreviation
ADT : Android Development Tools.
API : Application Programming Interface.
IDE : Integrated Development Environment.
JDK : Java Development Kit.
SDC : Speed Display Control.
SDK : Software Development Toolkit.
UML : Uniform Modeling Language.

2.2 Existing System


In the existing system, all the transactions of books are done manually, so taking more
time for a transaction like borrowing a book or returning a book and also for searching of
members and books. Maintaining the list of books borrowed and the available books in
the library will take more time, currently it is being done as a one day process for
verifying all records. Main disadvantage is there will be less number of available books
and more students to refer.
2.3 Proposed System
Proposed system is Android based Book Polling. A student can borrow the book
whenever he wants by timing slot. Through our application admin can add the students,
add the books, update information, edit information, issue books with timing slot, retrieve
the book and users/students can search books and borrow book by sending request and the
student can refer the books based on request.
The proposed system has the following advantages,

User friendly interface

Fast access to database

Less error

More Storage Capacity

Easy search facility

Look and Feel Environment

All the manual difficulties in managing the Library have been rectified by implementing
this application.
Chapter 3
SYSTEM REQUIREMENTS AND SPECIFICATIONS
3.1 Objectives
System requirement specification (SRS) is a complete description of the behavior of a
system to be developed and may include a set of cases that describe the interaction
between user and software. In addition to a description of the software functions, the SRS
also contains non-functional requirements. Non-functional requirements impose
constraints on the design or implementation. Software requirement is a sub-field of
software engineering that deals with the elicitation, analysis, specification and validation
of requirements for software.
The software requirement specification document enlists all necessary requirements for
project development. To derive the requirements we need to have clear and through
understanding of the products to be developed.
3.2 Functional Requirement
Functional requirements are the statement of services the system should provide and how
the system reacts to particular inputs and how the system should behave in particular
situations. These include input, calculation, external interface, communication and special
management information needs. Functional requirements are also called behavioral
requirements because they address what the system does.
In our system,

Application should be installed in the Android devices.

There should be proper Wi-Fi connection.

New books and retrieved books should be updated.

3.3 Non-functional Requirements


A non-functional requirement is a requirement that specifies criteria that can be used to
judge the operation of a system, rather than specific behaviors. Non-functional
requirements often called qualities of a system.
Usability: Traditional way is not liked by modern people. The tool is easy to
operate and efficient. Using this tool many students can refer the books.
User-friendliness: As we provide a good GUI and enough options to operate our
application, any normal android application user can use it.
Maintainability: It is simple application, but it requires much maintenance. Once
Department of MCA, PESCE, 2015- 1
MANDYA. 2016 0
the application is installed, no need to reinstall, until you leave the college.

Department of MCA, PESCE, 2015- 1


MANDYA. 2016 0
Scalability: Even if we add any number of books details, the application function
properly as per as its design. Hence this project provides scalability.
3.4 System Requirements
System requirements comprises of the physical requirements i.e. hardware and logical
requirement i.e. software requirements. Hardware is the set of things which includes
computers, cables etc. Software requirements are the set of software tools that we require.
Hardware Requirements
Processor Intel i3 Processor
Speed 1.9 GHz
RAM 4GB
Hard Disk 500 GB
Table: 3.1: Hardware requirements

Software Requirements

Operating System Windows 7


Front End Eclipse ADT version 22.0(for
Java code)
Data Base MY SQLite
Table: 3.2: Software requirements

Department of MCA, PESCE, 2015- 1


MANDYA. 2016 1
Chapter
4 SYSTEM ANALYSIS

System analysis sets an ultimate frame work or selection for actual cause of building a
software system. Whenever the requirements document say an SRS for the software
system to be built is finalized, the system analysis in terms of an architectural design
would commence.
The process of the system analysis phase is composed into following parts:

Problem Analysis

Feasibility Study

4.1 Problem Analysis


In Android application development, one of the major problems that is faced is the
response of the mobile system. This has to be taken care very seriously. In every stage of
the application development, the module has to be tested on a mobile platform as it is a
mobile application. The memory size requirements and the operating speed of the system
have to be taken care. All these analysis has to be done prior to the development of an
Android application. Problem analysis is a very crucial stage in the process of application
development.

4.2 System Feasibility


The feasibility study is carried out to determine whether the proposed system can be
developed with the available resources.

Operational Feasibility

Technical Feasibility

Economical Feasibility

Social Feasibility

4.2.1 Operational Feasibility


This project can be used by any of the academic institutions by the students and also by
the librarians. Anyone can work with this application as it supports user-friendly
approach. It provides graphical user interfaces to the user, so that user can easily interact
with the system. Users no need to have the knowledge about the application
development. The user has to just install this application in his device and use it.
4.2.2 Technical Feasibility
During the technical analysis, the implementation of the designed system only requires
the software or hardware. This study is carried out to check the technical feasibility, that
is, the technical requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands on the
available technical resources. This will lead to high demands being placed on the client.
The developed system must have a modest requirement, as only minimal or null changes
are required for implementing this system.
The desired technical requirements are Eclipse software tool, wamp sever and a mobile
with android operating system.
4.2.3 Economical Feasibility
This project is economically very feasible. Once the application is developed, it can just
be installed in any of the android mobile systems at free of cost. Nowadays, with the
advancement of the technology, almost every student has a smart phone. Application
implementation doesnt require any new hardware or software resources. So the user can
gain benefits of this, and can run the system using their mobiles.
4.2.4 Social Feasibility
The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not
feel threatened by the system, instead must accept it as a necessity. The level of
acceptance by the users solely depends on the methods that are employed to educate the
user about the system and to make him familiar with it. His level of confidence must be
raised so that he is also able to make some constructive criticism, which is welcomed, as
he is the final user of the system.
Chapter
5 SYSTEM DESIGN

The basic design activities of a software being developed is a two-level process


comprising of system design or top-level design at the first level and logic design or
detailed design as its second level. In essence the design of a software system is a plan or
a mindful blue print of the solution for a system to be developed.
5.1 High Level Design
Design process is nothing but the representation of the system, or a process of a
producing a model, which will be used to develop or build the system. The input for the
design process is the SRS and the output is Design of the proposed system. While SRS
is entirely in problem domain, design is the first step in moving from the problem domain
to solution domain. Design is essentially a bridge between the requirement specification
and the final solution for the satisfying the requirements. Thus it is essentially a blue print
of a solution for the system.
High Level Design (HLD) is the overall system design- covering the system architecture
and database design. It describes the relation between various modules and functions of
the system. Data flow, flow charts and data structures are covered under HLD.
System architecture
The figure 5.1 shows the system architecture. In this application there are two actors
involved via, Admin and student. Each of them should have an android mobile with
application installed. The admin will start the application by registering students and
adding books. When student want any book then he sends a request and admin will
response to it with timing slot.

Fig 5.1: System Architecture


5.2 Low Level Design
Low Level Design (LLD) defines the actual logic for each and every component of the
system. Class diagrams with all the methods and relation between classes comes under
LLD. LLD describes each and every module in an elaborate manner so that the
programmer can directly code the program based on this. There will be at least one
document for each module. The LLD will contain detailed functional logic of the module
including their type and size, all interface details with complete API references (both
requests and responses) - all dependency issues, error message listings, complete input
and outputs for a module.
Modules
1. Login Module
This module is used to allow both the admin and students to start the application by
entering their respective username and password.

2. Admin Module
This is the main module in the proposed project. The administrator with valid user name
and password can access the book polling app and can read and write information about
any books and students. The administrator can also update, create and delete the record of
membership as per requirement and implementation plans.
The following are the sub module in the administrator module.

Issue Book: Here administrator issues the books to the student and allot the timing for
book reference.
Add student: Allow the administrator to register new student and update the student
records.
Add Book: Allow administrator to entered book details.
Retrieve Book: Allow administrator to retrieve book and delete the student name from
retrieve record.
3. Student Module
In this module student with valid username and password can access the book polling
app. The following are the sub module in the student module.
Select information: Such as course, branch and semester.
Select Book: Can check availability of the book. The application displays the Book items
such as title, authors and publishers that are match the search criteria.
Send Request: User sends the request for a required book.
5.3 Object Oriented Design
5.3.1 Use-case diagram
In object-oriented methodology, the activities of the system are studied by the help of
use-case diagram and the whole task is divided into sub-tasks so that they can be
implemented individually and then integrated to form the whole system.
In software and systems engineering, use case is a list of steps, typically defining
interactions between a role (known in UML as an actor) and a system to achieve a
UML notation for describing object oriented system model. In the simplest form, use case
identifies the type of interaction and actors involved.

Fig 5.2: Use Case Diagram


5.3.2 Sequence Diagram
A sequence diagram shows object interactions arranged in time sequence. It depicts the
objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. Sequence
diagrams are sometimes called event diagrams, event scenarios.
UML sequence diagrams are used to represent or model the flow of messages, events and
actions between the objects or components of a system. Time is represented in the vertical
direction showing the sequence of interactions of the header elements, which are
displayed horizontally at the top of the diagram Sequence Diagrams are used primarily to
design, document and validate the architecture, interfaces and logic of the system by
describing the sequence of actions that need to be performed to complete a task or
scenario. UML sequence diagrams are useful design tools because they provide a
dynamic view of the system behavior.
Purpose
The sequence diagram is used primarily to show the interactions between objects in the sequential
order that those interactions occur. One of the primary uses of sequence diagrams is in the
transition from requirements expressed as use cases to the next and more formal level of
refinement.

Fig 5.3: Sequence Diagram for Admin


Fig 5.4: Sequence Diagram for Student
5.3.3 Activity Diagram
Activity diagram shows the sequence of the Procedures that make up Complex process.
Activity diagram represents the flow of control and it focuses on operation rather than on
the objects.
Activity diagrams represent the business and operational workflows of a system. An
Activity diagram is a dynamic diagram that shows the activity and the event that causes
the object to be in the particular state. It is a simple and intuitive illustration of what
happens in a workflow, what activities can be done in parallel, and whether there are
alternative paths through the workflow.
Basic Notations

Initial Activity
This shows the starting point or first activity of the flow. It is denoted by a solid circle.
Final Activity
The end of the Activity diagram is shown by a bull's eye symbol, also called as a final
activity.

Activity
Represented by a rectangle with rounded (almost oval) edges.

Decisions
A logic where a decision is to be made is depicted by a diamond.

Workflow
Workflow is depicted with an arrow. It shows the direction of the workflow in the activity
diagram.
Fig. 5.5: Activity Diagram
5.4 CLASS DIAGRAM
In software engineering, a class diagram in the Unified Modeling Language (UML) is a
type of static structure diagram that describes the structure of a system by showing the
system's classes, their attributes, operations (or methods), and the relationships among
objects.
The class diagram is the main building block of object oriented modelling. It is used both
for general conceptual modelling of the systematics of the application, and for detailed
modelling translating the models into programming code. Class diagrams can also be
used for data modeling. The classes in a class diagram represent both the main objects,
interactions in the application and the classes to be programmed.

Fig. 5.6: Class Diagram

5.5 ER DIAGRAM
An entity-relationship model is a systematic way of describing and defining a business
process. The process is modeled as components (entities) that are linked with each other
by relationships that express the dependencies and requirements between them, such
as: one building may be divided into zero or more apartments, but one apartment can
only be located in one building. Entities may have various properties (attributes) that
characterize them. Diagrams created to represent these entities, attributes, and
relationships graphically are called entityrelationship diagrams.
An ER model is typically implemented as a database. In the case of a relational database,
which stores data in tables, every row of each table represents one instance of an entity.

Department of MCA, PESCE, 2015- 2


MANDYA. 2016 0
Some data fields in these tables point to indexes in other tables; such pointers represent
the relationships.
The three schema approach to software engineering uses three levels of ER models that
may be developed.
Conceptual data model
This is the highest level ER model in that it contains the least granular detail but
establishes the overall scope of what is to be included within the model set. The
conceptual ER model normally defines master reference data entities that are commonly
used by the organization. Developing an enterprise-wide conceptual ER model is useful
to support documenting the data architecture for an organization.
A conceptual ER model may be used as the foundation for one or more logical data
models (see below). The purpose of the conceptual ER model is then to establish
structural metadata commonality for the master data entities between the set of logical ER
models. The conceptual data model may be used to form commonality relationships
between ER models as a basis for data model integration.
Logical data model
A logical ER model does not require a conceptual ER model, especially if the scope of
the logical ER model includes only the development of a distinct information system. The
logical ER model contains more detail than the conceptual ER model. In addition to
master data entities, operational and transactional data entities are now defined. The
details of each data entity are developed and the entity relationships between these data
entities are established. The logical ER model is however developed independent of
technology into which it is implemented.

Physical data model


One or more physical ER models may be developed from each logical ER model. The
physical ER model is normally developed to be instantiated as a database. Therefore, each
physical ER model must contain enough detail to produce a database and each physical
ER model is technology dependent since each database management system is somewhat
different.
The physical model is normally instantiated in the structural metadata of a database
management system as relational database objects such as database tables, database
indexes such as unique key indexes, and database constraints such as a foreign key
constraint or a commonality constraint. The ER model is also normally used to design

Department of MCA, PESCE, 2015- 2


MANDYA. 2016 1
modifications to the relational database objects and to maintain the structural metadata of
the database.
The first stage of information system design uses these models during the requirements
analysis to describe information needs or the type of information that is to be stored in a
database. The data modeling technique can be used to describe any ontology (i.e. an
overview and classifications of used terms and their relationships) for a certain area of
interest. In the case of the design of an information system that is based on a database,
the conceptual data model is, at a later stage (usually called logical design), mapped to a
logical data model, such as the relational model; this in turn is mapped to a physical
model during physical design. Note that, sometimes, both of these phases are referred to
as "physical design". It is also used in database management system.

5.6 Database Table


Student Details
Student Data Type Constraints
Sid Varchar(10) PK

Password Varchar(10) Not Null

Name Varchar(30)

Usn Varchar(10)

Sem Varchar(10)
Branch Varchar(20)
Table: 5.1: Student Details
Book Details

Book Data Type Constraints


Book Id Varchar(20) PK

Book Name Varchar(30)

Book Author Varchar(20)

Branch Id Varchar(20)

Sem Varchar(10)

Table: 5.2: Book Details


Fig 5.7: Entity Relationship Diagram
Chapter 6
IMPLEMENTATION

6.1 Introduction

Implementation is the realization of an application, or execution of a plan, idea, model,


design, specification, standard, algorithm, or policy. In computer science, an
implementation is a realization of a technical specification or algorithm as a program,
software component, or other computer system through computer programming and
deployment. Many implementations may exist for a given specification or standard. For
example, web browser contains implementations of World Wide Web consortium-
recommended specifications, and software development tools contain implementations of
programming languages. The implementation stage requires the following tasks.

Careful Planning.

Investigation of system and constraints.

Design of methods to achieve the changeover.

Evaluation of the changeover method.

Correct decisions regarding selection of the platform.

Appropriate selection of the language for application development.

The above discussed design is implemented using PHP as well Java programming
languages. The platform used to formulate the code was Eclipse (an open source
integrated development environment).

Control flow
A control flow diagram (CFD) is a diagram to describe the control flow of a business
process, process or program. Suitably annotated geometrical figures are used to present
operations, data or equipment, and arrows are used to indicate the sequential flow from
one to another.

The figure 6.1 shows the control flow diagram of Admin. The Admin provides functions
as follows. Admin logs into the system with username and password, once authentication
is successful then he can issue the books, add the students, add the books and retrieve the
books.
Fig 6.1 control flow diagram for Admin

The figure 6.2 shows the control flow diagram of Student. The student provides functions
as follows. Student logs into the system with username and password, once authentication
is successful then he can see all the books which are available in library by selecting their
respective course, branch and semester and can refer the books by sending request.
Fig 6.2 control flow diagram for Student
Chapter 7
SOFTWARE TESTING

7.1 Introduction

Software testing is a predominant verification and validation technique. Testing involves


exercising the program using data like the real data processed by the program. The
existence of program defects is in inferred from unexpected system outputs. Testing may
be carried out during the implementation phase to verify how the software behaves, as
intended by its designer and after the implementation is complete.
Testing presents an interesting anomaly for the software engineer. During earlier steps in
design and implementation, the engineer attempts to build software from an abstract
concept to a tangible implementation. The engineer creates a series of test cases that are
intended to demolish the software that has been built. In fact, testing is the one step in the
software engineering process that could be viewed as destructive rather than constructive.
Testing requires that the developed and overcome a Conflict of interest that occurs
when errors are uncovered.
Testing is an integral part of software development. Testing process, in a way certifies,
whether the product, that is developed, compiles with the standards that it was designed
to. Testing process involves building test cases, against which, the product has to be
tested.
In some cases, one derives the test cases from the requirement of the product/software,
which is to be developed. There are many methods available for verifying the code. Some
methods are static in nature that is, they do not involve execution of the code. Example of
such methods is data flow analysis, code reading, code reviews.
Goals of testing
Testing begins at the module levels and works outward toward the

integration of the entire computer based system.


Different testing techniques are appropriate at different points in time.

The developer of the software and an independent test group conducts


testing.
Testing and debugging are different activities but debugging must be
accommodated in any testing strategy.
7.2 Design of test cases

Normally, the testing phase is divided into different levels of testing. Each levels of
testing aims to test different aspects of the system. The basic levels are:
Unit testing
This is the most commonly used method of test where in, we execute the code
written and try to identify any bugs, errors represent in the code. This is the first
level of testing unit testing focuses verification effort on the smallest unit of
software design- the module. In this, different modules are tested against the
specification produced during design for the modules.
Integration testing
The second level of testing is called integration testing. In this, many unit tested
modules are combined into sub system, which are then tested. The goal here is to
see if the entire module can be integrated properly.
System/Acceptance testing
Here the entire software system is tested. The references document for this
process is the requirement document, and the goal is to see if the software meets
its requirements. Acceptance testing is sometimes performed with realistic data of
the client to demonstrate that the software is working satisfactorily. Testing here
focus on the external behavior of the system.
7.3 Sample test cases
The system is tested using number of test cases the important ones are listed below. The
test description explains about what type of test is done and the expected result is noted
prior to testing and observed against the test case. If the expected and observed values
match, then decision is made that the test is pass else fail.
The test cases are prepared before we start the process of testing, so that we test our
application extensively and make sure all possibilities are covered. Testing is done at
various stages in the system designing and implementation process with an objective of
developing a transparent, flexible and secured system.
Unit testing
The unit testing conducted during this phase involved testing of each module
individually.
TestCa
Test Cases Expected Result Actual Result Statu
se ID s

Admin logs into


Log in as
the app by
TC01 Logged in as admin Authenticat Pass
entering
ed user
username and
password Successful
Student Successful registration
TC02 Pass
Registrati registration of of student
on student information information
Student logs into Log in as
TC03 the app by Logged in as student authenticat Pass
entering usn and ed user
password
Admin add
TC04 Lists of books Lists of books Pass
the books
Student
Request
TC05 sends Request successful Pass
success
request for
ful
particular
Admin issue Successfully Issued
TC06 Pass
the requested issued books to book
books retrieve
Admin students
Retrieved successfu
Retrieved
TC07 Pass
the books Successfu book
Deleting of lly successful Fail
TC08 Deleted Unsuccessful
student names
Reset password
TC09 by both admin Password changed Successful Pass
and students
Student select
TC10 course, branch Lists of Books Lists of Books Pass
and sem.

Table 7.1 Test Cases

Department of MCA, PESCE, 2015- 3


MANDYA. 2016 0
Chapter
8 CONCLUSION

The application development for Android platform came with a lot of challenges as well
as learning experiences. The benefits of using android as platform were that it is an open
platform which is license free. Android has a robust operating system kernel. It also
consists of Innovative library packages. The easy in the development of application in
Eclipse with the help of android Software Development kit is also highly beneficial.
Android also provides us with a rapid improvement.
The project "Book Polling" for monitoring and controlling the transactions in a library
and mainly focuses on basic operations in a library like adding new students, new books,
and updating new information, searching books and members and facility to borrow and
return books. The purpose of the application is automation of library, it provides facilities
to student or member to search for the required books and it allows the administrator or
librarian to Issue & return books to students. Apart from this we can also update student
information and delete students after student leaves the college. Also can update and
delete the books.

Department of MCA, PESCE, 2015- 3


MANDYA. 2016 1
Chapter 9

FUTURE ENHANCEMENT
This project can be enhanced to a higher level by incorporating the following
enhancements in the future.
Providing Notification of the availability of the requested book: When a student
sends a request for a book, if the book is not available, the student should keep on
searching for the availability which is time consuming. This problem can be
solved by sending an automated SMS to the student once the requested book
becomes available.
BIBLIOGRAPHY
Reference Books
[1] Aitta, M. R., Kaleva, S. and Kortelainen, T. Heuristic evaluation
applied to library web services. New Library World 109.1/2 (2008): 25-45.
[2] Allard, A. Library managers and information in world 2.0. Library
Management 30.1-2 (2009): 57-68.
WEBSITE
[1] http://www.tutorialspoint.com/android_application_components.html

[2] http://developer.android.com/guide/components/activities.html

[3] http://developer.android.com/guide/topics/ui/layout/listview.html

[4] http://www.vogella.com/tutorials/AndroidSQLite/article.html

[5] http://www.tutorialspoint.com/android/android_php_mysql.html

[6] http://developer.android.com/guide/topics/ui/declaring-layout.html
SNAPSHOTS
This chapter shows different snapshots of the application which gives an idea about the
working of the project.
Snapshot 1 shows the login page for both the admin and the students. They can enter their
username and password and login to the application. Forgot password option is provided
to retrieve the username/password details when the admin/student forgets.

Snapshot 1: Login page for both Admin and Students


Snapshot 2: Main page of Admin

Snapshot 2 shows the main page of admin. Once the admins authentication is successful
he can view this page. Here the admin has the options to add students, add books, issue
books and retrieve books.
Snapshot 3: Student registration

Snapshot 3 shows registration of student by entering the four fields such as name, USN,
email and password. This is the option which is provided to the admin.
Snapshot 4: Students list

Snapshot 4 shows the lists of student register by Admin.


Snapshot 5: Uploading page

Snapshot 5 shows the uploading of courses, branch, semesters and books. The admin has
the option for doing these actions.
Snapshot 6: Uploading of book

Snapshot 6 shows the uploading of a new book by entering the course, branch, semester
and detail of books, by the admin.
Snapshot 7: Student main page

Snapshot 7 shows the main page of student by which he can see the books by selecting
course, branch and semester.

Department of MCA, PESCE, 2015- 4


MANDYA. 2016 0
Snapshot 8: Lists of books

Snapshot 8 shows the lists of books selected by student. It also shows whether those
books available in stock or not.

Department of MCA, PESCE, 2015- 4


MANDYA. 2016 1
Snapshot 9: Requesting page

Snapshot 9 shows student can send request for book by clicking send request. It also
shows the list of students who have requested the same book.
Snapshot 10: Issue book

Snapshot 10 shows issuing book by entering the requested students usn and allotting the
target time. The student can keep the book till the target time and then he has to return.
Snapshot 11: Retrieve book

Snapshot 11 shows Admin retrieve the book by entering book register ID after returning
the book by the student.
Snapshot 12: Change password

Snapshot 12 shows changing of password for both Admin and Students

Вам также может понравиться