hos-app doc
TRANSCRIPT
-
8/11/2019 HOS-APP doc
1/36
CHAPTER 1: INTRODUCTION ............................................................... Error! Bookmark not defined.
1.1 Title of the Project (HOS-APP) ...............................................Error! Bookmark not defined.
1.2 Topic Background ....................................................................Error! Bookmark not defined.
1.3 Purpose of Implementation ......................................................Error! Bookmark not defined.
1.4 Target Audience .......................................................................Error! Bookmark not defined.1.5 Problem Context ......................................................................Error! Bookmark not defined.
1.5.1 Description of Problem Area ......................................................... Error! Bookmark not defined.
1.6 Tangible Benefits .....................................................................Error! Bookmark not defined.
1.7 Intangible Benefits ...................................................................Error! Bookmark not defined.
1.8 Project Objectives ....................................................................Error! Bookmark not defined.
1.8.1 Core Functionalities of the System ............................................... Error! Bookmark not defined.
1.8.2 Enhanced Functionalities of System ............................................. Error! Bookmark not defined.
1.8.3 Special Functionalities of System .................................................. Error! Bookmark not defined.1.8.4 Learning Objective ........................................................................Error! Bookmark not defined.
18.5 Traceability Matrix between Problem and Functionalities ............Error! Bookmark not defined.
1.9 Assumptions .............................................................................Error! Bookmark not defined.
1.10 Success Criteria ......................................................................Error! Bookmark not defined.
1.11 Scope of the System ...............................................................Error! Bookmark not defined.
1.12 Limitations of the System ......................................................Error! Bookmark not defined.
1.2 Project Planning .......................................................................Error! Bookmark not defined.
1.2.1 Project Management .............................................................Error! Bookmark not defined.
1.2.2 Time Management ................................................................Error! Bookmark not defined.
1.2.3 Deployment Plan ...................................................................Error! Bookmark not defined.
1.2.4 Ethics Commitment ..............................................................Error! Bookmark not defined.
-
8/11/2019 HOS-APP doc
2/36
--------) Page 2
C H A P T E R 1 : I N T R O D U C T I O N
1.1 Title of the Project
HOS-APP
1.2 Topic Background
The system itself defines its task, HOS-APP means it is a system which will help the
user to search hopitals, view routes to them & manage diseases & gives precaution.
1.2 Purpose of Implementation
To save our life in case of trouble.
1.4 Target Audience
Anyone, ranging from home users to office user and any businessmen or professionals
who are outside their home. People who want to send emergency message in case of trouble. A
person who wants to search out the nearest hospital, police station, cabs in case of trouble.
1.5 Problem Context
As users are not able to search hospitals nearby in case of trouble, this system helps them
to find out hospitals & show some quick remedies to common diseases.
1.5.1 Problem Area
1.5.1.1 Unable to reach nearest hospital in case of emergency
1.5.1.2 Unable to find the route to a hospital, police station in case of emergency
1.5.1.3
Unable to find out remedies of common diseases.
1.5.1.4 Unable to contact with doctors
1.5.1.5 Unable to find out the home made remedies for small diseases
1.6 Rationale
This application provides benefits in many ways, like it allows users to save their
emergency contacts in a customized manner. It allows users to save their home made remedies in
the. It allows users to guide in case of trouble.
-
8/11/2019 HOS-APP doc
3/36
-
8/11/2019 HOS-APP doc
4/36
1.9 Assumptions
Following are the assumptions made in this system.
1.9.1. I have assumed that the user has an android mobile phone and has practice about its
mobile operations.
1.9.2. User should have some knowledge about mobiles original function that is used in
mobile phone.
1.9.3.
It is assumed that user has internet access.
1.9.4.
GPS should be in ON mode while this app works.
1.11
Scope and limitation of the System
Scope and limitations of the system which is to be developed are listed below.
Description of these scope and limitations are already provided in the functionality
module.
1.11.1 Save home made remidies
1.11.2
View route between your place and the near by hospitals
1.11.3
Account management1.11.4 Contact us
1.11.5 Terms and Conditions
1.11.6 FAQ on website
1.12 Limitations of the System
The limitations for this system is as given below
1.12.1.Only the following types of reports will be available for this system
1.13Feasibility Analysis
Feasibility studies addresses things like where and how the system will operate. It
provides in-depth details about the system to determine if and how it can succeed and serve
-
8/11/2019 HOS-APP doc
5/36
as a valuable tool for developing a winning business plan. Feasibility study is further sub-
divided into four categories as described below.
1.14.1 Schedule Feasibility Report
It shows that whether the project development is going as per the schedule or not.
This system is being developed as per the time given in the Gantt chart. All the major and
minor activities are shown in the Gantt chart with completion date for all major activities
within the project that meets organizational deadlines and constraints for affecting change.
The main part of schedule feasibility report is-
Gantt Chart- Developer has used this chart for the time estimation.
1.14.2 Technical Feasibility Report
Technical Feasibility mainly involves the hardware and the software requirements of
the system regarding all the tasks of the system to be done. All the major technologies used to
develop this system are described in section 4.2.1. From the report of section 4.2.1 we can
easily know that this system is technically feasible.
1.14.3 Operational Feasibility Report:
It may be defined as, the process of assessing the degree to which a proposed systemsolves business problems or takes advantage of business opportunities. Problems addressed
and advantages of this system are provided in the documentation.
1.14.4 Economic Feasibility Report:
The purpose for assessing economic feasibility is mainly to identify the financial
benefits and costs associated with the development project. Economic feasibility is referred
as cost and benefit analysis for any system.
Once the technical feasibility is established, it is important to consider the monetary factors
also. Since it might happen that developing a particular system may be technically possible
but it may require huge investments and benefits may be less. Cost Benefits are included
under Rationale (Section1.6) by the developer.
1.15 Ethics Commitment
It ensures that the project wont do any harm to the society or anyone in anyways. It
contains issues like no animal harm & no copying of data without prior permission etc. and to
-
8/11/2019 HOS-APP doc
6/36
ensure that the developer has filled up an ethical form and it will be provided in
documentation.
Critical AppraisalAs per the problem context and functionalities given above the system is going to be
developed in a systematic manner. This system will be very much helpful to the users and
users will be going to enjoy this system very much. This system is feasible in every aspect
whether it is technical or operational.
-
8/11/2019 HOS-APP doc
7/36
CHA PTE R 2 : PR O B LE M D E S CR I PT I O N
2.1 Introduction to Problem Area
Today there is a drastic change in livelihood of each and every people of this world.
Either he/she belongs to a small family or middle family or why not from a large family. All
are addicted to technology directly or indirectly. They do not have time to note down their
income and expenditures on a piece of paper, in PCs, in mobile notes etc. and count them one
by one to know their total budget. i do not say that there is no such systems which handles all
these problems. Yes there are various systems to handle those problems but they are either
time consuming or hard to work on. For e.g. we can save our data on excel sheet also but who
have got the time to open the PC and remember all the expenses which we have done on that
day. Its really time consuming and boring. There is lack of research and functionalities in
the current system as well. We are in such an era today that our most of the work has been
shifted to computer; we are surrounded by the computer system which has made our memory
powerless. We feel hard to jot down every expense we do every day due to lack of time and
we used to forget the expenses made during the day. We used to forget whom we have to
give money and how much as well as from whom we have to get. God shake it doesnt
happen with anyone but what if the hard disk crashes, files which we have saved are
destroyed in natural disasters, or due to some other problem we lost our data then we are
completely going to be mad. These are just the glimpse of the problems which is going to be
solved with this system.
2.2 Problem Description and solution
Following are the problems which are present in the current system.
.
2.3 Challenges and Learning Opportunities
The primary challenge in building this system is customizing the various user
requirements based on their category e.g. students, businessmen, home users etc. the data
which has to be customized should be gathered from various users. Some off the other
challenges are
-
8/11/2019 HOS-APP doc
8/36
2.3.1
Challenges
Further challenges involved in this system are described below.
2.3.1.1Knowing the user: To understand the spending habits of people. The manner in
which they spend the money, decisions they take before spending on something.Other challenge would be of how to make this application make effective to make
people use the application, as some people would consider the application as
ineffective in respect to the amount of time they give in use of the application.
2.3.1.2 Interaction design and coding is also one of the major challenges of this system.
2.3.2 Learning Opportunities
2.3.2.1
Knowledge about DBMS or Databases
To save the data in database knowledge of DBMS is required so that no duplication of
data occurs in the system.
2.3.2.2Concept of Human Computer Interaction.
HCI principles will make the system easy to be used by the user and hence it can play
a vital role in the growth of the system in future.
2.3.2.3Leaning for a development of Real time bug free system.
In order to make the system bug free various testing approaches should be learnt andimplemented in this system e.g. unit testing.
2.3.2.4Learning and Practices of SQL Query
To insert the data and fetch it SQL queries should be learnt.
2.3.3 Nature of Challenge
As described above the challenges are really going to make the developer a lot from
this system. Some of the challenges are really tough to implement e.g. implementing the web-
services in this system, showing graphical reports in order to make users understand their
profit and loss etc. this system will be complete if and only if all the functionalities given in
core (Refer to Section 1.8.1) are completed. This is also one of the major challenges i.e. to
complete the system within given time frame.
2.3.4
Challenges in terms of Theory and Software
2.3.4.1 Challenges in terms of Software
-
8/11/2019 HOS-APP doc
9/36
Challenges in terms of software are small as eclipse has given us the frame work
where we can work on this project. It has also provided us the ADT(Android Development
Toolkit) on which we can develop the system. And of course it is free of cost. No licensing is
required for it. But yes we have to register our self to the Google MAP API to get a freedeveloper key which will be used during the development of the system to use Google GPS
services. Also while deploying the project we need to register each individual for a specific
key so that they can use the same. Apart from android software like Apache tomcat will be
used which is also free for the developer point of view.
2.3.4.2 Challenges in terms of Theory
The main challenge comes in terms of theory for this system. E.g. how to implement
web-services, how to use efficient graph theory for smart prediction, how to use graphs, how
to customize the options etc. but yes these all problems are the real challenge which the
developer is going to really enjoy.
Critical Appraisal
There are many problems in the current system, which will be sorted out during thedevelopment of this system. All the challenges which are listed above are critical and will be
taken as a risk by the developer.
-
8/11/2019 HOS-APP doc
10/36
CHA PTE R 3 : L I TE R A TUR E R E V I E W
3.1 Advanced Preliminary
The idea of this system came into my mind when I was unable to find my expenses
when my guardians asked me for the expense report. He asked me to give me the details of
expenses which I had done during a month after taking some amount from him. I was unable
to remember all those expenses. So, I thought why not to develop a system where I can put
my incomes and expenses and get the report whenever it is required. Before starting this
project I did an extensive research on this topic and found some facts i.e. a lot of system has
been developed on this type of project. But all of them had some problem in them which are
listed in the problem description section i.e. Chapter 2. Some of the websites and their
functionalities are given in section 3.4.1. Also I took a lot of ideas from various websites to
sort out these problems.
For the various options which should be there in the system for saving expenses this website
i.e. http://www.nhco.org/budget_packet.pdf is very much helpful. This is a spreadsheet
which is provided by NHCO (North Hills Community Outreach) for saving daily
expenses.http://www.newhavenlibrary50plus.com/uploads/07_1043_4_Income__Expens
es_01-07.pdfthis link will also be providing the various options to be saved in the database.
3.1.1. Global Positioning System (GPS) tracking
The most accurate procedure to find the
exact location of a place is by only GPS
and if we could attach GPS with Google-
Map then the users can find the exact
location of anyone and as these devices
are on everybodys android mobile.
Location
Marker
FIGURE 1GOOGLE MAP WITH GPS COORDINATES (GOOGLE T EAM,
1995)
-
8/11/2019 HOS-APP doc
11/36
3.2 Domain Research
As this project is a website as well as android application. The development of this
needs a great research work. With research work done properly one can make out the
success or failure of the project, as it provides complete exposure of knowledge, business,
human networking, better insights and understanding of the required area.
Domain research will deal with the whole method of a Website building. Then the
developer will include the study of J2EE, XML, Android, SQL Queries. To make the
research better, developer has divided it in the following domains:
1. Android ResearchThe developer should have some knowledge of the Android trends
and web-services.2. Site Development - The primary domain research of project will be choosing the
website development methodology as well as android application development. The
entire methodology should be clear in mind so as to have clear picture of what next
steps to follow for a successful completion of this project within specific time period.
3.2.1 Literature Review on Technical Research
3.2.1.1Key Concepts of Mobile Technology (As application will run on mobile)
3.2.1.1.1 Why mobile technology? Why not PCs or file system?
At the end of 2011, there were 6 billion mobile subscriptions, estimates The
International Telecommunication Union (2011). That is equivalent to 87 percent of the world
population. And is a huge increase from 5.4 billion in 2010 and 4.7 billion mobile
subscriptions in 2009. (Favell, 2012) . From the given facts one can easily understand why
we should develop a mobile application. Also in the problem description area I have
mentioned many reasons why we should not opt for file system. This is the main reason
behind choosing mobile technology.
3.2.1.1.2 Why android mobile technology? Why not some other mobile?
48.5% people in US owns android device. Out of 51.5 all other mobile companies are
fighting for their existence (Nielsen, 2012).
At the 2012 Mobile World Congress, Google released a startling statistic: There are
now around 850,000 Android activations made each day. When close to one million phones
-
8/11/2019 HOS-APP doc
12/36
are being turned on every day, you're doing something right. Yet, Google and its mobile
operating system, Android, still get a bad rap because of different versions coming out.
(Scott, 2012). Still it is going to play a vital role in the future mobile era. This is why I have
chosen android technology to implement this system.
Conclusion: The proposed system will be an android mobile application with web services.
3.2.2.1 GSM
The proposed system will provide the services across the countries also as the users
often continue to use their mobile phones when they travel to other countries.
3.2.2.2 GPRS
The proposed system can access the internet by GPRS and the data usage must be
less than 56 Kbps so that all users can effectively use the services.
3.2.2.3Wi-Fi (wireless fidelity)
The proposed system can access the internet by Wi-Fi and the data usage must be less
than 80 Kbps so that all users can effectively use the services.
3.2.2.4 Design Principle: The design principles that need to be studied in order to provide
are as follow:
3.2.2.5 Visibility: Visibility is one of the most important design principles and what it means
is that, as and when the user looks on the system screen he/she may feel the possibility for
action. The developer will keep an eye on this principal in order to provide better visibility.
Conclusion: The developer will provide color schemes in a way that users of this system can
easily find suitable content.
3.2.2.6 Feedback: Feedback is the response to the user of the action performed.
Conclusion: The developer will provide appropriate message box (Toast in android) to
provide feedback.
3.2.2.7 Constraints: Constraints are some universally accepted conventions which notify
some specific actions.
Conclusion:
-
8/11/2019 HOS-APP doc
13/36
Inclusion of warning messages to show the errors
For exiting from the application, use of back button as followed by all mobile
applications
3.2.2.8. Consistency: Consistency means maintaining similar color schemes, backgrounds,font color and size etc.
Conclusion: The developer will provide Consistent Colour, Same background, same font
size and colour for headings.
3.2.2.9. Affordances: Affordance means expected behavior like cursor of mouse changes
into hand symbol on roll-over the link.
Conclusion: The developer will provide features like long press key so that user can get the
details from the list view.
3.2.2.10 Programming Language Research
3.2.2.10.1. Android
Android OS specific programming, as it is better for customization
Android is well supported with JSP
Android Support with Google-Map and GPS technology
Android has Multi-threading, Handler, Exception Handling, Encapsulation which can
be used in the system for various functions like fetching friends data while showing
their location on Google-Map.
3.2.2.10.2. J2EE
3.2.2.10.2.1.To develop the web services use of J2EE will be done.
There are a number of patterns that have been identified by the Sun Java Centre for
the presentation tier i.e. which is visible to the users. Various patterns are describedbelow in details.
3.2.2.10.2.2.Intercepting Filter: Facilitates pre-processing and post-processing of a request.
3.2.2.10.2.3.Front Controller: Provides a centralized controller for managing the handling of
requests.
3.2.2.10.2.4.Composite View: Creates an aggregate View from atomic subcomponents.
3.2.2.10.2.5.View Helper: Encapsulates logic that is not related to presentation formatting
into Helper components.
-
8/11/2019 HOS-APP doc
14/36
3.2.2.10.2.6.Service to Worker: Combines a Dispatcher component with the Front Controller
and View Helper patterns.
3.2.2.10.2.7.Business Delegate: Reduces coupling between presentation-tier clients and
business services. It hides the underlying implementation details of the businessservice, such as lookup and access details of the EJB architecture.
3.2.2.10.2.8.Service Locator: Multiple clients can reuse the Service Locator object to reduce
code complexity, provide a single point of control, and improve performance by
providing a caching facility.
3.2.2.10.2.9.Transfer Object Assembler: It is used to build the required model or sub model.
The Transfer Object Assembler uses Transfer Objects to retrieve data from
various business objects and other objects that define the model or part of the
model.
3.2.2.10.2.10. Composite Entity: It model, represent, and manage a set of interrelated
persistent objects rather than representing them as individual fine-grained entity
beans. A Composite Entity bean represents a graph of objects.
3.2.2.10.2.11. Data Access Object: Abstracts and encapsulate all access to the data source.
The DAO manages the connection with the data source to obtain and store data.
(Satarkar, 2004)
Note: More about technical research is given in chapter 4 under Techniques used.
3.3.1 Other academic research areas that need to be looked into are:
3. Human Computer Interaction to concern with the design, evaluation and
implementation of interaction computing systems, HCIU guidelines will be studied.
4. Software Methodology We have different types of methodology to develop a
project. In order to make the system best and perfect and feasible, the developer has to
research for the methodology which best suits the mobile based application.
3.3.2 Information and Resources
3.3.2.1 Information
For gathering information and user requirements, some technique have to be used
which will provide developer an idea and information about the needs of user. To do so there
is a need of using data gathering technique. Techniques are listed below:
3.3.2.1.1
Interview
-
8/11/2019 HOS-APP doc
15/36
The interview session will give an outline of people response towards this system.
Which type of system they require? What should be the option in the expense field? The
interview process will be held for a group of users so that more and more opinions will come
out for the system.
3.3.2.1.2 Questionnaire
The short, structured and grouped questions according to purpose will be very helpful
in gathering usage statistics i.e. what and what not to be done. These questioners can be used
to collect both qualitative and quantitative data. The questionnaire will be distributed to IT
personnel who having some experience and insight into the development of such a mobile
applications and web development as well as to the users of the system. The main reason
doing the questionnaire for this project will be to seek and gather all the necessary
information that might be beneficial for the development of proposed system.
3.3.2.1.3 Books
3.3.2.1.3.1Android application development for dummies-Donn Felker
3.3.2.1.3.2Beginning Android Application Development -Wei-Meng Lee
3.3.2.1.3.3
Human Computer Interaction- Alend Dix, Janet Finlay, Gregory D. Abowd,
Russell Beale.
3.3.2.1.3.4
Data Structure- Schaums outlines, TMH
3.3.2.1.4 Observations
By observing the various sites and users review on those sites I am able to get many
points related to the system. E.g. what are the various options which should be saved in the
system? Some of them are listed below.
3.3.2.1.4.1Housing - rent / mortgage, heating fuel, gas, electric, water, sewage, garbage,
phone(s), household cleaning supplies, furnishings, equipment, Taxes, Insurance
3.3.2.1.4.2
Transportation - Car & Insurance payments, gas, maintenance & inspections, or
public transportation Food - Out of home meals & beverages, Groceries, lunches,
snacks. (NO PET FOOD, see Leisure)
3.3.2.1.4.3Fun & Leisure - Alcoholic beverages, Tobacco, Pet expenses, Cable TV,
Internet, TVs, Computers, Toys, Electronics, Cameras, Books, Magazines,
Newspaper, Music, Movies, Concerts, Sporting Events, Clubs, etc
3.3.2.1.4.4Apparel & services- Clothes, shoes, accessories, dry cleaning, spot removers,
detergent, dryer sheets etc.
-
8/11/2019 HOS-APP doc
16/36
3.3.2.1.4.5Personal careproducts & services hair care & skin products or services, haircuts,
manicures, massages
3.3.2.1.4.6Health care - insurance premiums, medical services & supplies, drugs, dental
related, & vitamins3.3.2.1.4.7Miscellaneous expenses
3.3.2.1.4.8Education - yearly pictures, trips, supplies, back pack, uniforms
3.3.2.1.4.9Life insurance, IRA, retirement funds
3.3.2.1.4.10 Savings- FSA, Education, to help replace vehicle or appliance, Vacations,
Christmas, etc. (not retirement)
3.3.2.1.4.11 Emergency Fund accumulate to 3 months pay PLUS ANY insurance
deductibles
3.3.2.1.4.12 DEBTAll non-mortgage or non-car debt (Morgan(Admin))
3.4 Market Research
3.4.1 Similar Systems Available in the Market
There are many systems which are available in the market on this topic. Some of them
of
-
8/11/2019 HOS-APP doc
17/36
--------) Page 17
3.4.3 Critical Evaluation of Market Research
When I posted my half of the specifications on freelancer.com I got the bid as following.
I found 6 bids from which the maximum was 1000$ and minimum was 350$ as shown in screen
shots below. If half of the project can cost that 350$ the full project will be developed in almost1000$. Hence this system can work with the market by joining hands in hand with users. (NA,
Daily Exense Tracker)
FIGURE 2 DAILY EXPENSE TRACKER (FREE LANCING)
-
8/11/2019 HOS-APP doc
18/36
--------) Page 18
FIGURE 3 DET BIDDING PRICES
-
8/11/2019 HOS-APP doc
19/36
--------) Page 19
3.4.4 Critical Success Factor
In order to make this project a successful project the developer needs to do mainly two
tasks, first is that the developer should implement all the core functionalities and secondly the he
should synchronize the mobile database with the server.
3.5 Critical Evaluation of Literature Review
After working with the literature review I have come to the point that in order to make a
system perfect analysis part plays a vital role. I have come to know about many other systems
which I was not expecting to be. Even my project title is now matching with one of the app in
Google store. But when I came up with the drawbacks of all those systems I found my system
can be far better than others system. I have taken some of the functionalities which are best in
them to make the users feel better.
-
8/11/2019 HOS-APP doc
20/36
--------) Page 20
CHA P T ER 4 : RESEA RCH MET HOD S
4.1 Primary Research
Primary research was conducted by the developer during the initial phase of the system
for gathering the information from the potential users of the system so that the developer can
make a system that is directly acceptable by its users; primary research is conducted by
following techniques-
4.1.1 Techniques used
In order to gather the data techniques used in this system are already defined in the
section 4.1 and they are questionnaire, interview and by observations.
4.1.1.1. Questionnaire
Questionnaire (Refer to appendices for questionnaires) is a part of data gathering
technique in which a series of questions designed to gather specific information. Questionnaires
will specially be designed for users who would use the system which will include people who are
interested in social networking websites. They have few advantages as Questionnaire
4.1.1.1Can be used to collect both qualitative and quantitative data
4.1.1.2Can be distributed manually or electronically
4.1.1.3
Can reach a vast number of people regardless of physical location or geographical
dispersion
4.1.1.4
Can be distributed quickly and cheaply
4.1.1.5Can be used when human and financial resources are not available to conduct interviews
4.1.1.6 Why Questionnaires?
As this application is targeting a large number of persons who are going to use the
proposed system, so they are enormous in number, so it is not possible to take interview of them
because it will be very time consuming. These are some reasons for using Questionnaires-
4.1.1.6.1.
The analysis of questionnaire is most efficient than other techniques as we can draw
the graphs and analyse the data.
-
8/11/2019 HOS-APP doc
21/36
--------) Page 21
4.1.1.6.2. It can reach a vast number of people regardless of physical location or geographical
dispersion.
4.1.1.6.3. It can be distributed quickly and cheaply.
4.1.1.2. Interview
Interview (Refer to appendices for Interview) is a part of data gathering technique in which
a series of question asked face to face from users of the system, designed to gather detailed
information. They have few advantages as Interview -
Can be used for evaluating information needs as interview will allow us to gather
detailed information about functionalities of project
Can be used for gathering knowledge about perceptions of the people about social
networks and their usual habits
4.1.1.2.1. Why Interview?
It provides us with immediate an response which saves the developers precious time
It allows participants to express themselves in their own words
It allows the collection of a large volume of rich data
It allows discussion, probing and unexpected insights
It is best for investigating problems
4.2.1 Technical Research
This part is going to research the proposed system technically means what programming
language or database the system is going to use. Some technical research work includes:
4.2.1.1 Platform
This part is going to research the proposed system about the programming language, the system
is going to use.
4.2.1.1.1 Android
Android is the world's most popular mobile platform. With Android you can use all the
Google apps you know and love, plus there are more than 600,000 apps and games available on
Google Play to keep you entertained, alongside millions of songs and books, and thousands of
-
8/11/2019 HOS-APP doc
22/36
--------) Page 22
movies. Android devices are already smart, and will only get smarter, with new features you
won't find on any other platform, letting you focus on what's important and putting you in control
of your mobile experience. (corp., 2005)
4.2.1.1.1.1 Android OS programming
Android powers hundreds of millions of mobile devices in more than 190 countries around the
world.
Android gives us a world-class platform for creating apps and games for Android users
everywhere, as well as an open marketplace for distributing to them instantly. (NA, Android, the
world's most popular mobile platform)
-
8/11/2019 HOS-APP doc
23/36
--------) Page 23
TABLE 1 ANDROID DEVELOPERS
Every day more than 1 million new Android devices are activated worldwide.(NA, Android,
the world's most popular mobile platform)
Android is an open source mobile operating system that is based on the Linux kernel.
Using Android, device manufacturers can customize the OS to suit their particular hardware
design, thereby allowing them to innovate without limitations. For developers, Android
programming uses the Java programming language, and familiarity with the language
immediately opens the platform to every Java programmer in the world.
4.2.1.1.1.2 Why Android?
-
8/11/2019 HOS-APP doc
24/36
--------) Page 24
Android Support with Google-Map: Android and Google Map both are initiatives of Google
itself and for ease of use they have provided the packaged libraries bundled with Android
platform so use of Google-Map in android application is without compatibility issues, exceptions
and well defined so that no performance issue occurs as in mobile systems performance
sometime causes application to crash. Further why android has been discussed under section
3.2.1.1.2.
FIGURE 4ANDROID LIFE CYCLE (JAMES STEELE, 2010)
Refer to 4.2.1.1.3 for more language details
Android uses Java Language which is an object oriented language enriched with features of-
4.2.1.1.1.4 Multithreading
-
8/11/2019 HOS-APP doc
25/36
--------) Page 25
A program or process can contain multiple threads that execute instructions according to
program code. Like multiple processes that can run on one computer, multiple threads appear to
be doing their work in parallel. Implemented on a multi-processor machine, they
actually can work in parallel. Unlike processes, threads share the same address space; that is,
they can read and write the same variables and data structures. . (IBM Team, 2006)
4.2.1.1.1.5 Handler
A Handler allows sending and processing Message and Runnable objects associated with a
thread's MessageQueue. Each Handler instance is associated with a single thread and that
thread's message queue. When user creates new Handler, it is bound to the thread / message
queue of the thread that is creating it -- from that point on, it will deliver messages and runnable
to that message queue and execute them as they come out of the message queue. (Google Team,
2007)
4.2.1.1.1.6 Exception Handling
Exceptional conditions in traditional environments often arise in situations such as division by
zero or file not found, and they must be managed with clumsy and hard -to-read constructs.
Java helps in this area by providing object-oriented exception handling.
4.2.1.1.1.7 PACKAGES TO BE USEDandroid.app Packages Uses
android.app
android.app.ActivityManager.RunningServiceInfo
Alert Dialog is used for message box.
android.app.Activity
android.app.ActivityManager
android.app.Service
The Activity class takes care of creating
a window Services run in background
and they can be started and stopped by
activity classes.
-
8/11/2019 HOS-APP doc
26/36
--------) Page 26
android.app.AlertDialog
android.widget
android.widget.Button;
android.widget.EditText;
android.widget.Toast;
android.widget.TextView;
For using layout object like buttons,
textview.
For messages Toast can be used.
java.io
java.io.BufferedReader;
java.io.IOException;
java.io.InputStream;
java.io.InputStreamReader;
java.io.BufferedReader;
For reading the data, received from
Apache server and subsequently for
throwing errors
android.os
android.os.Bundle;
android.os.Handler;
android.os.IBinder;
android.os.RemoteException;
android.os.SystemClock;
android.os.Message;
android.os.Messenger;
android.os.SystemClock;
For passing the data between activities
and from activities to services.
Binding the data with activities.
-
8/11/2019 HOS-APP doc
27/36
--------) Page 27
org.json
org.json.JSONArray;
org.json.JSONException;
org.json.JSONObject;
For converting data read by buffer-
reader into readable chunks and
subsequently for throwing errors
com.google.android.maps
com.google.android.maps.GeoPoint;
com.google.android.maps.ItemizedOverlay;
com.google.android.maps.MapActivity;
com.google.android.maps.MapController;
com.google.android.maps.MapView;
com.google.android.maps.MyLocationOverlay;
com.google.android.maps.Overlay;
com.google.android.maps.OverlayItem;
For storing GPS coordinates and
accessing Google map view, controllers
and overlay.
android.location
android.location.Location;
android.location.LocationListener;
android.location.LocationManager;
android.location.Criteria;
For accessing GPS location and
listening for location.
org.apache
org.apache.http.client.entity.UrlEncodedFormEntity;
org.apache.http.client.methods.HttpPost;
For receiving HTTP response and
subsequently sending the data to server.
-
8/11/2019 HOS-APP doc
28/36
--------) Page 28
org.apache.http.client.ClientProtocolException;
org.apache.http.client.HttpClient;
org.apache.http.client.entity.UrlEncodedFormEntity;
org.apache.http.client.methods.HttpPost;
org.apache.http.impl.client.DefaultHttpClient;
org.apache.http.message.BasicNameValuePair;
android.content
android.content.ComponentName;
android.content.ServiceConnection;
For calling other activities from
activities and services by providing
necessary parameters
android.graphics
android.graphics.Bitmap;
android.graphics.BitmapFactory;
android.graphics.Canvas;
android.graphics.Point;
android.graphics.drawable.Drawable;
For drawing on screen of android.
android.view
android.view.View;
android.view.Window;
For providing the actions to the layout
elements like buttons.
-
8/11/2019 HOS-APP doc
29/36
--------) Page 29
java.util
java.util.ArrayList;
java.util.List;
java.util.Timer;
java.util.TimerTask;
java.util.ArrayList;
java.util.List;
java.util.Timer;
java.util.TimerTask;
For various utilities like timers for
updating location in regular interval.
TABLE 2 PACKAGES TO BE USED IN DEVELOPING THE SYSTEM
4.2.1.1.3 Justification for Selection of Programming Language
4.2.1.1.3.1 Mobile Application
Developer thinks that for developing propose Mobile application Android will be used, as
Android is a feature-rich OS programming which contains Exception- Handling, Multithreading,
Handlers which will help in developing the proposed project, also it is easy to learn.
Android has Google-Map and JSP support as all of these three are backed by Google itself like
Google-Map is packaged with the Android SDK so using Google-Map doesnt poses any
unwanted situations and performance issue also they have thoroughly checked and developed
functions so it gives a great relax to the developer and maximize the chances of success.
Android is well supported with JSP
Android Support with Google-Map,
Android has Multi-threading, Handler, Exception Handling, Encapsulation which can be
used in the system for various functions like fetching friends data while showing their
location on Google-Map.
-
8/11/2019 HOS-APP doc
30/36
--------) Page 30
OS specific programming is critically needed as accessing the GPS of mobile device is an OS
specific function also mobile notification and alert can only be customized if the developer is
using OS specific programming.
4.2.1.2 Framework
Java
4.2.1.3 Programming Language
Core Java
4.2.2 Database Management System
4.2.2.2 SQL Query
SQL Query will be used for interacting with DBMS in order to fetch the data or
maintain records in backend databases.
Conclusion:
SQLlite Database
It will be used by developer as backend for the project or websites.
-
8/11/2019 HOS-APP doc
31/36
--------) Page 31
4.2.3 Software Development Methodology
4.2.3.1 Description
The Advanced waterfall provides an orderly sequence of development steps and helps
ensure the adequacy of documentation and design reviews to ensure the quality, reliability, and
maintainability of the developed software.
FIGURE 5V MODEL
V-MODEL
Selected Software Development Methodology: V-model
Advanced waterfall methodology follows V model in development stages.
It is an extended waterfall model, adding more details on the validation and verification side. V-model
gives relationship between each development stages and Testing stages.
Reasons for selecting this methodology are: -
4.2.3.1.1.
The requirements are almost identified and can be changed and DET is such asystem whichs requirement will go on changingon time to time.
4.2.3.1.2. Any bug can lead back to the initial phase to the model. So it provides a great
flexibility to the developer and as the technology used in this system is Android
and developer is new to this technology as well, so bugs are inevitable.
Requirements Analysis
System Design
Architecture Design
Implementation
Integration Testing
System Testing
Usability Testing
Module Design Unit Testing
-
8/11/2019 HOS-APP doc
32/36
--------) Page 32
4.2.3.1.3. The Android technology is new and deep, the developer has less experience of
development tool as mentioned above so there are more chances of going back to
initial phases.
4.2.3.1.4. The developer needs to test at each milestone i.e. for example if the developer is
working on reading data from computer, the developer will first have to test it so
to perform searching on it.
4.2.3.1.5. The system will be used by a single user so it has to be specific according to the
requirement.
4.2.3.1.6. This mobile application has its own specified requirements based on which the
developer is going to build the applications, other phases such as design, coding
etc. is done with proper testing keeping in mind the requirement specification of
the application.
4.2.3.1.7. In v-model developer and tester works in parallel. So developer can test it while
implementation and design phase.
4.2.3.2. Phases of V-Model
This methodology has following phase that developer will follow while developing the system.
4.2.3.2.1.
Requirement Analysis-This is the first step in the verification process. Duringthis stage the developer will not be going to discuss how the system is going to be
built; it is going to be a generalized discussion and a user requirement document
is put forth. This document will carry information regarding the function of the
system, performance, security, data, interface etc. This document is required by
the business analysts to convey the function of the system to the users. So it will
merely be a guideline.
4.2.3.2.2. System Design-Like the name of the phase suggests, here the possible design of
the product is formulated. It is formulated after keeping in mind the requirement
notes. While following the documents, if there is something that doesnt fit right
in the design, then the user is made aware of it and changes are accordingly
planned.
-
8/11/2019 HOS-APP doc
33/36
--------) Page 33
4.2.3.2.3. Architecture Design-The architecture design, also known as the computer
architecture design or the software design should realize the modules and the
functionality of the modules which have to be incorporated.
4.2.3.2.4. Module Design-In the module design, the architectural design is again broken up
into sub units so that they can be studied and explained separately. The units are
called modules. The modules can separately be decoded by the programmer.
4.2.3.3. The Validation Phases of the V model
4.2.3.3.1. Unit Testing-A unit in the programming system is the smallest part which can be
tested. In this phase each of these units are tested.
4.2.3.3.2.
Integration Testing or Interface Testing-In this phase the separate entities will be
tested together to find out the flaws in the interfaces.
4.2.3.3.3.
System Testing-After the previous stage of interface testing, in this phase it is
checked if the system meets the requirements that have been specified for this
integrated product.
4.2.3.3.4. Acceptance Testing-In the acceptance test, the integrated product is put against
the requirement documents to see if it fulfills all the requirements.
4.2.3.3.5. Release Testing-It is in here that judgment has to be made if the product or
software which is created is suitable for the user.
4.2.3.4 Justification
After some deliberation and discussion the developer settled upon using Waterfall Model
for the development of this system. The most tempting factor for selection of V-Model is-
4.2.3.4.1. Stable project requirements: As in our project most of the user requirements are
freeze at the time of PSF so it indicates a stable project requirements and
Waterfall methodology completely supports a project which has requirements
decided in advance.
4.2.3.4.2.
Progress of system is measurable: After each step it produces the documentation
and as the structure of our Final year project we need to submit the documentation
after each phase so it will be best suitable.
-
8/11/2019 HOS-APP doc
34/36
--------) Page 34
4.2.3.4.3. Strict sign-off requirements: As the developers goal will be to satisfy the user and
until the user will be satisfied the developer will be providing the user desired
functionalities and proper features so this methodology will be best suitable.
4.2.3.4.4. The emphasis on requirements and design before writing a single line of code
ensures minimal wastage of time and effort and reduces the risk of schedule
slippage, or of customer expectations not being met.
4.2.3.4.5. In modified waterfall model life cycle phases are permitted to overlap. Because of
the phases overlap, a lot of flexibility has been introduced in the modified
waterfall model in software engineering. At the same time, a number of tasks can
function concurrently, which ensures that the defects in the software are removed
in the development stage itself and the overhead cost of making changes to the
software before implementation is saved.
4.2.3.4.6. Making changes to the basic design is also possible, as there are a number of
phases active at one point of time. In case there are any errors introduced because
of the changes made, rectifying them is also easy (Testing can be done). This
helps to reduce any oversight issues.
4.3 Critical Evaluation of Research
After going through the research work I am now able to find out the in-depth knowledge
of the languages which will be used to create the system. This system is going to be developed
on java frame work as android is also based on java and so is the JSP-servlet. The database
which will be used in this system will be SQLite for android mobile and MySQL server for the
web services.
-
8/11/2019 HOS-APP doc
35/36
--------) Page 35
RefrencesAndtek. (2012, July 14).Just Expenses: Expense Tracker. Retrieved October 20, 2012, from Google Play:
https://play.google.com/store/apps/details?id=com.andtek.just.expenses&hl=en
corp., G. (2005).Android. Retrieved November 1, 2012, from http://www.android.com/:
http://www.android.com/about/
Favell, A. (2012, June). Global mobile statistics 2012. Retrieved November 15, 2012, from Mobi Thinking:
http://mobithinking.com/mobile-marketing-tools/latest-mobile-stats/a#subscribers
James Steele, N. T. (2010). The Android Developers Cookbook.Rights and Contracts Department 501
Boylston Street, Suite 900 Boston, MA 02116: RR Donnelley, Crawfordsville, Indiana. : Pearson
Education, Inc.
Kim, A. (2012, October 12). Coin Keeper. Retrieved October 25, 2012, from
http://coinkeeper.tumblr.com/:
https://play.google.com/store/apps/details?id=com.ifree.coinkeeper&hl=en;http://coinkeeper.t
umblr.com/
Morgan(Admin), F. (n.d.). Budget & Expense Tracking Instructions.Retrieved November 15, 2012, from
http://www.nhco.org/: http://www.nhco.org/budget_packet.pdf
NA. (2010). Disadvantages of File Processing System. Retrieved 11 18, 2012, from JKiNFOLINE.com:
http://www.jkinfoline.com/disadvantages-of-file-system.html
NA. (2012, August 04). Expense Manager. Retrieved 20 10, 2012, from Google Play:
https://play.google.com/store/apps/details?id=com.expensemanager&hl=en
NA. (n.d.).Android, the world's most popular mobile platform. Retrieved November 5, 2012, from
developer.android.com: http://developer.android.com/about/index.html
NA. (n.d.). Daily Exense Tracker. Retrieved November 15, 2012, from freelancer.com:
https://www.freelancer.com/projects/Mobile-Phone-Android/Daily-Expense-Tacker.html
Nielsen. (2012, May 7). Nielsen: Over 50 percent of US mobile users own smartphones, Android and
iPhone sitting pretty. Retrieved August 10, 2012, from Engadget:
http://www.engadget.com/2012/05/07/nielsen-smartphone-share-march-2012/
Peijiang, H. (2012, April 12). Daily Expense Tracker (income and cash-flowLite. Retrieved Ausgust 20,
2012, from http://tiny4.org/app/App_by_tinyfool/Tiny4Money.html:
http://tiny4.org/app/App_by_tinyfool/Tiny4Money.html;http://download.cnet.com/Daily-Expense-Tracker-income-and-cash-flowLite/3000-2057_4-
75701667.html?tag=rb_content;contentBody
Satarkar, P. (2004).J2EE Design Patterns. Retrieved September 12, 2012, from All App Labs.com:
http://www.allapplabs.com/j2ee_design_patterns/j2ee_design_patterns.htm
-
8/11/2019 HOS-APP doc
36/36
Scott, D. (2012, May 16). Why you should buy a android phone. Retrieved August 15, 2012, from
Complex.com: http://www.complex.com/tech/2012/05/why-you-should-buy-an-android-
phone/
Team., G. A. (2007). The Android SDK. . Retrieved August 1, 2012, from code.google.com: The Android
SDK. Available: http://code.google.com/android/add-ons/google-apis/index.html
Appendix