You are on page 1of 188

TABLE OF CONTENTS

CHAPTER 1: INTRODUCTION ........................................................................................................... 9


1.1

Title of the Project .............................................................................................................. 9

1.2

Topic Background ............................................................................................................... 9

1.3

Purpose of Implementation ................................................................................................. 9

1.4

Target Audience ................................................................................................................ 10

1.5

Problem Context ............................................................................................................... 10

1.5.1 Problem Area .............................................................................................................................................. 10


1.6 Rationale ................................................................................................................................. 11
1.6.1

Tangible Benefits .............................................................................................................................. 11

1.6.2

Intangible Benefits ........................................................................................................................... 11

1.7

Project Objectives ............................................................................................................. 12

1.8

Functionalities of DET (Daily Expense Tracker) ............................................................. 12

1.8.1 Core Functionalities of the System .................................................................................................... 12


1.8.2 Enhanced Functionalities of System ................................................................................................. 13
1.8.3 Special Functionalities of System ....................................................................................................... 13
1.8.4 Feature learning objectives .................................................................................................................. 14
1.8.5 Traceability Matrix between Problem and Functionalities ..................................................... 15
1.9 Assumptions............................................................................................................................ 16
1.10 Success Criteria ..................................................................................................................... 16
1.11

Scope and limitation of the System................................................................................... 16

1.12 Limitations of the System ..................................................................................................... 17


1.13

Feasibility Analysis ........................................................................................................... 17

1.15 Ethics Commitment .............................................................................................................. 18


Critical Appraisal .......................................................................................................................... 18
CHAPTER 2: PROBLEM DESCRIPTION ......................................................................................... 19
2.1 Introduction to Problem Area ................................................................................................. 19
2.2 Problem Description and solution ........................................................................................... 19
2.3 Challenges and Learning Opportunities .................................................................................. 22
2.3.1

Challenges ............................................................................................................................................ 22

2.3.2 Learning Opportunities .......................................................................................................................... 24


2.3.3

Nature of Challenge ......................................................................................................................... 25

2.3.4

Challenges in terms of Theory and Software ........................................................................ 25

Critical Appraisal........................................................................................................................ 26
CHAPTER 3: LITERATURE REVIEW .............................................................................................. 27
3.1 Advanced Preliminary ............................................................................................................ 27

Daily Expense Tracker


3.2 Domain Research .................................................................................................................... 28
3.2.1 Literature Review on Technical Research ........................................................................... 28
3.2.1.1.1 Why mobile technology? Why not PCs or file system? ...................................................... 28
3.2.1.1.2 Why android mobile technology? Why not some other mobile? ................................... 28
3.3.1

Critical Appraisal of Literature Review ................................................................................... 32

3.3.2

Other academic research areas that need to be looked into are: ................................. 32

3.3.3 Information and Resources .................................................................................................................. 33


3.4 Market Research ..................................................................................................................... 35
3.4.1 Similar Systems Available in the Market......................................................................................... 35
3.4.2 Traceability matrix between the functionalities of system developed and previous
system. ...................................................................................................................................................................... 38
3.4.3

Qualitative Analysis of Market Research ................................................................................ 39

3.4.4

Quantitative Analysis of Market Research ............................................................................. 40

3.4.5 Critical Evaluation of Market Research ........................................................................................... 40


3.4.6 Critical Success Factor ............................................................................................................................ 40
CHAPTER 4: RESEARCH METHODS .............................................................................................. 41
4.1 Primary Research .................................................................................................................... 41
4.1.1 Techniques used........................................................................................................................................ 41
4.1.1.1. Questionnaire ................................................................................................................... 41
4.1.1.2. Interview .......................................................................................................................... 42
4.1.2.

SAMPLE QUESTIONARRIE AND INTERVIEW QUESTIONS ............................................. 42

4.1.2.1 Sample questionnaire and its justification ................................................................................. 42


4.1.2.2 Sample Interview questions and there justification ............................................................... 45
4.2 Secondary Research ................................................................................................................ 47
4.2.1 Technical Research .................................................................................................................................. 47
4.2.1.1 Platform..................................................................................................................................................... 47
4.2.1.2 Framework .............................................................................................................................................. 55
4.2.1.3 Programming Language ..................................................................................................................... 55
4.2.2 Database Management System ......................................................................................................... 55
4.2.3 Software Development Methodology ............................................................................................... 56
System Design ....................................................................................................................................................... 56
Architecture Design ............................................................................................................................................ 56
Module Design ....................................................................................................................................................... 56
V-Model ........................................................................................................................................ 56
Time Division....................................................................................................................................... 59
4.3 Critical Evaluation of Research .............................................................................................. 60
CHAPTER 5: ANALYSIS & DESIGN ................................................................................................ 61
5.1 Questionnaire and Interview Questions .................................................................................. 61

PT0981128

Asia Pacific Institute of Information Technology


2

Daily Expense Tracker


5.1.1 Critical Evaluation of Questionnaire and Interview Questions ............................................. 61
CHAPTER 5 (Part-2): DESIGN ......................................................................................................................... 65
5.2.1 Design Methodology Used ..................................................................................................................... 66
5.2.1.1 Justification of Selecting OO Design ............................................................................................... 66
5.2.2.1

Use Case Diagrams ............................................................................................................. 67

5.2.2.1.1

Use case of the whole System ................................................................................. 67

5.2.2.1.1.1

Overview of use case .......................................................................................................... 67

5.2.2.1.1.2

Actors and Descriptions ................................................................................................... 68

5.2.3

Sequence Diagram ............................................................................................................................ 77

5.2.4

Activity Diagram ............................................................................................................................... 81

5.2.4.1

Activity Diagram Android (AC-01) ........................................................................... 81

5.2.4.2

Activity Diagram Registration-(AC-02) .................................................................. 82

5.2.4.3

Activity Diagram DET-(AC-03) ............................................................................... 82

5.3

Entity Relationship Diagram (ERD) ............................................................................. 82

5.4

Class Diagram of Web Module ...................................................................................... 84

5.5

Class Diagram of Mobile Module ..................................................................................... 85

5.6

Relational Database Schema map ..................................................................................... 86

5.6.2

Mapping the ERD to Relational Database ............................................................................... 86

5.6.2.1

Normalization .................................................................................................................................... 86

5.6.2.2

Normalization Criteria: Functional Dependency................................................................. 86

5.7

Physical Design of Table Structures .............................................................................. 91

CHAPTER-6 IMPLEMENTATION .................................................................................................... 92


6.1

Implementation Plan ...................................................................................................... 93

6.1.1 Implementation Methods ............................................................................................................... 95


6.2

Program Standards Followed ........................................................................................ 95

6.2.1

Naming Convention .................................................................................................... 95

6.2.2

Documentation ............................................................................................................ 95

6.2.3

Coding Technique ....................................................................................................... 95

6.3

Implementation of Modules ........................................................................................... 96

Save Expense Module Implementation......................................................................................... 96


Objective ....................................................................................................................................... 96
Approach ....................................................................................................................................... 96
6.3.1 More SQL Queries used in this system .................................................................................... 98
6.4

Problems Encountered ................................................................................................. 100

6.5

Functionality not implemented .................................................................................... 100

6.6

Implementation of Complex Modules ......................................................................... 101

6.7

User Manual .................................................................................................................. 104

6.7.1

Android ...................................................................................................................... 104

PT0981128

Asia Pacific Institute of Information Technology


3

Daily Expense Tracker


6.7.1.1

Getting Started ............................................................................................................ 104

6.7.1.2

Registration Screen (Screen1) .................................................................................. 104

6.7.1.3

Profile management

6.7.1.4

Editing address (Screen 3) .......................................................................................... 105

6.7.1.5

DET main Screen After login (Screen 4) .................................................................... 105

6.7.1.6

Clicking picture by camera (Screen 5) ........................................................................ 106

6.7.1.7

Save expenses (Screen 6) ............................................................................................ 106

6.7.1.8

Change Wall Paper

6.7.1.9

Functionality under task manager(Screen 8)............................................................... 107

(Screen2) ................................................................................ 105

(Screen 7) ................................................................................ 107

6.7.1.10

Save task screen(Screen 9) ...................................................................................... 107

6.7.1.11

View task (Screen 10) ............................................................................................ 108

6.7.1.12

Detailed task description (Screen 11) .................................................................. 108

6.7.1.13

Put limitations (Screen 12) ...................................................................................... 109

6.7.1.14

View Report (Screen 13)......................................................................................... 109

6.7.1.15

More report (Screen 14) .......................................................................................... 109

6.7.1.16

Showing saving report of a half year (Screen 15) ................................................... 110

6.7.1.17

Searching Report for particular item (Screen 16) .................................................. 110

6.7.1.18

Output for search report Screen 17) ........................................................................ 111

6.7.1.19

Detailed report and option to view route (Screen 18) ............................................. 111

6.7.1.20

Showing route between current location and saved location. ................................. 111

(Screen 19) .................................................................................................................................. 111


6.7.1.21

Report according to date(Screen 20) ....................................................................... 112

6.7.2

Web Application........................................................................................................ 113

6.7.2.1

Login Screen (Screen1) ............................................................................................ 113

6.7.2.2

Home Page of DET(Daily expense tracker) (Screen2) ............................................. 113

6.7.2.3

Save Expense (Screen 3) ............................................................................................. 113

6.7.2.4

Report (Screen 4) ........................................................................................................ 114

6.7.2.5

Select expense category to save (Screen 5)................................................................ 114

6.7.2.6

View report (Screen 6) ................................................................................................ 115

6.7.2.7

Select expenses category (Screen 7) ........................................................................... 115

6.7.2.8

Cumulative Graphical report of a Month (Screen 8)................................................... 115

6.7.2.9

Profile of user (Screen 9) ............................................................................................ 116

6.7.2.10

Viewing Quick expense report (Screen 10) ............................................................ 116

6.8

Site Map ......................................................................................................................... 117

6.9

Technical Manual.......................................................................................................... 118

6.9.1

NetBeans IDE installation Guide ................................................................................ 119

6.9.2

Installing Wampserver for MYSQL database ............................................................. 120

6.9.3

Exporting database in MYSQL ................................................................................... 122

PT0981128

Asia Pacific Institute of Information Technology


4

Daily Expense Tracker


6.9.4

Importing det database in the MYSQL ....................................................................... 123

6.9.5

Running Android FYP web application(DET Web app) ............................................ 123

6.9.6

Running Android Application ..................................................................................... 124

6.9.7

STEP 1 ........................................................................................................................ 124

6.9.8

Running Android Application ..................................................................................... 127

6.9.9

Install the app in Android Mobile ............................................................................... 129

6.9.10

Create APK File of det ................................................................................................ 129

6.9.11

Installing .apk File on Android Device ....................................................................... 131

6.10

Conclusion ..................................................................................................................... 132

Chapter-7 Testing................................................................................................................................ 133


7.1

Test Plan ........................................................................................................................ 133

7.2

Unit Testing ................................................................................................................... 134

7.2.1 Control Flow Graph.......................................................................................................................... 147


7.3

Integration Testing........................................................................................................ 149

7.3.1 Integration Approach ..................................................................................................................... 150


7.3.2 Justification for 3rd party tools testing ................................................................................ 152
7.4

System Testing (7th April 2013-16th April 2013) ........................................................... 153

7.4.1 Usability Testing ............................................................................................................................... 155


7.4.2 Compatibility Testing ..................................................................................................................... 156
7.4.3 Documentation Testing ................................................................................................................. 157
7.5
7.5.1

User Acceptance Testing .............................................................................................. 157


Justification for the selection of Persons ................................................................. 157

7.6

Testing Summary .......................................................................................................... 160

7.7

Final Traceability Matrix ............................................................................................. 161

Chapter -8 Critical Evaluation ............................................................................................................ 162


8.1

Benefits of System (How Useful the System is to the target User) ............................ 162

8.2

Degree of Success .......................................................................................................... 162

8.3

Critical Appraisal.......................................................................................................... 164

Chapter-9 Conclusion ......................................................................................................................... 165


9.1

Limitations of Daily Expense Tracker ........................................................................ 165

9.2

What more could be done if more time was given? ................................................... 165

9.3

Future Enhancements ................................................................................................... 165

9.4

Conceptual Challenges: ................................................................................................ 166

9.5

Learning Experience ..................................................................................................... 166

Chapter-10 REFERENCES ................................................................................................................ 167


APPENDICES .................................................................................................................................... 168
Analysis of Interview .................................................................................................................. 175
Project Proposal Form................................................................................................................. 176

PT0981128

Asia Pacific Institute of Information Technology


5

Daily Expense Tracker


Project specification form ........................................................................................................... 177
Resource required for Execution................................................................................................. 183

LIST OF TABLES
TABLE 1TRACEABILITY MATRIX BETWEEN PROBLEM AND FUNCTIONALITIES ........................................................................... 15
TABLE 2 ANDROID ARCHITECTURE (LAYER) ...................................................................................................................... 29
TABLE 3 TRACEBILITY MATRIX BETWEEN THE FUCNTIONALITIES OF SYSTEM DEVELOPED AND PPREVIOUS SYSTEMS .......................... 38
TABLE 4QUALITATIVE ANALYSIS OF MARKET RESEARCH ...................................................................................................... 39
TABLE 5QUANTITATIVE ANALYSIS OF MARKET RESEARCH .................................................................................................... 40
TABLE 6SAMPLE QUESTIONAIRE AND ITS JUSTIFICATION..................................................................................................... 45
TABLE 7 ITEMS TO BE SAVED IN SYSTEM .......................................................................................................................... 46
TABLE 8 ANDROID DEVELOPERS .................................................................................................................................... 48
TABLE 9 PACKAGES USED IN DEVELOPING ANDROID APP ..................................................................................................... 53
TABLE 10 TRACEBILITY MATRIX BETWEEN QUESTIONAIRE AND FUNCTIONALITES ................................................ 64
TABLE 11 TRACEABILITY MATRIX BETWEEN ANALYSIS AND DESIGN ....................................................................................... 65
TABLE 12 OVERVIEW OF USE CASE ................................................................................................................................. 68
TABLE 13 ACTORS AND DESCRIPTIONS ............................................................................................................................ 68
TABLE 14 USE CASE- PROFILE MANAGEMENT ................................................................................................................... 69
TABLE 15 USE CASE OF REGISTRATION ............................................................................................................................ 70
TABLE 16 USE CASE OF DET .......................................................................................................................................... 71
TABLE 17 USE CASE OF TASK MANAGER .......................................................................................................................... 72
TABLE 18 USE CASE OF REPORT..................................................................................................................................... 74
TABLE 19 USE CASE OF CHANGE WALLPAPER ................................................................................................................... 74
TABLE 20 USE CASE DESCRIPTION-FUTURE PREDICTION...................................................................................................... 75
TABLE 21 USE CASE DESCRIPTION-SEND REPORT............................................................................................................... 76
TABLE 22 USE CASE DESCRIPTION-VIEW ROUTE ..................................................................................................... 77
TABLE 23 PHYSICAL DESIGN OF USER TABLE .................................................................................................................... 91
TABLE 24 PHYSICAL DESIGN OF CONTACT TABLE ............................................................................................................... 91
TABLE 25 TOOLS FOR IMPLEMENTING AND DEVELOPING .................................................................................................... 92
TABLE 26 UNIT TESTING ............................................................................................................................................ 142
TABLE 27 CODE TO BE TESTED .................................................................................................................................... 143

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

PT0981128

Asia Pacific Institute of Information Technology


6

Daily Expense Tracker


FIGURE 17 USE CASE DIAGRAM-CHANGE WALLPAPER ........................................................................................................ 74
FIGURE 18 USE CASE DIAGRAM-FUTURE PREDICTION......................................................................................................... 75
FIGURE 19 USE CASE DIAGRAM-SEND REPORT ................................................................................................................. 76
FIGURE 20 USE CASE DIAGRAM-VIEW ROUTE ................................................................................................................... 77
FIGURE 21 SEQUENCE DIAGRAM FOR USER LOGIN-SD-01 ............................................................................................... 78
FIGURE 22 SEQUENCE DIAGRAM FOR USER REGISTRATION-SD-02 ..................................................................................... 79
FIGURE 23 SEQUENCE DIAGRAM FOR DET-SD-03 .......................................................................................................... 80
FIGURE 24ACTIVITY DIAGRAM FRO ANDROID .................................................................................................................. 81
FIGURE 25ACTIVITY DIAGRAM FRO ANDROID .................................................................................................................. 81
FIGURE 26ACTIVITY DIAGRAM OF WHOLE SYSTEM (ANDROID) ............................................................................................ 81
FIGURE 27 ACTIVITY DIAGRAM-REGISTRATION (AC-02) ..................................................................................................... 82
FIGURE 28 ACTIVITY DIAGRAM-DET-(AC-03) ................................................................................................................... 82
FIGURE 29 ENTITY RELATIONSHIP DIAGRAM .................................................................................................................... 83
FIGURE 30 CLASS DIAGRAM OF WEB MODULE .................................................................................................................. 84
FIGURE 31CLASS DIAGRAM FOR ANDROID MODULE .......................................................................................................... 85
FIGURE 32 IMPLEMENTATION APPROACH ....................................................................................................................... 94
FIGURE 33 CONTROL FLOW GRAPH .............................................................................................................................. 149
FIGURE 34 INTEGRATION TESTING (TOP DOWN APPROACH).............................................................................................. 150

PT0981128

Asia Pacific Institute of Information Technology


7

Daily Expense Tracker

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 users 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.

PT0981128

Asia Pacific Institute of Information Technology


8

Daily Expense Tracker

CHAPTER 1: INTRODUCTION
1.1

Title of the Project


DAILY EXPENSE TRACKER

1.2

Topic Background
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. 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 expenses but there counting is very less as in todays scenario where there
is no time for an individual to eat properly, sleep properly walk with their belongings for a
moment then think for a moment how can they maintain their dairy which will again put a
burden on their mind to remember those activities which they have done. Those people who
want to save their daily expenses in such a place which will be handy to use. One of the most
appropriate places to store the data is the mobile phone. Also in the dairy system, if the dairy
is lost then it will be a heart locking situation.

1.3

Purpose of Implementation
Developing a financial plan is important to your success. Regardless of your income,

financial planning WORKS. (Morgan(Admin)) 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
harmed our memory. 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.

PT0981128

Asia Pacific Institute of Information Technology


9

Daily Expense Tracker


1.4

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 todays 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.

1.5

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. Its 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.

1.5.1 Problem Area


1.5.1.1 Unable to know savings[PB1]
1.5.1.2 Unable to put limit on expense
according to budget[PB2]
1.5.1.3 No
offline-online
data
synchronization[PB3]
1.5.1.4 Slow
data
retrieval
while
searching[PB4]
1.5.1.5 Lack of security [PB5]
PT0981128

1.5.1.8 Report generation [PB8]


1.5.1.9 No Prediction[PB9]
1.5.1.10
Only
one
session
per
mobile[PB10]
1.5.1.11
Cannot know the position
from where the expense has been
done[PB11]

Asia Pacific Institute of Information Technology


10

Daily Expense Tracker


1.5.1.6 No backup and recovery for the
data[PB6]
1.5.1.7 Manually scheduling[PB7]

1.5.1.12
No option to contact the
developer in case any problem
happens[PB12]
1.5.1.13
Manually sending of email or
SMS to report someone about our
expense [PB13]

Note: These problems are described in details in problem background.

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:

1.6.1 Tangible Benefits


1.6.1.1

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.

1.6.1.2

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.

1.6.1.3

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.

1.6.1.4

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.

1.6.1.5

Data can be recovered: As the system database is online i.e. on remote server so
if the user lost his/her device then they can get the desired data from the server
again.

1.6.2 Intangible Benefits

PT0981128

Asia Pacific Institute of Information Technology


11

Daily Expense Tracker


1.6.2.1 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.
1.6.2.2 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.

1.7

Project Objectives
The objective of this system is to design such a system for users which will resolve the

problems related with daily expenses and save a lot of money by providing them necessary
notifications and by showing their profit or loss based on daily expenses.

1.8

Functionalities of DET (Daily Expense Tracker)


Functionalities of this system are divided into three categories namely Core, Enhanced

and Special functionalities. These are given below.

1.8.1 Core Functionalities of the System


Core feature of any project is the heart of that project or you can say the features without
which system is incomplete. In this project, developer is developing a complete interactive,
user friendly, effective, feature-rich, multimedia site. Core features are
1.8.1.1 Members Registration[CF1]

In this functionality new members will be registered in the mobile so that they can access
all the functionalities of the system.
1.8.1.2 Save daily expenses[CF2]

This is the one of the main functionality of this system which will save all the daily
expenses which the user will like to save. Along with the expenses the location of the place
using GPS technology will also be saved so that if the user wants to know from where they
saved this detail they can easily know. User can save credits, incomes and debits detail as well
in this system.
1.8.1.3 Profile management[CF3]

Users can manage their profile using this functionality e.g. view their profile and make
changes if required.
1.8.1.4 Putting limit on expense[CF4]

With the help of this functionality users can put limit on their expense. If user crosses
their budget of the month then a notification will be displayed to their cell phone i.e. you have
crossed your budget of this month.

PT0981128

Asia Pacific Institute of Information Technology


12

Daily Expense Tracker


1.8.1.5 Account management[CF5]

Here we can manage our account e.g. customize the options, put limitations i.e.
functionality (1.8.1.4) will come in under this category, user can save the mobile no. on which
the message will be sent.
1.8.1.6 Report Generation[CF6]

Various types of reports will be generated within this section for the users. These reports
are described in details in section 1.12.4.
1.8.1.7 Searching of Expenses[CF7]

With the help of this functionality users will be able to search the expenses they have
done on a particular item.
1.8.1.8 Contact us[CF8]

Users can contact with the developer with the help of this functionality whenever
required.
1.8.1.9 Terms and Conditions[CF9]

This functionality will display the terms and conditions of using the system.

1.8.2 Enhanced Functionalities of System


To make user understand the system better, enhance features are used.
1.8.2.1.

Future Prediction[EF1]

This functionality will predict the future savings based upon the current income and
expense.
1.8.2.2.

Synchronization of offline-online data [EF2]

Using this functionality user can synchronize their data which is saved in mobile to the
server. This will automatically be done, no need to click on any button.
1.8.2.3.

Task Manager[EF3]

This functionality will help the user to schedule their task to do in the mobile so that
they can be up to date with their each and every task.
1.8.2.4.

Saving location based on GPS[EF4]

1.8.2.5.

This functionality will save the location of that place in terms of latitude and
longitude so that if in future we want to know from where we have spent our money
then we can easily know it.

Note: EF =Enhanced Functionality, CF =Core Functionality, Note: SF=special Functionality

1.8.3 Special Functionalities of System


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.

PT0981128

Asia Pacific Institute of Information Technology


13

Daily Expense Tracker


1.8.3.1.

Customization option[SF1]

Under this category various customization facility will be provided e.g. according to the needs
of a user the options will be displayed to save in database. If user does not have a bike or car
then there is no need to give an option for petrol expense.
1.8.3.2.

Wallpaper customization[SF2]

If the users want to change the wallpaper of the android system then they can click a pic and
set it as the wallpaper using this functionality. There is no need to go in mobile settings for the
same.
1.8.3.3.

Sending Reports on mail[SF3]

Reports will be generated as per the settings we have done in mobile in account management
[CF5]. These reports will be sent to the email id saved during the profile creation or later on.
1.8.3.4.

Sending SMS report to another number[SF4]

With the help of this facility SMS reports will be sent to another mobile if the user wants to
send the report. Various check boxes are provided in the system so that user can check it and
uncheck it whenever required.

1.8.4 Feature learning objectives


This refers to the learning objectives besides mastering of particular software
development or authoring tools, these objectives are mainly focused on concepts and ideas
rather than trained skills. These are described in details in Chapter 2 Section 2.3.2.

PT0981128

Asia Pacific Institute of Information Technology


14

1.8.5 Traceability Matrix between Problem and Functionalities


CF1
PB1

CF2

CF3

CF4

CF5

CF6

CF7

CF8

CF9

EF1

EF2

EF3

EF4

SF1

SF2

SF3

SF4

PB2

PB3
PB4
PB5

X
X

PB6

PB7

PB8

PB9

PB10
PB11

X
X

PB12
PB13
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 mobiles 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 Members 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

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.

to the server.

Debit and credits report based

which

is

available

till

last

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)

1.14.2 Technical Feasibility Report


PT0981128

Asia Pacific Institute of Information Technology


17

Daily Expense Tracker


Technical Feasibility mainly involves the hardware and the software
requirements of the system regarding all the tasks of the system to be done. All the major
technologies used to develop this system are described in section 4.2.1. From the report of
section 4.2.1 we can easily know that this system is technically feasible.
1.14.3 Operational Feasibility Report:
It may be defined as, the process of assessing the degree to which a proposed system
solves business problems or takes advantage of business opportunities. Problems addressed
and advantages of this system are provided in the documentation.
1.14.4 Economic Feasibility Report:
The purpose for assessing economic feasibility is mainly to identify the financial benefits
and costs associated with the development project. Economic feasibility is referred as cost and
benefit analysis for any system.
Once the technical feasibility is established, it is important to consider the monetary factors
also. Since it might happen that developing a particular system may be technically possible but
it may require huge investments and benefits may be less. Cost Benefits are included under
Rationale (Section1.6) by the developer.

1.15 Ethics Commitment


It ensures that the project wont do any harm to the society or anyone in anyways. It
contains issues like no animal harm & no copying of data without prior permission etc. and to
ensure that the developer has filled up an ethical form and it will be provided in documentation.
It also ensures no information of user will be leaked outside the system.

Critical Appraisal
As per the problem context and functionalities given above the system is going to be
developed in a systematic manner. This system will be very much helpful to the users and users
will be going to enjoy this system very much. This system is feasible in every aspect whether
it is technical or operational. User will be able to save his/her expenses into four categories
i.

Income- amount which the user says it his/her income from various sources.

ii.

Expense- amount which the user will spend

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.

PT0981128

Asia Pacific Institute of Information Technology


18

Daily Expense Tracker

CHAPTER 2: PROBLEM DESCRIPTION


2.1 Introduction to Problem Area
Today there is a drastic change in livelihood of each and every people of this world. Either
he/she belongs to a small family or middle family or why not from a large family. All are
addicted to technology directly or indirectly. They do not have time to note down their income
and expenditures on a piece of paper, in PCs, in mobile notes etc. and count them one by one
to know their total budget. The developer do not say that there is no such systems which handles
all these problems. Yes there are various systems to handle those problems but they are either
time consuming or hard to work on. For e.g. we can save our data on excel sheet also but who
have got the time to open the PC and remember all the expenses which we have done on that
day. Its really time consuming and boring. There is lack of research and functionalities in the
current system as well. We are in such an era today that our most of the work has been shifted
to computer; we are surrounded by the computer system which has made our memory
powerless. We feel hard to jot down every expense we do every day due to lack of time and we
used to forget the expenses made during the day. We used to forget whom we have to give
money and how much as well as from whom we have to get. God shake it doesnt happen with
anyone but what if the hard disk crashes, files which we have saved are destroyed in natural
disasters, or due to some other problem we lost our data then we are completely going to be
mad. These are just the glimpse of the problems which is going to be solved with this system.

2.2 Problem Description and solution


Following are the problems which are present in the current system.
2.2.1. Unable to know savings[PB1]

User is not able to know his/her savings without calculations. We have to do it either
manually or with the help of calculator.
Solution: this problem is solved by using the functionality CF2 i.e. save daily expenses
in the system.
Alternative solutions: user can save his/her daily expenses in excel sheet, notebook,
PCs etc.
2.2.2. Unable to put limit on expense according to budget[PB2]

We are unable to put limit on our daily expenses on a particular thing and hence we do
over expenses on a particular item.
Solution: this problem can be solved by using the functionality CF4 i.e. by putting limit
on a particular item.
PT0981128

Asia Pacific Institute of Information Technology


19

Daily Expense Tracker


Alternative solutions: we can achieve this goal by making a different section for noting
down the tasks on which we have to be cautious while over spending.
2.2.3. No offline-online data synchronization[PB3]

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.
Solution: this problem can be solved by using the functionality EF2 i.e. by
synchronizing data between mobile apps to the web server.
Alternative solutions: we can send our data on the mail ids, or server if we have
manually. We can store the data in file of a particular user whenever system is communicating
with the server.
2.2.4. Slow data retrieval while searching[PB4]

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.
Solution: using functionality CF7 i.e. by searching our daily expenses in the system we
can easily achieve this target.
Alternative solutions: by using CF6 i.e. viewing the reports of the system we can get
the desired output.
2.2.5. Lack of security [PB5]

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.
Solution: by using functionality CF1 we can achieve this target i.e. by registering our
self to the server and by getting a user id and password.
Alternative solutions: by using functionality CF7 i.e. account management we can
secure our account by being misuse.
2.2.6. No backup and recovery for the data[PB6]

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.
Solution: by using functionality CF8 we can easily make backup of our data and
recover it whenever required.
Alternative solutions: we can make duplicate copies of files and store it at different
locations for backup in traditional file system. We can use file system which will get the desired
data from the server and store it in the mobile till the internet connection does not comes. We

PT0981128

Asia Pacific Institute of Information Technology


20

Daily Expense Tracker


can use that data further as offline data. If our mobile gets lost then we can use the internet
connection and download the app and get the data back again.
2.2.7. Manually scheduling[PB7]

In traditional file systems there was no option of scheduling along with tracking budget
and provide notification when necessary.
Solution: using functionality EF3 i.e. task manager we can schedule using our mobile.
Alternative solution: we can make set alarm or remainder for the same purpose.
2.2.8. Report generation [PB8]

The report generation format is not up to the level. Only data which has been saved are
shown. No customized report is possible.
Solution: by using functionality CF6 we can generate reports in as per the requirement.
Alternative solutions: reports can be generated in graphical format as well as textual
format.
2.2.9. No Prediction[PB9]

The current system does not provide us any facility to view the future benefits. No
prediction is there.
Solution: by using enhanced functionality EF1 i.e. future prediction we can foresee our
future benefits.
Alternative solutions: we can predict manually by multiplying our savings in a month
with 12 and so on.
2.2.10. No option to add items in customized manner and customize notifications [PB10]

There is no option to add our own customized items as per our requirement.
Solution: we can add items in a customized manner using functionality SF1 e.g. if user
is from outside India they can put their own currency symbol for their favor.
Alternative solutions: we can assume that this and that symbol is for this purpose.
2.2.11. Only one session per mobile[PB11]
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.
Solution: this problem is solved as user can sign in in the system using functionality
CF1 and save their expenses. Hence multiple users can work with this system on a single
mobile.
Alternative solution: users can purchase dedicated mobiles for themselves so that no
conflicts can occur.
2.2.12. Cannot know the position from where the expense has been done[PB12]

PT0981128

Asia Pacific Institute of Information Technology


21

Daily Expense Tracker


In earlier system we cannot know our position from where we saved the particular piece
of information.
Solution: while we are saving our data, system will automatically save the location
using GPS technology which is given in functionality EF4 and hence we can find our exact
location in future in case we require that detail.
Alternative solutions: we have to write down the location from where we have saved
the data manually.
2.2.13. No option to contact the developer in case any problem happens[PB13]
We are not able to contact the developer in case of problem.
Solution: using functionality CF10 we can contact the developer in need.
Alternative solution: we can contact to another developer in local to solve our
problem.
2.2.14. Manually sending of email or SMS to report someone about our expense [PB14]

When we have to send our expense report as email or SMS to our guardians we have to
send it manually but with the help of this system auto sending of mail and SMS will be done.
Solution: auto generation of mail and SMS will take place in the system using
functionality SF3.
Alternative solution: we can send the mail using Gmail manually.
2.2.15. No normalization process is followed: There is also a concern that the traditional file
management system results in a lack of consistency when it comes to storing data,
though this very much depends on the user and the nature of the data they are filing.
(NA, Disadvantages of File Processing System, 2010)
Solution: normalization process will be followed to develop this system whenever
required.
Alternative solution: We can remove duplicity of data whenever possible.

2.3 Challenges and Learning Opportunities


The primary challenge in building this system is customizing the various user
requirements based on their category e.g. students, businessmen, home users etc. the data which
has to be customized should be gathered from various users. Some off the other challenges are
given below

2.3.1 Challenges

PT0981128

Asia Pacific Institute of Information Technology


22

Daily Expense Tracker


Further challenges involved in this system are described below.
2.3.1.1 Saving data on external database other than SQLLite from android device: data
which is in the device should be synchronized with the server so that the user can access it from
anywhere. Challenging part here is that if the user saves any data in mobile when there is no
internet connection and after sometime user saves another data from web browser then its very
hard to make data consistency in the system.
2.3.1.2 Offline and online facility: providing both of the facility to the user so that user will
feel free to work with this system. It was one of the most challenging part of this system as it
covers 2.3.1.1 challenge also. The problem was to execute the query placed in JSP page i.e.
web application with the help of android device. Initially the developer was working with the
localhost with port no. 8080 but he found error as server not found. Then after a lot of research
work he found instead of writing localhost in android we have to write 10.0.0.2. This is the path
to the localhost from emulator. This was just a single problem, more problems are described in
implementation part.

2.3.1.3 Graphical data: Showing graphical data to the user so that user can understand his/her
expenses easily. It was really a hard nut to crack for the developer as there is no tool in android
to draw graphical reports. So developer did a lot of research on this part and after trying many
APIs developer had decided to work with Google graph.
2.3.1.4 System portability: making the system to be portable on various android devices. This
issue made the developer a lot to worry as many functions which are available in the android
newer versions are not compatible with older version of android say API level 8 does not have
isEmpty() function to check the string whether it is empty or not. So developer had to make his
own function to do the same.
2.3.1.5 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.
2.3.1.6 Managing reports and sending them on mail: various types of reports will be made and
sent to the users mail so that user can get a clear and more detailed view of the reports.
2.3.1.7 Apart from these one of the challenges is making the GUI follow HCI principles.
2.3.1.8 Future saving prediction: on the basis of saving of the week/month predicting the
future savings is one of the challenges to implement.
2.3.1.9 Knowing the user: To understand the spending habits of people. The manner in which
they spend the money, decisions they take before spending on something. Other
challenge would be of how to make this application make effective to make people use

PT0981128

Asia Pacific Institute of Information Technology


23

Daily Expense Tracker


the application, as some people would consider the application as ineffective in respect
to the amount of time they give in use of the application.
2.3.1.10

Interaction design and coding is also one of the major challenges of this system.

2.3.2 Learning Opportunities


Following are the learning objectives while developing this system.
2.3.2.1 Learning and practices of XML and Android Technology
As this system is going to be developed entirely on android technology so learning of android
technology is obvious. And XML is one of the core features of android to create the layouts
then its knowledge is also most required.
2.3.2.2 Learning of synchronization of data between offline-online
One of the toughest features of this system is to synchronize the data between mobile and
server. So to achieve this target I need to learn the algorithm for the same.
2.3.2.3 Learning Web services
To implement the web-services developer has to learn the web services also. With the help of
web-services this system will be able to synchronize the data between server and mobile.
2.3.2.4 Learning to integrate android with web to develop a single system.
After learning the web-services and android basic I will be able to implement the both to create
a single integrated system.
2.3.2.5 Learning and practices of the advance JSP-servlet and android to make graphs
In order to provide graphical report I have to learn advance JSP-Servlet.
2.3.2.6 Learning of JSON(JavaScript Object Notation)
In order to interchange the data from android mobile to the server JSON is required. So it
should be studied to implement the web services.
2.3.2.7 Knowledge about DBMS or Databases
To save the data in database knowledge of DBMS is required so that no duplication of data
occurs in the system.
2.3.2.8 Concept of Human Computer Interaction.
HCI principles will make the system easy to be used by the user and hence it can play a vital
role in the growth of the system in future.
2.3.2.9 Leaning for a development of Real time bug free system.
In order to make the system bug free various testing approaches should be learnt and
implemented in this system e.g. unit testing.
2.3.2.10

Learning and Practices of SQL Query

To insert the data and fetch it SQL queries should be learnt.

PT0981128

Asia Pacific Institute of Information Technology


24

Daily Expense Tracker


2.3.2.11

Learning algorithm for smart prediction based on inputs of a month

In order to perform future prediction which is one of the functionality of DET i.e. EF1
one of the best algorithm should be implemented. So learning algorithms will help me out.
2.3.2.12

Learning of Google graph

In order to produce graph in android as well as in web pages Google graph is very much
efficient to be used.
2.3.2.13

Learning file handling

In order to save small chunks of data in mobile and access it later on developer needs
to learn file handling.

2.3.3 Nature of Challenge


As described above the challenges are really going to make the developer a lot from
this system. Some of the challenges are really tough to implement e.g. implementing the webservices in this system, showing graphical reports in order to make users understand their profit
and loss etc. this system will be complete if and only if all the functionalities given in core
(Refer to Section 1.8.1) are completed. This is also one of the major challenges i.e. to complete
the system within given time frame.

2.3.4 Challenges in terms of Theory and Software


2.3.4.1 Challenges in terms of Software
Challenges in terms of software are small as eclipse has given the developer the frame
work, where the developer can work on this project. It has also provided the developer ADT
(Android Development Toolkit) on which he has developed the system. And of course it is free
of cost. No licensing is required for it. But yes the developer has to register himself to the
Google MAP API to get a free developer key which has been used during the development of
the system to use Google GPS services. Also while deploying the project developer need to
register each individual for a specific key so that they can use the same. Apart from android
software like Apache tomcat will be used which is also free for the developer point of view.
For the backend process MYSQL database is used and to access it, developer has worked on
Wampserver. Wampserver is a tool which provides MYSQL database. To debug the program
developer has used emulator so that errors can be rectified as soon as possible.

2.3.4.2 Challenges in terms of Theory


The main challenge comes in terms of theory for this system. E.g. how to implement
web-application with android device, how to use efficient graph theory for smart prediction,

PT0981128

Asia Pacific Institute of Information Technology


25

Daily Expense Tracker


how to use graphs, how to customize the options etc. but yes these all problems are the real
challenge which the developer is going to really enjoy.
Critical Appraisal
There were many problems in the current system, which have been sorted out during
the development of this system. All the challenges which were listed above were critical and
have taken a lot of time of the developer. Not only had this, even to solve a single problem of
the user developer had spent a lot of time.
The most challenging part was to execute the query on JSP page with the help of
emulator i.e. android device. A lot of errors were hampering the system to be completed. Most
of them are defined in implementation part of the system.
One of the major challenge was to get the data after clicking on the report button and
then show them in Listview (just like list in HTML). Initially developer was expecting the
JSONObject to return all the values in list but it failed to return so developer had used File
Handling for the same. Data from the server is saved in File in android and then it is fetched as
per the requirement. This is the reason why developer has given a limited choice to the user to
get less than 20-30 no. of records at a time.

PT0981128

Asia Pacific Institute of Information Technology


26

Daily Expense Tracker

CHAPTER 3: LITERATURE REVIEW


3.1 Advanced Preliminary
The idea of this system came into developers mind when he was unable to find his
expenses when his guardians asked him for the expense report. His guardians asked him to give
them the details of expenses which he had done during a month after taking some amount from
them. Developer was unable to remember all those expenses. So, he thought why not to develop
a system where he can put his incomes and expenses and get the report whenever it is required.
Before starting this project he did an extensive research on this topic and found some facts i.e.
a lot of system has been developed on this type of project. But all of them had some problem
in them which are listed in the problem description section i.e. Chapter 2. Some of the websites
and their functionalities are given in section 3.4.1. Also the developer took a lot of ideas from
various websites to sort out these problems.
For the various options which should be there in the system for saving expenses this website
i.e. http://www.nhco.org/budget_packet.pdf is very much helpful. This is a spreadsheet
which is provided by NHCO (North Hills Community Outreach) for saving daily
expenses.http://www.newhavenlibrary50plus.com/uploads/07_1043_4_Income__Expens
es_01-07.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 everybodys 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.

FIGURE 1 GPS TRACKING

PT0981128

Asia Pacific Institute of Information Technology


27

Daily Expense Tracker


3.2 Domain Research
As this project is a website as well as android application. The development of this
system 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 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 Literature Review on Technical Research


3.2.1.1 Key Concepts of Mobile Technology (As application will run on mobile)

3.2.1.1.1 Why mobile technology? Why not PCs or file system?


At the end of 2011, there were 6 billion mobile subscriptions, estimates The
International Telecommunication Union (2011). That is equivalent to 87 percent of the world
population. And is a huge increase from 5.4 billion in 2010 and 4.7 billion mobile subscriptions
in 2009. (Favell, 2012) . From the given facts one can easily understand why we should develop
a mobile application. Also in the problem description area I have mentioned many reasons why
we should not opt for file system. This is the main reason behind choosing mobile technology.

3.2.1.1.2 Why android mobile technology? Why not some other mobile?
48.5% people in US owns android device. Out of 51.5 all other mobile companies are
fighting for their existence (Nielsen, 2012).
At the 2012 Mobile World Congress, Google released a startling statistic: There are
now around 850,000 Android activations made each day. When close to one million phones
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,

PT0981128

Asia Pacific Institute of Information Technology


28

Daily Expense Tracker


2012). Still it is going to play a vital role in the future mobile era. This is why I have chosen
android technology to implement this system.
Conclusion: The proposed system is an android mobile application which will communicate
with web application.

3.2.2.1 Android Architecture (Layers Explained)


Layer

Description

Application

This layer is for the default applications installed on any Android device. These

Layer

applications can be face book application, twitter application, any gaming


application etc. User also has the privilege to search and install some other
applications as per the requirement.

Application

By providing an open development platform, Android offers developers the ability

Framework

to build extremely rich and innovative applications. Developers are free to take
advantage of the device hardware, access location information, run background
services, set alarms, add notifications to the status bar, and much more. This will
be helpful to the developer in developing the application.

Libraries

Android provides developers with a set of C/C++ libraries through the application
framework itself and some of the examples are mentioned above. These libraries
are accessible to the developer for developing feature rich applications.

Android

Android development can only be done in Java. Generally, after compilation of a

Runtime

java program its .class file is executed using JVM but the Android application
though developed in java are executed using DVM i.e. Dalvik Virtual Machine.

Linux Kernel

Android depends on Linux kernel for system services such as security, process
management.

TABLE 2 ANDROID ARCHITECTURE (LAYER)

3.2.2.2. Security and Permissions


Every Android application runs its own process and security among these applications
are applied with the help of Linux installations. Android is a safety mechanism restricts
processes to perform various operations. Based on the permissions may be that a process can
access data from other applications or other operations. This concept will help developers to
maintain the security of the application and get all the access permissions for the application.
According to the Android mechanism continues, the developer specify access to the Bluetooth
function of the device by the application.

PT0981128

Asia Pacific Institute of Information Technology


29

Daily Expense Tracker


3.2.2.3 GSM
The proposed system uses GSM services to send the message from the app to those
whom the users wants to share expense report.
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.
3.2.2.5 Wi-Fi (wireless fidelity)
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:

Inclusion of warning messages to show the errors

For exiting from the application, use of back button as followed by all mobile
applications

3.2.2.10. Consistency: Consistency means maintaining similar color schemes, backgrounds,


font color and size etc.

PT0981128

Asia Pacific Institute of Information Technology


30

Daily Expense Tracker


Conclusion: The developer has provided Consistent Colour, Same background, same font size
and colour for headings.
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. Programming Language Research
3.2.2.12.1. Android
Android OS specific programming, as it is better for customization
Android is well supported with JSP
Android Support with Google-Map and GPS technology
Android has Multi-threading, Handler, Exception Handling, Encapsulation which can
be used in the system for various functions like fetching friends data while showing
their location on Google-Map.
3.2.2.12.2. J2EE
3.2.2.12.2.1To develop the web application developer has used J2EE.
There are a number of patterns that have been identified by the Sun Java Centre for the
presentation tier i.e. which is visible to the users. Various patterns are described below
in details.
3.2.2.12.2.2Intercepting Filter: Facilitates pre-processing and post-processing of a request.
3.2.2.12.2.3Front Controller: Provides a centralized controller for managing the handling of
requests.
3.2.2.12.2.4Composite View: Creates an aggregate View from atomic subcomponents.
3.2.2.12.2.5View Helper: Encapsulates logic that is not related to presentation formatting into
Helper components.
3.2.2.12.2.6Service to Worker: Combines a Dispatcher component with the Front Controller
and View Helper patterns.
3.2.2.12.2.7Business Delegate: Reduces coupling between presentation-tier clients and
business services. It hides the underlying implementation details of the business
service, such as lookup and access details of the EJB architecture.

PT0981128

Asia Pacific Institute of Information Technology


31

Daily Expense Tracker


3.2.2.12.2.8Service Locator: Multiple clients can reuse the Service Locator object to reduce
code complexity, provide a single point of control, and improve performance by
providing a caching facility.
3.2.2.12.2.9Transfer Object Assembler: It is used to build the required model or sub model.
The Transfer Object Assembler uses Transfer Objects to retrieve data from various
business objects and other objects that define the model or part of the model.
3.2.2.12.2.10 Composite Entity: It model, represent, and manage a set of interrelated
persistent objects rather than representing them as individual fine-grained entity
beans. A Composite Entity bean represents a graph of objects.
3.2.2.12.2.11 Data Access Object: Abstracts and encapsulate all access to the data source. The
DAO manages the connection with the data source to obtain and store data.
(Satarkar, 2004) E.g. DBAdapter class.
Note: More about technical research is given in chapter 4 under Techniques used.

3.3.1 Critical Appraisal of Literature Review


The literature review concludes with the final results regarding the development of
Android applications. To develop methods and applications of Android architecture follow.
The layers in the architecture are discussed above. The developer has been developing the
application using open source software. The user can use the app for free for a year by simply
downloading and installing the application. The application is developed using the Eclipse IDE
and Android SDK for android app. J2EE has been used as framework to develop web
application. Netbeans IDE and Wampserver has been used to implement the web application
and connectivity to the android app. Only Java programming language has been used to develop
Android applications.
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.

PT0981128

Asia Pacific Institute of Information Technology


32

Daily Expense Tracker


3.3.2.2 Software Methodology We have different types of methodology to develop a project.
In order to make the system best and perfect and feasible, the developer has selected VModels.

3.3.3 Information and Resources


3.3.3.1 Information

For gathering information and user requirements, some technique have to be used which
will provide developer an idea and information about the needs of user. To do so there is a need
of using data gathering technique. Techniques are listed below:
3.3.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- Schaums 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.
PT0981128

Asia Pacific Institute of Information Technology


33

Daily Expense Tracker


3.3.3.1.4.1 Housing - rent / mortgage, heating fuel, gas, electric, water, sewage, garbage,
phone(s), household cleaning supplies, furnishings, equipment, Taxes, Insurance
3.3.3.1.4.2 Transportation - Car & Insurance payments, gas, maintenance & inspections, or
public transportation Food - Out of home meals & beverages, Groceries, lunches,
snacks. (NO PET FOOD, see Leisure)
3.3.3.1.4.3 Fun & Leisure - Alcoholic beverages, Tobacco, Pet expenses, Cable TV, Internet,
TVs, Computers, Toys, Electronics, Cameras, Books, Magazines, Newspaper,
Music, Movies, Concerts, Sporting Events, Clubs, etc
3.3.3.1.4.4 Apparel & services- Clothes, shoes, accessories, dry cleaning, spot removers,
detergent, dryer sheets etc.
3.3.3.1.4.5 Personal care products & services hair care & skin products or services, haircuts,
manicures, massages
3.3.3.1.4.6 Health care - insurance premiums, medical services & supplies, drugs, dental
related, & vitamins
3.3.3.1.4.7 Miscellaneous expenses
3.3.3.1.4.8 Education - yearly pictures, trips, supplies, back pack, uniforms
3.3.3.1.4.9 Life insurance, IRA, retirement funds
3.3.3.1.4.10

Savings- FSA, Education, to help replace vehicle or appliance, Vacations,

Christmas, etc. (not retirement)


3.3.3.1.4.11

Emergency Fund accumulate to 3 months pay PLUS ANY insurance

deductibles
3.3.3.1.4.12

PT0981128

DEBT All non-mortgage or non-car debt (Morgan(Admin))

Asia Pacific Institute of Information Technology


34

Daily Expense Tracker


3.4 Market Research
3.4.1 Similar Systems Available in the Market
There are many systems which are available in the market on this topic. Some of them
of are listed below.
3.4.1.1. Just Expenses: Expense Tracker
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
users review of this system, is that it
does not provide the customization
option for currencies.
Learning outcomes: the main learning
outcome from this system which came
in my mind is to customize the options
for currencies so that users from other
countries will not suffer the same
problem which they are suffering in the

FIGURE 2 JUST EXPENSE TRACKER

current system. (Andtek, 2012)


3.4.1.2. Expense Manager
This system is having a lot of facilities
as given in figure but the main
problem with this system is that there
is no back up facility.
Learning outcomes: this system is
providing budget alert i.e. whenever
someone

crosses

their

limit

of

Details of
Expense
manager

expenses an alert will be shown. In


developed

system

notification

is

provided whenever user crosses their


limit which they have put on. (NA,
Expense Manager, 2012)

PT0981128

FIGURE 3 EXPENSE MANAGER

Asia Pacific Institute of Information Technology


35

Daily Expense Tracker


3.4.1.3.

CoinKeeper:

Expense

TrackingThis system provides the


same functionalities as the systems
described above but the main problem
with this system is that it does not
provide monthly report, no graphical
report etc.
Learning outcomes: from the users
review of this system I have found that
we need to give graphical report also.
FIGURE 4 COINKEEPER- EXPENSE TRACKING

(Kim, 2012)
3.4.1.4. Daily expense tracker (current)

This system is good but it makes the


system heavy by providing functionalities
like calendar to view the report on that day.
Learning outcome: it provides graphical
layout wherever possible e.g. symbol of
cash instead of writing it in textual format.
This is handy for the casual user but hard to
learn for the novice user. So developer has
followed the HCI principles to make it user
FIGURE 5 DAILY EXPENSE TRACKER-INCOME AND CASH FLOW

friendly. (Peijiang, 2012)


3.1.5. Daily Expense Manager

This system is having many features in it. But it does


not provide synchronization with webserver which is
there in my system.
Learning

outcomes:

currency

customization,

customizable expense & income categories are some of


the learning outcomes from this system.
FIGURE 6 DAILY EXPENSE MANAGER

PT0981128

Asia Pacific Institute of Information Technology


36

Daily Expense Tracker


3.1.6. Daily Expense Tracker-Currently Developed
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.)

FIGURE 7 DAILY EXPENSE TRACKER (FREE LANCING)

FIGURE 8DET BID

PT0981128

Asia Pacific Institute of Information Technology


37

3.4.2 Traceability matrix between the functionalities of system developed and previous system.

CF1

CF2

CF3

CF4

CF5

CF6

CF7

CF8

CF9

EF1

EF2

EF3

EF4

SF1

SF2

SF3

SF4

DET

JET

EM

CET

DETC

DEM

X
X

X
X
X

TABLE 3 TRACEBILITY MATRIX BETWEEN THE FUCNTIONALITIES OF SYSTEM DEVELOPED AND PPREVIOUS SYSTEMS

Abbreviations:
Daily Expense Tracker-DET (New System)
Just Expenses: Expense Tracker JET,
CoinKeeper: Expense Tracking-CET,
Daily Expense Tracker (Previous) -DETP
Expense Manager EM,
Daily Expense Manager (DEM)

X
X

Daily Expense Tracker


3.4.3 Qualitative Analysis of Market Research
S.no

Features

DET

1.

Web interface to handle system


2. Task Management

JET

CET

DETP

EM

DEM

3. Task List
4. Save Expense

5. Save Income

6. Save Credit

7. Save Debit

8. Save Location

9. Add New Task

10. Email Notification

11. SMS Notification

12. Graphical Report

13. Data Privacy

14. Multiple user sign in

15. Personalized View of Data

16. View Route

17. Mobile Version of System

18. Viewing tasks on mobile

19. Creating Task on mobile

20. Delete task on mobile

21. Reports on Mobile

22. Contact us

23. Access Rights

24. Account Transfer

25. Receipt Picture

26. Wall paper setting

TABLE 4QUALITATIVE ANALYSIS OF MARKET RESEARCH

PT0981128

Asia Pacific Institute of Information Technology


39

Daily Expense Tracker


3.4.4 Quantitative Analysis of Market Research
Primary Research Analysis
of Market
The developer has given all the functionalities
which are available in the older systems. But in case
of interface developer lags behind them.
This system also provides almost same
functionalities like this system but lags in providing
web application, providing location of the user etc.
Provides calculator, bar chart, currency converter,
other than saving expense but lacks in saving
expenses in category e.g. credit, debit, income etc.
as well as there is no web application for the same.
It provides web interface to save details, but in it we
can just save expenses and incomes there is no
category wise saving option.
It provides graphical layout wherever possible e.g.
symbol of cash instead of writing it in textual
format. This is handy for the casual user but hard to
learn for the novice user.
This system is providing budget alert i.e. whenever
someone crosses their limit of expenses an alert will
be shown.

DET

JET

EM

CET

DETC

DEM

Marks out of
100
90

75

80

82

78

75

TABLE 5QUANTITATIVE ANALYSIS OF MARKET RESEARCH

3.4.5 Critical Evaluation of Market Research


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$. Hence this system can work with the market by joining hands in hand with users.
(NA, Daily Exense Tracker, n.d.)

3.4.6 Critical Success Factor


In order to make this project a successful project the developer needs to do mainly two
tasks, first is that the developer should implement all the core functionalities and secondly he should
synchronize the mobile database with the server.

PT0981128

Asia Pacific Institute of Information Technology


40

Daily Expense Tracker

CHAPTER 4: RESEARCH METHODS


4.1 Primary Research
Primary research was conducted by the developer during the initial phase of the system for
gathering the information from the potential users of the system so that the developer can make a
system that is directly acceptable by its users; primary research was conducted by following
techniques.

4.1.1 Techniques used


In order to gather the data techniques used in this system are already defined in the section
4.1 and they are questionnaire, interview and by observations.

4.1.1.1. Questionnaire
Questionnaire (Refer to appendices for questionnaires) is a part of data gathering technique
in which a series of questions designed to gather specific information. Questionnaires will specially
be designed for users who would use the system which will include people who are interested in
social networking websites. They have few advantages as Questionnaire
4.1.1.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 Why Questionnaires?
As this application is targeting a large number of persons who are going to use the proposed
system, so they are enormous in number, so it is not possible to take interview of them because it
will be very time consuming. These are some reasons for using Questionnaires4.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.

PT0981128

Asia Pacific Institute of Information Technology


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
4.1.1.2.1. Why Interview?
It provides us with immediate an response which saves the developers precious time
It allows participants to express themselves in their own words
It allows the collection of a large volume of rich data
It allows discussion, probing and unexpected insights
It is best for investigating problems

4.1.2. SAMPLE QUESTIONARRIE AND INTERVIEW QUESTIONS


4.1.2.1 Sample questionnaire and its justification

Question 1

Justification

Question 2

Justification

Question 3

PT0981128

1. Which type of System is currently used by you to save daily expenses?


Desktop Application
Web Application
Mobile Application
Spreadsheet(Note book)
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
Which type of System would you like to use for saving your daily expenses?
Desktop Application
Web Application
Mobile Application
Note book
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.
2. How is the Graphical user Interface of your Current expense saving system?
Excellent
Intermediate
Satisfactory
Not satisfied

Asia Pacific Institute of Information Technology


42

Daily Expense Tracker


Justification

Question 4
Justification
Question 5

Justification
Question 6

Justification
Question 7

Justification
Question 8

Justification
Question 9

Justification
Question 10
Justification
Question 11

Justification
Question 12
Justification
Question 13
Justification
Question 14
PT0981128

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.
Does your current system take automatic backup of your database?
Yes
No
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.
Would you like to share your mobile with your family members so that they can
save their expenses using their login id?
Yes
No
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.
Would you like to save income along with expenses in the system?
Yes
No
Cant Say
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.
Would you like to put limit on expenses of a particular item?
Yes
No
On all Items
Only on some particular item.
This will lead to the fact whether the users really want to put limit on a particular
item. Maps with CF4.
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
To find out which type of notification method is beneficial for the user. Maps with
CF9.
Would you like to upload your pic in your profile?
Yes
No
May be
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.
Should there be an option to delete your data?
Yes
No
Developer wants to know whether the users really want to delete their data or not.
Maps with CF5.
Which type of report will you prefer?
Graphical Report
Textual
Both
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.
Would you prefer a cost effective mobile application rather than a website?
Yes
No
This would help in gathering the facts that the proposed system will be an
application or a website on the mobile. Maps with EF2.
Would you like an option to be there as contact us?
Yes
No
This would help in gathering the facts that by which way the users will like to
contact the developer. Maps with CF10.
Do you have internet accessibility in your mobile?
Asia Pacific Institute of Information Technology
43

Daily Expense Tracker


Justification

Question 15

Justification
Question 16
Justification

Question 17

Justification
Question 18

Justification
Question 19

Justification
Question 20
Justification
Question 21

Justification
Question 22
Justification
Question 23
Justification
Question 24

PT0981128

Yes
No
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.
Would you prefer to visit the website FAQ before contacting the developer?
Yes
No
May Be
This will help the developer to be updated with the FAQ section of the website.
Maps with CF12.
Would you prefer Google-map to find a place?
Yes
No
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.
Do you think that future prediction of this system will be going to help you?
Yes
No
May be
This would help in gathering the facts that whether the users would like to use the
future prediction facility or not. Maps with EF1.
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
This will help the developer to find out how much traffic will be there on the
website of this system. Maps with CF1.
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
This will help the developer to find out the usage of the task manager. Maps with
EF3.
Will you like to save your location from where you are saving your data?
Yes
No
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.
Will you like that fields which should be saved should be present in as a menu
option.
Yes
No I will save it manually
Cant say
This will help the developer to get the options for the development purpose. Maps
with SF1.
How likely you would like to change your wall paper with the help of this system?
Yes
No
Developer can know from the facts of this question whether this option will be
really helpful or not. Maps with SF2.
Would you like to have an option to schedule the mail from your application?
Yes
No
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.
Would you like to send SMS report to another mobile?
Yes
No

Asia Pacific Institute of Information Technology


44

Daily Expense Tracker


Justification

Question 25

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.
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
Shopping
Expenses
Home Loan
consultation
EMI
Medicines
Investments
Newspaper
&
Doctors
magazines
Cable/ DTH/
Medical Tests
Broadband
Fooding
EMI

Justification
Analysis

Rice
Petrol/Diesel
ories
Snacks
Oil
Vehicle Loan
premiums

This would help in gathering the facts which will be customized for savings. Maps
with SF1.
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

4.1.2.2 Sample Interview questions and there justification


1. Which type of System would you like to use for saving your daily expenses and why?
___________________________________________________________________________
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.
2. Which type of mobile device would you like to use for saving your daily expenses?
Samsung mobile with Android OS
Nokia Mobile with Android OS
Any mobile with Android OS
Other, please specifies: ____________________________________________________
Justification: This will help the developer to know whether the person will be interested to
use this system or not.
3. What are the likely expenses you would like save?

Fooding
Lodging
Snacks
Car maintenance

PT0981128

Auto, Bus, Train fare


Electric bill
Room rent
Bike maintenance

Vegetables
Rice
Oil
Petrol/Diesel

Asia Pacific Institute of Information Technology


45

Daily Expense Tracker


Vehicle Loan EMI

Insurance premiums

Telephone/Mobile
charge
Investments

Personal Loan EMI

Medicines

Newspaper &
magazines
Donation/Charity

Shopping Expenses

Movies &
Entertainment
Home Loan EMI
Doctors
consultation
Medical Tests

New accessories
Cable/ DTH/
Broadband
Other, please specifies________________________________________________
______________________________________________________________________
TABLE 7 ITEMS TO BE SAVED IN SYSTEM

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
users point of view so there suggestion is most welcome in this system.

PT0981128

Asia Pacific Institute of Information Technology


46

Daily Expense Tracker


4.2 Secondary Research
Secondary research means finding information from third-party sources such as marketing
research, websites, magazine articles, and other sources that is already published or gathered by
somebody.

4.2.1 Technical Research


This part is going to research the proposed system technically means what programming
language or database the system is going to use. Some technical research work includes:

4.2.1.1 Platform
This part is going to research the proposed system about the programming language, the system is
going to use.
4.2.1.1.1 Android
Android is the world's most popular mobile platform. With Android you can use all the
Google apps you know and love, plus there are more than 600,000 apps and games available on
Google Play to keep you entertained, alongside millions of songs and books, and thousands of
movies. Android devices are already smart, and will only get smarter, with new features you won't
find on any other platform, letting you focus on what's important and putting you in control of your
mobile experience. (corp., 2005)
4.2.1.1.1.1 Android OS programming
Android powers hundreds of millions of mobile devices in more than 190 countries around the
world.
Android gives us a world-class platform for creating apps and games for Android users everywhere,
as well as an open marketplace for distributing to them instantly. (NA, Android, the world's most
popular mobile platform, n.d.)

PT0981128

Asia Pacific Institute of Information Technology


47

Daily Expense Tracker

TABLE 8 ANDROID DEVELOPERS

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.
4.2.1.1.1.2 Why Android?
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
PT0981128

Asia Pacific Institute of Information Technology


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.

FIGURE 9ANDROID LIFE CYCLE (JAMES STEELE, 2010)

Refer to 4.2.1.1.3 for more language details


Android uses Java Language which is an object oriented language enriched with features of4.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
PT0981128

Asia Pacific Institute of Information Technology


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)

4.2.1.1.1.6 Exception Handling


Exceptional conditions in traditional environments often arise in situations such as division by zero
or file not found, and they must be managed with clumsy and hard-to-read constructs. Java helps
in this area by providing object-oriented exception handling.

4.2.1.1.1.7 PACKAGES USED


4.2.1.1.1.7.1 in Android

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
android.app.Activity;

The Activity class takes care of creating a


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
android.content.Intent;
android.content.Context;

For calling other activities from activities and

android.os
android.os.Bundle;

For passing the data between activities and

services by providing necessary parameters

from activities to services.


Binding the data with activities.

Android.view
android.view.View.OnClickListener;
android.view.View;
Android.widget
android.widget.Button;
android.widget.EditText;
android.widget.Toast;
PT0981128

For providing the actions to the layout


elements like buttons.
For using layout object like buttons, textview.
For messages Toast can be used.

Asia Pacific Institute of Information Technology


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
java.util.ArrayList;
java.util.List;
java.util.TreeMap;
java.util.Date;

For reading the data, received from Apache


server and subsequently for throwing errors
List, ArrayList and TreeMap is used to store
the data into file and get it one by one.

To read and write data from file.


java.io
java.io.BufferedReader;
java.io.IOException;
java.io.InputStreamReader;
java.io.FileOutputStream;
java.io.File;
java.io.UnsupportedEncodingExcepti
on;
For
receiving
HTTP
response
org.apache.http
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;
android.database
android.database.SQLException;
PT0981128

and

To access the various criterias, queries, and


data from the SQLLite database.

Asia Pacific Institute of Information Technology


51

Daily Expense Tracker


android.database.sqlite.SQLiteDatab
ase;
android.database.sqlite.SQLiteOpen
Helper;
android.database.sqlite.SQLiteState
ment;
android.util
android.util.Log;

To find out the exceptions we print them in log

java.net
java.net.URI;
java.net.URISyntaxException;

To access the URI of a particular website.

android.text
android.text.Editable;
android.text.TextWatcher;

Provides classes used to render or track text

which is viewed under logcat.

and text spans on the screen.


You can use these classes to design your own
widgets that manage text, to handle arbitrary
text spans for changes, or to handle drawing
yourself for an existing widget.

android.telephony
android.telephony.SmsManager;

Provides APIs for monitoring the basic phone


information, such as the network type and
connection state, plus utilities for manipulating
phone number strings. This package has been
used to send sms.

org.json

For converting data read by buffer-reader into

org.json.JSONArray;

readable chunks and subsequently for throwing

org.json.JSONException;

errors

org.json.JSONObject;
com.google.android.maps

For storing GPS coordinates and accessing

com.google.android.maps.GeoPoint;

Google map view, controllers and overlay.

com.google.android.maps.ItemizedO
verlay;
com.google.android.maps.MapActivit
y;
com.google.android.maps.MapContr
oller;

PT0981128

Asia Pacific Institute of Information Technology


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

4.2.1.1.1.7.2 In Web Application


Package Name

Uses

java.io

This packaged has been used to print

java.io.PrintWriter

something on the webpage.

java.sql

Provides a compatibility interface for

java.sql.Connection;

accessing SQL-based databases.

java.sql.PreparedStatement;
java.sql.SQLException;
java.sql.Statement;
java.sql.ResultSet;
java.sql.DriverManager;
java.sql.Connection;
java.util

The Level class defines a set of standard

java.util.logging.Level;

logging levels that can be used to control

java.util.logging.Logger;

logging output.

java.util.Date;

A Logger object is used to log messages for


a specific system or application component.

javax.servlet
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
javax.servlet.http.HttpSession;
PT0981128

The javax.servlet package contains a number


of classes and interfaces that describe and
define the contracts between a servlet class
and the runtime environment provided for an
instance of such a class by a conforming
servlet container.

Asia Pacific Institute of Information Technology


53

Daily Expense Tracker


4.2.1.1.3 Justification for Selection of Programming Language
4.2.1.1.3.1 Mobile Application

Developer thinks that for developing propose Mobile application Android will be used, as Android
is a feature-rich OS programming which contains Exception- Handling, Multithreading, Handlers
which will help in developing the proposed project, also it is easy to learn.
Android has Google-Map and JSP support as all of these three are backed by Google itself like
Google-Map is packaged with the Android SDK so using Google-Map doesnt poses any unwanted
situations and performance issue also they have thoroughly checked and developed functions so it
gives a great relax to the developer and maximize the chances of success.
Android is well supported with JSP
Android Support with Google-Map,
Android has Multi-threading, Handler, Exception Handling, Encapsulation which can be used
in the system for various functions like fetching friends data while showing their location on
Google-Map.
OS specific programming is critically needed as accessing the GPS of mobile device is an OS
specific function also mobile notification and alert can only be customized if the developer is
using OS specific programming.
4.2.1.1.3.2 Server-Side Application

Developer thinks that for developing proposed Server-Side application JSP-servlet will be used, as
J2EE is a feature-rich server-side programming(and all we need from JSP-Servlet is to send and
receive the data) which contains Exception- Handling, object oriented concepts, which will help in
developing the proposed project.
JSP has Android support as these two are backed by Google itself like JSP supports JSON objects
that will be responsible for data communication between these two.
JSP-Servlet with Android
It is well-compatible with android data sending and receiving with the help of JSON objects
which is dedicated for this particular operation.
JSP-Servlet and Android both are well-backed by Google so there wont be any compatible and
performance issues
It has all the capabilities like database connectivity, receiving and sending data, Validations
needed for the project.
It is well-supported with Android.

PT0981128

Asia Pacific Institute of Information Technology


54

Daily Expense Tracker


4.2.1.2 Framework
Java

4.2.1.3 Programming Language


Core Java, J2EE

4.2.2 Database Management System


4.2.2.1 MySQL
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.

Scalability and Flexibility

High Performance

High Availability

Robust Transactional Support

Web and Data Warehouse Strengths

Strong Data Protection

Comprehensive Application Development

Management Ease

Open Source Freedom and 24 x 7 Support

Lowest Total Cost of Ownership (NA, Top Reasons to Use MySQL, 1995)

4.2.2.2 SQL Query


SQL Query will be used for interacting with DBMS in order to fetch the data or maintain
records in backend databases.
Conclusion:
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.
PT0981128

Asia Pacific Institute of Information Technology


55

Daily Expense Tracker


For Hosting Server, it is of very less Cost as for licensing it is GPL Open Source
SQLlite Database

It will be used by developer as backend for the project or websites.

4.2.3 Software Development Methodology


4.2.3.1 Description
The Advanced waterfall provides an orderly sequence of development steps and helps ensure
the adequacy of documentation and design reviews to ensure the quality, reliability, and
maintainability of the developed software.
Usability Testing
Design

Requirements Analysis

System Testing

System Design

Integration
Testing

Architecture Design

Unit Testing

Module Design

Implementatio
n
FIGURE 10V MODEL

V-MODEL
Selected Software Development Methodology: V-model

Advanced waterfall methodology follows V model in development stages.


It is an extended waterfall model, adding more details on the validation and verification side. Vmodel gives relationship between each development stages and Testing stages.
Reasons for selecting this methodology are: 4.2.3.1.1. The requirements are almost identified and can be changed and DET is such 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.
PT0981128

Asia Pacific Institute of Information Technology


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.

4.2.3.2.

Phases of V-Model

This methodology has following phase that developer will follow while developing the system.
4.2.3.2.1. Requirement Analysis- This is the first step in the verification process. 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 doesnt 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.
PT0981128

The Validation Phases of the V model (NA, Waterfall Model, n.d.)


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 is4.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)
PT0981128

Asia Pacific Institute of Information Technology


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.
PT0981128

Asia Pacific Institute of Information Technology


59

Daily Expense Tracker


c. Implementation of WAP module.
d. Integration of modules into one Single System.
e. Unit Testing Each Module as Described in the Test Plan.
f. Integration Testing- After each Iteration.
g. System Testing- Once the Complete System is ready.
h. Interface Testing and Acceptance testing.
i. Releasing the System for Beta Testing.
j. Making Changes according to the Beta Test Findings.
Project Ending (In System Verification And Validation) Duration: 4 weeks 24/03/1329/04/13
a. Optimizing the Entire System for Performance.
b. Submission of the Finished Product.

4.3 Critical Evaluation of Research


After going through the research work developer was able to find out the in-depth
knowledge of the languages which has been used to create the system. This system has been
developed on Android OS which supports core java. From core java value is passed into J2EE web
application and the returned data is again shown on whenever required. The data base which has
been used in this system are SQLLite for offline tasks e.g. Task Manager and MYSQL database for
online tasks. Tomcat Apache has been used as a server which communicates between MYSQL
database and Android Emulator.

PT0981128

Asia Pacific Institute of Information Technology


60

Daily Expense Tracker

CHAPTER 5: ANALYSIS & DESIGN


5.1 Questionnaire and Interview Questions
Refer to appendices for analysis of questionnaire & interview question

5.1.1 Critical Evaluation of Questionnaire and Interview Questions


After analysis of questions, the developer concluded on some points which are as followsThe 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.

PT0981128

Asia Pacific Institute of Information Technology


61

Daily Expense Tracker


5.2 Quantitative Analysis

QA1

Primary Research
Customization

QA2

Notification

QA3

Reports

QA4

Mobile Version

QA5

Task Management

QA6

Future Prediction

QA7

Mobile Application

QA8

Web Application

QA9

Send Report to others

QA10

Save Income

QA11

Limit on expenses

QA12

Upload Pic

QA13

Delete option

QA14

Google Map

PT0981128

Analysis
40% of user wants to filter the data, so developer analyzes
searching facility should be provided
40% of user wants to receive notification, so developer
analyzes Notification facility should be provided
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
100% of users want to have a similar system for handheld
devices, so developer analyzes than Mobile Version of
System should be included.
40% users face difficulty in managing tasks so developer
analyzes the problem and included Task Manager.
60% of users wants to know the future saving, developer
analyzes the problem and decided to include Future
Prediction functionality
40% users wants to save their expense on Mobile so
developer has developed the system on Android Mobile.
40% users wants to view the reports and save the
expenses on web also, so the developer has developed
web application also.
50% users wants to send their reports to others e.g.
guardians so the developer has given the option to send
message and email.
80% of the user wants to save their income as well with
the expenses So the developer has provided the save
income facility.
40% of the users wants to put limit on their expenses so
the developer has provided this option under account
setting.
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.
70% users doesnt wants to delete the data as it might
cause a security problem in future so developer has not
provided this option.
60% users wants to view the location from where they
saved the expense, So the developer has provided the
option to view location on Map.

Asia Pacific Institute of Information Technology


62

Daily Expense Tracker


5.3 Analysis to Requirement Traceability
Q no./

F1 F2 F3 F4 F5 F6 F7 F8 F9 F1 F2 F3 F4

alities

Q1

Q2

Q3

Function

Q4
Q5

X
X

Q6

Q7

Q8

Q9

Q10

Q11

Q12

Q13
Q14

Q15
Q16

Q17
Q18

X
X

Q19

Q20

Q21

Q22

Q23

Q24

Q25

I1

I2
I3

PT0981128

Asia Pacific Institute of Information Technology


63

Daily Expense Tracker


I4

I5

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.

PT0981128

Asia Pacific Institute of Information Technology


64

Daily Expense Tracker

CHAPTER 5 (PART-2): DESIGN


After completing the analysis developer collects sufficient amount of data to model the
system. Requirement models allow people to share a common vision of solving the system before
the actual implementation. They confirm that the system is flexible enough to accommodate the
level of quality of future business needs.
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 interrelationship 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.

5.2 Traceability Matrix between Analysis and Design


Requirement Analysis

Profile Management
Registration
DET
Task Manager
Report
Change Wall Paper
Future Prediction
Send Report
View Route

Design
Use Case

Activity Diagram

UC-01
UC-02
UC-03
UC-04
UC-05
UC-06
UC-07
UC-08
UC-09

AC-01
AC-02
AC-03
AC-01
AC-01
AC-01
AC-01

Sequence Diagram
SD-02
SD-03

TABLE 11 TRACEABILITY MATRIX BETWEEN ANALYSIS AND DESIGN

PT0981128

Asia Pacific Institute of Information Technology


65

Daily Expense Tracker


5.2.1 Design Methodology Used
There are basically two types of design methodology we have: function-oriented and object
oriented design. Here developer selects Object Oriented Design Concept.

5.2.1.1 Justification of Selecting OO Design


The emphasis on defining software objects and how they collaborate to fulfill the
requirements. As a developer uses an object-oriented language (Java) as a platform for this
application so that glass is removed from the system needs to be modeled in the form of classes and
objects. As a developer result concludes that the DET has to be designed using principles of objectoriented design. To implement the project developer chose to make use of UML (Unified Modeling
Language).
Why use UML?
Developer chooses UML because he has chosen Object Oriented Design Methodology.

5.2.2 Use Case


Use case diagram is used to describe the functionality of the system, which mainly include
the target users and perspective. It helps in the search for who is using the system, what are the
common scenarios and what they are trying to achieve your goals or instead of how it will achieve.
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.

PT0981128

Asia Pacific Institute of Information Technology


66

Daily Expense Tracker


5.2.2.1 Use Case Diagrams
5.2.2.1.1 Use case of the whole System
Web page

Android

extends

extends

Registration

extends
DET

<<Include>>

Expenses

uses

Put limitation

extends

uses

extends
Income

Task manager

extends

uses

<<Include>>
<<Include>>

uses

Debit

<<Include>>
Profile management

uses
Credit
User

uses
Future Prediction
Login

<<Include>>
extends
uses

Report

Credit Report

extends
Expense Report

uses
extends

uses

extends
Income Report
extends
extends

Debit Report

Send Report

View Route

cummulative Report

Change Wallpaper
Graphical Report

FIGURE 11 USE CASE OF WHOLE SYSTEM

5.2.2.1.1.1 Overview of use case


PT0981128

Asia Pacific Institute of Information Technology


67

Daily Expense Tracker


UCID

Use Case Name

Description

Profile management

User can manage their profile with this functionality

Registration

The user will feed personal details into the System

DET

DET can manage the information of expenses

Task manager

User can save and manage the tasks in the system.

Report

User can view the various reports like expense, income etc.

Change Wall Paper

User can click a pic and use it as wallpaper

Future Prediction

User can view the expected future savings

Send Report

User can send the expense report to another mobile.

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

5.2.2.1.1.2 Actors and Descriptions

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

PT0981128

Asia Pacific Institute of Information Technology


68

Daily Expense Tracker


5.2.2.1.1.1.1 Use case of Profile Management

Login
extends

<<Include>>

Delete Image

extends

View

extends

uses

Upload & Manage


Image

Profile management
extends

Change password
extends

Account setting

extends
Update Data

USER

extends

Change backup time


extends

Backup Setting

extends
Manually
extends

Never

FIGURE 12 USE CASE OF PROFILE MANAGEMENT

Use Case ID
Name
Goal
Description

UC-01
Profile management
User can manage their profile,
User can manage their profile and do changes
whenever required.
Application-User(Customer)

Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s):
Exception Pathway(s):

1.
2.
3.

1.

User has registered into the System


User is Logged into the system
User successfully updates his/her own details.
User logs into the system
User views the profile.
User is able to edit the profile.
User logs in the web application and
User logs into the web application and updates
his/her profile.

TABLE 14 USE CASE- PROFILE MANAGEMENT

PT0981128

Asia Pacific Institute of Information Technology


69

Daily Expense Tracker


5.2.2.1.1.1.2 Use case for Registration

Web page
extends
uses
extends
Registration

Android

USER
FIGURE 13 USE CASE DIAGRAM OF REGISTRATION

Use Case ID
Name
Goal
Description
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway

Alternate
Pathway(s)/Exception

UC-02
Registration
User registers in the system.
User can register into the system and cerate account.
Application-User(Customer)
User has internet connection available
User has installed this app.
User is Logged into the system
User successfully operate the system
User can do all activity in particular time.
1. User register into the system
2. User can manage the expenses properly.
3. User gets feedback of registration successfully done.
1. User can register through the web application.

TABLE 15 USE CASE OF REGISTRATION

PT0981128

Asia Pacific Institute of Information Technology


70

Daily Expense Tracker


5.2.2.1.1.1.3 Use case of DET
Login

<<Include>>

Expense

extends

uses

<<Include>>

extends

DET

Income

<<Include>>

Put Limitation

extends

<<Include>>
extends

USER

Credit

<<Include>>

Debit

FIGURE 14 USE CASE DIAGRAM OF DET

Use Case ID
Name
Goal
Description
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway

Alternate Pathway(s)/Exception
Pathway(s):

UC-03
DET
To manage users daily expenses
It is used to save expenses and view reports.
Application-User
Users are using this application to manage
their daily expenses.
User has logged in the system.
User can save the records
1. User uploads the data(all their expenses)
2. Admin runs the monitor application
3. Admin analyzes the reports
1. No user uploads the data means no one is using
application
2. User can enter all detail of their daily
expenses.

TABLE 16 USE CASE OF DET

PT0981128

Asia Pacific Institute of Information Technology


71

Daily Expense Tracker


5.2.2.1.1.1.4 Use case of Task Manager

Delete Task

<<Include>>

extends

Add Task

extends
uses
Task manager

<<Include>>
extends
USER

View Incomplete
Task

extends
View
extends

View complete Task

FIGURE 15 USE CASE DIAGRAM OF TASK MANAGER

Use Case ID
Name
Goal
Description
Actor(s)
Assumption

UC-04
Task manager
View all task details and add the task.
This is for view, create and delete the task.
Application-User(Customer)
User has installed this application on his
device.
User has added the task.
User successfully creates and delete task.
1. User creates the task.
2. User manages and deletes the task.

Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):
TABLE 17 USE CASE OF TASK MANAGER

PT0981128

Asia Pacific Institute of Information Technology


72

Daily Expense Tracker


5.2.2.1.1.1.5 Use case for Reports
Login

<<Include>>

Credit Report

extends

extends

uses

Expense Report

Report
extends

extends

User

Income Report

extends
extends

Debit Report

cummulative Report

Graphical Report

FIGURE 16 USE CASE DIAGRAM FOR REPORT

Use Case ID
Name
Goal
Description
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway

PT0981128

UC-05
Report
User can view reports.
User can view all the reports of DET e.g. credit report,
debit report.
User of the app
User has already inserted some records in that
month.
User will have to login to the system.
User views the list of expenses and detailed
expense report of a particular item.
1. User views the expense, income, and credit
and debit report.
Asia Pacific Institute of Information Technology
73

Daily Expense Tracker

Alternate Pathway(s)/Exception
Pathway(s):

2. User views the route to from current


position to the destination where data was
saved.
User can view the report from the web.

TABLE 18 USE CASE OF REPORT

5.2.2.1.1.1.6 Use case-Change wall paper

Take Picture

<<Include>>
uses
extends
Change Wallpaper

Set Wallpaper

USER
FIGURE 17 USE CASE DIAGRAM-CHANGE WALLPAPER

Use Case ID
Name
Goal
Description

UC-06
Change Wallpaper
User can Change Wallpaper.
User can click a pic and use it as wallpaper

Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway

User of the app

Alternate Pathway(s)/Exception
Pathway(s):

User can change wallpaper by choosing a pic from


gallery.

User has camera in mobile.


User has clicked a pic.
User has change the wallpaper of mobile.
1. User is able to change the wallpaper of
mobile.

TABLE 19 USE CASE OF CHANGE WALLPAPER

PT0981128

Asia Pacific Institute of Information Technology


74

Daily Expense Tracker


5.2.2.1.1.1.7 Use case-Future Predictions

Login

<<Include>>
uses
Future Prediction

<<Include>>

DET

extends

extends

USER

Yearly Predicition

2- Yearly
Prediction

FIGURE 18 USE CASE DIAGRAM-FUTURE PREDICTION

Use Case ID
Name
Goal
Description

UC-07
Future Prediction
To view the future savings.
User can view the expected future savings

Actor(s)
Assumption

User of the app

Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):

User has saved some records in the system.


User has access of internet.
User has logged in the system
User has saved some records in the system.
User has viewed the future prediction.
1. User is able to view the future prediction.

User can calculate the future prediction manually.

TABLE 20 USE CASE DESCRIPTION-FUTURE PREDICTION

PT0981128

Asia Pacific Institute of Information Technology


75

Daily Expense Tracker


5.2.2.1.1.1.8 Use case-Send Report
Login

<<Include>>

Send SMS

extends

uses

Send Report
extends

Send Email

USER

FIGURE 19 USE CASE DIAGRAM-SEND REPORT

Use Case ID
Name
Goal
Description

UC-08
Send Report
Send reports on other mobile.
User can send the expense report to another mobile.

Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway

User of the app

Alternate Pathway(s)/Exception
Pathway(s):

User can send the report using mail.

User has saved a mobile no. in the app.


User is logged in the app.
Report is sent on the other mobile.
1. User is able to send report on other mobile.

TABLE 21 USE CASE DESCRIPTION-SEND REPORT

PT0981128

Asia Pacific Institute of Information Technology


76

Daily Expense Tracker


5.2.2.1.1.1.9 View Route

Income Report

extends

Credit Report

Login
extends

extends

Debit Report

Detailed Report

<<Include>>

extends

<<Include>>

extends

Expense Report

uses
extends
View Route

Get Location
More Reports

USER

FIGURE 20 USE CASE DIAGRAM-VIEW ROUTE

Use Case ID
Name
Goal
Description

UC-09
View route
User can view route
User can view the route from the current location
to that location where the expense or task was
saved.
User of the app

Actor(s)
Assumption

Pre-Condition
Post-Condition

Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):

User has saved the record from mobile app.


User has turned ON the GPS of the system.
User is logged in the system.
GPS is turned ON.
User is able to view the route between
source (current location of user) and
destination (from where the record was
saved).
1. User is able to view the route.

User can remember that location and use Google


map to view the route.

TABLE 22 USE CASE DESCRIPTION-VIEW ROUTE

5.2.3

Sequence Diagram

PT0981128

Asia Pacific Institute of Information Technology


77

Daily Expense Tracker


Why Sequence Diagram?
Sequence diagrams model the flow of logic within your system in a visual manner, enabling
you both to document and validate your logic, and are used for both analysis and design purposes.
Sequence diagrams are the most popular UML artifact for dynamic modeling, which focuses on
identifying the behavior within your system.
FIGURE 21 SEQUENCE DIAGRAM FOR USER LOGIN-SD-01

User Login

o b jL o g in :L o g in

:L o g in

h ttp c lie n t:H ttp C lie n t

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

PT0981128

Asia Pacific Institute of Information Technology


78

Daily Expense Tracker


FIGURE 22 SEQUENCE DIAGRAM FOR USER REGISTRATION-SD-02

User Registration

UserRegistration

ValidateUser

CompleteRegistration

SqlDb

User

selfRegistration()

validationProcess

validateUser()

success/failure

completeRegistration()
Display appropriate message

PT0981128

saveRecords()
success/failure

Asia Pacific Institute of Information Technology


79

Daily Expense Tracker


FIGURE 23 SEQUENCE DIAGRAM FOR DET-SD-03

DET

Expense

Expense

Credit

Expense

SQLDb

User

save Expense

saveExpense()

success/failure

save Income

saveIncome()

success/failure

save credit

saveCredit()

success/failure

save debit

saveDebit()

success/failure

PT0981128

Asia Pacific Institute of Information Technology


80

Daily Expense Tracker


5.2.4

Activity Diagram
Activity diagrams are typically used for business process modeling, for modeling the logic

captured by a single use case or usage scenario, or for modeling the detailed logic of a business
rule.
Why Activity Diagram?
activity diagrams could potentially model the internal logic of a complex operation
Activity diagrams are the object-oriented equivalent of flow charts and data flow diagrams
(DFDs) from structured development.
5.2.4.1 Activity Diagram Android (AC-01)
Activity Diagram
(Android)

Expense Tracker

Registration

Change Wall Paper

Task Manager

Login
[Login Failure]
Completed Task

Add Task

View Task

[Login Success]

Reports

Expense

Expense

Account Setting

Expense
Profile
Management

Credit

Quick
Expense Report

Income

Save
Income Report

Credit Report
Debit Report

Expense Report
Quick Expense Report

VIew

FIGURE 26ACTIVITY DIAGRAM OF WHOLE SYSTEM (ANDROID)

PT0981128

Asia Pacific Institute of Information Technology


81

Daily Expense Tracker


5.2.4.2

Activity Diagram Registration-(AC-02)

USER

SYSTEM

DET
<<datastore>
>

Invalid Data

Enter Registration
Details

Check
Validations

Submit
Details

Valid User

Reading data
Login

DET

FIGURE 27 ACTIVITY DIAGRAM-REGISTRATION (AC-02)

5.2.4.3

Activity Diagram DET-(AC-03)


USER

SYSTEM
DET
<<datastore>
>

Login

Invalid Data

Check
Validations

Login
Details

Valid User

Reading data

Login

DET

Save
Expense

Save Credit

Save Debit

Save
Income

Invalid Data
Save Data

Check Front End


Validations
Valid Data

Save
Details

FIGURE 28 ACTIVITY DIAGRAM-DET-(AC-03)

5.3

Entity Relationship Diagram (ERD)

PT0981128

Asia Pacific Institute of Information Technology


82

Daily Expense Tracker

PK

USER

Login

Role
Role_id

PK

Role
ROLE_Description

FK1

USER_ID
FK1

Username
Role_id
password
security_qsn
answer

USER_ID
First_Name
Middle_Name
LastName
Father_Name
Gender
DOJ
DOB
DOU
Status

Contact

FK1

Expense
PK

expenseid

FK1

expense_type
amount
locationid
dateofexpense
USER_ID

Income
PK

FK2

FK1
FK2

incomeid
incomeype
source
amount
locationid
dateofincome
USER_ID

Debit

Credit
PK

FK1

FK2

USER_ID
Mobile
District
Village
State
Pincode
Town
E_mail
Nationality
type

PK

credit_id
from
Installment_amount
Total_amount
Credit_Date
locationid
Expected_dor
Actual_dor
installment_type
nofInstallment
USER_ID

FK1
Locations1
PK

locationid
latitude
longitude

FK2

debitt_id
to
Installment_amount
Total_amount
debit_Date
locationid
Expected_dogiving
Actual_dogiving
installment_type
nofInstallment
USER_ID

FIGURE 29 ENTITY RELATIONSHIP DIAGRAM

PT0981128

Asia Pacific Institute of Information Technology


83

Daily Expense Tracker


5.4

Class Diagram of Web Module

Class Diagram For


Web Page
HttpServlet
+doPost()
+doGet()

-Every Methods has two Parameters i.e. as


(HttpServletRequest request, HttpServletResponse response)
e.g
registerSelf(HttpServletRequest request, HttpServletResponse
response) and if not specified then return type is void.
-To get details of Others in variables field check out ERD.

RegisterWebUser

CompleteRegistration

UpdateProfile

+selfRegistration()
+doGet()
+doPost()

+completeRegistration()
+doGet()
+doPost()

+updateProfile()
+doGet()
+doPost()

RegisterAndroidUser

+selfRegistration()
+doGet()
+doPost()
Statement

Connection

ResultSet

ValidateUser

+End2

+End1

-End4

1
-End3

-End6

SqlDb

+Connection conn
+PreparedStatement ps
+ResultSet rs,rs1
+openConnection()
+closeConnection()
+validateLogin() : Boolean

-End5

-username
-password
-from
+selfRegistration()
+doPost()
+validateUser()
+getFrom() : String
+setPassword()
+setPassword()
+getUsername()
+setUsername()

ADMIN
-Name : String
-Address : String
-Contact
-Role
-LoginDetails
-Others
+validateUser()
+viewUsers()
+viewFeedback()
+giveFeedback()
+createAdmin()
+completeRegistration()
+updateProfile()

USER
-Name : String
-Address : String
-Contact
-Role
-LoginDetails
-Others
+saveExpense()
+saveCredit()
+saveIncome()
+saveDebit()
+selfRegistration()
+completeRegistration()
+updateProfile()
+viewCreditReport()
+viewDebitReport()
+viewExpenseReport()
+viewIncomeReport()
+viewQuickExpenseReport()
+viewGraphicalReports()

FIGURE 30 CLASS DIAGRAM OF WEB MODULE

PT0981128

Asia Pacific Institute of Information Technology


84

Daily Expense Tracker


5.5

Class Diagram of Mobile Module


Activity

OnCreate
Register Android user
Btnsave:Button
etfname, etmname,etlname,
etpassword, etemail:EditText
spJob:Spinner
fname, mname, password, email,
lname:String
Error:TextView
onCreate(savedInstanceState:Bundl
e):void
Save:void

Account Setting
Btnsave:Button
etfname, etmname,etlname,
etpassword, etemail:EditText
spJob:Spinner
fname, mname, password, email,
lname:String
Error:TextView
onCreate(savedInstanceState:Bundl
e):void
Save:void

CompleteUserDetails

onCreate(savedInstanceState:
Bundle):void
Save:void

Debit
spnDebit:Spinner
etto, etDebitPrincipal,
etTotalAmount,
etNoInstallments,etOthersDebit:Edit
Text
dtExpectedpay:DatePicker
btnSaveDebit:Button
to, DebitPrincipal,TotalAmount,
InstallmentType,
ExpectedDor, NoInstallments,
userid,othersInstallment,date:Strin
g
onCreate(savedInstanceState:Bundle):vo
id

Credit
spnCredit:Spinner
etfrom, etCreditPrincipal,
etTotalAmount,etDescription,
etNoInstallments, etOthers:EditText
etExpectedDor:DatePicker
btnSaveCredit:Button
from, CreditPrincipal, TotalAmount,
InstallmentType, Description,
ExpectedDor, NoInstallments,
userid,othersInstallment,date:Strin
g
onCreate(savedInstanceState:Bundle):vo
id

Expense

Income

spnExpenseList:Spinner
etExpenseOthers, etDescription,
etAmount:EditText
dtExpectedpay:DatePicker
btnSaveExpense,:Button
expenseOthers,description,amount,ex
penseType,userid:String

spnIncomeList:Spinner
etIncomeOthers, etSource,
etAmount:EditText
dtDateOfReceiving:DatePicker
btnSaveIncome,:Button
incomeOthers,source,amount,incomeTy
pe,userid:String

onCreate(savedInstanceState:Bundle):vo
id

onCreate(savedInstanceState:Bundle):vo
id

FIGURE 31CLASS DIAGRAM FOR ANDROID MODULE

PT0981128

Asia Pacific Institute of Information Technology


85

Daily Expense Tracker


5.6

Relational Database Schema map


After analyzing the entity relationship Diagram the following mapping has been done:

USER Table
User id

First name

Last name

Gender

Doj

Dou

Role id

Status

ROLE Table
Role id

Role

Role description

CONTACT Table
Contact id

Village

State

Pincode

Country

Type(P/S)

User id

MOBILE Table
Mobile id

5.6.2

Mobile No.

Type(P/S)

User id

Mapping the ERD to Relational Database


The developer mapped the database designed from ERD to relational database model which

is implemented in RDBMS (MySQL). Mapping ensures that one entity can be stored only in one
table and other table can be referenced through that entity by using foreign key or multi-value
attributes.Developer found that none of the tables in the database have primary key that uniquely
represent a table or multi-valued attributes. Therefore, developer mapped each entity with primary
and foreign key.

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[A] =X2[B], they must also
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.
PT0981128

Asia Pacific Institute of Information Technology


86

The Developer has normalized the tables up to 3NF with the following strategies.
Normal Form

Test

Remedy

Un

Tables have non-atomic values in the After converting ERD into relational tables, none of the tables have multi

Normalized

columns.

valued attributes. They all pass the verification of UNF.

Forum (UNF)
First No duplicity in the same table and separate As atomicity of value is the primary concern in this phase, all the relation has

1NF:

table for each group related data.

Normal

only atomic values. None have non-atomic values. Therefore, table passes the
first normal form

Forum
2NF:

Second Remove subsets of data that apply to multiple However developer performed a responsible de-normalization in certain table

Normal

rows of a table and create relationship between due to vary nature of data.

Forum

tables using foreign keys.

3NF:

Third To meet all the requirement of 3rd Normal Developer found that as per the requirements, all the attributes are well

Normal

Form and remove all columns those are not describes by primary key. In other words there is no transitive dependency in

Forum

dependent on the primary key.

the table. Therefore, developer concludes that design compiles with 3NF.

Un-Normalize Table
Useri

Name

fname

Gender

Do

Dou

Conta

Mobile

Village

State

Pincode

ct id

Contact

Role id

Role

Type

ABC,DE

JKl

Male

C1

11,22

DDD

FFF

13210

--

Primary

User

ABC,DE

JKl

Male

C2

11,22

SSS

JJJ

45687

--

Secondary

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

nam

me

id

me

Mobile

Villag

State

Pincode -

Contact

Rol

Type

e id

Role

e
1

ABC

DE

JKl

Male

C1

11

DDD

FFF

132103

---- Primary

User

ABC

DE

JKl

Male

C2

12

SSS

JJJ

456878

---- Secondary

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.
First Normal Form (1 NF)
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.

PT0981128

Asia Pacific Institute of Information Technology


88

Daily Expense Tracker


Useri First_na

Last

Fna

Gende

Do

name

me

me

Dou

Contact

Mobile Village

State

id

Pinco

de

Conta

Role Role

ct

id

Type
1

ABC

DE

JKl

Male

C1

11

DDD

FFF

13210

---

Primar 1

User

y
1

ABC

DE

JKl

Male

C2

12

SSS

JJJ

45687

---

Secon

User

dary

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.
Partial dependency Present:
Userid{firstname, lastname, fname, gender, doj, dou}
Contact id{mobile, village, state, pincode, country, contact type}

Solution (Normalization of tables into Second NF)


User
Userid

First name

Last name

Gender

Doj

Dou

Contact id

roleid

role

Contact
Contact id

PT0981128

Mobile no.

Mobile type

Village

State

Pincode

Asia Pacific Institute of Information Technology


89

Country

Daily Expense Tracker


Third Normal Form
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

Mobile No.

Type(P/S)

User id

Country

MOBILE Table
Mobile id

PT0981128

Asia Pacific Institute of Information Technology


90

Type(P/S)

User id

5.7

Physical Design of Table Structures

User Table
Attribute

Description

Userid
Fitst name
Middle Name
Last Name
Father Name
Gender
Doj
Dou
Role id

Unique identification id
Name of user
Middle Name of user
Last name of user
Fathers name of user
Gender of user
Date of joining
Date of last updation
Designation of the user in
organization.
Status of user e.g. active or inactive

Status
Constraints
Primary Key
Foreign Key
Relationship
Description

Data Type Size


Int
Varchar
Varchar
Varchar
Varchar
Varchar
Date time
Date time
the Varchar

11
20
20
20
30
6

Varchar

Not
Null
Yes
No
No
No

30

No
Yes
No
No

Yea

User id
Role id
This table has relationship with Role table.

TABLE 23 PHYSICAL DESIGN OF USER TABLE

CONTACT
Attribute
Contact id
Userid
Village
State
Pincode
Country
Type

Description
Unique id provided in contact table
Unique identification id
Village name of user
State name of user
Pincode of user
Counry of user
Primary address or secondary

Data Type
Int
Int
Varchar
Varchar
Varchar
Varchar
Varchar

Constraints
Primary Key

Contact id

Foreign Key

User id

Relationship
Description

This table has relationship with User table.

TABLE 24 PHYSICAL DESIGN OF CONTACT TABLE

Size
11
11
20
20
6
30
9

Not Null
Yes
Yes
No
No
No
Yes

Daily Expense Tracker

CHAPTER-6 IMPLEMENTATION
Implementation phase starts after the design phase, ie which are documented in the paper
now is the time to implement these ideas in the real world scenario.
In this section developer decides how to act or how to start the project. Developer uses the
following tools to develop your project.
Tools Used for Implementing and Modeling
Development & Programming IDE

Case Tools

Others

1. JDK 1.6

1. MS Project 2007/13

1. MS Word 2013

2. Eclipse Helios (eclipse-jee-

2. MS Visio 2007/13

2. MS Power Point
2013

helios-win32)
3. AVD (Android virtual

3. Windows 7 Ultimate

device) Manager

4. Adobe Photoshop

{Target-Google API level

5. MoboRobo Software

8,Platform 2.2 and above}


4. SDK manager
5. Netbeans IDE 6.9.1
6. MYSQL
7. Adobe Dreamweaver CS5
8. Mozilla Firefox 6.0+
9. Google Chrome
10. Apache Tomcat Server 6.0
11. Android Mobile (Karbonn
A7+)
TABLE 25 TOOLS FOR IMPLEMENTING AND DEVELOPING

PT0981128

Asia Pacific Institute of Information Technology


92

Daily Expense Tracker


6.1

Implementation Plan

Developer divide the project into modules and then set the priority for each module and
module that has the highest priority, the developer focuses on the first and then proceed to the
bottom. Below is the graphical representation shown as a developer divides its work and prioritize
the different modules. Priority ranges 1-10 for one with 10 points has the highest priority.

IMPLEMENTATOIN
PALN

Change
WallPaper:5

Mobile System
priority:10

WEB SYSTEM
Priority:9

Registration:9

Save
Income:8

Save
Expense:8

Save Credit:8

Save Debit:8

Reports:7

Quick
Expense
Report:6
Future
Prediction:5

Graphical
Report:7

User Manual
priority:4

Account
Setting:6

Expense
Reports:7

User Manual
priority:5

Income
Reports:7

Credit
Reports:7

Debit
Reports:7

Task Manager:8
Login:9

Daily Expense Tracker is a combination of two applications:


a)
Android Mobile Application
b)
Web Application
Some of the steps that are required to be followed in order to complete the system are:
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.


PT0981128

Asia Pacific Institute of Information Technology


93

Daily Expense Tracker


1.2

After registration user will be able to perform the tasks given in app.

1.3

Next priority is given to save expense, income, credit and debit as these are the core
feature of the system.

1.4

Same priority is given to task manager in android as it also requires a lot of coding

to do. Priority of 7 is given to all types of reports as they would be able to visible only after
saving some records.
1.5

Quick expense and account setting has been given same priority i.e. of 6 because

they can be performed later on also.


1.6

User manual has been given the lowest priority because it has been created after the
system is complete only.

1.7

Web system and mobile system both have almost same priority as after sending the
data from mobile, web system will accept that system and pass it to database.
START

Input Design
Documents

Create Database

NO

Create Architecture

If Module
Implementation
is Completed
Implement Modules

YES

Integrate System

Output Document
For Testing

END

FIGURE 32 IMPLEMENTATION APPROACH

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
PT0981128

Asia Pacific Institute of Information Technology


94

Daily Expense Tracker


modules as one. The result of the application will not work as input to the next phase of testing and
after testing system is ready to be implemented in an organization.

6.1.1 Implementation Methods


Test Driven
Development
Advantage

Avoid re-testing of
codes and
performed in less
time.
Disadvantage Testing require
efficient approach

Pair
Programming

Source Code
Control & Build

Code typing and


reviewing take
place
simultaneously
Loss of
productivity as
require two
people

Least complex
way to integrate
the project
Sometimes may
result in
redundancy

Incremental
Coding
Approach
Simplest method
to follow a linear
approach.
As it is not
iterative so it
creates chances
of Risk.

Justification of selected implementation method


Developer analyzes the advantages and disadvantages of the above implementation methods and
found that Test Driven Development method is best suitable for the project implementation. As
it avoid retesting of codes and also favors the implementation of V-Model.

6.2

Program Standards Followed

6.2.1 Naming Convention

Developer

uses

English

descriptors

that

accurately

describe

the

variable/field/class/interface. e.g. btnSaveIncome

Developer uses terminology which is used in Current Scenario and related to the domain
like task, project etc.

Developer avoid long names (<15 characters is a good tradeoff)

6.2.2 Documentation

Developer provide comments in between source code to make code more readable and
understandable

6.2.3 Coding Technique

Exception handling technique has been used throughout the program.

PT0981128

Asia Pacific Institute of Information Technology


95

Daily Expense Tracker

Proper Indentation is provided by the developer

Developer tries to initialize the local variables when they are declared.

Developer uses if-else-else if statements in proper form

Proper Member function visibility is provided by developer as Private, Public and for global
access static method is used

6.3

Implementation of Modules

Save Expense Module Implementation

Objective

This is the one of the main functionality of this system which will save all
the daily expenses which the user will like to save. Along with the expenses
the location of the place using GPS technology will also be saved so that if
the user wants to know from where they saved this detail they can easily
know. User can save credits, incomes and debits detail as well in this
system.

Approach

START

Write
Expense

Save
Expense

END

Perform
Action

Verify
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

PT0981128

Asia Pacific Institute of Information Technology


96

Daily Expense Tracker


list item
END IF
Fill all the text boxes
Press Save button
If error occurs then
Msg=Sorry data not saved
Else Msg=Expense Saved
END IF
STOP

END IF
Fill all the text boxes
Press Save button
If data passed to server then
Save it in database
Else show error message
END IF
If error occurs then
Msg=Sorry data not saved
Else Msg=Expense Saved
END IF
STOP

SREENSHOTScreen Design is available in User Manual 6.7


User saves the expense from web application or android application.
Query
//to insert the data in expense table
insert into expense(expense_type,amount,user_id,description)values(?,?,?,?)
//to insert the data in income table.
insert into income(income_type,source,amount,user_id)values(?,?,?,?)
//to insert the data in credit table.
insert into credit(credit_from,Installment_amount,total_amount,expected_dor,"
+ "actual_dor,Installment_type,no_of_installment,user_id)values(?,?,?,?,?,?,?,?)
//to insert the data in debit table.
insert into debit(debit_to,Installment_amount,total_amount,expected_dt_giving," +
"actual_dt_giving,Installment_type,no_of_installment,user_id)values(?,?,?,?,?,?,?,?)

Expense Reports Module Implementation


To show the reports to the user
Objective
Pseudo code for generating reports
Pseudo code for generating reports
(Web)
(Android)
START
START
Send parameters to get report
Send parameters to get report
Check parameters
Check parameters
If parameters are valid then
If parameters are valid then
Fetch record from database according to Fetch record from database according to
the required parameter
the required parameter
Print in table
Store the details in a File
Else Print no record found
Else Print no record found
END IF
END IF
STOP
Read File till the end
Print the records in listview
STOP
SREENSHOTScreen Design is available in User Manual 6.7
User fetches the report from the web.
Query
//selecting first 10 records from database
SELECT * FROM expense where user_id='" + userid + "' ORDER BY expenseid DESC LIMIT
10
//to get the sum of total amount invested in expense
SELECT sum(amount) FROM expense where user_id='" + userid + "' ORDER BY expenseid
PT0981128

Asia Pacific Institute of Information Technology


97

Daily Expense Tracker


//to select the sum of total amount of a month

select sum(amount) from expense where (DATEDIFF((select


curdate()),dateofexpense)<=31) & (user_id='"+userid+"') &
(month(dateofexpense)=month((select curdate())))
Package And Classes Used
Packages
java.io.
Sr no.
Class
1
BufferedReader

Code Snippet

Java.util
Description

This class reads text from a character-input stream,


buffering characters so as to provide for the
efficient reading of characters, arrays, and lines

BufferedReader bfr = new BufferedReader(new InputStreamReader(


openFileInput(infile)));// to read the contents
of file
A TreeMap provides an efficient means of storing
TreeMap
key/value pairs in sorted order, and allows rapid
retrieval.
TreeMap<String, String> map = new TreeMap<String, String>();
//to store the elemnts into name value pair.
To pass the httprequest to the server
JSONParser
JSONParser jp = new JSONParser();//to pass the values on the server side
from the android app.
List
The List interface extends Collection and declares

Code Snippet

the behavior of a collection that stores a sequence


of elements.
List<NameValuePair> params = new ArrayList<NameValuePair>();

Code Snippet
3
Code Snippet

params.add(new BasicNameValuePair("userid",
userid));//to store the userid in name value pair.

Problems Occurred
Graphical Report: when there is no internet connectivity or internet is slow then android
activity which is drawing the graphical report crashes and hence user has to login again.
Solution
The developer tried to rectify the problem by using try and catch method to prevent system
in from being crashed and show proper message.

6.3.1 More SQL Queries used in this system


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
PT0981128

Asia Pacific Institute of Information Technology


98

Daily Expense Tracker


//to get the userid from login option view
select userid from loginoption where username='" + username + "' or email='" + username
+ "' or mobile='" + username + "'
//to select the first name of the user
select first_name from userdetail1 where userid='" + userid + "'
//for providing multiple logging option
select * from loginoption where (username='" + username + "' or mobile='"+username+"'
or email='"+username+"') && password='" + password + "' && roleid='2'
//to select all the records from the expense table
SELECT * FROM expense where user_id='" + userid + "' ORDER BY expenseid DESC
LIMIT 10
//to get the sum of total amount from credit table of that month
select sum(total_amount) from credit where (DATEDIFF((select
curdate()),credit_date)<=31) & (user_id='"+userid+"') & (month(credit_date)=month((select
curdate())))
//to get the sum of total amount from income table of that month
select sum(amount) from income where (DATEDIFF((select curdate()),dateofincome)<=31)
& (user_id='"+userid+"') & (month(dateofincome)=month((select curdate())))
//to get the sum of total amount from debit table of that month
select sum(total_amount) from debit where (DATEDIFF((select curdate()),debit_date)<=31)
& (user_id='"+userid+"') & (month(debit_date)=month((select curdate())))
Update
//to set username for the user
update login set username='"+username+"' where userid='" + userid + "'
//to update user table
update user set
father_name='"+sfname+"',gender='"+gender+"',dob='"+sDob+"',nationality='"+Country
+"' where userid='" + userid + "'
//to update primary contacts
update contact set
mobile='"+mobile+"',district='"+District+"',village='"+village+"',state='"+State+"',pincod
e='"+Pincode+"',town='"+Town+"' where userid='" + userid + "' && type='p'
//to update secondary contacts
update contact set
mobile='"+SMobile+"',email='"+sEmail+"',district='"+sDistrict+"',village='"+SVillage+"',
state='"+sState+"',pincode='"+sPincode+"',town='"+sTown+"' where userid='" + userid +
"' && type='s'

PT0981128

Asia Pacific Institute of Information Technology


99

Daily Expense Tracker


6.4

Problems Encountered

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.

6.5

Functionality not implemented

Upload/Downloading File(Image) from Mobile: As it is mentioned that DET will work


on both mobile and web but it is unable to provide Uploading and downloading features on
mobile as files may be very large and unable to support mobile data and developer is
successful in getting path but unable to maintain contact with server for long time.
Code for implementing file upload feature
For Uploading/Downloading

FileConnection fileConn =
(FileConnection) Connector.open(url,
Connector.READ);
InputStream fis =
rivate void displayAllRoots() {
PT0981128

System.out.println(e.getMessage());
} catch (SecurityException e) {
fileConn.openInputStream();
long overallSize =
fileConn.fileSize();

Asia Pacific Institute of Information Technology


100

Daily Expense Tracker


setTitle("[Roots]");
deleteAll();
Enumeration roots = rootsList.elements();
while (roots.hasMoreElements()) {
String root = (String)
roots.nextElement();
append(root, null);
} currentRoot = null;}
private void openSelected() {
int selectedIndex = getSelectedIndex();
if (selectedIndex >= 0) {
String selectedFile =
getString(selectedIndex);
if
(selectedFile.endsWith(FILE_SEPARATOR)) {
try {
if (currentRoot == null) {
urrentRoot = (FileConnection)
Connector.open("file://" + selectedFile,
Connector.READ);

int length = 0;
byte[] filedata = new byte[0];
while (length < overallSize)
{//converting the selected file to bytes
byte[] data = new
byte[CHUNK_SIZE];
int readAmount = fis.read(data, 0,
CHUNK_SIZE);
byte[] newFileData = new
byte[filedata.length + CHUNK_SIZE];
System.arraycopy(filedata, 0,
newFileData, 0, length);
System.arraycopy(data, 0, newFileData,
length, readAmount);
filedata = newFileData;
length +=
readAmount;}
fis.close();
fileConn.close();
//here u can write a code to connect
with the server for sending the selected file
} catch (Exception e) {
//showAlert(e.getMessage());
} finally {
}

Explanation (What developer is trying to do)

Developer developed the code to download and upload the file from the web server. So to accomplish
it he made a class called FileSelection having the property to find the actual path where the file is
stored in mobile to upload. File Selection is calling execute() function when select the file. Execute()
will help in append the file to the mobile screen and show the actual path and send data length to
byteConverter where it will check length of data and send to the server for uploading. Developer is
successful in searching the path and covert data to byte code but unable to communicate the server to
the send the large bunks of file and download and save to mobile.

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.
Code for implementing image upload feature
For making image the profile pic.

InputStream is = getResources().openRawResource(R.drawable.flower);//to get the pic which is


already saved in app.
bmp = BitmapFactory.decodeStream(is);
wall = (Button) findViewById(R.id.bSet);
take = (Button) findViewById(R.id.bTake);
pic = (ImageView) findViewById(R.id.ivImage);
Explanation (What developer is trying to do)

Developer is trying to find out the path of gallery and save the pic downloaded from the database to
the sqllite database. And use it future.

6.6

Implementation of Complex Modules

PT0981128

Asia Pacific Institute of Information Technology


101

Daily Expense Tracker


In the Primary research developer found that all the users wants to use the mobile version
of this app. So Developer decided to develop this module after completing the web module.
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.)
Problem Faced By Developer in Developing This Module

Main task is to maintain the consistency between Web and Mobile Module so Developer
Design the whole system but how to maintain the integrity.

How to display data from server to mobile screen.

How to make the mobile work as offline system too.

Draw graphical report on mobile.

Solution

Developer had initially created separate jsp files to handle request send by web page as well

as android app but later on he realized that same file can do the work for both after making a little
modification. E.g. instead of redirecting all requests to other pages developer has checked whether
the request is coming from web page or android app. From android app one more parameter has
been sent which is used to find from where the request is coming. And if the request is coming
from android there is no need to redirect to other pages. Developer has just provided the output as
response.getWriter().print(insert success). For more information please check the file
CompleteRegistration.java line no.117.
Code Snippet:
if (from.equalsIgnoreCase("android") & i > 0) {
response.getWriter().print("userid");
} else {
response.sendRedirect("index.jsp");
}

Another solution which developer has found is the use of jquery. With the help of jquery
user can pass the data to the servlet and get the output on the same file. Which has been

PT0981128

Asia Pacific Institute of Information Technology


102

Daily Expense Tracker


shown in toast in android and Toast like alert box in web page. There is no need to redirect
to other page and hence the web page is very light to be loaded.

Developer first Stores all the data on JSP page and then read data by input stream reader,
here it stores data in byte form and then data is appended from byte array to stringbuffer,
which is then finally displayed on screen.
Pseudocode:
START
Read Data from Mobile form
Pass data to jsp page
Call desiredClass servlet
Return data in NameValue Pair
In mobile class read data through input stream
Store all data in byte array in File
Read data from array till it ends
Now show the data in ListView one by one.
Data displayed on mobile screen
STOP

Problem with Graphical Reports:


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 doesnt
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

PT0981128

Asia Pacific Institute of Information Technology


103

Daily Expense Tracker


6.7

User Manual

6.7.1 Android
6.7.1.1

Getting Started

Welcome to the daily expenses tracker, this is the first screen which the user will find
after installing the det apk.

6.7.1.2

Registration Screen (Screen1)

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

PT0981128

Asia Pacific Institute of Information Technology


104

Daily Expense Tracker


After signup user will be redirected to next screen which will have all the basic
functionalities of DET
If it is a first time for User than he/she can register himself in the system and
then access his/her account. (Once an email id Registered same email id cannot be used
for multiple accounts)
Account Details:
Email:colthurling@gmail.com
User name: durgeshrjkumar
Password:123
6.7.1.3

Profile management

(Screen2)

This is the profile management Page where user manage their profile
DET->DET Main Screen->Profile Management
6.7.1.4

Editing address (Screen 3)

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

PT0981128

DET main Screen After login (Screen 4)

Asia Pacific Institute of Information Technology


105

Daily Expense Tracker

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

PT0981128

Asia Pacific Institute of Information Technology


106

Daily Expense Tracker


Description: User can save expenses category wise, almost same screen is for saving
credit, income and debit.
6.7.1.8
Change Wall Paper (Screen 7)

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 .
6.7.1.9

Functionality under task manager(Screen 8)

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

PT0981128

Save task screen(Screen 9)

Asia Pacific Institute of Information Technology


107

Daily Expense Tracker

Save the task


click on save
button.

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: user

6.7.1.12

PT0981128

can view all task.

Detailed task description (Screen 11)

Asia Pacific Institute of Information Technology


108

Daily Expense Tracker


Description: here user can see the full task decription.

To complete the task user has to just uncheck the checkbox.


6.7.1.13

Put limitations (Screen 12)

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

PT0981128

More report (Screen 14)

Asia Pacific Institute of Information Technology


109

Daily Expense Tracker

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)

Half Yearly Report

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)

Search report for a particular item.

PT0981128

Asia Pacific Institute of Information Technology


110

Daily Expense Tracker


Descrption: when user save their expenses for many item but he/she want to get

report of

only particular item user enters that particular item and click on get reports button
and see report for that particular item.here that particular item is Room Rent
6.7.1.18

Output for search report Screen 17)

User can search the report


of their expenses

Description: Searched report of the user


6.7.1.19

Detailed report and option to view route (Screen 18)

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)

PT0981128

Asia Pacific Institute of Information Technology


111

Daily Expense Tracker

Current location of saving


their expenses.

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)

User can view report date


wise also

Description: if user want to see the reports between two dates then user selects two date

and click on get report and view report.

PT0981128

Asia Pacific Institute of Information Technology


112

Daily Expense Tracker


6.7.2 Web Application
Website for daily expense tracker
6.7.2.1

Login Screen (Screen1)

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

PT0981128

Save Expense (Screen 3)

Asia Pacific Institute of Information Technology


113

Daily Expense Tracker

6.7.2.4

Save
expense
category

Report (Screen 4)

View
Credit
report

6.7.2.5

Select expense category to save (Screen 5)

Choose installment
category for credit

PT0981128

Asia Pacific Institute of Information Technology


114

Daily Expense Tracker


6.7.2.6

View report (Screen 6)

Debit
Report

Description: in this screen user can view the all record of the report .
6.7.2.7
Select expenses category (Screen 7)

Select expense category

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.

PT0981128

Asia Pacific Institute of Information Technology


115

Daily Expense Tracker


6.7.2.9

Profile of user (Screen 9)

Description: add the information of user. User conation their primary address and secondry

address.
6.7.2.10

Viewing Quick expense report (Screen 10)

Description: user can veiw the report of all expenses.

Note: Apart from these main screen there are many other screens which are handy for the users.
Those screens can be seen from the web application.

PT0981128

Asia Pacific Institute of Information Technology


116

Daily Expense Tracker


6.8

Site Map
Home

Registration

Contact us

Login

Future
pridiction

Profile

Setting

Search

Logout

Home

Expense

Income

Credit

Debit

Quick Report

Expense report

Intrest
calculator

Account
setting

Credit
report

Debit
report

Interest
Calculator

Reports

Cumulative
Report

PT0981128

Asia Pacific Institute of Information Technology


117

Daily Expense Tracker


6.9

Technical Manual

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.
3. Wampserver 2.0 and above is needed to attach MYSQL database on it.
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.
7. Developer has used Eclipse Helios to run the android application.
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.

PT0981128

Asia Pacific Institute of Information Technology


118

Daily Expense Tracker


6.9.1

NetBeans IDE installation Guide

STEP 1

STEP 2

Adding Apache Server


Customize Netbeans

STEP 3

STEP 4

Customize Netbeans

STEP 5

PT0981128

STEP 6

Asia Pacific Institute of Information Technology


119

Daily Expense Tracker

Setting Apache
Directory Location

STEP 7

STEP 8

Finally Installing
Netbeans

PT0981128

6.9.2

Installing Wampserver for MYSQL database

STEP 1

STEP 2

STEP 3

STEP 4

Asia Pacific Institute of Information Technology


120

Daily Expense Tracker

STEP 5

STEP 6

STEP 7

STEP 8

Click on the wampserver icon in task bar and


then click on phpMyAdmin

PT0981128

Asia Pacific Institute of Information Technology


121

Daily Expense Tracker

6.9.3
STEP 9

Exporting database in MYSQL


Select database det and then press on export

Select database->check SQL and Save as File det_db1->then press go


STEP 10

Go button
Exported
file

PT0981128

Asia Pacific Institute of Information Technology


122

Daily Expense Tracker


6.9.4

Importing det database in the MYSQL

STEP1: Press on Import button in main page

Choose the
file det_db1
And press go

STEP 2

Import successfully
done!!

6.9.5

PT0981128

Running Android FYP web application(DET Web app)

Asia Pacific Institute of Information Technology


123

Daily Expense Tracker

Select the AndroidFYP project.

Run Main
Project

Press F6 or click on run button


6.9.6

Running Android Application


6.9.7

STEP 1

Open eclipse helios->Go to help->Install new Software


Add new Plugin Android Plugin - https://dl-ssl.google.com/android/eclipse/
Select all i.e. Developer tools and NDK Plugins
Press next and then accept the agreement and install these softwares.

PT0981128

Asia Pacific Institute of Information Technology


124

Daily Expense Tracker

After installing it developer will get the screen given below in java perspective.

Android
SDK
manager

Java
Perspective

If this perspective doesnt come then go to Windows->Preferences->Android then this


screen will come

PT0981128

Asia Pacific Institute of Information Technology


125

Daily Expense Tracker

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.

Now open AVD Manager

PT0981128

Asia Pacific Institute of Information Technology


126

Daily Expense Tracker

Create a new AVD by providing the requirements as below.

After entering the above details press OK.


6.9.8

Running Android Application

STEP 1:
Go to File-> Import->
Select Existing projects into workspace.>Next

PT0981128

STEP2:Browse the project folder and select it


And then press OK button.

Asia Pacific Institute of Information Technology


127

Daily Expense Tracker

STEP 3: Check the project and click finish.


If any project with same name is already exsits there in the workspace then it will not be
checked, so ensure there is no project with the same name in the same workspace.

STEP 4: Extend the FYP folder as seen in figure below.


Then Open MainScreen.java

PT0981128

Asia Pacific Institute of Information Technology


128

Daily Expense Tracker


STEP 5:
Put the cursor in any .java file and enter ctrl+F11 to run the file.
A new emulator(abc) which fulfills the requiremnet of the project will be opend
automatically if there is no emulator present at current time.
Then det will automaticallly be installed in the emulator.

6.9.9

Install the app in Android Mobile

STEP 1: Go to setting->Applications setting->Check Unknown Sources


STEP 2: Go to setting->Applications setting->Development->Check USB Debugging
STEP 3: Now Press ctrl+F11 in any .java file. Following screen will be shown
STEP 4: Slect your device and then press OK.
STEP5: Now DET will be installed on the users mobile.

6.9.10 Create APK File of det

PT0981128

Asia Pacific Institute of Information Technology


129

Daily Expense Tracker


STEP 1: Select the project->Right Click-> Android Tools->Export Signed Application
Package
Then screen as below will come.
Check on Create new Keystore: This keystore can be used later on.
Enter a password-here the password is admin123

STEP 2: In the next step fill the details as given below


Password is det123456
Then press next

STEP 3: Now browse the folder where the .apk file


will be saved.

PT0981128

STEP 5: This is the apk file. It can be


installed via memory card.

Asia Pacific Institute of Information Technology


130

Daily Expense Tracker

6.9.11 Installing .apk File on Android Device


STEP 1: User needs to have the USB Driver of that device installed on the system.
Here developer has used MoboRobo software which supports all the android device

STEP 2: double click the .apk file


User can see the permissions which the
app requires.

PT0981128

STEP 3: click on install button after connecting the


device via USB Cabel to the system.

Asia Pacific Institute of Information Technology


131

Daily Expense Tracker

Package Structure-Android

Package Structure-Web

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.

PT0981128

Asia Pacific Institute of Information Technology


132

Daily Expense Tracker

CHAPTER-7 TESTING
7.1 Test Plan
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.
The type of testing that is to be carried out is as follows
1. Unit Testing (White Box Testing & Black Box Testing)
2. Integration Testing
3. System Testing

4. User Acceptance Testing


Point of Contact for Troubleshooting Purpose
Name: Durgesh Kumar
Designation: Project Developer
Contact Number: +91-7206391375
Email id: colthurling@gmail.com

PT0981128

Asia Pacific Institute of Information Technology


133

Daily Expense Tracker


USERS INVOLVED IN THE TESTING

Durgesh Kumar (System Developer) is the test manager and analyst for the Project
Planner System. Most of the tests are conducted by the developer itself. The other user
which involved in the testing are mentioned in the test cases.

The implementation of test data along with reported errors and measures taken also listed
below in the test cases.

PASS/FAIL CRETERIA
The system must justify certain standard requirement for system pass/fail criteria. Some of
the identified requirements are:

Daily Expense Tracker modules must work properly


Response time of the system should be less than 30 sec
GUI must be consistent and follow the HCIU principles
Administrator must have control over the system and can do anything he wanted to do.

7.2 Unit Testing


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).
Justification for Using Unit testing in the project
It is done at the initial level. It is easy to locate any error easily as the size of module is enough.
And it also avoids confusion and interaction of multiple errors in different module of the project.

PT0981128

Asia Pacific Institute of Information Technology


134

Daily Expense Tracker


Functionality Unit Testing

Module Name: Register User


Daily expense tracker-(Android Application)

Project Title
Test Case Name
Test Case ID
Conducted By
Precondition
Description
Test Case Priority/Severity

Module

10/01/2013
Testing
Date
Black Box
UT1
Test
Type
Durgesh Kumar
Duration 5 Hours
User must have internet access on mobile to register
on the web Application.
To perform user registration by providing the required
details.
High as the user will be allowed to perform all the task
under DET. So severity is high.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)
Register Users

Steps

1.1

Click on registration Button

System
should open
user
registration
page.
User Should
be registered
And must
show User
Registered

Requested
Screen
Opened

Pass

1.28

Enter the following information:


First Name: Durgesh
Middle Name:
Last Name: Kumar
Primary Email
Id:colthurling@gmail.com
Password: 123
Confirm Password: 123

New User
added to the
system
successfully.

Pass

1.3

Enter same registration details


Enter the following information:
First Name: Durgesh
Middle Name:
Last Name: Kumar
Email: colthurling@gmail.com
Password: 123
Confirm Password: 123

System
should
display User
with similar
email id is
already
registered.

System
displayed
New user is
added and
redirect to
login page

Fail

1.4

Enter same registration details


Enter the following information:
First Name: Durgesh
Middle Name:
Last Name: Kumar
Email: colthurling@gmail.com
Password: 123
Confirm Password: 123

System
should
display User
with similar
email id is
already
registered.

System
displayed
html tags
instead of
showing
expected
result<html>

</html>

Fail

Result: Two error found in the module.

PT0981128

Asia Pacific Institute of Information Technology


135

Daily Expense Tracker


Measures Taken:
(Module 1.3 Error Rectification) Developer reviewed the code of RegisteWebUser.java file and check the
error by identifying the add user code in database. If user with same email id is in database then display
message User already registered and if any field left blank then display appropriate error.
Measures Taken:
(Module 1.4 Error Rectification) Developer reviewed the code of RegisteWebUser.java file and check
response send by the server to the android app. Do not redirect the webpage to another if the request is
from android. Just write whatever you want to show the user in response.getWriter().print(abc);
Review Test Case for failed Obligations
Module

Steps

Result Expected

Actual
Result

Result
(Pass/Fail)

1.5

Either of any required filed like


password, Designation left blank

Error message
should appear

Identical to
the expected
Result

Pass

1.68

Username or email already existed


entered

Error message
User Already
Exist

Identical to
the expected
Result

Pass

Conclusion: Module worked perfectly without any error

Functionality Unit Testing

Module Name: Save Expenses


Daily expense tracker-(Android Application)

Project Title
Test Case Name
Test Case ID
Conducted By
Precondition

Description
Test Case Priority/Severity

Module
2.1

PT0981128

20/01/2013
Testing
Date
Black Box
UT2
Test
Type
Durgesh Kumar
Hours(Not
Duration 10
regularly)
User must be logged in the application in order to
save expense.
User should turn on the GPS if they want to view the
route later on.
To save daily expenses in android app.
High: as this feature is the core feature of the
application, without this feature this system will not
be successful.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)
Save Expenses

Steps

Click on Expense Button

System
should open

Requested
Screen
Opened

Pass

Asia Pacific Institute of Information Technology


136

Daily Expense Tracker


2.2

Enter the following information:


Select Expense Type: Shopping
Description: T-Shirt
Amount: 750 then Press Save

2.3

Enter the following information


again:
Select Expense Type: Shopping
Description: T-Shirt
Amount: 750 then Press Save

2.4

Left all fields blank and then press


save.

save expense
activity.
Expense
should be
saved
successfully.

Insert Success

Pass

Expense
should be
saved
successfully

Insert Success

Pass

System
should
display
Please enter
the details.

Insert Success

Fail

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


amount, description or expense type
left blank

Error message
should appear

Identical to
the expected
Result

Pass

Conclusion: Module worked perfectly without any error

Functionality Unit Testing

Daily expense tracker-(Android Application)

Project Title
Test Case Name

25/01/2013
Testing
Date
Black Box
Test
Type
Durgesh Kumar
Hours(Not
Duration 10
regularly)
User must be logged in the application in order to
manage profile.
User is able to manage his/her personal information.
Medium: as this feature is the core feature of the
application, if the user is not able to change the
personal details this system will not work perfectly.
MODULE EXECUTION
Profile
Management
UT3

Test Case ID
Conducted By
Precondition
Description
Test Case Priority/Severity

PT0981128

Module Name: Profile Management

Asia Pacific Institute of Information Technology


137

Daily Expense Tracker


Module

Steps

Result
Expected

3.1

Click on Profile Management Button

3.2

Interface should display username,


fathers name, date of birth and other
details

3.3

Actual
Result

Result
(Pass/Fail)

System
should open
Profile
Management
activity.
Details shown
properly

Requested
Screen
Opened

Pass

Details shown
properly

Pass

Interface should display username,


fathers name, date of birth and other
details

Details shown
properly

Details not
shown

Fail

3.4

Click More button

Next Screen
shown
Properly

Pass

3.5

Contact details Should be shown

Details shown

Pass

3.6

Contact details Should be shown

System
should
display next
screen
Details should
be visible
Details should
be visible

Details are
partially
shown

Fail

Result: Errors found in the module.


Measures Taken:
(Module 3.3 and 3.6 Error Rectification) Developer reviewed the code of Expense.java in DET android
app file and found there was no error so in the next step Developer opened the database to view the details
and found those data were not saved there. So developer provided the option to fill those blank fields and
save it. After saving those details developer repeated the above test case and found it run successfully.
Review Test Case for failed Obligations
Module

Steps

Result Expected

Actual
Result

Result
(Pass/Fail)

3.3

Either of any filed like username,


contact details are not saved in
database

Blank field should


be shown

Identical to
the expected
Result

Pass

Conclusion: Module worked perfectly without any error

Functionality Unit Testing

Module Name: Reports

Project Title

Daily expense tracker-(Android Application)

Test Case Name

Reports

Test Case ID

UT4

PT0981128

Testing
Date
Test
Type

3/02/2013
Black Box

Asia Pacific Institute of Information Technology


138

Daily Expense Tracker


Conducted By
Precondition
Description
Test Case Priority/Severity

Module

Steps

Durgesh Kumar
Duration 2 Hours
User must be logged in the application in order to
view reports activity.
User is able to view the reports buttons of expenses,
income, credit, debit and more.
High: as this feature is the core feature of the
application, if the user is not able to view the reports
of the expenses made then there is no use of this
system.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)

4.1

Click on Reports Button

4.2

Interface should display credit, debit,


income, expense and more report
buttons

System
should open
Reports
activity.
Buttons are
visible
properly

Requested
Screen
Opened

Pass

Expected
output

Pass

Result: No errors found


Measures Taken:
No need to take any extra measure as there is no error
Review Test Case for failed Obligations
Module

Steps

Result Expected

Actual
Result

Result
(Pass/Fail)

4.2

Either of the buttons are not defined


in reports.xml file

Error should
occur

Identical to
the expected
Result

Pass

Conclusion: Module worked perfectly without any error

Functionality Unit Testing

Module Name: Expense Report

Project Title

Daily expense tracker-(Android Application)

Test Case Name

Expense Reports

Test Case ID
Conducted By
Precondition

PT0981128

10/02/2013
Testing
Date
Black Box
UT5
Test
Type
Durgesh Kumar
Hours(Not
Duration 12
regularly)
User must be logged in the application in order to
view expenses.
User must save some expenses, income, credit and
debit items in order to view the reports

Asia Pacific Institute of Information Technology


139

Daily Expense Tracker


Description
Test Case Priority/Severity

Module

Steps

User should turn on the GPS if they want to view the


route.
User is able to view the reports of expenses, income,
credit, debit and more.
High: as this feature is the core feature of the
application, if the user is not able to view the reports
of the expenses made then there is no use of this
system.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)

5.1

Click on Expense Report Button

5.2

Press long on any expense list

5.3

Press view route button

5.4

Press view route button

System
should
display first
20 expense
records
That expense
details should
come along
with a route
button
Display a
route on the
map
Display a
route on the
map

Reports
shown in
ListView

Pass

Expected
output

Pass

Route
Displayed

Pass

Route not
displayed

Fail

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 database. As when user saves the record from the web application then
there is no option to find the location with website. Save location facility is only available for the mobile
as GPS is only present in the mobile. So Developer found that it is not possible to show the route to those
expenses which are saved from web app. User is advised not worry for the same as its not a major fault. It
can be rectified if the user saves the expenses 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)

5.4

Either of GPS is turned OFF or that


data was saved from web
application.

No route should
be displayed.

Identical to
the expected
Result

Pass

Conclusion: Module worked perfectly without any error


Note: Similar is the result for credit

PT0981128

Asia Pacific Institute of Information Technology


140

Daily Expense Tracker


Functionality Unit Testing

Module Name: Task Manager


Daily expense tracker-(Android Application)

Project Title
Test Case Name
Test Case ID
Conducted By
Precondition
Description
Test Case Priority/Severity

Module

12/02/2013
Testing
Date
Black Box
UT6
Test
Type
Durgesh Kumar
Hours(Not
Duration 8
regularly)
User should turn on the GPS if they want to view the
route.
User is able to save task, view task, deleted task and
view route.
Medium: as this feature is the special feature of the
application, so its severity is medium. It doesnt
effects on the DET core feature.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)
Task Manager

Steps

6.1

Click on Task Manager Button

6.2

Click on add task

6.3

Press Save

6.4

View Incomplete Task

6.5

Press on any task

6.6

Press on view Route button

6.7

Press on view Route button

System should
display options to
manage task
EditText should
appear to save
task name and
description
It should give
Task saved as
toast output
Show List of
incomplete tasks
Latitude and
Longitude should
be displayed
Route should be
displayed
Route should be
displayed

Options are
visible

Pass

Expected
output

Pass

Task Saved

Pass

List appears

Pass

Expected
result

Pass

Route
displayed
Route not
displayed

Pass
Fail

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 thats 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 its 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

PT0981128

Steps

Result Expected

Actual
Result

Result
(Pass/Fail)

Asia Pacific Institute of Information Technology


141

Daily Expense Tracker


Task is saved without turning ON
the GPS.

6.7

No route should
be displayed.

Identical to
the expected
Result

Pass

Conclusion: Module worked perfectly without any error


TABLE 26 UNIT TESTING

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";
%>

PT0981128

Asia Pacific Institute of Information Technology


142

Daily Expense Tracker


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>DET</title>
<link href="thrColLiqHdr.css" rel="stylesheet" type="text/css">
<script src="jquery-1.8.3.js" >
</script>
<script type="text/javascript" src="jars/jsapi.js"></script>
<script type="text/javascript" >
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function drawChart() {
// Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Amount(Rs.)');
data.addRows([
['Expense',<%=sumExpense%>],
['Income', <%=sumIncome%>],
['Credit', <%=sumCredit%>],
['Debit', <%=sumDebit%>]
]);
// Set chart options
var options = {'title':'Total Cumulative Report of a Month',
'width':450,
'height':300,'radius':20};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body >
<div class="container">
<div class="header" >
<%@include file="header.jsp" %>>
</div>
<div class="contentRegister">
<h2 style="font-family: Monotype Corsiva" class="Profile_header"
align="center">Reports</h2>
<input type="button" id="btnCreditFullReport" class="btnFullReports" value="Credit">
<input type="button" id="btnIncomeFullReport" class="btnFullReports"
value="Income">
<input type="button" id="btnExpenseFullReport" class="btnFullReports"
value="Expense">
<input type="button" id="btnDebitFullReport" class="btnFullReports" value="Debit">
<input type="button" id="btnCumulativeChart" class="btnFullReports"
value="Cumulative Chart">
<form class="frmRegister" id="frmCreditReport1" style="height: 600px">
<hr>
<fieldset class="fieldsetReport" id="frmCumulativeChart">
<div id="chart_div" align="center" ></div>
<legend style="font-size: medium;font-weight: 800">
Cumulative Report
</legend
<img src="cumulativeChart.png" alt="Check">
</fieldset>
TABLE 27 CODE TO BE TESTED

PT0981128

Asia Pacific Institute of Information Technology


143

Daily Expense Tracker


White Box Testing
White Box Testing

Module Name: Login

Project Title

Daily Expense Tracker

Test Case Name

Login

Testing Date

Test Case ID
Conducted By
Precondition

WT1
Durgesh Kumar
Web Application

White Box
Test Type
6 Hours
Duration
User must be registered and should create a
username and should save a mobile no.

Description

To test the working of multiple way of Login in the system.


Test Case 1
Member must be able to login in the system either of three modes 1.
Username, 2. Mobile no. 3. Email id
Login with all the three credentials mentioned above.

Function to Test
Input
Module
1.1

Steps

Result Expected

Authorized
member login
with username

Authorized users
redirect to his/her
first page.

22/01/2013

Actual Result
After Login testing
only authenticated
user is allowed to
enter in the system.
Login failed

Result (Pass/Fail)
Pass

Authorized
Authorized users
Fail
member login
redirect to his/her
with mobile no.
first page.
Authorized
Authorized users
Login failed
1.3
Fail
member login
redirect to his/her
with email id
first page.
Error Identified In the validateUser.java file developer made some mistake in his logic
Error Rectified
select userid from loginoption where username='" + username + "' or email='" + username + "'
or mobile='" + username + "'
Code Review
Login with either
It will login
1.2,1.3
Pass: Identical to
of three parameters successfully
expected Result
Conclusion: Developer made a mistake in Arithmetic operation he realized it and correct
it. Now module is working completely fine.
1.2

White Box Testing

Module Name: Graphical Reports

Project Title

Daily Expense Tracker

Test Case Name

Graphical Reports

Testing Date

24/01/2013

Test Case ID

WT2

Test Type

White Box

PT0981128

Asia Pacific Institute of Information Technology


144

Daily Expense Tracker


Conducted By
Precondition

Durgesh Kumar
Web Application

Description

To view the pie chart of expenses, income credit and debit


Test Case 2
drawGraph in android mobile

Function to Test

Income, expense, credit and debit of a month.

Input
Module

Steps

Result Expected

View Quick
Expense Report in
android
Change the value of
input and click on
Quick Expense
Report
Disconnect the
emulator from
internet
Put the code in try
catch block

2.1

2.2

2.3

2.4

2.5

Error Identified

5 Hours
Duration
User must be logged in the system.

Actual Result

Result
(Pass/Fail)
Pass

A pie chart should


be drawn according
the values given
A different pie chart
should be drawn

Graph drawn

Same chart as
earlier was
drawn

Fail

Graph should not be


drawn & system
should crash
Graph should not be
drawn & system
should not crash

Graph not
drawn and
system crashed
Graph not
drawn and
system doesnt
crash
Graph not
drawn

Pass

Pass

Turn ON the
Graph should be
Fail
internet and repeat
drawn
the above steps
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
Change the value Different pie chart will be
of input and click drawn
on Quick
Expense Report
Put the code in
Pie chart should be drawn
try catch block

2.2

2.5

PT0981128

Pass: Identical to
expected Result

Fail: Pie chart was


not drawn

Asia Pacific Institute of Information Technology


145

Daily Expense Tracker


Conclusion: Developer made a mistake in Arithmetic operation he realized it and correct it. Now
module is working completely fine.
But developer has encountered the problem that whenever he puts the code in try catch it doesnt
show the graph. Developer has searched an alternative for that i.e. removing the try catch.
Suggestion: Developer ask the users not to use the Quick Expense Report when internet is not
there.

White Box Testing

Module Name: Reports of a month

Project Title

Daily Expense Tracker

Test Case
Name
Test Case ID
Conducted By
Precondition
Description

Reports of a month

Function
Test
Input
Module

Testing Date

26/01/2013

White Box
WT3
Test Type
Durgesh Kumar
5 Hours
Duration
User must be logged in the system.
Web Application
To view the reports of a month in pie chart of expenses, income credit and debit on WEB
Application.
Test Case 3
to Draw pie chart in webpage
Income, expense, credit and debit of a month.

Steps

Result Expected

Actual Result

Result (Pass/Fail)

View Cumulative Report in A pie chart should be Graph drawn


Pass
Web application
drawn according the
values given
Save some more records
A different pie chart
Same chart as
3.2
Fail
and then View Cumulative should be drawn
earlier was
Report in web
drawn
In the Reports.jsp in web file developer made some mistake in his logic.
Error Identified
Error Rectified
3.1

Sqldb.rs = Sqldb.stat.executeQuery("select sum(amount) from expense where (DATEDIFF((select


curdate()),dateofexpense)<=31) & (user_id='"+userid+"') & (month(dateofexpense)=month((select curdate()))) ");

Code Review
Save some more records and
Different pie chart will Pass: Identical to
3.2
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.

PT0981128

Asia Pacific Institute of Information Technology


146

Daily Expense Tracker


7.2.1 Control Flow Graph
47 try {
48
JSONParser jp = new JSONParser();
49
List<NameValuePair> params = new ArrayList<NameValuePair>();
50
params.add(new BasicNameValuePair("userid", userid));
51
String st = jp.makeHttpRequest(url_expense, "GET", params);
52
setProperties(fileName, st);
53
System.out.println("returned from quickexpense" + st);
54
//finish();
55
} catch (Exception e) {
56
e.printStackTrace();
57
}
58
strExpense=getMapElement(fileName, "expense");
59
strCredit=getMapElement(fileName, "credit");
60
strIncome=getMapElement(fileName, "income");
61
strDebit=getMapElement(fileName, "debit");
62
System.out.println(strExpense+":"+strIncome+":"+strDebit);
63
tvExpense.setText("Expense:"+strExpense);
64
tvIncome.setText("Income:"+strIncome);
65
tvCredit.setText("Credit:"+strCredit);
66
tvDebit.setText("Debit:"+strDebit);
67
//to convert the values into percentage
68
double
total=Double.parseDouble(strExpense)+Double.parseDouble(strIncome)+Double.parseDo
uble(strCredit)+Double.parseDouble(strDebit);
69
strExpense=Double.toString(((Double.parseDouble(strExpense)/total)*100));
70
strIncome=Double.toString(((Double.parseDouble(strIncome)/total)*100));
71
strCredit=Double.toString(((Double.parseDouble(strCredit)/total)*100));
72
strDebit=Double.toString(((Double.parseDouble(strDebit)/total)*100));
73
drawGraph(strExpense,strIncome,strCredit,strDebit);
74
}
75
public void drawGraph(String expense,String income, String credit, String
debit){
76
77
String urlRqs3DPie = urlGoogleChart + urlp3Api + expense + "," + income +
","
78
+ credit+","+debit;
79
System.out.println(urlRqs3DPie);
80
Bitmap bm3DPie = loadChart(urlRqs3DPie);
81
System.out.println(bm3DPie);
82
if (bm3DPie == null) {
83
Toast.makeText(QuickExpenseReport.this,
84
"Problem in loading 3D Pie Chart", Toast.LENGTH_LONG)
85
.show();
86
} else {
87
pieChart.setImageBitmap(bm3DPie);
88
}
89
}
90
91
public TreeMap<String, String> getProperties(String infile)
92
throws IOException {
93
final int lhs = 0;
94
final int rhs = 1;
95
TreeMap<String, String> map = new TreeMap<String, String>();
96
// BufferedReader bfr = new BufferedReader(new FileReader(new
97
// File(infile)));
98
BufferedReader bfr = new BufferedReader(new InputStreamReader(
99
openFileInput(infile)));
100
String line;
101
while ((line = bfr.readLine()) != null) {
102
System.out.println(line);
103
if (!line.startsWith("#") && !(line.equalsIgnoreCase(""))) {
104
String[] pair = line.trim().split("=");

PT0981128

Asia Pacific Institute of Information Technology


147

Daily Expense Tracker


105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161

map.put(pair[lhs].trim(), pair[rhs].trim());
System.out.println(map);
}
System.out.println("inside" + map);
}
bfr.close();
System.out.println("returned" + map);
return (map);
}
public void setProperties(String infile, String param) throws IOException
{//to write from the webpage in android context
String content = param;
FileOutputStream fos;
fos = openFileOutput(infile, Context.MODE_PRIVATE);
fos.write(content.getBytes());
fos.close();// to save first no.
}
public String getMapElement(String fileName, String key) {
TreeMap<String, String> map = null;
try {
map = getProperties(fileName);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return map.get(key);
}
private Bitmap loadChart(String urlRqs) {
Bitmap bm = null;
InputStream inputStream = null;
try {
inputStream = OpenHttpConnection(urlRqs);
bm = BitmapFactory.decodeStream(inputStream);
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bm;
}
private InputStream OpenHttpConnection(String strURL) throws IOException {
InputStream is = null;
URL url = new URL(strURL);
URLConnection urlConnection = url.openConnection();
try {
HttpURLConnection httpConn = (HttpURLConnection) urlConnection;
httpConn.setRequestMethod("GET");
httpConn.connect();
if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
is = httpConn.getInputStream();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return is;
}

162 }

PT0981128

Asia Pacific Institute of Information Technology


148

Daily Expense Tracker


47,48,49,,50,53,54,55
,56,57,58,59,60,61,62
,63,64,65,66,67,68,69
,70,71,72,73,74

58,59,60,61

51

t
b

123,124,125,127,128,
129,130,131,132

80

75,76,77,78,
79,81,82,89
52,53

c
126

j
133,134,135,136,137,
138,139,140,141,142,
143,144,145,146

87,88

115,116,117,118,119,
120,121

l
k

82,83,84,85,86

91,92,93,94,95,
96,97,98,99,100,
110,
111,112,113,114

101,102,103,104,105,106
,107,108,109

p
155,156,157

s
q
s
o
103,104,105,106,107

147,148,149,150,151,
152,153,154,158,159,
160,161,162,163

FIGURE 33 CONTROL FLOW GRAPH

Cyclomatic complexity V(G) can be computed as:


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.

7.3 Integration Testing

PT0981128

Asia Pacific Institute of Information Technology


149

Daily Expense Tracker


It is a logical extension of the unit test. In its simplest form, the purpose of unit testing is to
validate the operation of each unit but gives little area to determine whether the interaction between
units operate properly. So here integration testing come into existence.

7.3.1 Integration Approach


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)

FIGURE 34 INTEGRATION TESTING (TOP DOWN APPROACH)

Integration Testing

Module Name: DET Main Module

Project Title

Daily Expense Tracker

Test Case Name

DET
Main Testing Date
22/02/2013
Module
Integration Testing
IT-01
Test Type
Durgesh Kumar Duration
10 Hours
The Unit testing of individual modules should already be performed so that
integrating testing can be performed

Test Case ID
Conducted By
Precondition
Unit Test Included
Objective
Test Case
Priority/Severity
Environmental Needs

PT0981128

UT1,UT2,UT3,UT4,UT5
To Integrate all units of user i.e. Registration, save expenses, manage profile
and view reports
It has highest priority as the main functionality of module lies under this
module.
JDK 1.6 need to be install and individual running properly
Internet Connection Should Be available

Asia Pacific Institute of Information Technology


150

Daily Expense Tracker


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-01-1

User Provide Username and


Password
New user provides basic details and
registers
Expense Reports are available under
Reports module
User changes profile information
Save expenses by turning ON GPS

User Login into the system

Pass

Registration successful

Pass

Reports are available

Pass

Profile Information changed


Latitude and longitude should be
saved along with other details

Pass
Pass

IT-01-2
IT-01-3
IT-01-4
IT-01-5

Integration Testing

Module Name: Task Manager

Project Title

Daily Expense Tracker

Test Case Name

Task Manager

Test Case ID
Conducted By
Precondition

Integration Testing
IT-02
Test Type
Durgesh Kumar Duration
10 Hours
The Unit testing of individual modules should already be performed so that
integrating testing can be performed

Unit Test Included


Objective
Test Case
Priority/Severity
Environmental Needs

UT6
To Integrate all units of task Manager
It is one of the special feature of the DET so its priority will be Medium.

Testing Date

25/02/2013

JDK 1.6 need to be install and individual modules must be running properly
There is no need of internet connection.

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-02-1
IT-02-2

User feeds the task


View Incomplete task

Pass
Pass

IT-02-3

View Complete Task

IT-02-4
IT-02-5

Delete Task
Uncheck the task from incomplete
task list when the task is completed
View Route

Task saved successfully


List of incomplete tasks should
be generated
List of completed task should
occur
List of all tasks should appear
Task is removed from incomplete
to completed one
Route should be displayed

IT-02-6

Integration Testing
Project Title

PT0981128

Pass
Pass
Pass
Pass

Module Name: Reports


Daily Expense Tracker

Asia Pacific Institute of Information Technology


151

Daily Expense Tracker


Test Case Name

Reports

Test Case ID
Conducted By
Precondition

Integration Testing
IT-03
Test Type
Durgesh Kumar Duration
5 Hours
The Unit testing of individual modules should already be performed so that
integrating testing can be performed

Unit Test Included


Objective
Test Case
Priority/Severity
Environmental Needs

UT2,UT4,UT5
To Integrate all units of reports
It is one of the core feature of this system so its severity is HIGH.

Testing Date

27/02/2013

JDK 1.6 need to be install and individual modules must be running properly
There is no need of internet connection.

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

Pass

IT-03-2
IT-03-3

Click on any report


Press for a long time on any of the
expense to view details
Click on View route button

Various reports categories should


be visible
List of expenses should appear
Details along with View route
button should appear
A route should be drawn between
source and destination as
described in UT5
List of expenses should appear

List should not be displayed

Pass

IT-03-4

Click on more reports then select


date wise report. Enter two valid
dates i.e. first date should be less
than last date
Click on more reports then select
date wise report. Enter two invalid
dates i.e. first date should be
greater than last date

IT-03-5

IT-03-6

Pass
Pass
Pass

Pass

7.3.2 Justification for 3rd party tools testing


Test Subject

Test Method

Expected Result

Actual Result

Implementation of Email
& SMS

Developer Register
User and his login
details are sent to his
email id and Mobile
Click on Cumulative
report

Email and SMS


should be sent

Pass: The actual

Chart should be
drawn

Pass: As expected.

Implementation of Graph

result is in accordance
with the expected
result

Note:-This functionality is just an add-on to this system and if they didnt work than system
performance will not adhere.

PT0981128

Asia Pacific Institute of Information Technology


152

Daily Expense Tracker


7.4 System Testing (7 April 2013-16th April 2013)
th

It compromise of three layer of testing, and is closest of everyday experience. Its goal is to
demonstrate performance. And thats why it belongs to functionality testing rather than structural
testing.
System Testing
Project Title

Daily Expense Tracker

Test Case Name

System Testing

Test Case ID
Conducted By
Precondition

System Testing
ST-01
Test Type
Durgesh Kumar
20 Hours
Duration
User Should have his Username and Password with Him/her

Objective
Environmental Needs

To Check Whether Whole System is running fine or not


JDK 1.6 need to be install and individual running properly
Internet Connection Should Be available

Testing Date

02/02/2013

Test ID

Action Performed

Expected Output

Actual Output

Remarks

ST-01-1

Successful Login

Login successful

Pass

User registered
successfully
Save Expense

ST-01-4

Click on Income

Save Income

ST-01-5

Click on debit

Save debit

ST-01-6

Click on credit

Save debit

ST-01-7

Click on Reports

ST-01-8

Click on Expense
Reports

ST-01-9

Click on Income Reports

Identical to
expected result

Pass

ST-01-10

Click on Debit Reports


Click on Credit Reports

ST-01-12

Click on More Reports

Identical to
expected result
Identical to
expected result
Identical to
expected result

Pass

ST-01-11

Multiple reports options


will be shown
Shows top 20 (default)
list of expense reports if
any
Shows top 20 (default)
list of income reports if
any
Shows top 20 (default)
list of debit reports if any
Shows top 20 (default)
list of credit reports if any

Identical to
expected result
Identical to
expected Result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result

Pass

ST-01-3

User Enter URL and


give Username and
password
New User click on
register
Click on Expense

ST-01-2

More options for


report will appear,
just as shown in

Pass
Pass
Pass
Pass
Pass
Pass

Pass
Pass

(Screen 14) in User


Manual

PT0981128

Asia Pacific Institute of Information Technology


153

Daily Expense Tracker


ST-01-13

ST-01-14

ST-01-15

ST-01-16

ST-01-17

ST-01-18

ST-01-19

ST-01-20

ST-01-21

ST-01-22
ST-01-23
ST-01-24
ST-01-25
ST-01-26
ST-01-26
ST-01-27

ST-01-28

Check on Weekly
expense/income and
press get reports
Check on Search for
Credit and enter detail
in Field given below
Check on Search for
Debit and enter detail
in Field given below
Check on Expense of a
particular item and
enter detail in Field
given below
Check on Income of a
particular item and
enter detail in Field
given below
Check on Monthly
Expenses/Savings and
press get reports
Check on Quarterly
Expenses/Savings and
press get reports
Check on Half Yearly
and press get reports
Check on Date Wise
and enter two valid dates
and then press get
reports
Click on any expense
List items
Click on View Route
button
Click on Account setting

Weekly expense and


income report will be
shown
Credit list will appear
with the searched criteria

Identical to
expected result

Pass

Identical to
expected result

Pass

Debit list will appear with


the searched criteria

Identical to
expected result

Pass

Expense list will appear


with the searched criteria

Identical to
expected result

Pass

Income list will appear


with the searched criteria

Identical to
expected result

Pass

Monthly expense and


income report will be
shown
Quarterly expense and
income report will be
shown
Half Yearly expense and
income report will be
shown
Expense and Income
Report will be shown
between those two dates

Identical to
expected result

Pass

Identical to
expected result

Pass

Identical to
expected result

Pass

Identical to
expected result

Pass

Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result

Pass

Identical to
expected result

Pass

Detailed report will be


shown
Route will be shown if
location saved in database
Account setting screen
appears
Save mobile no. and
Message will be sent as
check on various options per the settings made
Click on Profile
Profile Details will be
Management
shown
Click on edit details
Edit details of users
button
profile
Click on Task Manager
Various options of
managing task should
appear
Perform test given in IT- User can perform various
tasks as mentioned in IT02
02

Pass
Pass
Pass
Pass
Pass
Pass

Justification for the use of System Testing


The developer evaluates the system on the basis of various aspects like Usability, Compatibility
& Documentation. The System testing covers all these aspects. System testing is at the top of
all level of testing and has an importance in checking the robustness of the system.

PT0981128

Asia Pacific Institute of Information Technology


154

Daily Expense Tracker


7.4.1 Usability Testing
It is a method to evaluate the product with the help of users and gives direct input the user
how to feel about the system. It focuses on the measurement of the human ability to use the product
with the intended purpose. In order to identify the strengths and weaknesses of usability has been
selected ten volunteers to answer the questionnaire. The features accessed are:

Learnability

Memorability

Efficiency

Testing
Error

Subjective
Satisfaction

Sample Questionnaire (To perform Testing)


Q1 How much time would you think you require to learn the functionality of the system?
<.5 hour
1 hour
1-1.5 hour
1.5- 2 hours
>2 hours
Q2 Rate the system in terms of the efficiency? Whether all the functionalities are working
properly?
<20%
20-50%
40-70%
>80%
Q3 What do you think that the pages in the system are consistent?
< Poor
Average
Satisfactory
Excellent
Q4 Error Messages Displays to user are appropriate
Yes
No
Q5 Are You Satisfied with the System
< 20%
20-50%
40-70%
>80%

Usability Testing Analysis using Questionnaire


Learnability
User Response

< .5 hours
3 Person

1hrs
1 Person

1-1.5 hours
1 Person

1.5-2hours
--

> 2 hours
--

Efficiency
User

<20%
--

20-50%
--

40-70%
2 Person

>80%
3 Person

Memorability
User Response

Poor
--

Average
--

Satisfactory
1 Person

Excellent
4 Person

Error Testing
User Response
Subjective
Satisfaction
User Response

PT0981128

Yes
4 Person

No
1 Person

< 20%

20-50%

40-70%

>80%

--

--

1 Person

4 Person

Asia Pacific Institute of Information Technology


155

Daily Expense Tracker


Result: It can be analyze from the above table that the majority of volunteer are in favor that
usability principles are followed in the system. The average percentage is more than 80%. Hence
usability testing is successful.

7.4.2 Compatibility Testing


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)
The system should run
Fail: Since system is
JDK1.6 need to be
Platform Test 1:
Window XP & JDK1.1 smoothly without
made in JDK1.6 so there
installed
glitches
is a problem in
compatibility
The system should run
Pass: System is running
No more action
Platform Test 2:
Window XP & JDK1.6 smoothly without
smoothly and identical to
glitches
expected result.
The system should run
Pass: System is running
No more action
Platform Test 3:
Window 7 & JDK1.6
smoothly without
smoothly and identical to
glitches
expected result
Web Resolution less
The System Should
Fail: Menus and Form
Resolution should
than 1366x768
have proper display
Alignment Change
equal to 1366x768
For Mobile Application
The system must
Pass: System is
No more action
Hardware Test 1:
Mobile with internet
connect to the internet.
connected with the
facility `
internet.
System must be
Fail: System shows error Use Android SDK
Hardware Test 2:
Android SDK tools less connected to the server
No AVD Found
Version 21.1
than 21 Rev
and run smoothly.
System must run and
Fail: System error API
Use API Level
Platform Test 1:
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

PT0981128

Asia Pacific Institute of Information Technology


156

Daily Expense Tracker


7.4.3 Documentation Testing
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:
Category
Person1
Person 2
Person 3
Person 4
Person 5
90%
88%
89%
94%
93%
Completeness
98%
97%
94%
95%
95%
Correct
91%
90%
87%
93%
89%
Understandable
As noted above, the average of all the three parameters are more than 90%. Hence the
documentation Testing has been done successfully.

7.5

User Acceptance Testing


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).

7.5.1 Justification for the selection of Persons


Name
Mr. Niro Thakur
Android user
Designation
He has already used such a system so he will be judging this system.
Relevancy to system
Justification for the Selection: He is working in IT organization, and he usually used to save his
expenses on his mobile on other system.
Name
Mr. Tanweer Ahmad
Designation
Business man
Will use the system as a business man.
Relevancy to system
Justification for the Selection: As a businessman he knows what and how should be the fields where
he needs to save are and mange expenses.
Name
Mr. Akhilesh Bamhore
Admin
Designation
Will act as an Admin
Relevancy to system
Justification for the Selection: he will be managing the whole system from back end.

PT0981128

Asia Pacific Institute of Information Technology


157

Daily Expense Tracker


User Acceptance Form -1
Name of the Tester
Mr.Niro Thakur
10/04/2013
Date of Testing
1 hour
Through Team Viewer
Duration of Test
Place of Testing
Functionality Acceptance Testing
Category
Rating
Worst
Poor
Average
Good
Best
(1)
(2)
(3)
(4)
(5)
Register User

Task Manager

Save daily expenses

Profile management

Putting limit on expense

Account management

Report Generation

Searching of Expenses

Contact us
The overall functionality is good. One/two modules indicated
Additional Comments
slight improvement.
Usability Acceptance Testing
Rating
Category
Worst
Poor
Average
Good
Best
(1)
(2)
(3)
(4)
(5)
Rate the navigation control

of the system
Rate the ease of use level of

the system
Rate the visibility of Menu

and titles.
Rate the color combination

of the system
Rate the system design

consistency
Rate the system overall

design performance

User acceptance testing -2


Name of the Tester
Date of Testing
Duration of Test

Mr. Tanweer Ahmad


11/04/2013
1 hour

Place of Testing

Functionality Acceptance Testing


Category
Worst
(1)
Register User
Task Manager
Save daily expenses
Profile management
Putting limit on expense
Account management
PT0981128

Poor
(2)

Mr. Tanweer Ahmad


Office

Rating
Average
(3)

Good
(4)

Best
(5)

Asia Pacific Institute of Information Technology


158

Daily Expense Tracker


Report Generation
Searching of Expenses
Contact us
Additional Comments

Some improvement in the mobile functionality is required.


Otherwise overall system performance is good.

Usability Acceptance Testing


Category
Worst
(1)
Rate the navigation control
of the system
Rate the ease of use level of
the system
Rate the visibility of Menu
and titles.
Rate the color combination
of the system
Rate the system design
consistency
Rate the system overall
design performance
Additional Comments

Poor
(2)

Rating
Average
(3)

Good
(4)

Best
(5)

Several pages in Mobile need to be altered. Overall design is


good.

User acceptance testing -3


Name of the Tester
Date of Testing
Duration of Test

Mr. Akhilesh Bamhore


13/04/2013
1 hour

Place of Testing

Functionality Acceptance Testing


Category
Worst
(1)
Register User
Task Manager
Save daily expenses
Profile management
Putting limit on expense
Account management
Report Generation
Searching of Expenses
Contact us
Additional Comments
Usability Acceptance Testing
Category

Poor
(2)

Through Team
Viewer

Rating
Average
(3)

Best
(5)

.
Rating
Worst
(1)

Poor
(2)

Average
(3)

Rate the navigation control


of the system
Rate the ease of use level of
the system

PT0981128

Good
(4)

Good
(4)

Best
(5)

Asia Pacific Institute of Information Technology


159

Daily Expense Tracker


Rate the visibility of Menu
and titles.
Rate the color combination
of the system
Rate the system design
consistency
Rate the system overall
design performance

7.6 Testing Summary


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.

PT0981128

Asia Pacific Institute of Information Technology


160

7.7

Final Traceability Matrix


Use Case

Design
Sequence

User registration
Save Expense

UC-01
UC-02

SD-02
SD-03

AC-02
AC-03

Reports

UC-04

SD-03

Profile Management
Expense Reports

UC-04
UC-05

Task Manager
Login
Graphical Report
Reports of a Month
Change Wall paper
Send Report
View Route

UC-03
UC-01
UC-05
UC-05
UC-06
UC-08
UC-09

Functionality

Activity

Tables

Unit

White
Box

Integration

UT-1
UT-2

AC-03

User
Income, expense,
credit, debit
All Tables

UT-4

WT3

IT-03

SD-03
SD-03

AC-01
AC-03

User, Contacts
All Tables

UT -3
UT-5

WT3

IT-02
IT-03

Tasks
Login option
All Tables
All Tables

UT-6

SD-01
SD-03
SD-03

AC-01
AC-01
AC-03
AC-03
AC-01

SD-03

AC-03

All Tables
All Tables

UT-4
UT-4

UT-4
UT-4

IT-01
IT-01

WT1
WT2

IT-02
IT-01
IT-03
IT-03
IT-03
IT-03
IT-03

System

Screen

Research

ST-01-02
ST-0103..06
ST-0107..22
ST-01-26
ST-0107..22
ST-01-27
ST-01-01
ST-01-25
ST-01-18

6.7.2.2
6.7.2.7

QT-2
QA-10

6.7.2.14..18

QA-03

6.7.2.3
6.7.2.14

QA-03

ST-01-23

6.7.2.20

6.7.2.10
6.7.2.1
6.7.2.14..18
6.7.2.8

QA-05
QA-03
QA-03
QA-09
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.
Documentation Deliverable

Success Achieved

Format
Grammar
Log Sheets
Consistency
All Chapters
Primary Research
Spelling
Ethics Forum
Other Appendices

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

System Requirement

Success Achieved

Application of the principles of Software


Engineering
Application of the useful classes of Source Package
Implementation of 3-tier Architecture
Applicability of Design Principles
Applicability of Usability Features
Integration of 3rd Party tools

Yes

Overall system rating

Yes

Ease Of Use
Allow user to update profile
Allow user to see the details saved in a task
Allow users to save expenses as well as other details
Allow users to view the reports
Allow users to view route
Allow users to use Mobile System
Allow users to use Web System
Allow Users to see the notification
Allow users to send message
Allow users to view graphical reports
Use of Jquery and javascript is done to remove
overload of page reload

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

PT0981128

Yes
Yes
Yes
Yes
Yes

Success Achieved

Asia Pacific Institute of Information Technology


163

Daily Expense Tracker


Research & Analysis

Success Achieved

Primary Research Interview

Yes

Primary Research Questionnaire

Yes

Domain Research

Yes

Technical Research

Yes

Methodology Analysis

Yes

Programming Environment

Yes

Functionality

Success Achieved

Allow users to register themselves

Yes

Allow users to use DET main functionality

Yes

Save Task

Yes

Perform Operations (Mobile and Web)

Yes

View reports

Yes

View Graphical reports

Yes

View route

Yes

View Tasks

Yes

Allow users to put limitations

Yes

8.3 Critical Appraisal


By observing the above evaluation, it can be said that project has met its requirement
and success criteria and has benefits and product is ready to go in market to serve its purpose.
The success achieved is Yes in each criteria which signifies that system is now ready to be
launched in the market. Daily Expense Tracker is the expense managing system that will
help the users who have registered on the site to save their expenses in an efficient and effective
manner with minimum utilization of time.
DET main module provided by DET let the users save and manage their profile
details, save and view the daily expenses.
Task Manager module of this system helps the users to manage his/her daily task to
evaluate the progress of themselves on daily basic.
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.

PT0981128

Asia Pacific Institute of Information Technology


164

Daily Expense Tracker

CHAPTER-9 CONCLUSION
9.1 Limitations of Daily Expense Tracker
1. Platform Dependency in Mobile: This system is specific to some of the Java
enabled mobile having Android OS.
2. While using some of the functionalities of this system e.g. graphical report internet
connectivity is required.
3. Messages to other mobile will not go automatically as charges from the users
account will be done for messaging.
4. There is no option to download or upload pic from this app.

9.2 What more could be done if more time was given?


1. If more time is given developer will definitely focus on enhancing the projects
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.

9.3 Future Enhancements


1. Enhanced GUI of android application: It will be changed in platform to a more open
source platform so that it can be in reach of mobile users.
2. Auto Reminder: A reminder in Mobile which can store data in mobile so even if user is
not connected alarm of mobile can ring and sent notification to user.
3. Finance Module: Right now developer implements only task management module but this
can be integrated with finance which includes resource management, which will be an addon for this project.
4. Resource Module: Due to time constraint Developer isnt able to develop the Resource
Module in which System will maintain the Resources used in completing the Tasks
assigned by user.
5. Stenography: Developer wants to use stenography concept to secure data theft from users
account.
6. Updating Version: Developer developed this module on J2EE, in future he would like to
upgrade it to Struts and also integrate spring to enhance the functionality of this system.
7. Chat Module: Developer like to integrate chat module so to give this system a nice look,
so that user who are saving expenses and using this system can chat with each other.

PT0981128

Asia Pacific Institute of Information Technology


165

Daily Expense Tracker


9.4 Conceptual Challenges:
1. Implementation of project with the technologies like J2EE (JSP, Servlet) and Android.
As J2EE implements security so it was a tedious task to implement modules with the
technology.
2. Implementing security in the system as it is important pages dont show their exact
property and the path to which they were redirecting.
3. Synchronization of mobile and web was a task to be handle efficiently as user is creating
different session at a particular time so there may be chances of data redundancy which
is effectively handle by this system.
4. Using third party tools like Google Graph to implement report functionality of system
5. Managing screen rotation in android so that data could not be lost while saving.
6. Use of file handling to manage session in android because after rotation of screen each
time a new activity is loaded and to give it new session is typical.
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 users 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.

9.5 Learning Experience


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

Time Management: Time management is the foremost developer learned throughout


the development of project. Developer learns how to manage time even in the most
stressful time during the project. It gives developer a working experience on how to
plan our time to obtain the task.

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.

Project Management and Communication Skills: Various project management


methodologies are applied to the proposed system. From here developer learn how to
handle the tasks and deliver a quality product in the end.

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.

PT0981128

Asia Pacific Institute of Information Technology


166

Daily Expense Tracker

CHAPTER-10 REFERENCES
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
corp., G. (2005). Android. Retrieved November 1, 2012, from http://www.android.com/:
http://www.android.com/about/
Favell, A. (2012, June). Global mobile statistics 2012. Retrieved November 15, 2012, from Mobi
Thinking: http://mobithinking.com/mobile-marketing-tools/latest-mobilestats/a#subscribers
James Steele, N. T. (2010). The Android Developers Cookbook. Rights and Contracts Department
501 Boylston Street, Suite 900 Boston, MA 02116: RR Donnelley, Crawfordsville,
Indiana. : Pearson Education, Inc.
Kim, A. (2012, October 12). Coin Keeper. Retrieved October 25, 2012, from
http://coinkeeper.tumblr.com/:
https://play.google.com/store/apps/details?id=com.ifree.coinkeeper&hl=en;http://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. Retrieved 11 12, 2012, from http://www.android.com/:
http://www.android.com/about/
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-ExpenseTacker.html
NA. (n.d.). Waterfall Model. Retrieved 10 20, 2012, from Watefall Model: http://www.waterfallmodel.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/

PT0981128

Asia Pacific Institute of Information Technology


167

Daily Expense Tracker


Peijiang, H. (2012, April 12). Daily Expense Tracker (income and cash-flowLite. Retrieved Ausgust
20, 2012, from http://tiny4.org/app/App_by_tinyfool/Tiny4Money.html:
http://tiny4.org/app/App_by_tinyfool/Tiny4Money.html;http://download.cnet.com/Da
ily-Expense-Tracker-income-and-cash-flowLite/3000-2057_475701667.html?tag=rb_content;contentBody
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-anandroid-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/googleapis/index.html
Unit Testing. (2013). (Microsoft) Retrieved April 1, 2012, from msdn:
http://msdn.microsoft.com/en-IN/library/aa292197(v=vs.71).aspx

APPENDICES

PT0981128

Asia Pacific Institute of Information Technology


168

Daily Expense Tracker


Questionnaire and its Analysis

Question 1

Response

3. Which type of System is currently used by you to save daily expenses?


Desktop Application
Web Application
Mobile Application
Spreadsheet(Note book)
60
40
Series1

20
0
1

Analysis
Question 2

Response

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.
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
50
Series1
0
1

Analysis

Question 3

Response

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.
4. How is the Graphical user Interface of your Current expense saving system?
1. Excellent
2. Intermediate
3. Satisfactory
4. Not satisfied
80
60
40

Series1

20
0
1

Analysis

Question 4

PT0981128

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 its better to represent the options by icons also the shortcut
will provide the quick access of the application
Does your current system take automatic backup of your database?
1.Yes
2.No

Asia Pacific Institute of Information Technology


169

Daily Expense Tracker


Response

100
50

Series1

0
1

Analysis

Question 5

Response

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.
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
100
50

Series1

0
1

Analysis
Question 6

Response

As per the user consensus (60% users are in favor), so developer has developed
this system for multiple users.
Would you like to save income along with expenses in the system?
1. Yes
2. No
3. Cant Say
100
50

Series1

0
1

Analysis
Question 7

Response

As per the user consensus (60% users are in favor), the developer has provided
separate options to save income, credit, debit and expense details.
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.
50
Series1
0
1

Analysis
Question 8

PT0981128

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.
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
Asia Pacific Institute of Information Technology
170

Daily Expense Tracker


Response

50
Series1

0
1

Analysis

Question 9

Response

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.
Would you like to upload your pic in your profile?
1. Yes
2. No
3. May be
100
Series1

0
1

Analysis

Question 10

Response

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.
Should there be an option to delete your data?
1. No
2. Yes
100
50

Series1

0
1

Analysis
Question 11

Response

70% users doesnt wants to delete the data as it might cause a security problem in
future so developer has not provided this option.
Which type of report will you prefer?
1. Graphical Report
2. Textual
3. Both
50
Series1
0
1

Ss

Question 12

PT0981128

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.
Would you prefer a cost effective mobile application rather than a website?
1. Yes
2. No

Asia Pacific Institute of Information Technology


171

Daily Expense Tracker


Response

200
100

Series1

0
1

Analysis
Question 13

Response

100% of users want to have a similar system for handheld devices, so developer
analyzes than Mobile Version of System should be included.
Would you like an option to be there as contact us?
1. Yes
2. No
100
Series1

0
1

Analysis

Question 14

Response

As per the user consensus (70% users are in favor), the developer has decided to
provide finding friends by their mobiles 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.
Do you have internet accessibility in your mobile?
1. No
2. Yes
100
Series1

0
1

Analysis
Question 15

Response

As per the user consensus (70% users are in favor), the developer has decided to
make the system offline if possible.
Would you prefer to visit the website FAQ before contacting the developer?
1. Yes
2. No
3. May Be
100
50

Series1

0
1

Analysis
Question 16

PT0981128

As per the user consensus (60% users are in favor), the developer has decided to
provide a contact us facility in system.
Would you prefer Google-map to find a place?
1. Yes
2. No

Asia Pacific Institute of Information Technology


172

Daily Expense Tracker


Response

80
60
40

Series1

20
0
1

Analysis
Question 17

Response

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.
Do you think that future prediction of this system will be going to help you?
1. Yes
2. No
3. May be
80
60
40

Series1

20
0
1

Analysis
Question 18

Response

60% of users want to know the future saving; developer analyzes the problem and
decided to include Future Prediction functionality.
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
60
40
Series1

20
0
1

Analysis
Question 19

Response

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.
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
60
40
Series1

20
0
1

Analysis
Question 20
PT0981128

40% users face difficulty in managing tasks so developer analyzes the problem
and included Task Manager.
Will you like to save your location from where you are saving your data?

Asia Pacific Institute of Information Technology


173

Daily Expense Tracker


1. Yes
2. No
Response

100
50

Series1

0
1

Analysis
Question 21

Response

80% of the user wants to save their income as well with the expenses So the
developer has provided the save income facility.
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. Cant say
100
50

Series1

0
1

Analysis
Question 22

Response

60% of the user wants to have menu facility. So developer has provided buttons
instead of menu in android.
How likely you would like to change your wall paper with the help of this system?
1. Yes
2. No
100
50

Series1

0
1

Analysis

Question 23

Response

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.
Would you like to have an option to delete your data from your application?
1. No
2. Yes
100
50

Series1

0
1

Analysis

PT0981128

80% users dont 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.

Asia Pacific Institute of Information Technology


174

Daily Expense Tracker


Response

100
50

Series1

0
1

Analysis
Question 24

Response

70% users doesnt wants to delete the data as it might cause a security problem in
future so developer has not provided this option.
Would you like to send report to another mobile?
1. Yes
2. No
3. May be or may not be
60
40
Series1

20
0
1

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
Answer
Purpose
Analysis

As most of the users are using android mobile thats why this system is going to be developed
for android mobile.
To find out the on which platform the project should be developed.
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 4 Do you still need to maintain any additional information as a Hardcopy?
Concluded Most of the users said yes they need to maintain hard copy of their expenses.
Answer
Purpose
To find out any missing fields which should be included in the system.

PT0981128

Asia Pacific Institute of Information Technology


175

Daily Expense Tracker


Analysis

Developer has included those missing fields in the system e.g. Fare, Insurance bill etc.

Question 5 Do you see graphical reports in current system?


Concluded
Answer
Purpose
Analysis

Most of the users said that they do not have option to view graphical reports, but they
really wants to view those graphical reports.
To find out which type of graphical reports to develop.
Developer has decided to make pie charts as graphical reports.

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
Purpose
Analysis

Yes, future prediction will help the user to save his/her money.
To find out whether to include future prediction in the system or not.
Developer has decided to provide future prediction feature in the system.

PROJECT PROPOSAL FORM


Title: Daily Expense Tracker
Please describe the type of the system being developed.
Daily Expense Tracker is an Android based software, which helps you to TRACK your every penny
waste on different cost heading. It saves your money, saves your time - organizing your finances.
Helps you to budget better by giving you control of your money.
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.
Who is system being developed for?
Anyone, ranging from home users to office user and any businessmen 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 todays
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.
Why is such a system required?
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
PT0981128

Asia Pacific Institute of Information Technology


176

Daily Expense Tracker


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.
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 users 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 >>>>>>>>>>>>>>>

PROJECT SPECIFICATION FORM


A. Name
: Durgesh Kumar
Student ID: PT0981128
Title
: Daily Expense Tracker (DET)
Supervisor: Mr. Ankur Singla
B. Brief description on project background.(.i.e. problem context, rationale,
description of problem area, nature of challenge)
Brief Description of Project Background: Firstly question arises what is this DET?
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
PT0981128

Asia Pacific Institute of Information Technology


177

Daily Expense Tracker


expenses but there counting is very less as in todays scenario where there is no time for an
individual to eat properly, sleep properly walk with their belongings for a moment then think for
a moment how can they maintain their dairy which will again put a burden on their mind to
remember those activities which they have done. Those people who want to save their daily
expenses in such a place which will be handy to use. One of the most appropriate places to store
the data is the mobile phone. Also in the dairy system, if the dairy is lost then it will be a heart
locking situation.
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. Its 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.
Description of Problem area:

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.
PT0981128

Asia Pacific Institute of Information Technology


178

Daily Expense Tracker


If the system will be made web based then user needs to access the internet for each time they
have to save the data. Its havoc for the user. Any user cannot afford this if they to save a small
chunk of data they will not wish to login to the internet again and again.
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 todays 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.

PT0981128

Asia Pacific Institute of Information Technology


179

Daily Expense Tracker

Offline and online facility: providing both of the facility to the user so that user will feel free
to work with this system.
Graphical data: Showing graphical data to the user so that user can understand his/her
expenses easily.
System portability: making the system to be portable on various android devices.
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.
Managing reports and sending them on mail: various types of reports will be made and
sent to the users mail so that user can get a clear and more detailed view of the reports.
Apart from these one of the challenges is making the GUI follow HCI principles.
Future saving prediction: on the basis of saving of the week/month predicting the future
savings is one of the challenges to implement.
Knowing the user- To understand the spending habits of people. The manner in which they
spend the money, decisions they take before spending on something. Other challenge would
be of how to make this application make effective to make people use the application, as some
people would consider the application as ineffective in respect to the amount of time they give
in use of the application.
Interaction design and coding is also one of the major challenges of this system.

C. Brief description of project objectives. (I.e. scope of proposal and deliverables)


Project objectiveThe objective of this system is to design such a system for users which will resolve the problems
related with daily expenses and save a lot of money by providing them necessary notifications
and by showing their profit or loss based on daily expenses.
Project Scope & Deliverables
The limitations for this system is as given below
Number of reports rows shown in the mobile will be 5-6 only
This system will run only on android 4.0-API level 16 and lower versions
The website will be deployable on windows xp and later version of windows server only.
While it can accessible from any system
Future prediction will be available for 2 years only
Only the following types of reports will be available for this system
i.
Weekly expense/saving
ii.
Monthly expense/saving
iii.
Quarterly expense/saving
iv.
Half yearly expense/saving
v.
Yearly expense/saving
vi.
Date vise expense/saving
vii.
Expense for a particular item
viii.
Daily expenses
ix.
Debit and credits report
x.
Debit and credits report based on searching a particular name
Current data on website will be shown only in the case if the data is synchronized with
the server, in case data is not synchronized on the server then only the data which is
available till last synchronization will be available to the user.
There is no way to access the data online without the synchronization of data to the
server.
The modules that developer is going to develop i.e. deliverables during the project are:
Members Registration
Save daily expenses
Profile management
Putting limit on expenses
PT0981128

Asia Pacific Institute of Information Technology


180

Daily Expense Tracker

Manage Notifications
Future Prediction
Synchronization of offline-online data
Customization option
Wallpaper customization
Account management
Report Generation
Searching of Members
Contact us
Terms and Conditions

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 mobiles
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.
Feature and functionality:
The feature and functionalities of the application include:
1. Core featuresCore feature of any project is the heart of that project or you can say the features without
which system is incomplete. In this project, developer is developing a complete interactive, user
friendly, effective, feature-rich, multimedia site. Core features are
Members Registration
Save daily expenses/incomes/credits/debits
Profile management
Putting limit on expenses
Account management
Report Generation
Searching of expense on various categories
Contact us
Terms and Conditions
2. Enhance featuresTo make user understand the system better, enhance features are used.
Future Prediction
Synchronization of offline-online data.
Task Manager
3. Special featuresBased 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
Feature learning objectives:
This refers to the learning objectives besides mastering of particular software development or
authoring tools, these objectives are mainly focused on concepts and ideas rather than trained
skills.
Learning objectives1. Learning and practices XML and Android Technology
2. Learning of Google Graph to draw graphical report in android.
3. Learning to integrate android with web to develop a single system.
4. Learning and practices of the advance JSP-servlet and android to make graphs
5. Knowledge about DBMS or Databases

PT0981128

Asia Pacific Institute of Information Technology


181

Daily Expense Tracker


6.
7.
8.
9.
10.

Concept of Human Computer Interaction.


Leaning for a development of Real time bug free system.
Learning and Practices of SQL Query
Learning algorithm for smart prediction based on inputs of a month
Learning algorithm and queries for updating data from the mobile to server

D.
Brief
description
of
the
resources
needed
by
the
proposal.
(I.e. hardware, software, access to information / expertise, user involvement etc.)
Access to information/expertise:
The main objective of this project is to develop the android based application which will save a
lot of money of users and to provide cash in terms of maintenance of website to the developers.
Users will pay to the website as a monthly or yearly payment so that their data will be saved on
the site and they can use it whenever they require.
Below, are the list of hardware and software needed to develop this application.
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 webbrowsers to access the website.
Web Browsers:

PT0981128

Asia Pacific Institute of Information Technology


182

Daily Expense Tracker

Internet Explorer, Mozilla Firefox, Google Chrome


RESOURCE REQUIRED FOR EXECUTION
Software:
1. Android OS (Emulator with google map enabled API level (8-16))
2. Windows XP or above version of Windows or equivalent OS
3. Mozilla Firefox 3.0 with active Flash Plug-in or an equivalent browser
4. Tomcat Apache Server (apache-tomcat-6.0.35)
5. Wampserver for Mysql database.
Hardware:
1. CPU(Min core i3)
2. Android Mobile (API level 8-16)
3. RAM (Min 2 GB)
4. Mouse
5. Keyboard
6. Monitor
Others:
1. Internet connection to view the graphical report.
User Involvement:
While developing this project, different kind of users will be concerned throughout the
development process. These users could provide their opinions, suggestions or even important
feedbacks which will help developer in developing best project.
Users those who will test the system and give evaluations will also be involved in whole process
of development of the system.
These users can be:
Students, Random Online Users having internet accessibility, Business People, Administrator
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.
Other academic research areas that need to be looked into are:
Human Computer Interaction to concern with the design, evaluation and implementation of
interaction computing systems, HCIU guidelines will be studied.
Software Methodology We have different types of methodology to develop a project. In
order to make the system best and perfect and feasible, the developer has to research for the
methodology which best suited the mobile based application.
Information and Resources
Information
For gathering information and user requirements, some technique have to be used which will
provide developer an idea and information about the needs of user. To do so there is a need of
using data gathering technique. Techniques are listed below:

PT0981128

Asia Pacific Institute of Information Technology


183

Daily Expense Tracker


Interview
The interview session will give an outline of people response towards this system. Which type of
system they require? What should be the option in the expense field? The interview process will
be held for a group of users so that more and more opinions will come out for the system.
Questionnaire
The short, structured and grouped questions according to purpose will be very helpful in
gathering usage statistics i.e what and what not to be done. These questioners can be used to
collect both qualitative and quantitative data. The questionnaire will be distributed to IT
personnel who having some experience and insight into the development of such a mobile
applications and web development as well as to the users of the system. The main reason doing
the questionnaire for this project will be to seek and gather all the necessary information that
might be beneficial for the development of proposed system.
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- Schaums 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)
PT0981128

Asia Pacific Institute of Information Technology


184

Daily Expense Tracker


Methodology refers to the set of methods or procedures by which developer is going to achieve
the goal of project. To start a project developer has to identify a suitable software methodology
to develop the system. System development methodologies are promoted as a means of
improving the management and control of the software development process, structuring and
simplifying the process, and standardizing the development process and product by specifying
activities to be done and techniques to be used.
It is often tacitly assumed that the use of a system development methodology will improve system
development productivity and quality. However, there is little empirical evidence to support this
assumption. Thats why we use system development methodology.
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.
Selected Software Development Methodology: V-model
It is an extended waterfall model, adding more details on the validation and verification side. Vmodel gives relationship between each development stages and Testing stages.
Reasons for selecting this methodology are: The requirements are almost identified and can be changed and DET is such a system
whose requirement will go on changing time to time.
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.
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.
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.
The system will be used by a single user so it has to be specific according to the
requirement.
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.
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.
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 doesnt 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

PT0981128

Asia Pacific Institute of Information Technology


185

Daily Expense Tracker


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.
The Validation Phases of the V model
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.
Integration Testing or Interface Testing-In this phase the separate entities will be tested
together to find out the flaws in the interfaces.
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.
Acceptance Testing-In the acceptance test, the integrated product is put against the
requirement documents to see if it fulfills all the requirements.
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.
Specification of duration of tasks or stages in project:
As the project follows the methodology mentioned above, the phases included in the methodology
are further broken into a project plan and each activity is assigned time according to the critical
tasks involved in it.
Total duration-33 weeks
Start date: 31st July 2012
End date: 30th April 2013
Duration: 33 Weeks
1. Project Definition: Duration 4 week 31/07/12 - 03/09/12
Application Idea Generation
Naming (Title) the Project
Feasibility Study
Preparation of Draft Proposal Form
2. Project Planning: Duration - 3 week 20/08/12-03/09/12
Preparing Project Proposal Form(PPF)
3. Requirement Analysis: Duration-6 weeks 12/3/12-21/09/2012
a) Define and Finalize Requirement Specifications
Identify the requirements of the application
Finalize the Requirements
Identify the resources needed as per the requirements
Technologies to be learnt
Goals, Objectives and Scope of the Project
b) Preparing Project Specification Form
c) Investigation & Research
Academic Research
Secondary Research
4. System Design : Duration- 13 weeks (22/09/2012-28/12/2012)
Architectural Design
Storyboarding of various screens
Interface Design
Content Design
Production
Design For Test Plan- Acceptance Test, System Test, Interface Test
5. Development, Implementation and Testing: Duration-16 weeks 02/12/12-23/03/13
Webpage implementation, Application coding, Pseudo code, Testing
o Test Plans
o Black Box Testing
o White Box Testing
6. Project Ending: Duration-5 weeks Duration-4 weeks 24/03/13-29/04/13
Documenting the Application and theories involved in it.

PT0981128

Asia Pacific Institute of Information Technology


186

Daily Expense Tracker


G. Brief description of the evaluation and test plan for the proposed project. (I.e. what is
the success criteria and how will be evaluated & implementation will be tested, indicate
the estimated size of the demonstration/test database)
Evaluation involves judgment of the quality of an object against certain specified criteria. Whether
evaluating fine wine, art, or an educational software program, the evaluator is making
observations or collecting information, and comparing or interpreting that information in order
to make a decision as to the value of that object.
Formative evaluation is the process of evaluating the effectiveness and efficiency of
multimedia/Partial system during the development process. Main points of formative evaluation
are as follow:
It is done at different stages of development- After each milestone developer will be doing
formative evaluation to check whether the system is going to made according to the user or
not.
To check that the product meet users needs-as mentioned above it is done to check whether
the product is meeting the users need or not.
Focus on the process-as mentioned earlier this evaluation is done at process level.
Summative evaluation, in contrast, is the evaluation of the completed product. The worth of a
program or the overall effectiveness of the finished software product is judged.
To assess the quality of a finished product-it is done to check whether the complete system
meets the requirement or not if yes then whether its quality is good or not.
Focus on the results-its main focus is on the final result.
Effectiveness of the system:- Developer will be choosing from observational and co
relational methods for demonstrating whether desired effects occurred, and quasiexperimental and experimental designs for determining whether observed effects can
reasonably be attributed to the intervention and not to other sources.
Evaluation on Success Criteria: Easy navigational features
User is able to read data from mobile
User is able to store his/her expenses in his/her mobile
User is able to search expenses on various parameters
User is able to save daily expenses, incomes, credits and debits
User is able to view the reports based on expert system
Multiple users are able to login with the same application
User is able to put limitation on his budget i.e. expenses should not be more than this
amount.
Evaluation can be done using any of the four strategies
SCIENTIFIC-EXPERIMENTAL MODELS
MANAGEMENT-ORIENTED SYSTEMS MODELS
QUALITATIVE/ANTHROPOLOGICAL MODELS
PARTICIPANT-ORIENTED MODELS
Testing is done throughout the implementation phase and even in design phase. Various testing
techniques are as follows:Black-Box Testing: What is the application going to do is tested here, but how it will do is not an
issue to concentrate upon in Black Box testing. Testing without knowledge of the internal workings
of the item being tested is called Black Box testing. Black Box testing method is applicable to all levels
of the software testing process:
System Testing: Testing conducted on a complete, integrated system to evaluate the system's
compliance with its specified requirements. System testing falls within the scope of black box
testing, and as such, should require no knowledge of the inner design of the code or logic.
Integration Testing: Testing in which modules are combined and tested as a group.
Integration Testing follows unit testing and precedes system testing.
For ex, after testing each unit individually all the modules should be combined and then tested
that if any module is interrupted by other or may be not working in integration with another.
Like searching and updating module working together or not.

PT0981128

Asia Pacific Institute of Information Technology


187

Daily Expense Tracker

Acceptance Test: Acceptance testing is a test conducted to determine if the requirements of


a specification or contract are met. It may involve chemical performance tests also.
White-Box Testing: This application is having complex functionality which involves white box
testing. White Box testing is mainly concerned with the internal functionalities of the application.
Testing based on an analysis of internal workings and structure of a piece of software. The tests can
be conducted based upon the designs, programmed functionalities etc by the developers to make the
system error free.
Unit Testing: Testing of individual software units i.e. for testing paths within a unit. Typically
done by the programmer and not by testers, as it requires detailed knowledge of the internal
program design and code. Functional and reliability testing in an Engineering environment.
Producing tests for the behavior of components of a product to ensure their correct behavior
prior to system integration.
For ex, in searching module, searching of student on various criteria should be tested
individually.
Integration Testing: This testing is used for testing path between units so that there will be
no problem in the system by the developer.
System Testing: Testing conducted on a complete, integrated system to evaluate the system's
compliance with its specified requirements. System testing falls within the scope of black box
testing, and as such, should require no knowledge of the inner design of the code or logic.
For ex, when the developer just focus on results of all modules with no navigation
errors, display error etc and not focusing on coding or how it is implemented than System
testing is been performed.

PT0981128

Asia Pacific Institute of Information Technology


188

You might also like