Platform Based Handyman Services

Download as pdf or txt
Download as pdf or txt
You are on page 1of 63

PLATFORM BASED HANDYMAN SERVICES

CHAPTER 1
INTRODUCTION

DEPT. OF COMPUTER SCIENCE, YCM Page 1


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 1

INTRODUCTION

1.1 ABSTRACT

How often your Mom asked you to fix the Faucets, Fans, lights, etc Literally 100’s of times
right? If you are an engineer (even Computer Science Engineer) then I am sure you might also
had heard a statement, “If you can’t fix home appliances then you are not a real engineer.” At
least I hear this a lot. Real problem behind this is the shortage of Handyman against high
demand for home services. This can be solved by creating a platform like Handyman Services
for Handyman which can be described as Handyman Services for Home Services or Handyman
Services for Handyman Services.

1.2 BACKGROUND

Nowadays to create a safer and improved quality of service is important, with these
considerations in mind, in-home service application i.e., Platform based handyman service
application prevent a negative incident from occurring, many in-home service providers are
leveraging employee ensure the safety of the public as it provide background information of
the service provider.

1.3 SCOPE
To develop an application for better results, reasonable cost, user friendly, easy availability of
service provider and to reduce the time.

1.4 PROBLEM STATEMENT


Currently as there is no application where users can get details of the home based service
providers, an application can be developed where details of all the service providers can be
obtained in a single application.

1.5 MOTIVATION
Nowadays to create a safer and improved quality of service is important, with these
0considerations in mind, in-home service application i.e., Platform based handyman service
application prevent a negative incident from occurring, many in-home service providers are

DEPT. OF COMPUTER SCIENCE, YCM Page 2


PLATFORM BASED HANDYMAN SERVICES

leveraging employee ensure the safety of the public as it provide background information of
the service provider. Hence therefore there is a need of better methodologies for providing in-
home services.

1.6 OBJECTIVES
➢ The main objective of this application is to help users to easily obtain home based
services in less time.

➢ Easy and efficient communication with the service providers.

➢ Service provider’s location can be seen.

➢ Service provider’s background information is displayed which help to ensure the


safety of the public.

DEPT. OF COMPUTER SCIENCE, YCM Page 3


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 2

LITERATURE SURVEY

DEPT. OF COMPUTER SCIENCE, YCM Page 4


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 2

LITERATURE SURVEY

2.1 A SURVEY ON EXISTING SYSTEM


In the existing system, if users need to hire someone for their home based services (like
plumbing, repairing, maintenance, mechanic, medical, etc. they have to search for their contact
numbers. Users have to contact others to get details about the service men. This is difficult and
time consuming.

Disadvantages:
• Searching for a service provider for home based services is currently a difficult
task.

• There is no application where users can easily get information or contact details
of the home based service providers.

2.2 A SURVEY ON PROPOSED SYSTEM

The proposed work is an all all-in-one help application that can be used to hire services to your
doorstep for any kind of help related to plumbing, repairing, maintenance, mechanic, medical,
and everything else. The application acts as an Handyman Services based model. When the
user requests the application for details of the required service men, the application connects
with the respective service men and provides the details of the nearby service men. For
example, if user needs details of a plumber and requests the application, the application
provides the details of the plumbers who are present in the nearby location.

Advantages:

• This application helps the users to easily get contact details of the service
providers for home services.

• The service provider can easily locate the house of the user as he will be
provided the exact location details of the house.

DEPT. OF COMPUTER SCIENCE, YCM Page 5


PLATFORM BASED HANDYMAN SERVICES

2.2.1 JAVA TECHNOLOGY

Java technology is both a programming language and a platform.

The Java Programming Language

The Java programming language is a high-level language that can be characterized by


all of the following buzzwords:

▪ Simple

▪ Architecture neutral

▪ Object oriented

▪ Portable

▪ Distributed

▪ High performance

▪ Interpreted

▪ Multithreaded

▪ Robust

▪ Dynamic

▪ Secure

With most programming languages, you either compile or interpret a program so that you can
run it on your computer. The Java programming language is unusual in that a program is both
compiled and interpreted. With the compiler, first you translate a program into an intermediate
language called Java byte codes —the platform-independent codes interpreted by the
interpreter on the Java platform. The interpreter parses and runs each Java byte code instruction
on the computer. Compilation happens just once; interpretation occurs each time the program
is executed. The following figure illustrates how this works.

DEPT. OF COMPUTER SCIENCE, YCM Page 6


PLATFORM BASED HANDYMAN SERVICES

Fig 2.2.1 Java Compiler

You can think of Java byte codes as the machine code instructions for the Java Virtual
Machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web browser
that can run applets, is an implementation of the Java VM. Java byte codes help make “write
once, run anywhere” possible. You can compile your program into byte codes on any platform
that has a Java compiler. The byte codes can then be run on any implementation of the Java
VM. That means that as long as a computer has a Java VM, the same program written in the
Java programming language can run on Windows 2000, a Solaris workstation, or on an iMac.

Fig 2.2.2 Virtual Machine

The Java Platform

A platform is the hardware or software environment in which a program runs. We’ve already
mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and Mac
OS. Most platforms can be described as a combination of the operating system and hardware.
The Java platform differs from most other platforms in that it’s a software-only platform that
runs on top of other hardware-based platforms.
The Java platform has two components:
• The Java Virtual Machine (Java VM)

DEPT. OF COMPUTER SCIENCE, YCM Page 7


PLATFORM BASED HANDYMAN SERVICES

• The Java Application Programming Interface (Java API)


You’ve already been introduced to the Java VM. It’s the base for the Java platform and is
ported onto various hardware-based platforms.

The Java API is a large collection of ready-made software components that provide many
useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped
into libraries of related classes and interfaces; these libraries are known as packages. The next
section, What Can Java Technology Do? Highlights what functionality some of the packages
in the Java API provide.

The following figure depicts a program that’s running on the Java platform. As the figure
shows, the Java API and the virtual machine insulate the program from the hardware.

Fig 2.2.3 Java Platform


\Native code is code that after you compile it, the compiled code runs on a specific hardware
platform. As a platform-independent environment, the Java platform can be a bit slower than
native code. However, smart compilers, well-tuned interpreters, and just-in-time byte code
compilers can bring performance close to that of native code without threatening portability.

The Java platform gives you the following features:

• The essentials: Objects, strings, threads, numbers, input and output, data
structures, system properties, date and time, and so on.

• Applets: The set of conventions used by applets.

• Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data


gram Protocol) sockets, and IP (Internet Protocol) addresses.

• Internationalization: Help for writing programs that can be localized for users
worldwide..

DEPT. OF COMPUTER SCIENCE, YCM Page 8


PLATFORM BASED HANDYMAN SERVICES

• Security: Both low level and high level, including electronic signatures, public
and private key management, access control, and certificates.

TM
• Software components: Known as JavaBeans , can plug into existing
component architectures.

• Object serialization: Allows lightweight persistence and communication via


Remote Method Invocation (RMI).

Java Database Connectivity (JDBCTM): Provides uniform access to a wide range of


relational databases.

Swings
After learning AWT, lets now see what's Swing? Well, Swing is important to develop Java
programs with a graphical user interface (GUI). There are many components which are used
for the building of GUI in Swing. The Swing Toolkit consists of many components for the
building of GUI. These components are also helpful in providing interactivity to Java
applications. Following are components which are included in Swing toolkit:

• list controls

• buttons

• labels

• tree controls

• table controls

All AWT flexible components can be handled by the Java Swing. Swing toolkit contains far
more components than the simple component toolkit. It is unique to any other toolkit in the
way that it supports integrated internationalization,a highly customizable text package,
rich undo support etc. Not only this you can also create your own look and feel using Swing
other than the ones that are supported by it. The customized look and feel can be created using
Synth which is specially designed. Not to forget that Swing also contains the basic user
interface such as customizable painting, event handling, drag and drop etc.

DEPT. OF COMPUTER SCIENCE, YCM Page 9


PLATFORM BASED HANDYMAN SERVICES

2.2.2 ANDROID

Android is a buzzword which change the smartphone view from past few years. It holds the
largest part of the smartphone world and which is growing larger and larger every day. Figure
2.2 shows the logo of Android Operating System.

Fig 2.2.1 Android logo

Android is an operating system based on the Linux kernel, and designed primarily for
touchscreen mobile devices such as smartphones and tablet computers. Initially developed by
Android, Inc., which Google backed financially and later bought in 2005, android was unveiled
in 2007 along with the founding of the Open Handset Alliance a consortium of hardware,
software, and telecommunication companies devoted to advancing open standards for mobile
devices. The user interface of Android is based on direct manipulation, using touch inputs that
loosely correspond to real world actions, like swiping, tapping, pinching and reverse pinching
to manipulate on-screen objects. Internal hardware such as accelerometers, gyroscopes and
proximity sensors are used by some applications to respond to additional user actions, for
example adjusting the screen from portrait to landscape depending on how the device is
oriented. Android allows users to customize their home screens with shortcuts to applications
and widgets, which allow users to display live content, such as emails and weather information,

DEPT. OF COMPUTER SCIENCE, YCM Page 10


PLATFORM BASED HANDYMAN SERVICES

directly on the home screen. Applications can further send notifications to the user to inform
them of relevant information, such as new emails and text messages.

Android is popular with technology companies which require a ready-made, low-cost and
customizable operating system for high-tech devices. Despite being primarily designed for
phones and tablets, it also has been used in televisions, games consoles, digital cameras and
other electronics. 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 users or bring Android to devices which were officially released
running other operating systems.

As of May 2012, Android became the most popular mobile OS, having the largest installed
base, and is a market leader in most countries including the United States; there it has had the
highest installed base of mobile phones for years. In the third quarter of 2013, Androids share
of the global smartphone shipment market led by Samsung products was 81.3%, the highest
ever. Android's Linux kernel has further architecture changes by Google outside the typical
Linux kernel development cycle. Certain features that Google contributed back to the Linux
kernel, notably a power management feature called wakelocks, were rejected by mainline
kernel developers partly because they felt that Google did not show any intent to maintain its
own code.

Google announced in April 2010 that they would hire two employees to work with the Linux
kernel community, but Greg Kroah-Hartman, the current Linux kernel maintainer for the stable
branch, said in December 2010 that he was concerned that Google was no longer trying to get
their code changes included in mainstream Linux. Some Google Android developers hinted
that the Android team was getting fed up with the process, because they were a small team and
had more urgent work to do on Android.

Application Development in Android

Android software development is the process by which new applications are created for the
Android operating system. Applications are usually developed in the Java programming
language using the Android Software Development Kit, but other development tools are
available.

DEPT. OF COMPUTER SCIENCE, YCM Page 11


PLATFORM BASED HANDYMAN SERVICES

The Android Software Development Kit (Android SDK) provides all necessary tools to
develop Android applications. This includes a compiler, debugger and a device emulator, as
well as its own virtual machine to run Android programs.The Android SDK includes a mobile
device emulator, a virtual mobile device that runs on your computer. The emulator lets you
develop and test Android applications without using a physical device.

Enhancements to Android's SDK go hand in hand with the overall Android platform
development. The SDK also supports older versions of the Android platform in case developers
wish to target their applications at older devices. Development tools are downloadable
components, so after one has downloaded the latest version and platform, older platforms and
tools can also be downloaded for compatibility testing.

DEPT. OF COMPUTER SCIENCE, YCM Page 12


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 3
SYSTEM ANALYSIS

DEPT. OF COMPUTER SCIENCE, YCM Page 13


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 3

SYSTEM ANALYSIS

3.1 EXISTING SYSTEM

In the existing system, if users need to hire someone for their home based services (like
plumbing, repairing, maintenance, mechanic, medical, etc. they have to search for their contact
numbers. Users have to contact others to get details about the service men. This is difficult and
time consuming.

3.1.1 DISADVANTAGE OF EXISTING SYSTEM

• Searching for a service provider for home based services is currently a difficult task.

• There is no application where users can easily get information or contact details of the
home based service providers.

3.2 PROPOSED SYSTEM

The proposed work is an all all-in-one help application that can be used to hire services to your
doorstep for any kind of help related to plumbing, repairing, maintenance, mechanic, medical,
and everything else. The application acts as an Handyman Services based model. When the
user requests the application for details of the required service men, the application connects
with the respective service men and provides the details of the nearby service men. For
example, if user needs details of a plumber and requests the application, the application
provides the details of the plumbers who are present in the nearby location

3.2.1 ADVANTAGES OF PROPOSED SYSTEM

• This application helps the users to easily get contact details of the service providers for
home services.

• The service provider can easily locate the house of the user as he will be provided the
exact location details of the house.

DEPT. OF COMPUTER SCIENCE, YCM Page 14


PLATFORM BASED HANDYMAN SERVICES

3.3 FEASIBILITY STUDY


The feasibility of the project is analysed in this phase and business proposal is put forth with
a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system is not a burden to the CPCB. For feasibility analysis,
some understanding of the major requirements for the system is essential.

Feasibility studies aim to objectively and rationally uncover the strengths and weaknesses of
the existing business or proposed venture, opportunities and threats as presented by
the environment, the resources required to carry through, and ultimately the prospects for
success.

Three key consideration involved in the feasibility analysis are

▪ Economic feasibility

▪ Technical feasibility

▪ Social feasibility

3.3.1 ECONOMIC FEASIBILITY

When the economic feasibility of the water quality monitoring on IOT technologyproject being
developed it was found that the income for the administrator (water department or CPCB)
through the proposed system (water quality monitoring system) was more than the
development cost of the system (investment). The proposed system only invests on the censors,
arduino and hardware. Proposed system reduce the manual work and laboratory work to check
the quality of water by reducing the investment compare to existing system.Thus the proposed
project is economically feasible.

3.3.2 OPERATIONAL FEASIBILITY

The system provides attractive and easy graphical user interface. The application is designed
in a better manner and user friendly and thus the system is easily accessible.

DEPT. OF COMPUTER SCIENCE, YCM Page 15


PLATFORM BASED HANDYMAN SERVICES

The existing system has more disadvantages on monitoring quality of water like laboratory can
change readings, manual work is more, and time lapse so by proposed system the operation
will be online and water quality monitoring is done in real time will eradicate the disadvantages
of existing system.Therefore the project is operationally feasible.

3.3.3 TECHNICAL FEASIBILITY

To develop this water quality monitoring system one should have the knowledge of visual
studio framework, winforms.NET 4.0, C#, asp.net, MY SQL server, JAVA. From the user
prospective it just requires a UI as WINFORMS and an efficient internet connection. This
makes the project technically feasible

DEPT. OF COMPUTER SCIENCE, YCM Page 16


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 4

SYSTEM REQUIREMENT
SPECIFICATION

DEPT. OF COMPUTER SCIENCE, YCM Page 17


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 4

SYSTEM REQUIREMENT SPECIFICATION

4.1 INTRODUCTION
Requirement analysis is basically an understanding end user or target customers system
requirement prior to any actual design or development work. Good requirement analysis
practices reduce project risk and help the project running smoothly. Requirements are a
description of how a system should behave or a description of system properties or attributes.

The hardware interface involves defining the optimal characteristics of the hardware such that
any software that is built over it will execute successfully. Software requirement specification
is an official statement of what is required for the system developers. It is a detailed, precise
description of the system requirements, which acts as a basis for the contract between client
and software developers.

A software requirement specification (SRS) is a description of a software system to be


developed, laying out functional requirements and may include a set of use cases that describe
interactions the users will have with the software.

Software requirement specification establishes the basis for an agreement between customers
and contractors or suppliers (in market driven projects, these roles may be played by the
marketing and development divisions) on what the software product is to do as well as what it
is not expected to do. Software requirements specification permits a rigorous assessment of
requirements before design can begin and reduces later redesign. It should also provide a
realistic basis for estimating product costs, risks and schedules.

The software requirement specification document enlists enough and necessary requirements
that are required for the project development. To derive the requirements we need to have
clear and thorough understanding of the products to be developed or being developed. This is
achieved and refined with detailed and continuous communications with project team and
customer till the completion of the software.

DEPT. OF COMPUTER SCIENCE, YCM Page 18


PLATFORM BASED HANDYMAN SERVICES

4.2 FUNCTIONAL REQURIMENT

A functional requirement document defines the functionality of a system or one of its subsystems. It
also depends upon the type of software, expected users and the type of system where the software
is used .Functional user requirements may be high-level statements of what the system should do but
functional system requirements should also describe clearly about the system services in detail.

There are 3 modules

1 Admin

2 User

3 Service provider

Admin:

• Admin will login using admin id and password.

• Admin will accept or reject the Authorize service provider.

User:

• User before login they should register.

• User will login using user id and password.

• Search for servicers nearby location.

• Payment for the work.

Service Provider:

• User before login they should register.

• Service Provider will login using user id and password.

• They can view request and accept.

• Go to particular place to work

DEPT. OF COMPUTER SCIENCE, YCM Page 19


PLATFORM BASED HANDYMAN SERVICES

• After compilation of work they can receive the payment.

4.2 NON FUNCTIONAL REQUIREMENT

Non-functional requirements are constraints that must be adhered to during development. They
limit what resources can be used and set bounds on aspects of the software’s quality. One of
the most important things about non-functional requirements is to make them verifiable. The
verification is normally done by measuring various aspects of the system and seeing if the
measurements confirm to the requirements.

Non-functional requirements are divided into several groups:

The first group of categories reflects the five qualities attributes

Usability

▪ The application which we are developing is going to be used by the customer


or the stakeholders.

▪ This is going to help them in predicting order of processing books.

Efficiency

▪ Our application takes less time to accomplish a particular task such as placing
orders which also reduces time complexity.

▪ It reduces the complications when an information has several functionalities


thus increases the efficiency.

Reliability

▪ The application that we are developing is designed to deliver set of services as


expected by the user.

▪ The application provides many modules and each module is developed satisfy
the non-functional requirements of the customers.

DEPT. OF COMPUTER SCIENCE, YCM Page 20


PLATFORM BASED HANDYMAN SERVICES

Maintainability

▪ The application that we are developing is going to provide a high performance


measures such as the data updates are done automatically without loss of data that
already exists.

4.3 SYSTEM REQUIREMENT

To be used efficiently, all computer software needs certain hardware components or other
software resources to be present on a computer. These prerequisites are known as
(computer) system requirements and are often used as a guideline as opposed to an absolute
rule. Most software defines two sets of system requirements: minimum and recommended.
With increasing demand for higher processing power and resources in newer versions of
software, system requirements tend to increase over time. Industry analysts suggest that this
trend plays a bigger part in driving upgrades to existing computer systems than technological
advancements. A second meaning of the term of System requirements is a generalization of
this first definition, giving the requirements to be met in the design of a system or sub-system.
Typically an organization starts with a set of Business requirements and then derives the
System requirements from there.

4.3.1 HARDWARE REQUIREMENTS


Processor : i3

RAM : 8GB

Hard Disk : 100GB

Speed : 2.4 GHz+

App Version : Ice-cream Sandwich to Nougat

API level : 15 to 25

DEPT. OF COMPUTER SCIENCE, YCM Page 21


PLATFORM BASED HANDYMAN SERVICES

4.3.2 SOFTWARE REQUIREMENTS


Operating System : Windows 7 or Higher

Coding Language : Java

Back End : MYSQL

Java Software : JDK 1.7 or above

Android software : SDK

IDE : Eclipse, Android Studio

DEPT. OF COMPUTER SCIENCE, YCM Page 22


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 5

SYSTEM DESIGN

DEPT. OF COMPUTER SCIENCE, YCM Page 23


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 5

SYSTEM DESIGN

5.1 SYSTEM DESIGN

Design process is nothing but the representation of the systems, or is a process of producing a
mode which will be used to develop or build the system. The input for the design process is the
SRS and output is “Design of proposed system”, while the SRS is entirely in the problem
domain, design is the step in moving from problem domain to the final solution for satisfying
the requirements. Thus it is essentially a blue for a solution for the system.

Software design sites as the technical kernel of the software engineering process and is applied
regardless of the development that is used. Once the software requirements are specified,
software design is the first of three technical activities design, coding and testing.

System design deals with transforming the customer requirements as described in the SRS
document into a form that is implemented using a programming language.

The following items must be designed during designing phase-

➢ Different modules required to implement the design solution.

➢ Control relationship among the identified modules.

➢ Data structures of the individual modules.

➢ Interface among the different modules identifies the call relationship and data
invocation relationship among modules.

5.1.1 SYSTEM ARCHITECTURE

System architecture gives an overall idea of how the software utilizes various services. The
data’s from the sensors dump to cloud and CPCB will access the data, monitor the quality of
water and take respective actions

DEPT. OF COMPUTER SCIENCE, YCM Page 24


PLATFORM BASED HANDYMAN SERVICES

Fig 5.1.1 System Architecture

5.1.2 DATA FLOW DIAGRAM


A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the processes
that change data throughout a system. A structured analysis and design tool can be used for
flowcharting in place of or in association with information. Oriented and process oriented
system flowcharts. When analysts prepare the Data Flow Diagram, they specify the user needs
at a level of detail that virtually determines the information flow into and out of the system and
the required data resources. This network is constructed by using a set of symbols that do not
imply physical implementations.

The Data Flow Diagram reviews the current physical system, prepares input and output
specification, specifies the implementation plan etc.

DEPT. OF COMPUTER SCIENCE, YCM Page 25


PLATFORM BASED HANDYMAN SERVICES

Four basic symbols are used to construct data flow diagrams. They are symbols that represent
data source, data flows, and data transformations and data storage. The points at which data are
transformed are represented by enclosed figures, usually circles, which are called nodes.

5.1.3 DATA FLOW DIAGRAM SYMBOLS

Symbol Name

Entity

Data flow

Process

DEPT. OF COMPUTER SCIENCE, YCM Page 26


PLATFORM BASED HANDYMAN SERVICES

5.1.4 USE CASE DIAGRAM


A use case diagram in the Unified Modelling Language (UML) is a type of behavioural diagram
defined by and created from a Use-case analysis. Its purpose is to present a graphical overview
of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases.

An important part of the Unified Modelling Language (UML) is the facilities for drawing use
case diagrams. Use cases are used during the analysis phase of a project to identify and partition
system functionality. They separate the system into actors and use cases.

5.1.5 USE CASE DIAGRAM SYMBOLS

Symbol Name

Actor

Association

Business use case

System

DEPT. OF COMPUTER SCIENCE, YCM Page 27


PLATFORM BASED HANDYMAN SERVICES

System

LOGIN

AUTHORIZE
SERVICE
PROVIDER

CHANGE
PASSWORD
ADMIN

LOGOUT

Fig 5.1.6 Admin Use Case Diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 28


PLATFORM BASED HANDYMAN SERVICES

System

Login

Register

Edit Profile

View Request

SERVICE PROVIDER Go to particular


place

Change Password

Logout

Fig 5.1.7 Service Provider Use Case Diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 29


PLATFORM BASED HANDYMAN SERVICES

System

LOGIN

REGISTER

EDIT PROFILE

SEARCH FOR
SERVICES

USER CHANGE PASSWORD

LOGOUT

Fig 5.1.8 User Use Case Diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 30


PLATFORM BASED HANDYMAN SERVICES

5.2 SEQUENCE DIAGRAM


Sequence diagrams are the most popular UML artefact for dynamic modelling, which focuses
on identifying the behaviour within your system. Sequence diagrams, along with class
diagrams and physical data models are in experts’ opinion the most important design-level
models for modern business application development.

Fig 5.2.1 Sequence Diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 31


PLATFORM BASED HANDYMAN SERVICES

5.2.3 ENTITY RELATIONSHIP DIAGRAM


Entity Relationship Diagrams (ERDs) illustrate the logical structure of databases. Any object,
for example, entities, attributes of an entity, relationship sets, and attributes of relationship
sets, can be represented with the help of an ER diagram.

Fig 5.2.3 Entity Relationship Diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 32


PLATFORM BASED HANDYMAN SERVICES

5.3.2 ADMIN DATA FLOW DIAGRAM

5.3.2 Admin data flow diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 33


PLATFORM BASED HANDYMAN SERVICES

5.3.3 USER DATA FLOW DIAGRAM

Fig 5.3.3 User data flow diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 34


PLATFORM BASED HANDYMAN SERVICES

5.3.4 SERVICE DATA FLOW DIAGRAM

5.3.4 Service provider data flow diagram

DEPT. OF COMPUTER SCIENCE, YCM Page 35


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 6

IMPLEMENTATION

DEPT. OF COMPUTER SCIENCE, YCM Page 36


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 6

IMPLEMENTATION

6.1 SYSTEM IMPLEMENTATION

Software design sits at the technical kernel of the software engineering process and is applied
regardless of the development paradigm and area of application. Design is the first step in the
development phase for any engineered product or system. The designer’s goal is to produce a
model or representation of an entity that will later be built. Beginning, once system requirement
have been specified and analyzed, system design is the first of the three technical activities -
design, code and test that is required to build and verify software.

The importance can be stated with a single word “Quality”. Design is the place where quality
is fostered in software development. Design provides us with representations of software that
can assess for quality. Design is the only way that we can accurately translate a customer’s
view into a finished software product or system. Software design serves as a foundation for all
the software engineering steps that follow. Without a strong design we risk building an unstable
system – one that will be difficult to test, one whose quality cannot be assessed until the last
stage.

During design, progressive refinement of data structure, program structure, and procedural
details are developed reviewed and documented. System design can be viewed from either
technical or project management perspective. From the technical point of view, design is
comprised of four activities – architectural design, data structure design, interface design and
procedural design. The most creative and challenging face of the system development is
System Design. It provides the understanding and procedural details necessary for
implementing the system recommended in the feasibility study. Design goes through the logical
and physical stages of development.[27]

In designing a new system, the system analyst must have a clear understanding of the
objectives, which the design is aiming to full fill. The first step is to determine how the output
is to be produced and in what format. Second, input data and master files have to be designed
to meet the requirements of the proposed output. The operational phases are

DEPT. OF COMPUTER SCIENCE, YCM Page 37


PLATFORM BASED HANDYMAN SERVICES

process of applying various techniques and principles for defining a device, a process or a
system in sufficient detail to permit its physical realization. Thus system design is a solution
to “how to” approach to the creation of a new system. Thus, important phase provides the
understanding and the procedural details necessary for implementing the system
recommended in the feasibility study. The design step provides a data design, architectural
design, and a procedural design.

The system development life cycle (SDLC), also referred to as the application development
life cycle, is a term used in software engineering, information systems and software
engineering to describe a process for planning, creating, testing and deploying an information
system. The system development life cycle concept applies to a range of hardware and
software configuration, as a system can be composed of hardware only, software only, or a
combination of both.

To manage this, a number of system development life cycle (SDLC) models have been
created: waterfall, fountain and spiral, build and fix, rapid prototyping, incremental and
synchronize and stabilize. The oldest of these and the best known, is the water fall: a sequence
of stages in which the output of each stage becomes the input for next. This stage can be
characterized and divided up in different ways, including the following:

• Project planning, feasibility study: Establishes a high level view of the


intended project and determines its goals.

• System analysis, requirements definition: refines project goal into defined


functions and operation of the intended application. Analyze end user
information need.

• System design: Describe desired features and operation in detail, including


screen layouts, business rules, process diagrams, pseudo code and other
documentation.

• Implementation: the real code is written here.

DEPT. OF COMPUTER SCIENCE, YCM Page 38


PLATFORM BASED HANDYMAN SERVICES

• Integration and testing: Brings all the pieces together into a special testing
environment, then checks for errors, bugs and interoperability.

• Acceptance, installation, deployment: the final stage of initial development,


where the software is put into production and runs actual business.

6.2 ADOPTED APPROACH

According to software Engineering the approach adopted to develop this project is the iterative
waterfall model. The iterative waterfall model is the systematic approach that begins at the
feasibility study phase and progress through analysis, design, coding, testing, integration and
maintenance. Feedback paths are there in each phase to its preceding phase as show in the Fig
4.1 waterfall model to allow the correction of the errors committed during a phase that are
detected in later phase.

Fig 6.2 Waterfall Model

DEPT. OF COMPUTER SCIENCE, YCM Page 39


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 7

SYSTEM TESTING

DEPT. OF COMPUTER SCIENCE, YCM Page 40


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 7

SYSTEM TESTING

Software testing is performed to verify that the completed software package functions
according to the expectations defined by the requirements/specifications. The overall objective
is not to find every software bug that exists, but to uncover situations that could negatively
impact the customer, usability and/or maintainability.

7.1 PURPOSE OF TESTING

▪ Finding defects which may get created by the programmer while developing
the software.

▪ To prevent defects.

▪ To make sure that the end result meets the business and user requirements.

▪ To ensure that it satisfies the BRS that is Business Requirement Specification


and SRS that is System Requirement Specifications.

▪ To gain the confidence of the customers by providing them a quality product.

7.2 TYPES OF TESTING

There are two types of testing. They are:

1. White Box Testing

2. Black Box Testing

7.2.1 WHITE BOX TESTING

It is a software testing method in which the internal structure/design/implementation of the


item being tested is known to the tester. The tester chooses inputs to exercise paths through the
code and determines the appropriate outputs. Programming know-how and at that time the
.implementation knowledge is essential.

DEPT. OF COMPUTER SCIENCE, YCM Page 41


PLATFORM BASED HANDYMAN SERVICES

This method is named so because the software program, in the eyes of the tester, is like a
white/transparent box; inside which one clearly sees. Internal software and code working
should be known for this type of testing. Tests are based on coverage of code statements,
branches, paths, conditions. Also known as structural testing and Glass box Testing.

7.2.2 BLACK BOX TESTING

Internal system design is not considered in this type of testing. Tests are based on requirements
and functionality. This method is named so because the software program, in the eyes of the
tester, is like a black box; inside which one cannot see. Black box testing is a testing technique
that ignores the internal mechanism of the system and focuses on the output generated against
any input and execution of the system. It is also called functional testing.

1.1 LEVELS OF TESTING

There are four levels of software testing.

1.1.1 UNIT TESTING

Unit Testing is a level of the software testing process where individual units/components
of a software/system are tested. The purpose is to validate that each unit of the software
performs as designed.

1.1.2 INTEGRATION TESTING

Integration Testing is a level of the software testing process where individual units are
combined and tested as a group. The purpose of this level of testing is to expose faults in the
interaction between integrated units.

1.1.3 SYSTEM TESTING

System Testing is a level of the software testing process where a complete, integrated
system/software is tested. The purpose of this test is to evaluate the system’s compliance with
the specified requirements. System Testing is a level of the software testing process where a
complete, integrated system/software is tested.

DEPT. OF COMPUTER SCIENCE, YCM Page 42


PLATFORM BASED HANDYMAN SERVICES

1.1.4 ACCEPTANCE TESTING

Acceptance Testing is a level of the software testing process where a system is tested for
acceptability. The purpose of this test is to evaluate the system’s compliance with the business
requirements and assess whether it is acceptable for delivery.

Acceptance testing or User Acceptance Testing (UAT) is a level of the software testing process
where a system is tested for acceptability. The purpose of this test is to evaluate the system’s
compliance with the business requirements and assess whether it is acceptable for delivery.

User Acceptance Testing (UAT) is performed by Users or on behalf of the users to ensure that
the Software functions in accordance with the Business Requirement Document. UAT focuses
on the following aspects:
• All functional requirements are satisfied.
• All performance requirements are achieved.
• Other requirements like transportability, compatibility, error recovery etc. are
satisfied.
• Acceptance criteria specified by the user is met.

1.1.4 REGRESSION TESTING

The purpose of regression testing is to confirm that a recent program or code change has not
adversely affected existing features. Regression testing is nothing but full or partial selection
of already executed test cases which are re-executed to ensure existing functionalities work
fine. This testing is done to make sure that new code changes should not have side effects on
the existing functionalities. It ensures that old code still works once the new code changes are
done.

Regression testing is the process of testing changes to computer programs to make sure that
the older programming still works with the new changes. Regression testing is a normal part
of the program development process and, in larger companies, is done by code testing
specialists Before a new version of a software product is released, the old test cases are run

DEPT. OF COMPUTER SCIENCE, YCM Page 43


PLATFORM BASED HANDYMAN SERVICES

against the new version to make sure that all the old capabilities still work. The reason they
might not work is because changing or adding new code to a program can easily introduce
errors into code that is not intended to be changed.

7.3 TEST CASES

Test Test case Test case Test steps Test


case name description Step I/p given Expected o/p Actual o/p status
ID P/F
TC01 Login To verify that Login with Valid Login Login Pass
the Username Usn&Pswd successful successful
User has &pswd
entered
Valid
username and
password
Login To verify that Login with Invalid Login Error Enter Fail
the User Username Usn& successful valid
has entered &pswd Pswd Usn&pswd
Valid
username and
password
TC02 Registration To verify that Enter all the Valid Registered Registered Pass
the user has valid user details successfully successfully
registered by details
entering valid
details
Registration To verify that Enter all the InValid Registered Not Fail
the user has valid user details successfully Registered
registered by details successfully
entering valid
details

Table 11.1: Test Case

7.4 RESULT ANALYSIS

All the test cases mentioned above passed successfully. No defects encountered.

DEPT. OF COMPUTER SCIENCE, YCM Page 44


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 8
SYSTEM SCREENSHOT

DEPT. OF COMPUTER SCIENCE, YCM Page 45


PLATFORM BASED HANDYMAN SERVICES

8.1 USER INTERFACE

8.1.1 User Login and Registration

DEPT. OF COMPUTER SCIENCE, YCM Page 46


PLATFORM BASED HANDYMAN SERVICES

8.1.2 Service Selection and Booking

DEPT. OF COMPUTER SCIENCE, YCM Page 47


PLATFORM BASED HANDYMAN SERVICES

8.1.3 Service Confirmation and Review

DEPT. OF COMPUTER SCIENCE, YCM Page 48


PLATFORM BASED HANDYMAN SERVICES

8.2 SERVICE PROVIDER INTERFACE

8.2.1 Service Provider Login

DEPT. OF COMPUTER SCIENCE, YCM Page 49


PLATFORM BASED HANDYMAN SERVICES

8.2.2 Service Provider Registration and View Service

DEPT. OF COMPUTER SCIENCE, YCM Page 50


PLATFORM BASED HANDYMAN SERVICES

8.3 ADMIN USER INTERFACE

8.3.1 Admin User Interface

DEPT. OF COMPUTER SCIENCE, YCM Page 51


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 9
CONCLUSION AND FUTURE
ENHANCEMENT

DEPT. OF COMPUTER SCIENCE, YCM Page 52


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 10

CONCLUSION AND FUTURE ENHANCEMENT

10.1 CONCLUSION
The proposed paper shows the flow, structure and working of the handy man system. is user
friendly i.e. easy to use. It is free of cost on android store. Thus , it is time a time saving as well
as cost efficient application. So , we can conclude that the proposed system can be used to
reduce human efforts and luxuriate human lives, hand in hand, with the modern technology
“Platform based Handyman Services” is a customized Mobile Application which uses the state
of the art technologies like Android SDK (Software Development Kit), Eclipse, Java and
MySQL used for Android Application Development. This application provides domestic home
services where users can be served for electrical services, International Journal of Computer
Applications (0975 – 8887) Volume 148 – No.6, August 2016 plumbing services and carpentry
services. Unlike the existing “FacilityKart” application, this application uses GPS to fetch the
users’ location and assigns nearest service provider from his existing location dynamically.
Thus this application seems to be more dynamic, effective and efficient than the existing system

10.2 FUTURE ENHANCEMENT

This application can be further enhanced by allowing the users of the application to drag and
drop to another location on the maps. This facility can be used by the user in case if the user
wants the service request to be accomplished at another location than his current location. For
this there is a need to integrate the maps into this application. Another useful enhancement can
be made by providing more service types to the user. Lastly, since this application is built only
for the Android users, this application can also be implemented for other platform like iOS and
Windows.

DEPT. OF COMPUTER SCIENCE, YCM Page 53


PLATFORM BASED HANDYMAN SERVICES

CHAPTER 11

BIBLIOGRAPHY

DEPT. OF COMPUTER SCIENCE, YCM Page 54


PLATFORM BASED HANDYMAN SERVICES

[1] “Implementation of Cloud Messaging System Based on GCM Service”.Computational


and Information Sciences (ICCIS), 2013 Fifth International Conference. Penghui Li
Transp. Manage. Coll., DalianMaritime Univ., Dalian, China Yan Chen ;Taoying Li ;
Renyuan Wang ; Junxiong Sun

[2] “A public safety application of GPS-enabled smartphones and the android operating
system”-Systems, Man and Cybernetics, 2009. SMC 2009. IEEE International
Conference-Whipple, J.Inf. Syst. Eng. Dept., Southwest Res. Inst., San Antonio, TX,
USA Arensman, W. ;Boler, M.S.

[3] “Unified platform for the delivery of notifications to smartphones notification”


Carpathian Control Conference (ICCC), 2012 13th International. Mojzisova, A. Inst. of
Control & Informatization of Production Processes, Tech. Univ. of Kosice, Kosice,
Slovakia Mojzis, M.

[4] “An improvement of the shortest path algorithm based on Dijkstra algorithm“Computer
and Automation Engineering (ICCAE), 2010 The 2nd International Conference on
(Volume:2 ). Ji-xian Xiao Coll. of Sci., Hebei Polytech. Univ., Tangshan, China Fang-
Ling Lu.

[5] “Developing anAndroid based learning application for mobile devices”, Telematics and
Information Systems (EATIS), 2012 6th Euro American Conference, de Clunie,
G.T.Fac. de Ing. de Sist., Computacionales, Univ. Tecnol. de Panama, Panama City,
Panama Serrao, T. ; Monteiro Braz, J.R.-. Serr o, T. Rangel, N. Castillo, A. G mez, B.
Rodrguez, . de Barraza, . Riley, J.

DEPT. OF COMPUTER SCIENCE, YCM Page 55


PLATFORM BASED HANDYMAN SERVICES

11.1 REFERRED WEBSITES


• http://www.mkyong.com/

• http://programmingbydoing.com/

• http://stackoverflow.com/questions/tagged/java

• https://www.javacodegeeks.com/

• http://funprogramming.org/

• http://www.vogella.com/android.html

• http://mylifewithandroid.blogspot.ca/

• http://www.technotalkative.com/android/

• https://thenewcircle.com/s/post/1017/android_bootcamp_series_2012_video_tutorial

• http://www.lynda.com/Mobile-training-tutorials/55-0.html?utm_medium=ldc-
partner&utm_source=SSPRC&utm_content=10848&utm_campaign=CD15021&bid=
10848&aid=CD15021

11.2 REFERRED BOOKS


• “The Java Programming Language” by Arnold

• “Java: The Complete Reference” by Herbert Schildt

• “Java Programming Interviews Exposed (WROX)” by Noel Markham

• “Professional Android 4 Application Development” by Reto Meier

• “Android Cookbook” by Ian F Darwin

DEPT. OF COMPUTER SCIENCE, YCM Page 56


PLATFORM BASED HANDYMAN SERVICES

DEPT. OF COMPUTER SCIENCE, YCM Page 57


PLATFORM BASED HANDYMAN SERVICES

DEPT. OF COMPUTER SCIENCE, YCM Page 58


PLATFORM BASED HANDYMAN SERVICES

DEPT. OF COMPUTER SCIENCE, YCM Page 59


PLATFORM BASED HANDYMAN SERVICES

DEPT. OF COMPUTER SCIENCE, YCM Page 60


PLATFORM BASED HANDYMAN SERVICES

DEPT. OF COMPUTER SCIENCE, YCM Page 61


PLATFORM BASED HANDYMAN SERVICES

DEPT. OF COMPUTER SCIENCE, YCM Page 62


PLATFORM BASED HANDYMAN SERVICES

DEPT. OF COMPUTER SCIENCE, YCM Page 63

You might also like