Академический Документы
Профессиональный Документы
Культура Документы
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.
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
Eclipse
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.
Less error
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,
Software Requirements
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
Operational Feasibility
Technical Feasibility
Economical Feasibility
Social Feasibility
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.
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.
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.
Name Varchar(30)
Usn Varchar(10)
Sem Varchar(10)
Branch Varchar(20)
Table: 5.1: Student Details
Book Details
Branch Id Varchar(20)
Sem Varchar(10)
6.1 Introduction
Careful Planning.
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
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
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.
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 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 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.
Snapshot 8 shows the lists of books selected by student. It also shows whether those
books available in stock or not.
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