Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LIST OF TABLES
LIST OF FIGURES
FIGURE 1 GPS TRACKING ............................................................................................................................................ 27
FIGURE 2 JUST EXPENSE TRACKER .................................................................................................................................. 35
FIGURE 3 EXPENSE MANAGER ....................................................................................................................................... 35
FIGURE 4 COINKEEPER- EXPENSE TRACKING ..................................................................................................................... 36
FIGURE 5 DAILY EXPENSE TRACKER-INCOME AND CASH FLOW .............................................................................................. 36
FIGURE 6 DAILY EXPENSE MANAGER .............................................................................................................................. 36
FIGURE 7 DAILY EXPENSE TRACKER (FREE LANCING) .......................................................................................................... 37
FIGURE 8DET BID ..................................................................................................................................................... 37
FIGURE 9ANDROID LIFE CYCLE (JAMES STEELE, 2010) ....................................................................................................... 49
FIGURE 10V MODEL ................................................................................................................................................... 56
FIGURE 11 USE CASE OF WHOLE SYSTEM ........................................................................................................................ 67
FIGURE 12 USE CASE OF PROFILE MANAGEMENT .............................................................................................................. 69
FIGURE 13 USE CASE DIAGRAM OF REGISTRATION............................................................................................................. 70
FIGURE 14 USE CASE DIAGRAM OF DET........................................................................................................................... 71
FIGURE 15 USE CASE DIAGRAM OF TASK MANAGER ........................................................................................................... 72
FIGURE 16 USE CASE DIAGRAM FOR REPORT .................................................................................................................... 73
ABSTRACT
Daily Expense Tracker is a complete business solution whose main focus is on saving expenses
and time supervision; two key factors that play major role in success of any project. It basically
consists of expense management tool which basically consist of saving expenses in different
categories. Each functionality maintains consistency in the system such as if user saves details
from either of web or mobile then reports consistency will be maintained. It also contains the
relevant information of the expense which are saved in the database.
There are variety of tasks done in this system. Some of them are saving expenses category
wise, managing task, changing wallpaper etc. There is provision to view reports on weekly
basic, daily basic, monthly basic.
Lately, mobile devices are not a status symbol anymore. On the basis of statistic reports, people
are three times more addicted to mobiles than Laptops or PCs. No doubt, it transforms million
ways of communication even in those areas where phone lines even barely exist. Hence, in a
nut-shell mobiles can be handy for administrators or every individual to track down all their
actions and can even keep a record of most accomplished tasks however.
The Daily Expense Tracker has been developed and customized keeping in mind the
requirements of the predicted audiences like students, businessman of any organization which
will help the users to save their money in future by analyzing the reports of this expert system.
System handles user’s daily expenses, saving tasks, changing wallpapers, sending reports to
other mobiles etc.
This system is basically developed for android mobile with API level greater than 8. This
system also provides web interface to the users which has been developed in J2EE.
CHAPTER 1: INTRODUCTION
1.1 Title of the Project
DAILY EXPENSE TRACKER
If you lost your device then the data can be easily downloaded from the website and
hence you can be saved from a disaster.
1.6 Rationale
This application provides benefits in many ways, like it allows users to save their daily
expenses in a customized manner. It allows users to save their task in the system along with
the position from where they saved the data. It allows users to save their wastage of money by
providing notifications whenever required. It allows the users to know their future benefits by
doing calculations based on their savings.
The system to be implemented could bring about significant tangible and intangible
benefits. Given below is a list of tangible and intangible benefits expected from the system:
PB1 X
PB2 X
PB3
PB4 X
PB5 X
PB6 X
PB7 X
PB8 X
PB9 X
PB10 X
PB11 X X
PB12
PB13 X X
TABLE 1TRACEABILITY MATRIX BETWEEN PROBLEM AND FUNCTIONALITIES
1.9 Assumptions
Following are the assumptions made in this system.
1.9.1. The developer has assumed that the user has an android mobile phone and has practice
about its basic mobile operations.
1.9.2. User should have some knowledge about mobile’s original function that is used in
mobile phone.
1.9.3. It is assumed that user has internet access for synchronizing the data on the server.
1.10 Success Criteria
The system will be successful if all the following tasks are done
1.10.1. All the functionalities given in core are implemented successfully
1.10.2. If proper validations are provided in textboxes
1.10.3. If user is able to save his/her expenses, credit, incomes and debits on server without
error
1.10.4. If very less bugs occur during the testing which are not really harmful
1.10.5. User is able to view the reports successfully from android device.
1.10.6. If multiple users are able to login from one device without any error.
1.10.7. If system does not crashes while installing this software
If the user is satisfied by this system regardless of some small problems then this system will
be a successful system.
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.12 Member’s Registration 1.22 Future Prediction
1.13 Save daily expenses 1.23 Synchronization of offline-online
1.14 Profile management data
1.15 Putting limit on expense 1.24 Task Manager
1.16 Account management 1.25 Saving location based on GPS
1.17 Report Generation 1.26 Customization option
1.18 Searching of Members 1.27 Wallpaper customization
1.19 Contact us 1.28 Sending Reports on mail
1.20 Terms and Conditions 1.29 Sending SMS report to another no.
1.21 FAQ on website
Daily Expense Tracker
1.12 Limitations of the System
The limitations for this system is as given below
1.12.1. Number of reports rows shown in the mobile will be 15-20 only
1.12.2. While it can accessible from any system
1.12.3. Future prediction will be available for 2 years only
1.12.4. Only one user can login at a time from same android device.
1.12.5. Mail will be sent to the primary mail id provided during the registration.
1.12.6. Only the following types of reports will be available for this system
1.12.6.1. Weekly expense/saving 1.12.7. Current data on website will be
1.12.6.2. Monthly expense/saving shown only in the case if the data is
1.12.6.3. Quarterly expense/saving synchronized with the server, in case data is
1.12.6.4. Half –yearly expense/saving not synchronized on the server then only the
1.12.6.5. Yearly expense/saving data which is available till last
1.12.6.6. Date vise expense/saving synchronization will be available to the
1.12.6.7. Expense for a particular item user.
1.12.6.8. Daily expenses 1.12.8. There is no way to access the data
1.12.6.9. Debit and credits report online without the synchronization of data
1.12.6.10. Debit and credits report based to the server.
on searching a particular name
1.13 Feasibility 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 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. (Refer to appendix)
iii. Credit- amount which the user has given someone else and he/she will get in
future.
iv. Debit- amount which the user needs to pay other person in future.
2.3.1 Challenges
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.pdf this link will also be providing the various options to be saved in the database.
Location
Marker
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 everybody’s android mobile. The developer thought to use the GPS service
in the app because he thought it would be easy for users to find out from where they made that
expense.
Domain research deals 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 Research – The developer should have knowledge of the Android trends and
web-applications.
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.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
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,
Conclusion: The proposed system is an android mobile application which will communicate
with web application.
3.2.2.4 GPRS
The proposed system can access the internet by GPRS and the speed of net should be 2G
or 3G enabled.
The proposed system can access the internet by Wi-Fi also if it there is Wi-Fi
connectivity.
3.2.2.6 Design Principle: The design principles that need to be studied in order to provide
are as follow:
3.2.2.7 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.8 Feedback: Feedback is the response to the user of the action performed. Most of the
feedback has been provided by using Toast in Android and Message box in Web application.
Conclusion: The developer has provide appropriate message box (Toast in android) to provide
feedback.
3.2.2.9 Constraints: Constraints are some universally accepted conventions which notify some
specific actions.
Conclusion:
3.2.2.11. Affordances: Affordance means expected behavior like cursor of mouse changes into
hand symbol on roll-over the link.
Conclusion: The developer has provide features like long press key so that user can get the
details from the list view. Developer has also provided date picker for the user so that user can
select the desired date for reporting.
3.2.2.12.1. Android
This gives the developer the main unit and the stage on which to build the application. The
current set of Android application development provides positive reasons for developers to
develop a game application. The growing number of Android users is another positive aspect
to develop the application.
3.3.2 Other academic research areas that need to be looked into are:
3.3.2.1 Human Computer Interaction – to concern with the design, evaluation and
implementation of interaction computing systems, HCIU guidelines will be studied.
3.3.3.1.1 Interview
The interview session gives an outline of people response towards the 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.3.1.2 Questionnaire
The short, structured and grouped questions according to purpose of the system was
very helpful in gathering usage statistics E.g. what and what not to be done. These questioners
has been used to collect both qualitative and quantitative data. The questionnaire were
distributed to IT personnel who were 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 of the questionnaire was to seek and gather all the necessary information that was
beneficial for the development of proposed system.
3.3.3.1.3 Books
3.3.3.1.3.1 Android application development for dummies-Donn Felker
3.3.3.1.3.2 Beginning Android Application Development -Wei-Meng Lee
3.3.3.1.3.3 Human Computer Interaction- Alend Dix, Janet Finlay, Gregory D. Abowd, Russell
Beale.
3.3.3.1.3.4 Data Structure- Schaum’s outlines, TMH
3.3.3.1.4 Observations
By observing the various sites and users review on those sites developer has been 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.
This system is also providing users the facility to save their daily expenses. But the main
problem with this system, which
developer came to know from the
user’s review of this system, is that it
does not provide the customization
option for currencies.
When the developer posted his half of the specifications on freelancer.com he got the
bid as following. He 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 almost 1000$. (NA, Daily Exense Tracker, n.d.)
CF1 CF2 CF3 CF4 CF5 CF6 CF7 CF8 CF9 EF1 EF2 EF3 EF4 SF1 SF2 SF3 SF4
DET X X X X X X X X X X X X X X X X X
JET X X X X X X
EM X X X X
CET X X X X X X X
DETC X X X X
DEM X X X
TABLE 3 TRACEBILITY MATRIX BETWEEN THE FUCNTIONALITIES OF SYSTEM DEVELOPED AND PPREVIOUS SYSTEMS
Abbreviations:
Daily Expense Tracker-DET (New System)
39
Daily Expense Tracker
40
Daily Expense Tracker
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.1 Can be used to collect both qualitative and quantitative data
4.1.1.2 Can 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.5 Can be used when human and financial resources are not available to conduct interviews
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.
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.
41
Daily Expense Tracker
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
It provides us with immediate an response which saves the developer’s 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
Question 1 1. Which type of System is currently used by you to save daily expenses?
Desktop Application
Web Application
Mobile Application
Spreadsheet(Note book)
Justification This will help in understanding that which design interface is more understandable
to the user and what are the features that the proposed system must contain.it will
also help the developer to customize the options which is to be provided to the
user. Maps with SF1
Question 2 Which type of System would you like to use for saving your daily expenses?
Desktop Application Web Application
Mobile Application Note book
Justification This will help the developer the mindset of the user whether the user wants to run
with the technology or just want to remain where he/she is. If the user replies
mobile application then most of the questions marked by him/her will be valuable.
Maps with SF1.
Question 3 2. How is the Graphical user Interface of your Current expense saving system?
Excellent Intermediate
Satisfactory Not satisfied
42
Daily Expense Tracker
Justification This will provide that how frequently the user access the services and it will help
in designing the user interface like use of metaphors and shortcuts etc. Maps with
SF1.
Question 4 Does your current system take automatic backup of your database?
Yes No
Justification To find out whether their system takes automatic backup of the database or not.
As in our system we are going to give an option for the same. Maps with CF8.
Question 5 Would you like to share your mobile with your family members so that they can
save their expenses using their login id?
Yes No
Justification This will help out the developer on his module i.e. registration whether multiple
people on a single system is beneficial or not. Maps with CF1, CF3, CF5.
Question 6 Would you like to save income along with expenses in the system?
Yes No
Can’t Say
Justification Some people only wants to save their expenses not their income, so to find out
how many such people are there, this question is relevant. Maps with CF2.
Question 7 Would you like to put limit on expenses of a particular item?
Yes No
On all Items Only on some particular item.
Justification This will lead to the fact whether the users really want to put limit on a particular
item. Maps with CF4.
Question 8 Which type of alert you will prefer to get when you exceed your budget or any
new notification comes?
vibrate only vibration along with sound
only notification no sound only sound
Justification To find out which type of notification method is beneficial for the user. Maps with
CF9.
Question 9 Would you like to upload your pic in your profile?
Yes No
May be
Justification This would help in gathering the facts that how users will be going to like this
feature. It will help the developer in finding solutions for CF3.
Question 10 Should there be an option to delete your data?
Yes No
Justification Developer wants to know whether the users really want to delete their data or not.
Maps with CF5.
Question 11 Which type of report will you prefer?
Graphical Report Textual
Both
Justification This will help developer to find the user choice i.e. on which type of report the
developer really needs to work on. Maps with CF6.
Question 12 Would you prefer a cost effective mobile application rather than a website?
Yes No
Justification This would help in gathering the facts that the proposed system will be an
application or a website on the mobile. Maps with EF2.
Question 13 Would you like an option to be there as contact us?
Yes No
Justification This would help in gathering the facts that by which way the users will like to
contact the developer. Maps with CF10.
Question 14 Do you have internet accessibility in your mobile?
PT0981128 Asia Pacific Institute of Information Technology
43
Daily Expense Tracker
Yes No
Justification This would help in gathering the facts that the proposed system should be an online
or an offline system, so according to the user choice, the developer will provide
the functionality. Maps with SF3, EF4 etc.
Question 15 Would you prefer to visit the website FAQ before contacting the developer?
Yes No
May Be
Justification This will help the developer to be updated with the FAQ section of the website.
Maps with CF12.
Question 16 Would you prefer Google-map to find a place?
Yes No
Justification This would help in gathering the facts that how the users would like to find places,
so according to the user choice, the developer will provide the functionality. Maps
with EF4.
Question 17 Do you think that future prediction of this system will be going to help you?
Yes No
May be
Justification This would help in gathering the facts that whether the users would like to use the
future prediction facility or not. Maps with EF1.
Question 18 How likely you will want to access your data from the net using web browsers
Frequently Sometime
More than 5 time a week. Less than 5 times a week
Justification This will help the developer to find out how much traffic will be there on the
website of this system. Maps with CF1.
Question 19 How likely you will be using the task manger present in this system?
Frequently Sometime
More than 5 time a week. Less than 5 times a week
Justification This will help the developer to find out the usage of the task manager. Maps with
EF3.
Question 20 Will you like to save your location from where you are saving your data?
Yes No
Justification This would help in gathering the facts that whether the users would like to save
their location along with the data or not. Maps with EF4.
Question 21 Will you like that fields which should be saved should be present in as a menu
option.
Yes No I will save it manually
Can’t say
Justification This will help the developer to get the options for the development purpose. Maps
with SF1.
Question 22 How likely you would like to change your wall paper with the help of this system?
Yes No
Justification Developer can know from the facts of this question whether this option will be
really helpful or not. Maps with SF2.
Question 23 Would you like to have an option to schedule the mail from your application?
Yes No
Justification This would help in gathering the facts that whether the users would like to send a
report from their mobile to mail for further works or not. Maps with SF3.
Question 24 Would you like to send SMS report to another mobile?
Yes No
44
Daily Expense Tracker
Justification This would help in gathering the facts that whether the users would like to find out
whether the user wants to share their data with someone else or not. Maps with
SF4.
Question 25 What are the likely expenses you would like save?(Multiple choice)
Auto, Bus, Train fare Bike Vegetables
Room rent maintenance Electric bill
Car maintenance Insurance Lodging
charge Rice
Shopping Expenses Home Loan Petrol/Diesel
consultation EMI
Medicines Investments ories
Newspaper & Doctors Snacks
magazines Cable/ DTH/ Oil
Medical Tests Broadband Vehicle Loan
Fooding EMI premiums
Justification This would help in gathering the facts which will be customized for savings. Maps
with SF1.
Analysis Most of the user proposed that, please provide the application for free because
they want their all friends to be online on this application.
TABLE 6SAMPLE QUESTIONAIRE AND ITS JUSTIFICATION
Justification: This will help the developer to know whether the person will be interested to
use this system or not.
45
Daily Expense Tracker
Justification: This would help in gathering the facts which will be customized for savings.
Maps with SF1.
4. Do you still need to maintain any additional information as a Hardcopy?
Yes
No
If yes then what are they? _________________________
Justification: This will help the developer to know whether some fields are missing or not in
the system which is to be developed. Maps with SF1.
5. Do you see graphical reports in current system?
Yes
No
If yes then what are they? ----------------------------------------------------------------------------------
Justification: To find out what are those reports which can be implemented the developing
system. Maps with CF6.
6. Do you think that future prediction of this system will be going to help you if yes please
specify how? What type of predictions you will to use from this system? _________
Justification: this will give ifs and butts of future prediction and it can give us the some
valuable information which we can implement in the system.
Additional Requirements ________________________________________________________
Justification: To find out any missing attribute which the developer will enjoy in implementing it
in the current system.
Any Suggestions ________________________________________________________________
Justification: To get any suggestion from the user. As this system is going to be developed for the
user’s point of view so there suggestion is most welcome in this system.
46
Daily Expense Tracker
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
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)
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, n.d.)
47
Daily Expense Tracker
“Every day more than 1 million new Android devices are activated worldwide.” (NA, Android,
the world's most popular mobile platform, n.d.)
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.
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
48
Daily Expense Tracker
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.
Android uses Java Language which is an object oriented language enriched with features of-
4.2.1.1.1.4 Multithreading
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
49
Daily Expense Tracker
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)
Packages Uses
com.dkg.fyp; This is the core package crated by the
developer. As every android needs a package
name with ‘com’ then company name ‘dkg’(its
developer name) and then system name
‘fyp’(final year project).
Android.app The Activity class takes care of creating a
android.app.Activity;
window Services which run in background and
they can be started and stopped by activity
classes. There are various methods in this class
e.g. onCreate, onPause etc.
Android.content For calling other activities from activities and
android.content.Intent;
services by providing necessary parameters
android.content.Context;
50
Daily Expense Tracker
android.widget.TextView;
android.widget.Spinner;
android.widget.Chronometer;
android.widget.CheckBox;
android.widget.DatePicker;
android.widget.AdapterView;
android.widget.AdapterView.OnItem
SelectedListener;
Java.util For reading the data, received from Apache
java.util.ArrayList;
server and subsequently for throwing errors
java.util.List;
java.util.TreeMap; List, ArrayList and TreeMap is used to store
java.util.Date; the data into file and get it one by one.
java.io To read and write data from file.
java.io.BufferedReader;
java.io.IOException;
java.io.InputStreamReader;
java.io.FileOutputStream;
java.io.File;
java.io.UnsupportedEncodingExcepti
on;
org.apache.http For receiving HTTP response and
org.apache.http.NameValuePair;
subsequently sending the data to server.
org.apache.http.message.BasicName
ValuePair;
org.apache.http.params.HttpParams;
org.apache.http.impl.client.DefaultHt
tpClient;
org.apache.http.impl.client.BasicRes
ponseHandler;
org.apache.http.client.utils.URLEnco
dedUtils;
org.apache.http.client.methods.Http
Post;
org.apache.http.client.methods.Http
Get;
org.apache.http.client.entity.UrlEnco
dedFormEntity;
org.apache.http.client.ResponseHan
dler;
org.apache.http.client.HttpClient;
org.apache.http.client.ClientProtocol
Exception;
org.apache.http.NameValuePair;
org.apache.http.HttpResponse;
51
Daily Expense Tracker
android.database.sqlite.SQLiteDatab
ase;
android.database.sqlite.SQLiteOpen
Helper;
android.database.sqlite.SQLiteState
ment;
52
Daily Expense Tracker
com.google.android.maps.MapView;
com.google.android.maps.MyLocatio
nOverlay;
com.google.android.maps.Overlay;
com.google.android.maps.OverlayIte
m;
android.location For accessing GPS location and listening for
android.location.Location; location.
android.location.LocationListener;
android.location.LocationManager;
android.location.Criteria;
TABLE 9 PACKAGES USED IN DEVELOPING ANDROID APP
53
Daily Expense Tracker
54
Daily Expense Tracker
4.2.1.2 Framework
Java
MYSQL is a relation database application used to create computer databases. MYSQL provides an
environment used to generate databases that can be accessed from workstations, the Internet, or
other media.
It provides the ability to host multiple implementations on a single system simultaneously. It gives
Backup and restores facility. This automatically gives backups from one system to be automatically
restored to one or more MYSQL systems. MYSQL provides many new and enhanced business
intelligence features with high amount of security measures.
SQL Query will be used for interacting with DBMS in order to fetch the data or maintain
records in backend databases.
Conclusion:
Google-Support for JSP and MySQL in terms of database connectivity & proposed
compatibility as Google itself uses JSP & MYSQL that increases the chances of success.
55
Daily Expense Tracker
For Hosting Server, it is of very less Cost as for licensing it is GPL Open Source
SQLlite Database
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.
Integration
Architecture Design
Testing
Implementatio
n
FIGURE 10V MODEL
V-MODEL
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.
4.2.3.1.1. The requirements are almost identified and can be changed and DET is such a system
whose requirement will go on changing on 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.
56
Daily Expense Tracker
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.
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. During this
stage, the developer is not going to discuss how the system is to be built, but it will be a
general discussion and user requirements document is put forth. This document will be
information regarding the system function, performance, security, data, interface, etc.
This document is required by business analysts to transmit system function to users.
Therefore, simply be a guide. (NA, Waterfall Model, n.d.)
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 doesn’t fit right in the
design, then the user is made aware of it and changes are accordingly planned.
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 (NA, Waterfall Model, n.d.)
PT0981128 Asia Pacific Institute of Information Technology
57
Daily Expense Tracker
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.
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.
(Satalkar, 2010)
58
Daily Expense Tracker
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.
Time Division
Starting date of the project: 31st July 2012
Ending date of project: 30th April 2013
Total Duration: 33 Weeks
Project Definition (Concept and operation) Duration: 4 week 31/07/12 - 03/09/12
a. Submission of Abstract Draft Proposal
Project Planning (In Concept and operation & Requirement) Duration: 3 week
20/08/12-03/09/12
a. Project Proposal Form Submission
b. Work Breakdown Structure (WBS) Schedule and Time Estimation.
c. Other Project Management Activities.
d. Acceptance Test Plan
Requirements Engineering (Requirement and Architecture) Duration: 3 week
03/09/12-21/09/12
a. Identify Project Specifications
b. Project Specification Form
c. Data Gathering through Academic and Primary Research
d. Data Gathering Through Primary Research
e. Requirement Analysis
f. System Test Plan and Acceptance Test Plan
System Design (Detail Design) Duration: 13 weeks (22/09/2012-28/12/2012)
a. Database Design
c. Interface Design
d. Navigational Design
e. Integration Test Plan
Developing the System (In Implementation) and doing Testing and Evaluation
Duration: 16 weeks 02/12/12-23/03/13
a. Developing User Interface and Populating with Contents
b. Implementation of Website Module.
59
Daily Expense Tracker
60
Daily Expense Tracker
The developer has decided to make the system for offline using SQLLITE database and online using
MYSQL database. Developer has decided to make the system for Android device with higher
configuration than Android version 2.0 and for desktop and other devices with the help of web
application.
Multiple logging has been provided in a single system. Along with the expense; income, credit and
debit will be saved in the system.
The developer has decided to provide metaphors for increasing learning ability also the developer
will try to provide shortcut-keys, so that users can get quick access of the application.
The developer has decided to provide limit on the expenses so that if the users crosses the limit it
will generate a notification reminding the user has crossed the limit of the month.
The developer will provide an option to upload the profile pic in the system. Developer will be
providing both types of reports i.e. graphical as well as textual report. Developer has decided to
provide the option to view the location where the expense was saved using latitude and longitude,
which will be used in future for visiting the same location using Google map.
The developer has decided to provide the future saving prediction feature in this system. Developer
will be providing SMS feature in the system so that user can send the expense report to another
mobile.
61
Daily Expense Tracker
62
Daily Expense Tracker
Q no./ C C C C C C C C C E E E E S S S S
Function F1 F2 F3 F4 F5 F6 F7 F8 F9 F1 F2 F3 F4 F F F F
alities 1 2 3 4
Q1 X
Q2 X
Q3 X
Q4 X
Q5 X X X
Q6 X
Q7 X
Q8 X
Q9 X
Q10 X
Q11 X
Q12 X
Q13
Q14 X X
Q15
Q16 X
Q17 X
Q18 X
Q19 X
Q20 X
Q21 X
Q22 X
Q23 X
Q24 X
Q25 X
I1 X
I2
I3 X
63
Daily Expense Tracker
I4 X
I5 X
I6
I1-I6 : Interview Questions
Q1-Q25: Questionnaire
CF1-CF9: Core Functionalities
SF1-SF4: Special Functionalities
EF1-EF4: Enhanced Functionalities
TABLE 10 TRACEBILITY MATRIX BETWEEN QUESTIONAIRE AND FUNCTIONALITES
5.4 Critical Evaluation of Analysis
After the analysis of the questionnaire the developer has come to the point that to make a
system efficient and handy a suitable data gathering technique must be used. And hence after the
analysis developer has found answer of many questions on which he was not sure about. Initially
the developer had thought of the system which will consist of only saving and that too on webserver
but according to the feedback of the users, he decided to make it for saving credits and debits as
well and make the system for both offline as well as online. Developer has reached the conclusion
because of the feedback of the users which has been gathered by the questionnaire and interview
questions.
64
Daily Expense Tracker
Based on the needs of users and the detailed analysis of a new system, the new system has
been designed. This is phase System Project, which is the most crucial step in developing a system.
This developer will provide Structural Design System normally, the design proceeds in two stages
Preliminary or general design and Structure or detailed design
Preliminary or general design: In the preliminary or general design, the features of the
new system are specified. The costs of implementing these features and the benefits to be derived
are estimated. If the project is still considered to be feasible, we move to the detailed design stage.
Structure or Detailed design: In the detailed design stage, computer oriented work begins
in earnest. At this stage, the design of the system becomes more structured. “Structure design is a
blue print of a computer system solution to a given problem having the same components and inter-
relationship among the same components as the original problem. Input, output and processing
specifications are drawn up in detail.” (Anonymous, 2010).
So Developer analyzes the requirements and problem and decided to provide Structural Diagram
or Detailed Design for these functionalities.
65
Daily Expense Tracker
After analyzing the system, use case are used by developer to document the requirements
of the proposed system. Use cases are divided according to different scenario that shows how the
system interacts with the user. In the case of use-case we do not use any technical language, so they
are easy to understand. Use cases are not used to represent the inner workings of the system, but
showing the step that the user will take to perform any specific task. The system requirements will
be evident after developing use cases of different modules. Below are additional reasons why you
need to indicate use cases for project developers
1. Use Cases helps in finding out the challenges involved in making the Project Planner System
and to decide the functionalities to be included in system.
2. Use cases will be helpful for non-technical person to understand the flow of system.
3. Moreover, to give the overview of the system it is necessary to include use case.
66
Daily Expense Tracker
Web page
«extends» Android
«extends»
Registration
«extends»
DET Put limitation
«uses» Expenses <<Include>>
«extends»
«uses» «extends»
Income
Task manager <<Include>>
«uses» «extends»
<<Include>>
«uses»
<<Include>> Debit
Profile management
«uses»
Credit
User
«uses»
Future Prediction
Login
<<Include>>
«extends» Credit Report
«uses»
Report
«extends»
«extends»
Income Report
«extends»
«extends»
Debit Report
Send Report
Change Wallpaper
Graphical Report
67
Daily Expense Tracker
5 Report User can view the various reports like expense, income etc.
6 Change Wall Paper User can click a pic and use it as wallpaper
7 Future Prediction User can view the expected future savings
8 Send Report User can send the expense report to another mobile.
9 View Route User can view the route from the current location to that
location where the expense or task was saved.
TABLE 12 OVERVIEW OF USE CASE
Actors Description
App-User Main actor of the system.
Administrator Admin performs the management of the whole system. Admin backups the
data periodically and manage the site.
TABLE 13 ACTORS AND DESCRIPTIONS
68
Daily Expense Tracker
Login
<<Include>> «extends»
View
«extends» Upload & Manage
Image
Profile management
«uses»
USER «extends»
Change backup time
«extends»
Manually
«extends»
Never
69
Daily Expense Tracker
Web page
«extends»
«uses»
«extends»
Registration
Android
USER
FIGURE 13 USE CASE DIAGRAM OF REGISTRATION
70
Daily Expense Tracker
Login
<<Include>> Expense
«extends»
«uses»
<<Include>>
«extends»
DET
Income
<<Include>> Put Limitation
«extends»
<<Include>>
USER «extends»
<<Include>>
Credit
Debit
71
Daily Expense Tracker
Delete Task
«extends» <<Include>>
Add Task
«extends»
«uses»
Task manager
<<Include>>
«extends»
View Incomplete
USER «extends»
Task
View
«extends»
72
Daily Expense Tracker
Login
Credit Report
<<Include>>
«extends»
«extends»
cummulative Report
Graphical Report
73
Daily Expense Tracker
Take Picture
<<Include>>
«uses»
«extends»
Change Wallpaper
Set Wallpaper
USER
74
Daily Expense Tracker
Login
<<Include>>
«uses» DET
<<Include>>
Future Prediction
«extends»
Yearly Predicition
«extends»
USER
2- Yearly
Prediction
75
Daily Expense Tracker
Login
<<Include>>
Send SMS
«extends»
«extends»
Send Email
USER
76
Daily Expense Tracker
Income Report
Login
«extends»
«extends»
View Route Get Location
More Reports
USER
Alternate Pathway(s)/Exception User can remember that location and use Google
Pathway(s): map to view the route.
TABLE 22 USE CASE DESCRIPTION-VIEW ROUTE
77
Daily Expense Tracker
User Login
1 . c h e c k V a lid a tio n ()
0 . s e n d D a ta (u s e r n a m e ,p a s s w o r d )
2 . c h e c k L o g in ()
3. S uccess
4 . L o g g e d In
78
Daily Expense Tracker
User Registration
User
success/failure
completeRegistration() saveRecords()
79
Daily Expense Tracker
DET
success/failure
success/failure
success/failure
success/failure
80
Daily Expense Tracker
Login
[Login Failure]
[Login Success]
Profile Quick
Expense Credit
Expense Management Expense Report
Income
Save
VIew
81
Daily Expense Tracker
USER SYSTEM
DET
<<datastore>
Enter Registration Invalid Data >
Details
Check
Reading data
Validations
Submit
Details Valid User Login
DET
USER SYSTEM
DET
<<datastore>
>
Check
Reading data
Validations
Login
Details Valid User Login
DET
Save Save
Save Credit Save Debit
Expense Income
Invalid Data
Check Front End Save Data
Validations
Valid Data
Save
Details
82
Daily Expense Tracker
PK Role_id PK USER_ID
Contact
Debit
Credit
PK debitt_id
PK credit_id
to
from
Installment_amount
Installment_amount
Total_amount
Total_amount
debit_Date
Credit_Date
FK1 locationid
FK1 locationid
Locations1 Expected_dogiving
Expected_dor
Actual_dogiving
Actual_dor
PK locationid installment_type
installment_type
nofInstallment
nofInstallment
latitude FK2 USER_ID
FK2 USER_ID
longitude
83
Daily Expense Tracker
RegisterAndroidUser
+selfRegistration()
+doGet()
+doPost()
84
Daily Expense Tracker
OnCreate
CompleteUserDetails
onCreate(savedInstanceState:
Bundle):void
Save:void
Debit Credit
spnDebit:Spinner spnCredit:Spinner
etto, etDebitPrincipal, etfrom, etCreditPrincipal,
etTotalAmount, etTotalAmount,etDescription,
etNoInstallments,etOthersDebit:Edit etNoInstallments, etOthers:EditText
Text etExpectedDor:DatePicker
dtExpectedpay:DatePicker btnSaveCredit:Button
btnSaveDebit:Button from, CreditPrincipal, TotalAmount,
to, DebitPrincipal,TotalAmount, InstallmentType, Description,
InstallmentType, ExpectedDor, NoInstallments,
ExpectedDor, NoInstallments, userid,othersInstallment,date:Strin
userid,othersInstallment,date:Strin g
g
onCreate(savedInstanceState:Bundle):vo
onCreate(savedInstanceState:Bundle):vo id
id
Expense Income
spnExpenseList:Spinner spnIncomeList:Spinner
etExpenseOthers, etDescription, etIncomeOthers, etSource,
etAmount:EditText etAmount:EditText
dtExpectedpay:DatePicker dtDateOfReceiving:DatePicker
btnSaveExpense,:Button btnSaveIncome,:Button
expenseOthers,description,amount,ex incomeOthers,source,amount,incomeTy
penseType,userid:String pe,userid:String
onCreate(savedInstanceState:Bundle):vo onCreate(savedInstanceState:Bundle):vo
id id
85
Daily Expense Tracker
ROLE Table
Role id Role Role description
CONTACT Table
Contact id Village State Pincode Country Type(P/S) User id
MOBILE Table
Mobile id Mobile No. Type(P/S) User id
5.6.2.1 Normalization
It is process of efficiently organizing data in a database. It ensures two goals of the
normalization process:
Eliminating redundant data (Storing same data in more than one table
Ensuring data dependencies make sense (only store related data in table).
5.6.2.2 Normalization Criteria: Functional Dependency
A functional dependency is denoted by AB , between two set of attribute A and B that
are subset of universal relation R which specifies a constraint on possible tuples that can form
relation state r of R. The constraint is that for any tuples X1 and X2 in r they have
X1[B]=X2[B]
Although normalization process is covered when ERD is converted into relations using
mapping rules, there are still ways to improve efficiency by following the normalization process.
86
The Developer has normalized the tables up to 3NF with the following strategies.
Un-Normalize Table
Useri Name fname Gender Do Dou Conta Mobile Village State Pincode - Contact Role id Role
d j ct id Type
1 ABC,DE JKl Male - - C1 11,22 DDD FFF 13210 -- Primary 1 User
1 ABC,DE JKl Male - - C2 11,22 SSS JJJ 45687 -- Secondary 1 User
Daily Expense Tracker
From the above table we can clearly see that name and contact are multivalued attribute. Atomicity is not maintained i.e. one value in one
cell. So to make it in 1NF we need to make table atomic in nature as given below.
Useri First_na Last Fna Gende Do Contact Mobile Villag State Pincode - Contact Rol Role
d me nam me r j id e Type e id
e
1 ABC DE JKl Male - C1 11 DDD FFF 132103 ---- Primary 1 User
1 ABC DE JKl Male - C2 12 SSS JJJ 456878 ---- Secondary 1 User
In the above table to save primary contact details and secondary contact details user needs to save the same data e.g. first name, middle
name etc. again and again. Therefore it is well understood that one task have to be repeated for each action. So there is nested relationship present
in this table. So there is violation of normalization as data redundancy is there and a particular tuple has more than one non-atomic attributes
present in the give un-normalized table.
To achieve first normal form developer has to reduce duplicate data and eradicate all non-atomic attributes and nested relationship from
the un-normalized table.
Now in each cell there is just one value. Hence 1st NF is achieved here.
In the table,{Userid,Contact id} are primary key in the table. Userid uniquely determine some of the attributes. So it determine partial
dependency exist here. There is no full functional dependency as Contact id also determine attributes which violates principles of normalization.
It determines there is no full functional dependency.
Contact
Contact id Mobile no. Mobile type Village State Pincode Country
Third Normal Form is based in the concept of transitive dependency. Functional dependency AB in a relation schema R is a transitive
dependency if there are set of attributes Z that is neither a candidate key no a subset of any key of R.
Userid First name Last name Gender Doj Dou Contact id roleid role
Here role is directly dependent on roleid and there can be multiple mobile no.s for one user. So in order to convert it into 3NF we need to
separate them as follow. Final tables looks like
USER Table
Userid First name Last name Gender Doj Dou Role id Status
ROLE Table
Roleid Role Role description
CONTACT Table
Contact id Village State Pincode Country Type(P/S) User id
MOBILE Table
Mobile id Mobile No. Type(P/S) User id
User Table
CONTACT
In this section developer decides how to act or how to start the project. Developer uses the
following tools to develop your project.
IMPLEMENTATOIN
PALN Change
WallPaper:5
Mobile System
WEB SYSTEM priority:10
Priority:9
Save Save
Registration:9 Save Credit:8 Save Debit:8 Reports:7
Expense:8 Income:8
Quick
Expense
Report:6
1. Foremost priority has been given to the Mobile application as the main purpose of this
system is to make a mobile based saving app. Then login screen and registration screen has
been given the highest priority as without it no one can enter the system.
1.1 Now after registration user will be able to complete his details if he has got time else
he can perform later on.
START
Input Design
Documents
Create Database
NO Create Architecture
If Module
Implementation
is Completed
Implement Modules
Output Document
For Testing
END
According to the flowchart of the developer starts executing the entry and document design,
i.e. conducting research and analysis and document then create the database architecture and the
implementation is done. Developer started application modules one by one and integrates all
6.2.2 Documentation
Developer provide comments in between source code to make code more readable and
understandable
Verify
END
Action
Use Case Use Case has been provided in Analysis Section (UC-03)
Code Snippet (in relation with above approach)
Pseudocode for Saving Expense on Web Pseudocode for Saving expense on Mobile
START START
Variable expenseType,amount,description Variable expenseType,amount,description
Fill Details of Expense from list Fill Details of Expense from list
If Others is Selected then If Others is Selected then
Make Others Textbox visible Make Others EditText visible
Fill expenseType with value of others Fill expenseType with value of others edittext
textbox Else Fill expenseType with value of selected list
Else Fill expenseType with value of selected item
Queries
Insert
insert into login(userid,password,roleid)values(?,?,?)
insert into user(userid,first_name,middle_name,last_name,status)values(?,?,?,?,?)
insert into contact(userid,email,type) values(?,?,?)
insert into contact(userid,email,type) values(?,?,?)
Select
//to get the maximum user id from login table
select max(userid) from login
Solution:
Developer changed the name of Open() method in DBSql class to OpenConnection() by
doing refactoring the whole name. The changes were made in the java File associated with it.
But wherever that name was used in JSP file was not refactored. And was not showing error
too. But after running that jsp file user encountered the following error. This error was resolved
by the developer by changing the name manually.
For Uploading/Downloading
FileConnection fileConn = System.out.println(e.getMessage());
(FileConnection) Connector.open(url, } catch (SecurityException e) {
Connector.READ); fileConn.openInputStream();
InputStream fis = long overallSize =
rivate void displayAllRoots() { fileConn.fileSize();
Upload Image) for Profile: Developer had thought to provide the feature of saving profile pic on
the device app. But he was not able to do so because after clicking the photo from the camera he
was not able to save it in database.
Android platform.
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
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. (NA, Android, n.d.)
Developer finds in research that users want reports in both format texts as well as graph and
to implement the graphical module developer has to do extensive research on it as java doesn’t
provide any inbuilt tool for that and developer has to use third party tool to implement this
functionality
Solution
Developer Uses third party tool Google Graph API to implement this module
Description: This is the registration screen here anyone can register. For registration
user can fill this form, first name, email id and password are compulsory if in any case
user miss the field it show error message. This is the first screen, as developer have
only onetype of user so developer prepare one URL for the users
User Registration: http://10.0.2.2:8080/AndroidFYP/Signup
This is the profile management Page where user manage their profile
DET->DET Main Screen->Profile Management
Edit the
address
Description: user can edit his/her contact details from the android det app also,this is
the interface for the same.
6.7.1.5 DET main Screen After login (Screen 4)
Toast showing
that the user
has successfully
logged in.
Description: This is the main screen of det which user will get after logging in the
system.
6.7.1.6 Clicking picture by camera (Screen 5)
Description: This screen shows the demo of camera which captures the pic and set it as
profile pic.
6.7.1.7 Save expenses (Screen 6)
Save
expenses
Take picture
set as wall
paper
Description:In this page if user want to change the wall paper it can easily change wall
paper by taking the picture .
Description: This screen is for user purpose only user can add task, view completed task,
view incomplete tasks and delete the tasks.
6.7.1.10 Save task screen(Screen 9)
Description:when user create a profile then he/she wants to add the perticular task to
save that task we press to save button to save the task. If in any case he/she not want to
save the task he/she click on cancel button.
6.7.1.11 View task (Screen 10)
View task
Description: here user can put the limitation of their report like if they want to send
daily,weekly or monthly report to the mobile no. saved.
6.7.1.14 View Report (Screen 13)
Reports
Description: users can view the report based on advance criterias which are already
defined in core functionlites of the system.
6.7.1.15 More report (Screen 14)
Showing more
reporting options
Description: here user choice how they want to save their expenses . user save
weekly,monthly,quaterly,half yearly, yearly and date wise user can save their expenses.
6.7.1.16 Showing saving report of a half year (Screen 15)
Description:if user want to see their income and expenses he/she can see which report they
want.
6.7.1.17 Searching Report for particular item (Screen 16)
Description: when user want to detail of report and also want to see from which place
user save their expenses user can click on view route button and see the route that
location.
6.7.1.20 Showing route between current location and saved location.
(Screen 19)
Description: a shortest route will be drawn between the two locations i.e. current and
saved location.
6.7.1.21 Report according to date(Screen 20)
Description: if user want to see the reports between two dates then user selects two date
and click on get report and view report.
Description: login screen of the user. In this screen new user can register and exsisting user can
login with the valid credentials.
6.7.2.2 Home Page of DET(Daily expense tracker) (Screen2)
This page is the home page of my website here we click on any option it shows the all report.
6.7.2.3 Save Expense (Screen 3)
Save
expense
6.7.2.4 Report (Screen 4) category
View
Credit
report
Choose installment
category for credit
Debit
Report
Description: in this screen user can view the all record of the report .
6.7.2.7 Select expenses category (Screen 7)
Description: if user want to see report of any saved expenses item here a dropdown list in which
we can select that item and see the report.
6.7.2.8 Cumulative Graphical report of a Month (Screen 8)
Description: User can see the cumulative report of the whole system in this pie chart.
Description: add the information of user. User conation their primary address and secondry
address.
6.7.2.10 Viewing Quick expense report (Screen 10)
Home
Registration Contact us
Login
Future
Profile pridiction Setting Search Logout
Home
Credit
Expense Income Credit Debit Quick Report Expense report report
Debit
Interest
report
Intrest Calculator
calculator
Account
setting Reports
Cumulative
Report
The following configurations are must for using Daily Expense Tracker:
1. Netbeans IDE 6.9.1 or above and JDK 1.6 is needed to run the program.
2. MYSQL database need to be connected to the system and its driver must be connected with
IDE on which server will execute.
4. Though system needs to be uploaded as website but for the sake of demonstration purpose,
developer is attaching database to the wampserver.
5. Developer is using Tomcat Apache 6.0 to deploy the web system so that it can be accessed
by any of the browser present in the system or intranet.
6. To access the system in other computers user just needs to replace the “localhost” with the
“ip address” of the system on which the system has been deployed. Also it can be accessed
within the same intranet only. More description is given below.
8. Eclipse Helios must be updated before running the program and Android SDK Manager
must be installed on it.
9. With the help of Android SDK Manager User needs to download AVD Google API level 8
and later versions.
10. With the help of MoboRobo software developer is using android mobile Karbonn A7+ for
the development purpose.
STEP 3 STEP 4
Customize Netbeans
STEP 5 STEP 6
Setting Apache
Directory Location
STEP 7 STEP 8
Finally Installing
Netbeans
STEP 3 STEP 4
STEP 5 STEP 6
STEP 7 STEP 8
Go button
Exported
file
Choose the
file “det_db1”
And press go
STEP 2
Import successfully
done!!
Run Main
Project
After installing it developer will get the screen given below in java perspective.
Android
SDK
manager Java
Perspective
Set the path of of SDK location to android-sdks and then restart the eclipse.
Restart option will come in File tab.
Open SDK Manager and install Google API Level 8 and higher version if you want.
STEP 3: Now browse the folder where the .apk file STEP 5: This is the apk file. It can be
will be saved. installed via memory card.
STEP 2: double click the .apk file STEP 3: click on install button after connecting the
User can see the permissions which the device via USB Cabel to the system.
app requires.
6.10 Conclusion
Developer goes through many of the problems while development stage and most of the
problems are rectified. As developer uses some third party tools such as e-mail, Google chart, which
is currently in demo for display purpose. Developer has made the system in such a way so that if it
is not working any tools 3rd party it will not give the error and the user can continue to use the
system on the Internet. Now the system is ready to be in the testing phase to finally find errors
which still exists in the system.
Testing is the process of Identifying defects and correcting errors, where a defect is any
variance Between Current and expected result. It a specific part of the software development to
check the robustness of software. It is used to evaluate-the reliability, usability, maintainability of
software.
Why to do Testing:
• Identify area of weakness in the system.
• Establish degree of quality of the system.
• Free from bus and system errors.
• Improve consistency and efficiency of the developed system.
The strategy to cover the full system test of “Daily Expense Tracker” is described above.
Developer just uses the system documentation to cover all the test cases, procedures and design.
Some Users involve in this testing phase are Students of APIIT, Developer himself and the
Group Members so that changes can be made according to user choice and a quality system can be
provided to the user as the success of any system depends on the its quality and quality is depends
on the customer satisfaction.
PASS/FAIL CRETERIA
The system must justify certain standard requirement for system pass/fail criteria. Some of
the identified requirements are:
The primary goal of unit testing is to take the smallest piece of testable software in the
application, isolate it from the remainder of the code, and determine whether it behaves exactly as
you expect. Each unit is tested separately before integrating them into modules to test the interfaces
between modules. Unit testing has proven its value in that a large percentage of defects are
identified during its use. (Unit Testing, 2013)
This testing is usually performed by the software developer while developing the software.
The set of test cases output and input will determine whether it is according to the requirement or
not.
Unit testing is divided into two components White Box (also called Logical Testing) and
Black Box (also called Functional Testing).
1.5 Either of any required filed like Error message Identical to Pass
password, Designation left blank should appear the expected
Result
2.4 Left all fields blank and then press System Insert Success Fail
save. should
display
“Please enter
the details”.
Result: one error found in the module.
Measures Taken:
(Module 2.4 Error Rectification) Developer reviewed the code of Expense.java in DET android app file
and found there was no front end validation provided. So the developer provided front end validation also.
Review Test Case for failed Obligations
Module Steps Result Expected Actual Result
Result (Pass/Fail)
2.4 Either of any required filed like Error message Identical to Pass
amount, description or expense type should appear the expected
left blank Result
3.3 Interface should display username, Details shown Details not Fail
father’s name, date of birth and other properly shown
details
3.3 Either of any filed like username, Blank field should Identical to Pass
contact details are not saved in be shown the expected
database Result
4.2 Either of the buttons are not defined Error should Identical to Pass
in reports.xml file occur the expected
Result
5.4 Either of GPS is turned OFF or that No route should Identical to Pass
data was saved from web be displayed. the expected
application. Result
6.1 Click on Task Manager Button System should Options are Pass
display options to visible
manage task
6.2 Click on add task EditText should Expected Pass
appear to save output
task name and
description
6.3 Press Save It should give Task Saved Pass
“Task saved” as
toast output
6.4 View Incomplete Task Show List of List appears Pass
incomplete tasks
6.5 Press on any task Latitude and Expected Pass
Longitude should result
be displayed
6.6 Press on view Route button Route should be Route Pass
displayed displayed
6.7 Press on view Route button Route should be Route not Fail
displayed displayed
Result: One error found
Measures Taken: (Module 5.4) Developer checked the View Route code in debugging mode and found
there was no route saved in the SQLLITE database. As when user saves the record from the mobile
application turning off the GPS so that latitude and longitude is not saved .And that’s why it is not possible
to show the route to those tasks which are saved without turning ON GPS. User is advised not worry for
the same as it’s not a major fault. It can be rectified if the user saves the tasks only from mobile application
that too after turning ON the GPS.
Review Test Case for failed Obligations
Module Steps Result Expected Actual Result
Result (Pass/Fail)
There might be parts of codes which may have error and may not catch during Black
Box testing. And it also helps the developer to run a logical test on the parts of the
codes which are surplus to the requirements.
Code to be tested
Reports.jsp
<%
int sumExpense = 0, sumIncome = 0, sumCredit = 0, sumDebit = 0;
String userid = session.getAttribute("userid").toString();
System.out.println("userid="+userid);
Sqldb.openConnection();
try {
Sqldb.rs = Sqldb.stat.executeQuery("select sum(amount) from expense where
(DATEDIFF((select curdate()),dateofexpense)<=31) & (user_id='"+userid+"') &
(month(dateofexpense)=month((select curdate()))) ");
if (Sqldb.rs.next()) {
sumExpense = Sqldb.rs.getInt(1);
System.out.println(sumExpense);
}
Sqldb.rs = Sqldb.stat.executeQuery("select sum(total_amount) from credit where
(DATEDIFF((select curdate()),credit_date)<=31) & (user_id='"+userid+"') &
(month(credit_date)=month((select curdate()))) ");
if (Sqldb.rs.next()) {
sumCredit = Sqldb.rs.getInt(1);
System.out.println(sumCredit);
}
Sqldb.rs = Sqldb.stat.executeQuery("select sum(amount) from income where
(DATEDIFF((select curdate()),dateofincome)<=31) & (user_id='"+userid+"') &
(month(dateofincome)=month((select curdate()))) ");
if (Sqldb.rs.next()) {
sumIncome = Sqldb.rs.getInt(1);
System.out.println(sumIncome);
}
Sqldb.rs = Sqldb.stat.executeQuery("select sum(total_amount) from debit where
(DATEDIFF((select curdate()),debit_date)<=31) & (user_id='"+userid+"') &
(month(debit_date)=month((select curdate()))) ");
if (Sqldb.rs.next()) {
sumDebit = Sqldb.rs.getInt(1);
System.out.println(sumDebit);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
%>
<%
String expense = "Durgesh Kumar";
String amount = "JNG";
String doe = "20/10/2000";
String description = "720";
%>
Description To view the pie chart of expenses, income credit and debit
Test Case 2
Function to Test drawGraph in android mobile
Input Income, expense, credit and debit of a month.
Module Steps Result Expected Actual Result Result
(Pass/Fail)
2.1 View Quick A pie chart should Graph drawn Pass
Expense Report in be drawn according
android the values given
2.2 Change the value of A different pie chart Same chart as Fail
input and click on should be drawn earlier was
Quick Expense drawn
Report
2.3 Disconnect the Graph should not be Graph not Pass
emulator from drawn & system drawn and
internet should crash system crashed
2.4 Put the code in try Graph should not be Graph not Pass
catch block drawn & system drawn and
should not crash system doesn’t
crash
2.5 Turn ON the Graph should be Graph not Fail
internet and repeat drawn drawn
the above steps
Error Identified In the QuickExpense.java in android file developer made some mistake in
his logic. Developer did not convert those values in percentage as
drawGraph function was expecting the values in percentage.
Error Rectified
//to convert the values into percentage
double total=
Double.parseDouble(strExpense)+Double.parseDouble(strIncome)+Double.parseDouble(strCredit)+Double.parseDouble(strDebit);
strExpense=Double.toString(((Double.parseDouble(strExpense)/total)*100));
strIncome=Double.toString(((Double.parseDouble(strIncome)/total)*100));
strCredit=Double.toString(((Double.parseDouble(strCredit)/total)*100));
strDebit=Double.toString(((Double.parseDouble(strDebit)/total)*100));
drawGraph(strExpense,strIncome,strCredit,strDebit);
Code Review
2.2 Change the value Different pie chart will be Pass: Identical to
of input and click drawn expected Result
on Quick
Expense Report
2.5 Put the code in Pie chart should be drawn Fail: Pie chart was
try catch block not drawn
Code Review
3.2 Save some more records and Different pie chart will Pass: Identical to
check the chart be drawn expected Result
Conclusion: Developer made a mistake in “Sql Query ‘&’ statement” he realized it and correct it.
Now module is working completely fine.
47,48,49,,50,53,54,55
58,59,60,61 ,56,57,58,59,60,61,62
a 51
,63,64,65,66,67,68,69
,70,71,72,73,74
b
d
123,124,125,127,128, 80
129,130,131,132 h
i
75,76,77,78,
79,81,82,89
52,53
e
c
126
133,134,135,136,137,
138,139,140,141,142, 115,116,117,118,119,
87,88 143,144,145,146 120,121
l
f k
82,83,84,85,86
g n
m
91,92,93,94,95,
96,97,98,99,100,
101,102,103,104,105,106
110,
,107,108,109
p
111,112,113,114
155,156,157
v
u
s
q
s
147,148,149,150,151,
o 152,153,154,158,159,
160,161,162,163
103,104,105,106,107 r
V(G) = E – N + 2 . Where N is the number of nodes of the control flow graph and E is the number of
edges in the control flow graph.
For the CFG of example shown in above fig, E=21 and N=16. Therefore, the cyclomatic complexity
= 21-16+2 = 7.
The developer is following the Top-down integration approach. This approach is followed
where control and interference are the most important part of the project. DET demands proper flow
on the actions. There is restriction on user on the access of resources. So to implement this, a
managed control is required for which Top-Down Integration testing is most suitable. Whereas
Bottom-up approach is not followed as it is most suitable at structural and machine level.
(Aggarwal, 2008)
Inter Case Dependency/Limitation/Assumption: In integration all the relevant test modules need to be
related to each other. The output of the module is affecting the input of other module.
Test Case Input Specification Output Specification Remarks
ID
IT-02-1 User feeds the task Task saved successfully Pass
IT-02-2 View Incomplete task List of incomplete tasks should Pass
be generated
IT-02-3 View Complete Task List of completed task should Pass
occur
IT-02-4 Delete Task List of all tasks should appear Pass
IT-02-5 Uncheck the task from incomplete Task is removed from incomplete Pass
task list when the task is completed to completed one
IT-02-6 View Route Route should be displayed Pass
Inter Case Dependency/Limitation/Assumption: In integration all the relevant test modules need to be
related to each other. The output of the module is affecting the input of other module.
Test Case ID Input Specification Output Specification Remarks
IT-03-1 User clicks on Report Various reports categories should Pass
be visible
IT-03-2 Click on any report List of expenses should appear Pass
IT-03-3 Press for a long time on any of the Details along with View route Pass
expense to view details button should appear
IT-03-4 Click on View route button A route should be drawn between Pass
source and destination as
described in UT5
IT-03-5 Click on more reports then select List of expenses should appear Pass
date wise report. Enter two valid
dates i.e. first date should be less
than last date
IT-03-6 Click on more reports then select List should not be displayed Pass
date wise report. Enter two invalid
dates i.e. first date should be
greater than last date
It compromise of three layer of testing, and is closest of everyday experience. Its goal is to
demonstrate performance. And that’s why it belongs to functionality testing rather than structural
testing.
System Testing
Project Title Daily Expense Tracker
Justification
Compatibility testing of the web application is done to ensure that they should work with most popular
browsers like Mozilla Firefox, Google Chrome, Opera in different screen resolutions like 15.4
(1024*768), 15’(800*600) and 17’ (1200*768).
And for mobile it must be compatible with every screen and also compatible for touch screens.
Test Method Expected Result Actual Result Remarks
For Web Application
Hardware Test 1: P4 The system should run Pass: System is running No issues involved
Machine, Hard smoothly without smoothly without
Disk(160 GB), RAM obstruction hindrance
(512 MB)
Platform Test 1: The system should run Fail: Since system is JDK1.6 need to be
Window XP & JDK1.1 smoothly without made in JDK1.6 so there installed
glitches is a problem in
compatibility
Platform Test 2: The system should run Pass: System is running No more action
Window XP & JDK1.6 smoothly without smoothly and identical to
glitches expected result.
Platform Test 3: The system should run Pass: System is running No more action
Window 7 & JDK1.6 smoothly without smoothly and identical to
glitches expected result
Web Resolution less The System Should Fail: Menu’s and Form Resolution should
than 1366x768 have proper display Alignment Change equal to 1366x768
For Mobile Application
Hardware Test 1: The system must Pass: System is No more action
Mobile with internet connect to the internet. connected with the
facility ` internet.
Hardware Test 2: System must be Fail: System shows error Use Android SDK
Android SDK tools less connected to the server “No AVD Found” Version 21.1
than 21 Rev and run smoothly.
Platform Test 1: System must run and Fail: System error “API Use API Level
Android API Level less perform actions. level less than 8 not greater than or
than 8 compatible” equal to 8.
Conclusion:
For running this system JDK 1.6 Version is required and Resolution should be equal to 1366x768
This testing is performed on the user manuals and system documentation on the basis of
three parameters:
1. Complete
2. Correct
3. Understandable
For this task five people is chosen. They have given the following responses for the
following:
User acceptance testing is the final stage before rolling out the application. After performing
tests such as unit testing, integration testing, system testing time has come to involve the actual
users of the system. In this user test analysis of system is based on different criteria. The persons
who are participating in the test of user acceptance testing is Mr. Niro Thakur (as Android user),
and Mr. Tanweer Ahmed (as Businessman), Mr. Akhilesh Bamhore (Admin).
Software testing requires sufficient and maximum amount of time in the whole development
process. As its aim is to find out the bugs and check whether system is capable of introducing in
the market. To fulfill these objectives Unit Testing, Integration Testing, System Testing and User
Acceptance testing are planned and executed.
Daily expense tracker is tested through a series of planned steps at various level with which
errors are identified and resolved to a greater extent. With each testing the level of abstraction with
which site is consider is broadened.
Hence the tester concludes that Daily expense tracker is ready to be deployed on the server
so that users can use it.
Design
Functionality Use Case Sequence Activity Tables Unit White Integration System Screen Research
Box
User registration UC-01 SD-02 AC-02 User UT-1 IT-01 ST-01-02 6.7.2.2 QT-2
Save Expense UC-02 SD-03 AC-03 Income, expense, UT-2 IT-01 ST-01- 6.7.2.7 QA-10
credit, debit 03..06
Reports UC-04 SD-03 AC-03 All Tables UT-4 WT3 IT-03 ST-01- 6.7.2.14..18 QA-03
07..22
Profile Management UC-04 SD-03 AC-01 User, Contacts UT -3 IT-02 ST-01-26 6.7.2.3
Expense Reports UC-05 SD-03 AC-03 All Tables UT-5 WT3 IT-03 ST-01- 6.7.2.14 QA-03
07..22
Task Manager UC-03 AC-01 Tasks UT-6 IT-02 ST-01-27 6.7.2.10 QA-05
Login UC-01 SD-01 AC-01 Login option WT1 IT-01 ST-01-01 6.7.2.1
Graphical Report UC-05 SD-03 AC-03 All Tables UT-4 WT2 IT-03 ST-01-25 QA-03
Reports of a Month UC-05 SD-03 AC-03 All Tables UT-4 IT-03 ST-01-18 6.7.2.14..18 QA-03
Change Wall paper UC-06 AC-01 IT-03 6.7.2.8
Send Report UC-08 All Tables UT-4 IT-03 QA-09
View Route UC-09 SD-03 AC-03 All Tables UT-4 IT-03 ST-01-23 6.7.2.20 QA-14
CHAPTER -8 CRITICAL EVALUATION
Daily Expense Tracker has been documented and most results are obtained through
research and analysis. The functionality of the system has been carefully designed to meet the
goal. Critical evaluation is based on the shape of the specifications of the project submitted by
the developer. The evaluation is done on the basis of different analysis techniques applied
within the system to achieve the goal. And finally, the sign outside the user acceptance testing
shows the result satisfactory and meets the system is ready to be launched in the market.
8.1 Benefits of System (How Useful the System is to the target User)
As mentioned in the beginning of the Daily Expense Tracker is a valuable asset for the
users. It will help the users to manage their expenses 24*7. It lets the user to view the places
from where they have saved the expenses. It lets the user to understand their profit and loss of
the month easily. It lets the user to save their task as well. The usefulness of the system is
already shown in the tangible and intangible benefits. Some of the reviewed points are:
1. Accessibility of all the features of DET, task manager, change wallpaper to give 24/7
connectivity.
2. Easy to register and multiple users can work on a single android mobile.
3. Users can access their data from mobile as well as web.
4. There is no need to create backup and restore it weekly or time to time as all the data
will be saved on server.
5. It lets the user to view the saved location in future.
6. It sends reports to the mobile no. as per user choice so that they can share their expense
with others e.g. students can send the report to their guardians.
7. It lets the user to save their task and let them manage it as well.
8. It lets the user to view graphical report so that user can understand the report pictorially.
9. It lets the user to view the future prediction i.e. profit or loss in future by comparing its
current savings.
8.2 Degree of Success
To access the global functionality, developer has listed certain parameters on which the
success of the project depends.
Daily Expense Tracker
Degree of success cannot be measured successfully. That is the area where the software
maintenance plays an important role in the life cycle of the software engineering. And almost
100% success cannot be guaranteed software. So developer has done Form project
specifications as the basis of previous success criteria.
Format Yes
Grammar Yes
Log Sheets Yes
Consistency Yes
All Chapters Yes
Primary Research Yes
Spelling Yes
Ethics Forum Yes
Other Appendices Yes
“Web based System” it is replica of this system it lets the user to operate this system
through website and can perform tasks in the same way as he did through Android mobile
system.
1. If more time is given developer will definitely focus on enhancing the project’s
scope and services.
2. The very first thing developer will provide Bluetooth assistance to add data to the
mobile as well as desktop to see the reports.
3. Jasper Reports would be provided
4. Developer could provide the reports converted into pdf format
5. Minutes of meeting can be provided after every meeting.
6. Offline and online synchronization of data could be enhanced more.
7. Future prediction functionality could be more accurate.
8. Graph theory could be implemented for searching of reports.
9. GUI of the system could be enhanced more.
Apart from this the biggest challenge developer face is integration of different pages in the
DET. As it consists of many activities interlinking with each other and can cause problem in
handling the user’s activity. Apart from computational challenges developer faces challenge of
innovativeness as it a customized project for users so developer spent a lot of time to research
the modules specific to suite the user needs. Testing has been elaborated specially unit testing
thoroughly. As it is a customize project so developer also need to take care of the limitation of
the project.
From the start to the end of the project developer get the opportunity to learn new skills, acquire
knowledge of the system development phase. Few of the experience are
Tools and Techniques: Developer learned the most competitive language present in
current market J2EE and Android for his project which gives developer a competitive
edge in the market.
Work Flow Process: Developer learns how the work flows in an android, how to
manage activity, how to pass data from one activity to other, how to manage screen
rotations, how to send request and get response from web server etc.
Aggarwal, K. S. (2008). Software Engineering (Third Edition ed.). New Delhi, India: New Age
International Publisher.
Andtek. (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
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 Developer’s 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://coi
nkeeper.tumblr.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. (1995, 05 23). Top Reasons to Use MySQL. Retrieved from MYSQL:
http://www.mysql.com/why-mysql/topreasons.html
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
NA. (n.d.). Waterfall Model. Retrieved 10 20, 2012, from Watefall Model: http://www.waterfall-
model.com/v-model-waterfall-model/
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/
Satalkar, B. (2010, 10 19). Modified waterfall model. Retrieved 10 12, 2012, from buzzles.com:
http://www.buzzle.com/articles/modified-waterfall-model.html
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
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
APPENDICES
Question 1 3. Which type of System is currently used by you to save daily expenses?
Desktop Application
Web Application
Mobile Application
Spreadsheet(Note book)
Response 60
40
20 Series1
0
1 2 3 4
Analysis As per the user consensus (40% users are in favor), of desktop application and
30% in mobile application. So developer has provided both features in this project.
Question 2 Which type of System would you like to use for saving your daily expenses?
1. Desktop Application 2. Web Application
2. Mobile Application 4. Note book
Response 50
Series1
0
1 2 3 4
Analysis As per the user consensus(40% users are in favor), the developer has decided to
follow the mobile application other 60% user are in favor of other application like
desktop application and note book etc.
Question 3 4. How is the Graphical user Interface of your Current expense saving system?
1. Excellent
2. Intermediate
3. Satisfactory
4. Not satisfied
Response 80
60
40
Series1
20
0
1 2 3 4
Analysis As per the user consensus (60% users are in favor), the developer has decided to
provide the metaphors and shortcuts as metaphors provide quick access as they
are graphical icons and it’s better to represent the options by icons also the shortcut
will provide the quick access of the application
Question 4 Does your current system take automatic backup of your database?
1.Yes
2.No
Analysis As per the user consensus (60% users are in favor), they say yes, their current
system automatic backup of their database. And 40% users are note in favor. So
developer has made this system in such a way that they do not need to backup
data.
Question 5 Would you like to share your mobile with your family members so that they can
save their expenses using their login id?
1. Yes
2. No
Response 100
50
Series1
0
1 2
Analysis As per the user consensus (60% users are in favor), so developer has developed
this system for multiple users.
Question 6 Would you like to save income along with expenses in the system?
1. Yes
2. No
3. Can’t Say
Response 100
50
Series1
0
1 2 3
Analysis As per the user consensus (60% users are in favor), the developer has provided
separate options to save income, credit, debit and expense details.
Question 7 Would you like to put limit on expenses of a particular item?
1. Yes
2. No
3. On all Items
4. Only on some particular item.
Response 50
Series1
0
1 2 3 4
Analysis As per the user consensus (40% users are in favor), to put limit on their expenses.
So developer has decided to provide a way to put limitations on the expenses.
Question 8 Which type of alert you will prefer to get when you exceed your budget or any
new notification comes?
1. vibrate only
2. vibration along with sound
3. only notification no sound
4. only sound
Series1
0
1 2 3 4
Analysis As per the user consensus (40% users are in favor), they want to notification with
vibration along with sound. We want to this because we might be know this
notification easily.
Question 9 Would you like to upload your pic in your profile?
1. Yes
2. No
3. May be
Response 100
Series1
0
1 2 3
Analysis As only 20% users want to save their pic on mobile as profile pic. So the developer
has not given this option in this system. So that the system will be light and
efficient.
Question 10 Should there be an option to delete your data?
1. No
2. Yes
Response 100
50
Series1
0
1 2
Analysis 70% users doesn’t wants to delete the data as it might cause a security problem in
future so developer has not provided this option.
Question 11 Which type of report will you prefer?
1. Graphical Report
2. Textual
3. Both
Response 50
Series1
0
1 2 3
Ss 100% of the users wants to have a medium by which they can easily analyzes the
data so developer analyzes Report functionality should be included in which 40
want graphical and 40 want textual and 20% want both report.
Question 12 Would you prefer a cost effective mobile application rather than a website?
1. Yes
2. No
100
Series1
0
1 2
Analysis 100% of users want to have a similar system for handheld devices, so developer
analyzes than Mobile Version of System should be included.
Question 13 Would you like an option to be there as contact us?
1. Yes
2. No
Response 100
Series1
0
1 2
Analysis As per the user consensus (70% users are in favor), the developer has decided to
provide finding friends by their mobile’s location as in most of the cases it
provides actual physical location and generally some user have some problem to
do all activity through contact they take all help how to use application.
Question 14 Do you have internet accessibility in your mobile?
1. No
2. Yes
Response 100
Series1
0
1 2
Analysis As per the user consensus (70% users are in favor), the developer has decided to
make the system offline if possible.
Question 15 Would you prefer to visit the website FAQ before contacting the developer?
1. Yes
2. No
3. May Be
Response 100
50
Series1
0
1 2 3
Analysis As per the user consensus (60% users are in favor), the developer has decided to
provide a contact us facility in system.
Question 16 Would you prefer Google-map to find a place?
1. Yes
2. No
Analysis 60% users want to view the location from where they saved the expense, So the
developer has provided the option to view location on Map.
Question 17 Do you think that future prediction of this system will be going to help you?
1. Yes
2. No
3. May be
Response 80
60
40
Series1
20
0
1 2 3
Analysis 60% of users want to know the future saving; developer analyzes the problem and
decided to include Future Prediction functionality.
Question 18 How likely you will want to access your data from the netusing web browsers
1. Frequently
2. Sometime
3. More than 5 time a week.
4. Less than 5 times a week
Response 60
40
20 Series1
0
1 2 3 4
Analysis As per the user consensus (60% users are in favor), the developer has decided to
update the location of friends in regular period of time.
Question 19 How likely you will be using the task manger present in this system?
1. Frequently
2. Sometime
3. More than 5 time a week.
4. Less than 5 times a week
Response 60
40
20 Series1
0
1 2 3 4
Analysis 40% users face difficulty in managing tasks so developer analyzes the problem
and included Task Manager.
Question 20 Will you like to save your location from where you are saving your data?
Analysis 80% of the user wants to save their income as well with the expenses So the
developer has provided the save income facility.
Question 21 Will you like that fields which should be saved should be present in as a menu
option.
1. Yes
2. No I will save it manually
3. Can’t say
Response 100
50
Series1
0
1 2 3
Analysis 60% of the user wants to have menu facility. So developer has provided buttons
instead of menu in android.
Question 22 How likely you would like to change your wall paper with the help of this system?
1. Yes
2. No
Response 100
50
Series1
0
1 2
Analysis As per the user consensus (80% users are in favor), the developer has decided to
provide limit expenses reminder on user profile page which will help user in
accessing all limits from profile itself.
Question 23 Would you like to have an option to delete your data from your application?
1. No
2. Yes
Response 100
50
Series1
0
1 2
Analysis 80% users don’t want to delete their data as it will create a security threat. So
developer has not given the delete option to delete the data in DET main module.
50
Series1
0
1 2
Analysis 70% users doesn’t wants to delete the data as it might cause a security problem in
future so developer has not provided this option.
Question 24 Would you like to send report to another mobile?
1. Yes
2. No
3. May be or may not be
Response 60
40
20 Series1
0
1 2 3
Analysis 50% users want to send their reports to others e.g. guardians so the developer has
given the option to send message and email.
ANALYSIS OF INTERVIEW
Question 1 Which type of System would you like to use for saving your daily expenses and why?
Concluded Developer has found that most of the users wants to use the mobile based expense saving
Answer app as no one wants to save a pieces of data to the computer.
Purpose To find out which type of system to develop desktop or mobile based.
Analysis Developed analyzed that most of the user wants to use a mobile based system. But developer
knows that whole report cannot be shown on mobile due to lack of memory so developer
has decided to develop both web as well as mobile application.
Question 2 Which type of mobile device would you like to use for saving your daily expenses?
Concluded As most of the users are using android mobile that’s why this system is going to be developed
Answer for android mobile.
Purpose To find out the on which platform the project should be developed.
Analysis Developer analyzes that most of the users demand is asking for an android system so developer
has decided to develop this system for android.
Question 3 What are the likely expenses you would like to save?
Concluded Developer has found many likely expenses which users wants to save.
Answer
Purpose To find out which type of expenses should be included by default in the system.
Analysis Developer decided that those likely expenses should be included in the system by default.
Question 5 Do you think that future prediction of this system will be going to help you if yes please
specify how? What type of predictions you will like to use from this system?
Concluded Answer Yes, future prediction will help the user to save his/her money.
Purpose To find out whether to include future prediction in the system or not.
Analysis Developer has decided to provide future prediction feature in the system.
It provides complete solution for students, businessmen and for all of them who feel laziness in
tracking down their daily expense and those who know how to use a simple android mobile. You can
enter your own items and save them in the system along with their cost and quantity. This is software
which has been made for tracking down the expenses which you do daily. This software is operable
24x7 hours. This can be used to schedule your budget also. It enables you to watch out the future
saving based on the saving done till date. It provides backup for the users so that if the device is
destroyed accidently then the data can be recovered from the server itself with the help of username
and password. If you forget your device to take with you and you need an urgent use of the data
saved on the device then it can be done with the help of website on which data has been synchronized.
You can plan your daily expense to do with this software. You can provide limit to some of the items
say, you have put a limit on petrol as 500 and you are exceeding the petrol limit say 600 then
automatic notification will be sent on your mail as well as on the device screen. The system provides
both offline as well as online facility. If you have no internet facility then there is no need to worry,
you can simply use the system without internet and when you get the internet facility you can
synchronize your data with the server. Reports will be sent on your mail as per your preferences
made in the system setting.
If you lost your device then the data can be easily downloaded from the website and hence you can
be saved from a disaster.
What will be the main challenge for you in building the system?
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
i. Synchronization of data with the server: the data which is in the device should be
synchronized with the server so that the user can access it from anywhere.
ii. Offline and online facility: providing both of the facility to the user so that user will feel
free to work with this system.
iii. Graphical data: Showing graphical data to the user so that user can understand his/her
expenses easily.
iv. System portability: making the system to be portable on various android devices.
v. When the screen orientation is changed the data provided to the system is lost which has
not been saved in android application hence managing this screen orientation to be
compatible with the system is one of the challenge in developing this system.
vi. Managing reports and sending them on mail: various types of reports will be made and
sent to the user’s mail so that user can get a clear and more detailed view of the reports.
vii. Apart from these one of the challenges is making the GUI follow HCI principles.
viii. Future saving prediction: on the basis of saving of the week/month predicting the future
savings is one of the challenges to implement.
What new ideas and theory will you need to learn to build the system?
In technology I need to learn android technology which is being widely used in the market today. To
complete the above challenges I will have to learn how to synchronize the data with the server, how
to provide online and offline facility that too with mobile device. To create graphs I need to learn
graphs and use its component to show the data on cursor movement. I will have to use the best
algorithm to develop the graph as well as do the future prediction. To make the prediction I need to
learn cost-benefit formulas and implement it in this system.
<<<<<<<<<<<<<<< End of PPF >>>>>>>>>>>>>>>
The system itself defines its task, “Daily Expense Tracker” means it is a tracking system which
will save our daily expenses, credits i.e. from whom we have to get money, debit i.e. to whom we
have to give and how much. Not only this but almost every work which involves transaction of
money will be stored in this system and based on the data stored this expert system will give
some predictions and reports.
Project background: There are so many people who used to maintain dairy for their daily
expenses so that they can use it for future. There are some people who used to remember their
Problem Context: as almost all users are connected with each other with mobile, the trend to
save small pieces of data into mobile in logs, notes, reminders has increased. So users need a
system which will make automatic calculation based on their expenses. It’s not so that there does
not exist any system for the same but there are some problems which are listed below. 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. For this
scenario this system is very much helpful to the user as you can write down the name and money
at the same time. There is no need to memorize everything basically cost related tasks and
expenses made during the course as this system provides you with all these facilities.
If you lost your device then the data can be easily downloaded from the website and hence you
can be saved from a disaster.
No offline-online data synchronization: Current system only provides the either of the
offline or online data saving feature. If the internet is not working then online system will not
work and hence the user has to suffer a lot.
Slow data retrieval while searching: Data retrieval is slow in case of online systems
depending upon the speed of internet connection. Hence user will have to wait for a long time
for even searching a name of the item.
Lack of security: When the system supports only offline task then if the data is deleted or the
mobile gets stolen all the data will be lost and user has to suffer again.
No backup and recovery for the data: there is no backup and recovery facility in the current
system. That means once the device is lost or file is corrupted then there is no way to recover
it.
Manually schedule: In traditional file systems there was no option of scheduling along with
tracking budget and provide notification when necessary.
Report generation: The report generation format is not up to the level. Only data which has
been saved are shown. No customized report is possible.
No Prediction: The current system does not provide us any facility to view the future
benefits. No prediction is there.
No option to add items in customization: There is no option to add our own customized
items as per our requirement.
Only one session per mobile: There is only one user account in the current system. If there
exists multiple users to work on the same mobile then there are no criteria for that.
Recommended Solution: The solution for the current system is to develop a system which will
sort out all the above problems. The solution can be provided via four ways
Via Desktop Application
Via Web Application
Via Mobile Application
Via combination of Mobile and web services
If the system is developed for the desktop application then each system of the user must be
installed with the new software, this would again been a cumbersome activity.
If the system is made for the mobile i.e. mobile application then it would be a perfect system for
the user as user can easily save their expenses while on road, bus or say wherever they are. But
this system has lot problems in it e.g. If the mobile is lost or database is crashed then user can go
out of mind.
If the system is made via the combination of Mobile and web services then it would be a perfect
system. This system is combination of both web services and mobile services.
Rationale: as mentioned above we clearly find out that there is a need of such a intelligence
system which will save a lot of money and time behind searching a particular data of a particular
person based on mobile devices. To provide security and services to the layman so that they can
save and fetch their expenses whenever they require it is one of the main mottos of this system.
Tangible benefits
One time investment: Users will have to invest their money for just once to use this system on
android mobile but to use the web services they will have to pay according to the plan.
Saving on Internet Data usage: there is no need to start the internet all the time when you
want to save the expense details as this can be done offline. User can synchronize their data
during their off time i.e. just once in a day or a week internet is needed. Hence wastage of data
usage can be saved.
Accessibility of system: System can be accessible anywhere if the user has got the mobile. If
mobile is not with him/her then the system can be accessible with the help of website if the
user has a login id and password.
Reduces the stress: this system will directly reduce the stress from the user as the user will
not have to calculate each and every thing ex. How much they have balance in their hand? Etc.
As this system is using external server to save the user details so there is no need to give an
option to backup and recovery the data this choice will be given to the admin.
Intangible benefits:
Economic Benefits: with the help of this system we can save our lot of money which goes in
waste land due to the lack of planning.
Save time: this system will save our time as we can do hours of work in a minute. E.g. if we
need to search a person whom we have to give money from our notebook then it will take
hours if there are thousands of record but with the help of this system it will take less than a
minute.
Target Audience
Anyone, ranging from home users to office user and any businessmen or professionals interested
in tracking their daily expense. People who want to schedule their budget. A person who wants
to find his saving at the end of the day, month and year, as well as for him who wants to see his
progress based on today’s saving. The system can be used by them who are careless in handling
the device e.g. who usually finds their device stolen, broken etc they can recover their data from
the server. On the other hand, the system could be used to guide the user for being more expensive
by providing notifications. All types of users aging more than 13-14yrs. This system will be used
by administrator as well who will be manage the website and create a back-up plan if required.
Challenges in the Projects:
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
Saving data on external database other than SQLLite from android device: the data
which is in the device should be synchronized with the server so that the user can access it
from anywhere.
The modules that developer is going to develop i.e. deliverables during the project are:
Member’s Registration
Save daily expenses
Profile management
Putting limit on expenses
Assumption made: -The developer has assumed that the user has an android mobile phone and
has practice about its mobile operations. User should have some knowledge about mobile’s
original function and color coding that is used in mobile phone. It is assumed that user has
internet access for synchronizing the data on the server.
2. Enhance features-
To make user understand the system better, enhance features are used.
Future Prediction
Synchronization of offline-online data.
Task Manager
3. Special features-
Based on the research and if developer has the time and ability, these are the advanced features
developer is going to attempt to implement in this system.
Customization option
Wallpaper customization
Sending Reports on mail
Hardware:
This System will use the standard input/output devices for an android Mobile and personal
computer to access the web-browser. This includes the following:
Android Mobile
Keyboard
Mouse
Monitor
Printer
RAM: 2GB and more
Hard Disk: More than 80 GB
SD card for storage of data in mobile
Processor: Core i3 and later version.
Other Accessories:
Pen Drive – An external storage device which is useful for exporting and importing the
project data to and fro from different places.
Printer – Important documents may be printed out for further reference.
Software:
To develop android application developer needs
Front End Client: Android
Eclipse IDE: Eclipse( eclipse-jee-helios-win32)
Several types of Eclipse packages are available for each platform. For developing
Android applications, following packages are recommended:
o Eclipse IDE for Java EE Developers
o Eclipse IDE for Java Developers
o Eclipse for RCP/Plug-in Developers
o Eclipse Classic (versions 3.5.1 and higher)
JDK 5 or JDK 6 (JRE alone is not sufficient)
Android Development Tools plug-in.
Back End: Sqllite Database
For intermediate web page on Jsp-Servlet, software requirements are as follows:
Netbeans 6.5 or any new version
Apache/Tomcat server
Back End: Sqllite Database or Mysql as if required.
Dreamweaver 8.0, Adobe Photoshop (If required), MS Project 2007(for Gantt chart) etc.
Note: Tools may vary if required in later stages of the project.
Operating System Platform: Android OS for mobile software, any other OS with supported web-
browsers to access the website.
Web Browsers:
E. Academic research being carried out and other information, techniques being learnt.
(I.e. what are the names of books you are going to read / data sets you are going to use)
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:
Android Research – The developer should have some knowledge of the Android trends and
web-services.
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.
Books:
Android application development for dummies-Donn Felker
Beginning Android Application Development -Wei-Meng Lee
Human Computer Interaction- Alend Dix, Janet Finlay, Gregory D. Abowd, Russell Beale.
Data Structure- Schaum’s outlines, TMH
Website:
www.W3Schools.com
www.wrox.com
www.eclipse.org.in
http://daily-expense-tracker.fyxm.net/
http://itunes.apple.com/in/app/daily-expense-tracker-income/id502080453?mt=8
People:
Online Users
Mobile users
Students
Business People
Technical Research:
For successful development of any project, developers programming and technical skills must be
sound as without this the functionality of the system could not be achieved. Some technical
research work includes:
SQLlite Database
It will be used by developer as backend for his project or websites.
MYSQL Database
It will be used by developer as backend for the online website and to provide synchronization of
data in mobile and web.
SQL Query
SQL Query will be used for interacting with DBMS in order to fetch the data or maintain records
in backend databases.
XML:
XML is a light weight database used to transport and store data, contains its own tags as well as
we can even add our own tags. This will be used for storing and fetching the images and other
data.
File Handling:
This will be used to save login information and small chunks of data whenever required.
Android Technology
To run the system on android platform developer needs to manage the memory as well as learn
more about this technology.
F. Brief description of the development plan for the proposed project. (i.e. which software
methodology and why, the major areas of functions to be developed and the order in which
developed)
Selection of methodology is a vital activity in software development phase as all other steps of the
system will be dependent on this step itself. Each and every phase of development methodology
helps developer to determine what to do, how to do and when to do in this project. Methodology
also tells us how to handle the challenges and how to solve the problems.
This methodology has following phase that developer will follow while developing the system.
Requirement Analysis-This is the first step in the verification process. It is in here that
the project and its function are decided. So a lot of brainstorming and documentation
reveals what all will be required to produce that program or product. During this 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.
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 doesn’t fit right in the design, then the
user is made aware of it and changes are accordingly planned.
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.
Module Design-In the module design, the architectural design is again broken up into