Sei sulla pagina 1di 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 (Screen2) ................................................................................ 105
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 (Screen 7) ................................................................................ 107
6.7.1.9 Functionality under task manager(Screen 8)............................................................... 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 User Acceptance Testing .............................................................................................. 157
7.5.1 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 user’s daily expenses, saving tasks, changing wallpapers, sending reports to
other mobiles etc.

This system is basically developed for android mobile with API level greater than 8. This
system also provides web interface to the users which has been developed in J2EE.

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 today’s 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 today’s saving. The system can be used by them who are
careless in handling the device e.g. who usually finds their device stolen, broken etc. they can
recover their data from the server. On the other hand, the system could be used to guide the
user for being more expensive by providing notifications. All types of users aging more than
13-14yrs. This system will be used by administrator as well who will be manage the website
and create a back-up plan if required.

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. It’s not so that there does not exist
any system for the same but there are some problems which are listed below. There is lack of
research and functionalities in the current system as well. We are in such an era today that our
most of the work has been shifted to computer; we are surrounded by the computer system
which has made our memory powerless. We feel hard to jot down every expense we do every
day due to lack of time and we used to forget the expenses made during the day. We used to
forget whom we have to give money and how much as well as from whom we have to get. For
this scenario this system is very much helpful to the user as you can write down the name and
money at the same time. There is no need to memorize everything basically cost related tasks
and expenses made during the course as this system provides you with all these facilities.

If you lost your device then the data can be easily downloaded from the website and
hence you can be saved from a disaster.

1.5.1 Problem Area


1.5.1.1 Unable to know savings[PB1] 1.5.1.8 Report generation [PB8]
1.5.1.2 Unable to put limit on expense 1.5.1.9 No Prediction[PB9]
according to budget[PB2] 1.5.1.10 Only one session per
1.5.1.3 No offline-online data mobile[PB10]
synchronization[PB3] 1.5.1.11 Cannot know the position
1.5.1.4 Slow data retrieval while from where the expense has been
searching[PB4] done[PB11]
1.5.1.5 Lack of security [PB5]

PT0981128 Asia Pacific Institute of Information Technology


10
Daily Expense Tracker
1.5.1.6 No backup and recovery for the 1.5.1.12 No option to contact the
data[PB6] developer in case any problem
1.5.1.7 Manually scheduling[PB7] 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 Member’s 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 CF2 CF3 CF4 CF5 CF6 CF7 CF8 CF9 EF1 EF2 EF3 EF4 SF1 SF2 SF3 SF4

PB1 X
PB2 X
PB3

PB4 X
PB5 X
PB6 X
PB7 X
PB8 X
PB9 X
PB10 X
PB11 X X
PB12

PB13 X X
TABLE 1TRACEABILITY MATRIX BETWEEN PROBLEM AND FUNCTIONALITIES
1.9 Assumptions
Following are the assumptions made in this system.
1.9.1. The developer has assumed that the user has an android mobile phone and has practice
about its basic mobile operations.
1.9.2. User should have some knowledge about mobile’s original function that is used in
mobile phone.
1.9.3. It is assumed that user has internet access for synchronizing the data on the server.
1.10 Success Criteria
The system will be successful if all the following tasks are done
1.10.1. All the functionalities given in core are implemented successfully
1.10.2. If proper validations are provided in textboxes
1.10.3. If user is able to save his/her expenses, credit, incomes and debits on server without
error
1.10.4. If very less bugs occur during the testing which are not really harmful
1.10.5. User is able to view the reports successfully from android device.
1.10.6. If multiple users are able to login from one device without any error.
1.10.7. If system does not crashes while installing this software
If the user is satisfied by this system regardless of some small problems then this system will
be a successful system.
1.11 Scope and limitation of the System
Scope and limitations of the system which is to be developed are listed below.
Description of these scope and limitations are already provided in the functionality
module.
1.12 Member’s Registration 1.22 Future Prediction
1.13 Save daily expenses 1.23 Synchronization of offline-online
1.14 Profile management data
1.15 Putting limit on expense 1.24 Task Manager
1.16 Account management 1.25 Saving location based on GPS
1.17 Report Generation 1.26 Customization option
1.18 Searching of Members 1.27 Wallpaper customization
1.19 Contact us 1.28 Sending Reports on mail
1.20 Terms and Conditions 1.29 Sending SMS report to another no.
1.21 FAQ on website
Daily Expense Tracker
1.12 Limitations of the System
The limitations for this system is as given below
1.12.1. Number of reports rows shown in the mobile will be 15-20 only
1.12.2. While it can accessible from any system
1.12.3. Future prediction will be available for 2 years only
1.12.4. Only one user can login at a time from same android device.
1.12.5. Mail will be sent to the primary mail id provided during the registration.
1.12.6. Only the following types of reports will be available for this system
1.12.6.1. Weekly expense/saving 1.12.7. Current data on website will be
1.12.6.2. Monthly expense/saving shown only in the case if the data is
1.12.6.3. Quarterly expense/saving synchronized with the server, in case data is
1.12.6.4. Half –yearly expense/saving not synchronized on the server then only the
1.12.6.5. Yearly expense/saving data which is available till last
1.12.6.6. Date vise expense/saving synchronization will be available to the
1.12.6.7. Expense for a particular item user.
1.12.6.8. Daily expenses 1.12.8. There is no way to access the data
1.12.6.9. Debit and credits report online without the synchronization of data
1.12.6.10. Debit and credits report based to the server.
on searching a particular name
1.13 Feasibility Analysis
Feasibility studies addresses things like where and how the system will operate. It
provides in-depth details about the system to determine if and how it can succeed and serve as
a valuable tool for developing a winning business plan. Feasibility study is further sub-divided
into four categories as described below.
1.14.1 Schedule Feasibility Report
It shows that whether the project development is going as per the schedule or not. This
system is being developed as per the time given in the Gantt chart. All the major and minor
activities are shown in the Gantt chart with completion date for all major activities within the
project that meets organizational deadlines and constraints for affecting change. The main part
of schedule feasibility report is-Gantt Chart- Developer has used this chart for the time
estimation. (Refer to appendix)

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 won’t 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. It’s 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 doesn’t 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 it’s 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
API’s 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 user’s 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 web-
services in this system, showing graphical reports in order to make users understand their profit
and loss etc. this system will be complete if and only if all the functionalities given in core
(Refer to Section 1.8.1) are completed. This is also one of the major challenges i.e. to complete
the system within given time frame.
2.3.4 Challenges in terms of Theory and Software
2.3.4.1 Challenges in terms of Software
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 everybody’s android mobile. The developer thought to use the GPS service
in the app because he thought it would be easy for users to find out from where they made that
expense.

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 V-
Models.
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- Schaum’s outlines, TMH

3.3.3.1.4 Observations
By observing the various sites and users review on those sites developer has been able
to get many points related to the system. E.g. what are the various options which should be
saved in the system? Some of them are listed below.

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 month’s pay PLUS ANY insurance
deductibles
3.3.3.1.4.12 DEBT – All non-mortgage or non-car debt (Morgan(Admin))

PT0981128 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
user’s 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
expenses an alert will be shown. In Expense
manager
developed system notification is
provided whenever user crosses their
limit which they have put on. (NA,
FIGURE 3 EXPENSE MANAGER
Expense Manager, 2012)

PT0981128 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.
(Kim, 2012) FIGURE 4 COINKEEPER- EXPENSE TRACKING

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 X X X X X X X X X X X X X X X X X
JET X X X X X X
EM X X X X
CET X X X X X X X
DETC X X X X

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

Abbreviations:
Daily Expense Tracker-DET (New System)

Just Expenses: Expense Tracker –JET,

CoinKeeper: Expense Tracking-CET,

Daily Expense Tracker (Previous) -DETP

Expense Manager –EM,

Daily Expense Manager (DEM)


Daily Expense Tracker

3.4.3 Qualitative Analysis of Market Research


S.no Features DET JET CET DETP EM DEM
1. Web interface to handle system  
2. Task Management 
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 Marks out of
of Market 100

DET The developer has given all the functionalities 90


which are available in the older systems. But in case
of interface developer lags behind them.
JET This system also provides almost same 75
functionalities like this system but lags in providing
web application, providing location of the user etc.
EM Provides calculator, bar chart, currency converter, 80
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.
CET It provides web interface to save details, but in it we 82
can just save expenses and incomes there is no
category wise saving option.
DETC It provides graphical layout wherever possible e.g. 78
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.
DEM This system is providing budget alert i.e. whenever 75
someone crosses their limit of expenses an alert will
be shown.
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 Questionnaires-

4.1.1.6.1. The analysis of questionnaire is most efficient than other techniques as we can draw the
graphs and analyse the data.
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 developer’s precious time
 It allows participants to express themselves in their own words
 It allows the collection of a large volume of rich data
 It allows discussion, probing and unexpected insights
 It is best for investigating problems

4.1.2. SAMPLE QUESTIONARRIE AND INTERVIEW QUESTIONS


4.1.2.1 Sample questionnaire and its justification

Question 1 1. Which type of System is currently used by you to save daily expenses?
 Desktop Application
 Web Application
 Mobile Application
 Spreadsheet(Note book)
Justification This will help in understanding that which design interface is more understandable
to the user and what are the features that the proposed system must contain.it will
also help the developer to customize the options which is to be provided to the
user. Maps with SF1
Question 2 Which type of System would you like to use for saving your daily expenses?
Desktop Application Web Application
Mobile Application Note book
Justification This will help the developer the mindset of the user whether the user wants to run
with the technology or just want to remain where he/she is. If the user replies
mobile application then most of the questions marked by him/her will be valuable.
Maps with SF1.
Question 3 2. How is the Graphical user Interface of your Current expense saving system?
Excellent Intermediate
Satisfactory Not satisfied

PT0981128 Asia Pacific Institute of Information Technology

42
Daily Expense Tracker

Justification This will provide that how frequently the user access the services and it will help
in designing the user interface like use of metaphors and shortcuts etc. Maps with
SF1.
Question 4 Does your current system take automatic backup of your database?
Yes No
Justification To find out whether their system takes automatic backup of the database or not.
As in our system we are going to give an option for the same. Maps with CF8.
Question 5 Would you like to share your mobile with your family members so that they can
save their expenses using their login id?
Yes No
Justification This will help out the developer on his module i.e. registration whether multiple
people on a single system is beneficial or not. Maps with CF1, CF3, CF5.
Question 6 Would you like to save income along with expenses in the system?
Yes No
Can’t Say
Justification Some people only wants to save their expenses not their income, so to find out
how many such people are there, this question is relevant. Maps with CF2.
Question 7 Would you like to put limit on expenses of a particular item?
Yes No
On all Items Only on some particular item.
Justification This will lead to the fact whether the users really want to put limit on a particular
item. Maps with CF4.
Question 8 Which type of alert you will prefer to get when you exceed your budget or any
new notification comes?
vibrate only vibration along with sound
only notification no sound only sound
Justification To find out which type of notification method is beneficial for the user. Maps with
CF9.
Question 9 Would you like to upload your pic in your profile?
Yes No
May be
Justification This would help in gathering the facts that how users will be going to like this
feature. It will help the developer in finding solutions for CF3.
Question 10 Should there be an option to delete your data?
Yes No
Justification Developer wants to know whether the users really want to delete their data or not.
Maps with CF5.
Question 11 Which type of report will you prefer?
Graphical Report Textual
Both
Justification This will help developer to find the user choice i.e. on which type of report the
developer really needs to work on. Maps with CF6.
Question 12 Would you prefer a cost effective mobile application rather than a website?
Yes No
Justification This would help in gathering the facts that the proposed system will be an
application or a website on the mobile. Maps with EF2.
Question 13 Would you like an option to be there as contact us?
Yes No
Justification This would help in gathering the facts that by which way the users will like to
contact the developer. Maps with CF10.
Question 14 Do you have internet accessibility in your mobile?
PT0981128 Asia Pacific Institute of Information Technology

43
Daily Expense Tracker

Yes No
Justification This would help in gathering the facts that the proposed system should be an online
or an offline system, so according to the user choice, the developer will provide
the functionality. Maps with SF3, EF4 etc.
Question 15 Would you prefer to visit the website FAQ before contacting the developer?
Yes No
May Be
Justification This will help the developer to be updated with the FAQ section of the website.
Maps with CF12.
Question 16 Would you prefer Google-map to find a place?
Yes No
Justification This would help in gathering the facts that how the users would like to find places,
so according to the user choice, the developer will provide the functionality. Maps
with EF4.
Question 17 Do you think that future prediction of this system will be going to help you?
Yes No
May be
Justification This would help in gathering the facts that whether the users would like to use the
future prediction facility or not. Maps with EF1.
Question 18 How likely you will want to access your data from the net using web browsers
Frequently Sometime
More than 5 time a week. Less than 5 times a week
Justification This will help the developer to find out how much traffic will be there on the
website of this system. Maps with CF1.
Question 19 How likely you will be using the task manger present in this system?
Frequently Sometime
More than 5 time a week. Less than 5 times a week
Justification This will help the developer to find out the usage of the task manager. Maps with
EF3.
Question 20 Will you like to save your location from where you are saving your data?
Yes No
Justification This would help in gathering the facts that whether the users would like to save
their location along with the data or not. Maps with EF4.
Question 21 Will you like that fields which should be saved should be present in as a menu
option.
Yes No I will save it manually
Can’t say
Justification This will help the developer to get the options for the development purpose. Maps
with SF1.
Question 22 How likely you would like to change your wall paper with the help of this system?
Yes No
Justification Developer can know from the facts of this question whether this option will be
really helpful or not. Maps with SF2.
Question 23 Would you like to have an option to schedule the mail from your application?
Yes No
Justification This would help in gathering the facts that whether the users would like to send a
report from their mobile to mail for further works or not. Maps with SF3.
Question 24 Would you like to send SMS report to another mobile?
Yes No

PT0981128 Asia Pacific Institute of Information Technology

44
Daily Expense Tracker

Justification This would help in gathering the facts that whether the users would like to find out
whether the user wants to share their data with someone else or not. Maps with
SF4.
Question 25 What are the likely expenses you would like save?(Multiple choice)
Auto, Bus, Train fare Bike Vegetables
Room rent maintenance Electric bill
Car maintenance Insurance Lodging

charge Rice
Shopping Expenses Home Loan Petrol/Diesel
consultation EMI
Medicines Investments ories
Newspaper & Doctors Snacks
magazines Cable/ DTH/ Oil
Medical Tests Broadband Vehicle Loan
Fooding EMI premiums
Justification This would help in gathering the facts which will be customized for savings. Maps
with SF1.
Analysis Most of the user proposed that, please provide the application for free because
they want their all friends to be online on this application.
TABLE 6SAMPLE QUESTIONAIRE AND ITS JUSTIFICATION

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  Auto, Bus, Train fare  Vegetables
 Lodging  Electric bill  Rice
 Snacks  Room rent  Oil
 Car maintenance  Bike maintenance  Petrol/Diesel

PT0981128 Asia Pacific Institute of Information Technology

45
Daily Expense Tracker

 Vehicle Loan EMI  Insurance premiums  Movies &


Entertainment
 Telephone/Mobile  Personal Loan EMI  Home Loan EMI
charge
 Investments  Shopping Expenses  Doctors
consultation
 Medicines  Newspaper &  Medical Tests
magazines
 Cable/ DTH/  Donation/Charity New accessories
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
user’s 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 of-

4.2.1.1.1.4 Multithreading
A program or process can contain multiple threads that execute instructions according to program
code. Like multiple processes that can run on one computer, multiple threads appear to be doing
their work in parallel. Implemented on a multi-processor machine, they actually can work in parallel.
Unlike processes, threads share the same address space; that is, they can read and write the same
variables and data structures. . (IBM Team, 2006)
4.2.1.1.1.5 Handler
A Handler allows sending and processing Message and Runnable objects associated with a thread's
MessageQueue. Each Handler instance is associated with a single thread and that thread's message

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 The Activity class takes care of creating a
android.app.Activity;
window Services which run in background and
they can be started and stopped by activity
classes. There are various methods in this class
e.g. onCreate, onPause etc.
Android.content For calling other activities from activities and
android.content.Intent;
services by providing necessary parameters
android.content.Context;

android.os For passing the data between activities and


android.os.Bundle;
from activities to services.
Binding the data with activities.
Android.view For providing the actions to the layout
android.view.View.OnClickListener;
elements like buttons.
android.view.View;
Android.widget For using layout object like buttons, textview.
android.widget.Button;
For messages Toast can be used.
android.widget.EditText;
android.widget.Toast;

PT0981128 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 For reading the data, received from Apache
java.util.ArrayList;
server and subsequently for throwing errors
java.util.List;
java.util.TreeMap; List, ArrayList and TreeMap is used to store
java.util.Date; the data into file and get it one by one.
java.io To read and write data from file.
java.io.BufferedReader;
java.io.IOException;
java.io.InputStreamReader;
java.io.FileOutputStream;
java.io.File;
java.io.UnsupportedEncodingExcepti
on;
org.apache.http For receiving HTTP response and
org.apache.http.NameValuePair;
subsequently sending the data to server.
org.apache.http.message.BasicName
ValuePair;
org.apache.http.params.HttpParams;
org.apache.http.impl.client.DefaultHt
tpClient;
org.apache.http.impl.client.BasicRes
ponseHandler;
org.apache.http.client.utils.URLEnco
dedUtils;
org.apache.http.client.methods.Http
Post;
org.apache.http.client.methods.Http
Get;
org.apache.http.client.entity.UrlEnco
dedFormEntity;
org.apache.http.client.ResponseHan
dler;
org.apache.http.client.HttpClient;
org.apache.http.client.ClientProtocol
Exception;
org.apache.http.NameValuePair;
org.apache.http.HttpResponse;

android.database To access the various criteria’s, queries, and


android.database.SQLException; data from the SQLLite database.

PT0981128 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 To find out the exceptions we print them in log


android.util.Log;
which is viewed under logcat.
java.net To access the URI of a particular website.
java.net.URI;
java.net.URISyntaxException;

android.text Provides classes used to render or track text


android.text.Editable;
and text spans on the screen.
android.text.TextWatcher;
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 Provides APIs for monitoring the basic phone
android.telephony.SmsManager;
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 The javax.servlet package contains a number
javax.servlet.ServletException; of classes and interfaces that describe and
javax.servlet.http.HttpServlet; define the contracts between a servlet class
javax.servlet.http.HttpServletRequest; and the runtime environment provided for an
javax.servlet.http.HttpServletResponse; instance of such a class by a conforming
javax.servlet.http.HttpSession; servlet container.

PT0981128 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 doesn’t 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 won’t 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.

Requirements Analysis Usability Testing


Design

System Design System Testing

Integration
Architecture Design
Testing

Module Design Unit Testing

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. V-
model gives relationship between each development stages and Testing stages.

Reasons for selecting this methodology are: -

4.2.3.1.1. The requirements are almost identified and can be changed and DET is such 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 doesn’t fit right in the
design, then the user is made aware of it and changes are accordingly planned.
4.2.3.2.3. Architecture Design-The architecture design, also known as the computer
architecture design or the software design should realize the modules and the
functionality of the modules which have to be incorporated.
4.2.3.2.4. Module Design-In the module design, the architectural design is again broken up
into sub units so that they can be studied and explained separately. The units are
called modules. The modules can separately be decoded by the programmer.
4.2.3.3. The Validation Phases of the V model (NA, Waterfall Model, n.d.)
PT0981128 Asia Pacific Institute of Information Technology

57
Daily Expense Tracker

4.2.3.3.1. Unit Testing-A unit in the programming system is the smallest part which can be
tested. In this phase each of these units are tested.
4.2.3.3.2. Integration Testing or Interface Testing-In this phase the separate entities will be
tested together to find out the flaws in the interfaces.
4.2.3.3.3. System Testing-After the previous stage of interface testing, in this phase it is
checked if the system meets the requirements that have been specified for this
integrated product.
4.2.3.3.4. Acceptance Testing-In the acceptance test, the integrated product is put against the
requirement documents to see if it fulfills all the requirements.
4.2.3.3.5. Release Testing-It is in here that judgment has to be made if the product or software
which is created is suitable for the user.
4.2.3.4 Justification

After some deliberation and discussion the developer settled upon using Waterfall Model
for the development of this system. The most tempting factor for selection of V-Model is-

4.2.3.4.1. Stable project requirements: As in our project most of the user requirements are
freeze at the time of PSF so it indicates a stable project requirements and Waterfall
methodology completely supports a project which has requirements decided in
advance.
4.2.3.4.2. Progress of system is measurable: After each step it produces the documentation and
as the structure of our Final year project we need to submit the documentation after
each phase so it will be best suitable.
4.2.3.4.3. Strict sign-off requirements: As the developers goal will be to satisfy the user and until
the user will be satisfied the developer will be providing the user desired functionalities
and proper features so this methodology will be best suitable.
4.2.3.4.4. The emphasis on requirements and design before writing a single line of code ensures
minimal wastage of time and effort and reduces the risk of schedule slippage, or of
customer expectations not being met.
4.2.3.4.5. In modified waterfall model life cycle phases are permitted to overlap. Because of the
phases overlap, a lot of flexibility has been introduced in the modified waterfall model in
software engineering. At the same time, a number of tasks can function concurrently,
which ensures that the defects in the software are removed in the development stage itself
and the overhead cost of making changes to the software before implementation is saved.
(Satalkar, 2010)

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/13-
29/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 follows-

The developer has decided to make the system for offline using SQLLITE database and online using
MYSQL database. Developer has decided to make the system for Android device with higher
configuration than Android version 2.0 and for desktop and other devices with the help of web
application.

Multiple logging has been provided in a single system. Along with the expense; income, credit and
debit will be saved in the system.

The developer has decided to provide metaphors for increasing learning ability also the developer
will try to provide shortcut-keys, so that users can get quick access of the application.

The developer has decided to provide limit on the expenses so that if the users crosses the limit it
will generate a notification reminding the user has crossed the limit of the month.

The developer will provide an option to upload the profile pic in the system. Developer will be
providing both types of reports i.e. graphical as well as textual report. Developer has decided to
provide the option to view the location where the expense was saved using latitude and longitude,
which will be used in future for visiting the same location using Google map.

The developer has decided to provide the future saving prediction feature in this system. Developer
will be providing SMS feature in the system so that user can send the expense report to another
mobile.

PT0981128 Asia Pacific Institute of Information Technology

61
Daily Expense Tracker

5.2 Quantitative Analysis

Primary Research Analysis


QA1 Customization 40% of user wants to filter the data, so developer analyzes
searching facility should be provided
QA2 Notification 40% of user wants to receive notification, so developer
analyzes Notification facility should be provided
QA3 Reports 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
QA4 Mobile Version 100% of users want to have a similar system for handheld
devices, so developer analyzes than Mobile Version of
System should be included.
QA5 Task Management 40% users face difficulty in managing tasks so developer
analyzes the problem and included Task Manager.
QA6 Future Prediction 60% of users wants to know the future saving, developer
analyzes the problem and decided to include Future
Prediction functionality
QA7 Mobile Application 40% users wants to save their expense on Mobile so
developer has developed the system on Android Mobile.
QA8 Web Application 40% users wants to view the reports and save the
expenses on web also, so the developer has developed
web application also.
QA9 Send Report to others 50% users wants to send their reports to others e.g.
guardians so the developer has given the option to send
message and email.
QA10 Save Income 80% of the user wants to save their income as well with
the expenses So the developer has provided the save
income facility.
QA11 Limit on expenses 40% of the users wants to put limit on their expenses so
the developer has provided this option under account
setting.
QA12 Upload Pic 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.
QA13 Delete option 70% users doesn’t wants to delete the data as it might
cause a security problem in future so developer has not
provided this option.
QA14 Google Map 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.

PT0981128 Asia Pacific Institute of Information Technology

62
Daily Expense Tracker

5.3 Analysis to Requirement Traceability

Q no./ C C C C C C C C C E E E E S S S S
Function F1 F2 F3 F4 F5 F6 F7 F8 F9 F1 F2 F3 F4 F F F F
alities 1 2 3 4
Q1 X
Q2 X
Q3 X
Q4 X
Q5 X X X
Q6 X
Q7 X
Q8 X
Q9 X
Q10 X
Q11 X
Q12 X
Q13
Q14 X X
Q15
Q16 X
Q17 X
Q18 X
Q19 X
Q20 X
Q21 X
Q22 X
Q23 X
Q24 X
Q25 X
I1 X
I2
I3 X

PT0981128 Asia Pacific Institute of Information Technology

63
Daily Expense Tracker

I4 X
I5 X
I6
I1-I6 : Interview Questions
Q1-Q25: Questionnaire
CF1-CF9: Core Functionalities
SF1-SF4: Special Functionalities
EF1-EF4: Enhanced Functionalities
TABLE 10 TRACEBILITY MATRIX BETWEEN QUESTIONAIRE AND FUNCTIONALITES
5.4 Critical Evaluation of Analysis

After the analysis of the questionnaire the developer has come to the point that to make a
system efficient and handy a suitable data gathering technique must be used. And hence after the
analysis developer has found answer of many questions on which he was not sure about. Initially
the developer had thought of the system which will consist of only saving and that too on webserver
but according to the feedback of the users, he decided to make it for saving credits and debits as
well and make the system for both offline as well as online. Developer has reached the conclusion
because of the feedback of the users which has been gathered by the questionnaire and interview
questions.

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 inter-
relationship among the same components as the original problem. Input, output and processing
specifications are drawn up in detail.” (Anonymous, 2010).

So Developer analyzes the requirements and problem and decided to provide Structural Diagram
or Detailed Design for these functionalities.

5.2 Traceability Matrix between Analysis and Design


Requirement Analysis Design
Use Case Activity Diagram Sequence Diagram
Profile Management UC-01 AC-01
Registration UC-02 AC-02 SD-02
DET UC-03 AC-03 SD-03
Task Manager UC-04 AC-01
Report UC-05 AC-01
Change Wall Paper UC-06 AC-01
Future Prediction UC-07 AC-01
Send Report UC-08
View Route UC-09
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 object-
oriented 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

«extends» Android

«extends»

Registration

«extends»
DET Put limitation
«uses» Expenses <<Include>>
«extends»

«uses» «extends»
Income
Task manager <<Include>>
«uses» «extends»
<<Include>>
«uses»
<<Include>> Debit
Profile management
«uses»
Credit

User
«uses»
Future Prediction
Login

<<Include>>
«extends» Credit Report
«uses»
Report
«extends»

«uses» Expense Report


«uses» «extends»

«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


4 Profile management User can manage their profile with this functionality
1 Registration The user will feed personal details into the System
2 DET DET can manage the information of expenses
3 Task manager User can save and manage the tasks in the system.

5 Report User can view the various reports like expense, income etc.
6 Change Wall Paper User can click a pic and use it as wallpaper
7 Future Prediction User can view the expected future savings
8 Send Report User can send the expense report to another mobile.
9 View Route User can view the route from the current location to that
location where the expense or task was saved.
TABLE 12 OVERVIEW OF USE CASE

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» Delete Image

<<Include>> «extends»
View
«extends» Upload & Manage
Image

Profile management
«uses»

«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 UC-01


Name Profile management
Goal User can manage their profile,
Description User can manage their profile and do changes
whenever required.
Actor(s) Application-User(Customer)
Assumption  User has registered into the System
Pre-Condition  User is Logged into the system
Post-Condition  User successfully updates his/her own details.
Happy Pathway 1. User logs into the system
2. User views the profile.
3. User is able to edit the profile.
Alternate Pathway(s):  User logs in the web application and
Exception Pathway(s): 1. 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 UC-02


Name Registration
Goal User registers in the system.
Description User can register into the system and cerate account.
Actor(s) Application-User(Customer)
Assumption  User has internet connection available
 User has installed this app.
Pre-Condition  User is Logged into the system
Post-Condition  User successfully operate the system
 User can do all activity in particular time.
Happy Pathway 1. User register into the system
2. User can manage the expenses properly.
3. User gets feedback of registration successfully done.
Alternate 1. User can register through the web application.
Pathway(s)/Exception
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>>
USER «extends»
<<Include>>
Credit

Debit

FIGURE 14 USE CASE DIAGRAM OF DET

Use Case ID UC-03


Name DET
Goal To manage users daily expenses
Description It is used to save expenses and view reports.
Actor(s) Application-User
Assumption  Users are using this application to manage
their daily expenses.
Pre-Condition  User has logged in the system.
Post-Condition  User can save the records
Happy Pathway 1. User uploads the data(all their expenses)
2. Admin runs the monitor application
3. Admin analyzes the reports
Alternate Pathway(s)/Exception 1. No user uploads the data means no one is using
Pathway(s): 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

«extends» <<Include>>

Add Task
«extends»
«uses»
Task manager

<<Include>>
«extends»
View Incomplete
USER «extends»
Task

View

«extends»

View complete Task

FIGURE 15 USE CASE DIAGRAM OF TASK MANAGER

Use Case ID UC-04


Name Task manager
Goal View all task details and add the task.
Description This is for view, create and delete the task.
Actor(s) Application-User(Customer)
Assumption  User has installed this application on his
device.
Pre-Condition  User has added the task.
Post-Condition  User successfully creates and delete task.
Happy Pathway 1. User creates the task.
2. User manages and deletes the task.
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

Credit Report
<<Include>>

«extends»

«extends» Expense Report


«uses»
Report
«extends»

User «extends» Income Report

«extends»

«extends» Debit Report

cummulative Report

Graphical Report

FIGURE 16 USE CASE DIAGRAM FOR REPORT

Use Case ID UC-05


Name Report
Goal User can view reports.
Description User can view all the reports of DET e.g. credit report,
debit report.
Actor(s) User of the app
Assumption  User has already inserted some records in that
month.
Pre-Condition  User will have to login to the system.
Post-Condition  User views the list of expenses and detailed
expense report of a particular item.
Happy Pathway 1. User views the expense, income, and credit
and debit report.

PT0981128 Asia Pacific Institute of Information Technology

73
Daily Expense Tracker

2. User views the route to from current


position to the destination where data was
saved.
Alternate Pathway(s)/Exception User can view the report from the web.
Pathway(s):
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 UC-06


Name Change Wallpaper
Goal User can Change Wallpaper.
Description User can click a pic and use it as wallpaper
Actor(s) User of the app
Assumption  User has camera in mobile.
Pre-Condition  User has clicked a pic.
Post-Condition  User has change the wallpaper of mobile.
Happy Pathway 1. User is able to change the wallpaper of
mobile.

Alternate Pathway(s)/Exception User can change wallpaper by choosing a pic from


Pathway(s): gallery.
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» DET
<<Include>>
Future Prediction

«extends»

Yearly Predicition
«extends»
USER

2- Yearly
Prediction

FIGURE 18 USE CASE DIAGRAM-FUTURE PREDICTION

Use Case ID UC-07


Name Future Prediction
Goal To view the future savings.
Description User can view the expected future savings
Actor(s) User of the app
Assumption  User has saved some records in the system.
 User has access of internet.
Pre-Condition  User has logged in the system
 User has saved some records in the system.
Post-Condition  User has viewed the future prediction.
Happy Pathway 1. User is able to view the future prediction.

Alternate Pathway(s)/Exception User can calculate the future prediction manually.


Pathway(s):
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 UC-08


Name Send Report
Goal Send reports on other mobile.
Description User can send the expense report to another mobile.
Actor(s) User of the app
Assumption  User has saved a mobile no. in the app.
Pre-Condition  User is logged in the app.
Post-Condition  Report is sent on the other mobile.
Happy Pathway 1. User is able to send report on other mobile.

Alternate Pathway(s)/Exception User can send the report using mail.


Pathway(s):
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 UC-09


Name View route
Goal User can view route
Description User can view the route from the current location
to that location where the expense or task was
saved.
Actor(s) User of the app
Assumption  User has saved the record from mobile app.
 User has turned ON the GPS of the system.
Pre-Condition  User is logged in the system.
 GPS is turned ON.
Post-Condition  User is able to view the route between
source (current location of user) and
destination (from where the record was
saved).
Happy Pathway 1. User is able to view the route.

Alternate Pathway(s)/Exception User can remember that location and use Google
Pathway(s): map to view the route.
TABLE 22 USE CASE DESCRIPTION-VIEW ROUTE

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() validateUser() validationProcess

success/failure

completeRegistration() saveRecords()

Display appropriate message success/failure

PT0981128 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 Task Manager Change Wall Paper

Login

[Login Failure]

Completed Task Add Task View Task

[Login Success]

Reports Account Setting


Expense

Profile Quick
Expense Credit
Expense Management 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>
Enter Registration Invalid Data >
Details

Check
Reading data
Validations
Submit
Details Valid User 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
Reading data
Validations
Login
Details Valid User Login

DET

Save Save
Save Credit Save Debit
Expense Income

Invalid Data
Check Front End Save Data
Validations

Valid Data

Save
Details

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

5.3 Entity Relationship Diagram (ERD)

PT0981128 Asia Pacific Institute of Information Technology

82
Daily Expense Tracker

Role Login USER

PK Role_id PK USER_ID

Role Username FK1 USER_ID


ROLE_Description FK1 Role_id First_Name
password Middle_Name
security_qsn LastName
answer Father_Name
Gender
DOJ
DOB
DOU
Status

Contact

Expense FK1 USER_ID


Income Mobile
PK expenseid District
PK incomeid Village
expense_type State
amount incomeype Pincode
FK1 locationid source Town
dateofexpense amount E_mail
FK2 USER_ID FK1 locationid Nationality
dateofincome type
FK2 USER_ID

Debit
Credit
PK debitt_id
PK credit_id
to
from
Installment_amount
Installment_amount
Total_amount
Total_amount
debit_Date
Credit_Date
FK1 locationid
FK1 locationid
Locations1 Expected_dogiving
Expected_dor
Actual_dogiving
Actual_dor
PK locationid installment_type
installment_type
nofInstallment
nofInstallment
latitude FK2 USER_ID
FK2 USER_ID
longitude

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 -Every Methods has two Parameters i.e. as


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

RegisterWebUser CompleteRegistration UpdateProfile

+selfRegistration() +completeRegistration() +updateProfile()


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

RegisterAndroidUser

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

Connection Statement ResultSet


ValidateUser
-username
ADMIN
-End4 * -password
+End2 * -End6 * -Name : String
-Address : String
-from
-Contact +selfRegistration()
+End1 1
-End3 1
-Role +doPost()
-LoginDetails +validateUser()
-Others
SqlDb +getFrom() : String
+validateUser()
+Connection conn +viewUsers()
+setPassword()
+PreparedStatement ps -End5 +viewFeedback() +setPassword()
+ResultSet rs,rs1 +giveFeedback() +getUsername()
+openConnection() 1 +createAdmin() +setUsername()
+completeRegistration()
+closeConnection() +updateProfile()
+validateLogin() : Boolean
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, Account Setting
etpassword, etemail:EditText Btnsave:Button
spJob:Spinner etfname, etmname,etlname,
fname, mname, password, email, etpassword, etemail:EditText
lname:String spJob:Spinner
Error:TextView fname, mname, password, email,
onCreate(savedInstanceState:Bundl lname:String
e):void Error:TextView
Save:void onCreate(savedInstanceState:Bundl
e):void
Save:void

CompleteUserDetails

onCreate(savedInstanceState:
Bundle):void
Save:void

Debit Credit
spnDebit:Spinner spnCredit:Spinner
etto, etDebitPrincipal, etfrom, etCreditPrincipal,
etTotalAmount, etTotalAmount,etDescription,
etNoInstallments,etOthersDebit:Edit etNoInstallments, etOthers:EditText
Text etExpectedDor:DatePicker
dtExpectedpay:DatePicker btnSaveCredit:Button
btnSaveDebit:Button from, CreditPrincipal, TotalAmount,
to, DebitPrincipal,TotalAmount, InstallmentType, Description,
InstallmentType, ExpectedDor, NoInstallments,
ExpectedDor, NoInstallments, userid,othersInstallment,date:Strin
userid,othersInstallment,date:Strin g
g
onCreate(savedInstanceState:Bundle):vo
onCreate(savedInstanceState:Bundle):vo id
id

Expense Income

spnExpenseList:Spinner spnIncomeList:Spinner
etExpenseOthers, etDescription, etIncomeOthers, etSource,
etAmount:EditText etAmount:EditText
dtExpectedpay:DatePicker dtDateOfReceiving:DatePicker
btnSaveExpense,:Button btnSaveIncome,:Button
expenseOthers,description,amount,ex incomeOthers,source,amount,incomeTy
penseType,userid:String pe,userid:String

onCreate(savedInstanceState:Bundle):vo onCreate(savedInstanceState:Bundle):vo
id id

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 Mobile No. Type(P/S) User id

5.6.2 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 AB , 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)
1NF: First No duplicity in the same table and separate As atomicity of value is the primary concern in this phase, all the relation has
Normal table for each group related data. only atomic values. None have non-atomic values. Therefore, table passes the
Forum first normal form
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 - Contact Role id Role
d j ct id Type
1 ABC,DE JKl Male - - C1 11,22 DDD FFF 13210 -- Primary 1 User
1 ABC,DE JKl Male - - C2 11,22 SSS JJJ 45687 -- Secondary 1 User
Daily Expense Tracker

From the above table we can clearly see that name and contact are multivalued attribute. Atomicity is not maintained i.e. one value in one
cell. So to make it in 1NF we need to make table atomic in nature as given below.

Useri First_na Last Fna Gende Do Contact Mobile Villag State Pincode - Contact Rol Role
d me nam me r j id e Type e id
e
1 ABC DE JKl Male - C1 11 DDD FFF 132103 ---- Primary 1 User
1 ABC DE JKl Male - C2 12 SSS JJJ 456878 ---- Secondary 1 User

In the above table to save primary contact details and secondary contact details user needs to save the same data e.g. first name, middle
name etc. again and again. Therefore it is well understood that one task have to be repeated for each action. So there is nested relationship present
in this table. So there is violation of normalization as data redundancy is there and a particular tuple has more than one non-atomic attributes
present in the give un-normalized table.

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 Dou Contact Mobile Village State Pinco - Conta Role Role
d me name me r j id de 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 1 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 Mobile no. Mobile type Village State Pincode Country

PT0981128 Asia Pacific Institute of Information Technology


89
Daily Expense Tracker
Third Normal Form

Third Normal Form is based in the concept of transitive dependency. Functional dependency AB in a relation schema R is a transitive
dependency if there are set of attributes Z that is neither a candidate key no a subset of any key of R.

Userid First name Last name Gender Doj Dou Contact id roleid role

Here role is directly dependent on roleid and there can be multiple mobile no.s for one user. So in order to convert it into 3NF we need to
separate them as follow. Final tables looks like

USER Table
Userid First name Last name Gender Doj Dou Role id Status

ROLE Table
Roleid Role Role description

CONTACT Table
Contact id Village State Pincode Country Type(P/S) User id

MOBILE Table
Mobile id Mobile No. Type(P/S) User id

PT0981128 Asia Pacific Institute of Information Technology


90
5.7 Physical Design of Table Structures

User Table

Attribute Description Data Type Size Not


Null
Userid Unique identification id Int 11 Yes
Fitst name Name of user Varchar 20 No
Middle Name Middle Name of user Varchar 20 No
Last Name Last name of user Varchar 20 No
Father Name Father’s name of user Varchar 30
Gender Gender of user Varchar 6 No
Doj Date of joining Date time Yes
Dou Date of last updation Date time No
Role id Designation of the user in the Varchar 30 No
organization.
Status Status of user e.g. active or inactive Varchar 8 Yea
Constraints
Primary Key User id
Foreign Key Role id
Relationship This table has relationship with Role table.
Description
TABLE 23 PHYSICAL DESIGN OF USER TABLE

CONTACT

Attribute Description Data Type Size Not Null


Contact id Unique id provided in contact table Int 11 Yes
Userid Unique identification id Int 11 Yes
Village Village name of user Varchar 20 No
State State name of user Varchar 20 No
Pincode Pincode of user Varchar 6
Country Counry of user Varchar 30 No
Type Primary address or secondary Varchar 9 Yes
Constraints
Primary Key Contact id
Foreign Key User id
Relationship This table has relationship with User table.
Description
TABLE 24 PHYSICAL DESIGN OF CONTACT TABLE
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
helios-win32) 2013
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
WEB SYSTEM priority:10
Priority:9

Save Save
Registration:9 Save Credit:8 Save Debit:8 Reports:7
Expense:8 Income:8

Quick
Expense
Report:6

Future Expense Income


Graphical Credit Debit
Prediction:5 Reports:7 Reports:7
Report:7 Reports:7 Reports:7

Account Task Manager:8


User Manual User Manual Login:9
priority:4 Setting:6 priority:5

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 Pair Source Code Incremental
Development Programming Control & Build Coding
Approach
Advantage Avoid re-testing of Code typing and Least complex Simplest method
codes and reviewing take way to integrate to follow a linear
performed in less place the project approach.
time. simultaneously
Disadvantage Testing require Loss of Sometimes may As it is not
efficient approach productivity as result in iterative so it
require two redundancy creates chances
people 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 Save Perform


Expense Expense Action

Verify
END
Action

Use Case Use Case has been provided in Analysis Section (UC-03)
Code Snippet (in relation with above approach)
Pseudocode for Saving Expense on Web Pseudocode for Saving expense on Mobile
START START
Variable expenseType,amount,description Variable expenseType,amount,description
Fill Details of Expense from list Fill Details of Expense from list
If Others is Selected then If Others is Selected then
Make Others Textbox visible Make Others EditText visible
Fill expenseType with value of others Fill expenseType with value of others edittext
textbox Else Fill expenseType with value of selected list
Else Fill expenseType with value of selected item

PT0981128 Asia Pacific Institute of Information Technology


96
Daily Expense Tracker
list item END IF
END IF Fill all the text boxes
Fill all the text boxes Press Save button
Press Save button If data passed to server then
If error occurs then Save it in database
Msg=”Sorry data not saved” Else show error message
Else Msg=”Expense Saved” END IF
END IF If error occurs then
STOP Msg=”Sorry data not saved”
Else Msg=”Expense Saved”
END IF
STOP
SREENSHOT-
Screen 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


Objective To show the reports to the user
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
SREENSHOT-
Screen 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. Java.util
Sr no. Class Description
1 BufferedReader This class reads text from a character-input stream,
buffering characters so as to provide for the
efficient reading of characters, arrays, and lines
Code Snippet BufferedReader bfr = new BufferedReader(new InputStreamReader(
openFileInput(infile)));// to read the contents
of file
2 TreeMap A TreeMap provides an efficient means of storing
key/value pairs in sorted order, and allows rapid
retrieval.
Code Snippet TreeMap<String, String> map = new TreeMap<String, String>();
//to store the elemnts into name value pair.
3 JSONParser To pass the httprequest to the server
Code Snippet JSONParser jp = new JSONParser();//to pass the values on the server side
from the android app.
4 List The List interface extends Collection and declares
the behavior of a collection that stores a sequence
of elements.
Code Snippet List<NameValuePair> params = new ArrayList<NameValuePair>();
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 = System.out.println(e.getMessage());
(FileConnection) Connector.open(url, } catch (SecurityException e) {
Connector.READ); fileConn.openInputStream();
InputStream fis = long overallSize =
rivate void displayAllRoots() { fileConn.fileSize();

PT0981128 Asia Pacific Institute of Information Technology


100
Daily Expense Tracker
setTitle("[Roots]"); int length = 0;
deleteAll(); byte[] filedata = new byte[0];
Enumeration roots = rootsList.elements(); while (length < overallSize)
while (roots.hasMoreElements()) { {//converting the selected file to bytes
String root = (String) byte[] data = new
roots.nextElement(); byte[CHUNK_SIZE];
append(root, null); int readAmount = fis.read(data, 0,
} currentRoot = null;} CHUNK_SIZE);
private void openSelected() { byte[] newFileData = new
int selectedIndex = getSelectedIndex(); byte[filedata.length + CHUNK_SIZE];
if (selectedIndex >= 0) { System.arraycopy(filedata, 0,
String selectedFile = newFileData, 0, length);
getString(selectedIndex); System.arraycopy(data, 0, newFileData,
if length, readAmount);
(selectedFile.endsWith(FILE_SEPARATOR)) { filedata = newFileData; length +=
try { readAmount;}
if (currentRoot == null) { fis.close();
urrentRoot = (FileConnection) fileConn.close();
Connector.open("file://" + selectedFile, //here u can write a code to connect
Connector.READ); 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 doesn’t
provide any inbuilt tool for that and developer has to use third party tool to implement this
functionality

Solution
Developer Uses third party tool Google Graph API to implement this module

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 DET main Screen After login (Screen 4)

PT0981128 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 Save task screen(Screen 9)

PT0981128 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 can view all task.

6.7.1.12 Detailed task description (Screen 11)

PT0981128 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 More report (Screen 14)

PT0981128 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 Save Expense (Screen 3)

PT0981128 Asia Pacific Institute of Information Technology


113
Daily Expense Tracker

Save
expense
6.7.2.4 Report (Screen 4) category

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
Profile pridiction Setting Search Logout

Home

Credit
Expense Income Credit Debit Quick Report Expense report report

Debit
Interest
report
Intrest Calculator
calculator

Account
setting Reports

Cumulative
Report

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 STEP 6

PT0981128 Asia Pacific Institute of Information Technology


119
Daily Expense Tracker

Setting Apache
Directory Location

STEP 7 STEP 8

Finally Installing
Netbeans

6.9.2 Installing Wampserver for MYSQL database


STEP 1 STEP 2

STEP 3 STEP 4

PT0981128 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 Exporting database in MYSQL


STEP 9 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 Running Android FYP web application(DET Web app)

PT0981128 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 doesn’t 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: STEP2:Browse the project folder and select it
Go to File-> Import-> And then press OK button.
Select Existing projects into workspace.-
>Next

PT0981128 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 STEP 5: This is the apk file. It can be
will be saved. installed via memory card.

PT0981128 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 STEP 3: click on install button after connecting the
User can see the permissions which the device via USB Cabel to the system.
app requires.

PT0981128 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

Project Title Daily expense tracker-(Android Application)

Test Case Name Register Users Testing 10/01/2013


Date
Test Case ID UT1 Test Black Box
Type
Conducted By Durgesh Kumar Duration 5 Hours
Precondition User must have internet access on mobile to register
on the web Application.
Description To perform user registration by providing the required
details.
Test Case Priority/Severity High as the user will be allowed to perform all the task
under DET. So severity is high.
MODULE EXECUTION
Module Steps Result Actual Result
Expected Result (Pass/Fail)

1.1 Click on registration Button System Requested Pass


should open Screen
user Opened
registration
page.
1.28 Enter the following information: User Should New User Pass
First Name: “Durgesh” be registered added to the
Middle Name:”” And must system
Last Name: Kumar show “User successfully.
Primary Email Registered”
Id:”colthurling@gmail.com”
Password: “123”
Confirm Password: “123”

1.3 Enter same registration details System System Fail


Enter the following information: should displayed
First Name: “Durgesh” display “User “New user is
Middle Name: “” with similar added” and
Last Name: “Kumar” email id is redirect to
Email: “colthurling@gmail.com” already login page
Password: “123” registered”.
Confirm Password: “123”

1.4 Enter same registration details System System Fail


Enter the following information: should displayed
First Name: “Durgesh” display “User html tags
Middle Name: “” with similar instead of
Last Name: “Kumar” email id is showing
Email: “colthurling@gmail.com” already expected
Password: “123” registered”. result<html>
Confirm Password: “123” …
</html>
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 Error message Identical to Pass
password, Designation left blank should appear the expected
Result

1.68 Username or email already existed Error message Identical to Pass


entered “User Already the expected
Exist” Result

Conclusion: Module worked perfectly without any error

Functionality Unit Testing Module Name: Save Expenses

Project Title Daily expense tracker-(Android Application)

Test Case Name Save Expenses Testing 20/01/2013


Date
Test Case ID UT2 Test Black Box
Type
Conducted By Durgesh Kumar Duration 10 Hours(Not
regularly)
Precondition 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.
Description To save daily expenses in android app.
Test Case Priority/Severity High: as this feature is the core feature of the
application, without this feature this system will not
be successful.
MODULE EXECUTION
Module Steps Result Actual Result
Expected Result (Pass/Fail)

2.1 Click on Expense Button System Requested Pass


should open Screen
Opened

PT0981128 Asia Pacific Institute of Information Technology


136
Daily Expense Tracker
save expense
activity.
2.2 Enter the following information: Expense Insert Success Pass
Select Expense Type: “Shopping” should be
Description: “T-Shirt” saved
Amount: “750” then Press Save successfully.

2.3 Enter the following information Expense Insert Success Pass


again: should be
Select Expense Type: “Shopping” saved
Description: “T-Shirt” successfully
Amount: “750” then Press Save

2.4 Left all fields blank and then press System Insert Success Fail
save. should
display
“Please enter
the details”.
Result: one error found in the module.
Measures Taken:
(Module 2.4 Error Rectification) Developer reviewed the code of Expense.java in DET android app file
and found there was no front end validation provided. So the developer provided front end validation also.
Review Test Case for failed Obligations
Module Steps Result Expected Actual Result
Result (Pass/Fail)

2.4 Either of any required filed like Error message Identical to Pass
amount, description or expense type should appear the expected
left blank Result

Conclusion: Module worked perfectly without any error

Functionality Unit Testing Module Name: Profile Management

Project Title Daily expense tracker-(Android Application)

Test Case Name Profile Testing 25/01/2013


Management Date
Test Case ID UT3 Test Black Box
Type
Conducted By Durgesh Kumar Duration 10 Hours(Not
regularly)
Precondition User must be logged in the application in order to
manage profile.
Description User is able to manage his/her personal information.
Test Case Priority/Severity 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

PT0981128 Asia Pacific Institute of Information Technology


137
Daily Expense Tracker
Module Steps Result Actual Result
Expected Result (Pass/Fail)

3.1 Click on Profile Management Button System Requested Pass


should open Screen
Profile Opened
Management
activity.
3.2 Interface should display username, Details shown Details shown Pass
father’s name, date of birth and other properly properly
details

3.3 Interface should display username, Details shown Details not Fail
father’s name, date of birth and other properly shown
details

3.4 Click More button System Next Screen Pass


should shown
display next Properly
screen
3.5 Contact details Should be shown Details should Details shown Pass
be visible
3.6 Contact details Should be shown Details should Details are Fail
be visible partially
shown
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, Blank field should Identical to Pass
contact details are not saved in be shown the expected
database Result

Conclusion: Module worked perfectly without any error

Functionality Unit Testing Module Name: Reports

Project Title Daily expense tracker-(Android Application)

Test Case Name Reports Testing 3/02/2013


Date
Test Case ID UT4 Test Black Box
Type

PT0981128 Asia Pacific Institute of Information Technology


138
Daily Expense Tracker
Conducted By Durgesh Kumar Duration 2 Hours
Precondition User must be logged in the application in order to
view reports activity.
Description User is able to view the reports buttons of expenses,
income, credit, debit and more.
Test Case Priority/Severity 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
Module Steps Result Actual Result
Expected Result (Pass/Fail)

4.1 Click on Reports Button System Requested Pass


should open Screen
Reports Opened
activity.
4.2 Interface should display credit, debit, Buttons are Expected Pass
income, expense and more report visible output
buttons properly

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 Error should Identical to Pass
in reports.xml file occur the expected
Result

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 Testing 10/02/2013


Date
Test Case ID UT5 Test Black Box
Type
Conducted By Durgesh Kumar Duration 12 Hours(Not
regularly)
Precondition 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

PT0981128 Asia Pacific Institute of Information Technology


139
Daily Expense Tracker
User should turn on the GPS if they want to view the
route.
Description User is able to view the reports of expenses, income,
credit, debit and more.
Test Case Priority/Severity 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
Module Steps Result Actual Result
Expected Result (Pass/Fail)

5.1 Click on Expense Report Button System Reports Pass


should shown in
display first ListView
20 expense
records
5.2 Press long on any expense list That expense Expected Pass
details should output
come along
with a route
button
5.3 Press view route button Display a Route Pass
route on the Displayed
map
5.4 Press view route button Display a Route not Fail
route on the displayed
map
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 it’s 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 No route should Identical to Pass
data was saved from web be displayed. the expected
application. Result

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

Project Title Daily expense tracker-(Android Application)

Test Case Name Task Manager Testing 12/02/2013


Date
Test Case ID UT6 Test Black Box
Type
Conducted By Durgesh Kumar Duration 8 Hours(Not
regularly)
Precondition User should turn on the GPS if they want to view the
route.
Description User is able to save task, view task, deleted task and
view route.
Test Case Priority/Severity Medium: as this feature is the special feature of the
application, so its severity is medium. It doesn’t
effects on the DET core feature.
MODULE EXECUTION
Module Steps Result Actual Result
Expected Result (Pass/Fail)

6.1 Click on Task Manager Button System should Options are Pass
display options to visible
manage task
6.2 Click on add task EditText should Expected Pass
appear to save output
task name and
description
6.3 Press Save It should give Task Saved Pass
“Task saved” as
toast output
6.4 View Incomplete Task Show List of List appears Pass
incomplete tasks
6.5 Press on any task Latitude and Expected Pass
Longitude should result
be displayed
6.6 Press on view Route button Route should be Route Pass
displayed displayed
6.7 Press on view Route button Route should be Route not Fail
displayed displayed
Result: One error found
Measures Taken: (Module 5.4) Developer checked the View Route code in debugging mode and found
there was no route saved in the SQLLITE database. As when user saves the record from the mobile
application turning off the GPS so that latitude and longitude is not saved .And that’s why it is not possible
to show the route to those tasks which are saved without turning ON GPS. User is advised not worry for
the same as it’s not a major fault. It can be rectified if the user saves the tasks only from mobile application
that too after turning ON the GPS.
Review Test Case for failed Obligations
Module Steps Result Expected Actual Result
Result (Pass/Fail)

PT0981128 Asia Pacific Institute of Information Technology


141
Daily Expense Tracker
6.7 Task is saved without turning ON No route should Identical to Pass
the GPS. be displayed. the expected
Result

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 22/01/2013
Test Case ID WT1 Test Type White Box
Conducted By Durgesh Kumar Duration 6 Hours
Precondition Web Application 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
Function to Test Member must be able to login in the system either of three modes 1.
Username, 2. Mobile no. 3. Email id
Input Login with all the three credentials mentioned above.
Module Steps Result Expected Actual Result Result (Pass/Fail)
1.1 Authorized Authorized users After Login testing Pass
member login redirect to his/her only authenticated
with username first page. user is allowed to
enter in the system.
1.2 Authorized Authorized users Login failed Fail
member login redirect to his/her
with mobile no. first page.
1.3 Authorized Authorized users Login failed 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
1.2,1.3 Login with either It will login 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.

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 Durgesh Kumar Duration 5 Hours
Precondition Web Application User must be logged in the system.

Description To view the pie chart of expenses, income credit and debit
Test Case 2
Function to Test drawGraph in android mobile
Input Income, expense, credit and debit of a month.
Module Steps Result Expected Actual Result Result
(Pass/Fail)
2.1 View Quick A pie chart should Graph drawn Pass
Expense Report in be drawn according
android the values given
2.2 Change the value of A different pie chart Same chart as Fail
input and click on should be drawn earlier was
Quick Expense drawn
Report
2.3 Disconnect the Graph should not be Graph not Pass
emulator from drawn & system drawn and
internet should crash system crashed
2.4 Put the code in try Graph should not be Graph not Pass
catch block drawn & system drawn and
should not crash system doesn’t
crash
2.5 Turn ON the Graph should be Graph not Fail
internet and repeat drawn drawn
the above steps
Error Identified In the QuickExpense.java in android file developer made some mistake in
his logic. Developer did not convert those values in percentage as
drawGraph function was expecting the values in percentage.
Error Rectified
//to convert the values into percentage
double total=
Double.parseDouble(strExpense)+Double.parseDouble(strIncome)+Double.parseDouble(strCredit)+Double.parseDouble(strDebit);
strExpense=Double.toString(((Double.parseDouble(strExpense)/total)*100));
strIncome=Double.toString(((Double.parseDouble(strIncome)/total)*100));
strCredit=Double.toString(((Double.parseDouble(strCredit)/total)*100));
strDebit=Double.toString(((Double.parseDouble(strDebit)/total)*100));
drawGraph(strExpense,strIncome,strCredit,strDebit);
Code Review
2.2 Change the value Different pie chart will be Pass: Identical to
of input and click drawn expected Result
on Quick
Expense Report
2.5 Put the code in Pie chart should be drawn Fail: Pie chart was
try catch block not drawn

PT0981128 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 doesn’t
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 Reports of a month Testing Date 26/01/2013
Name
Test Case ID WT3 Test Type White Box
Conducted By Durgesh Kumar Duration 5 Hours
Precondition Web Application User must be logged in the system.
Description To view the reports of a month in pie chart of expenses, income credit and debit on WEB
Application.
Test Case 3
Function to Draw pie chart in webpage
Test
Input Income, expense, credit and debit of a month.
Module Steps Result Expected Actual Result Result (Pass/Fail)
3.1 View Cumulative Report in A pie chart should be Graph drawn Pass
Web application drawn according the
values given
3.2 Save some more records A different pie chart Same chart as Fail
and then View Cumulative should be drawn earlier was
Report in web drawn
Error Identified In the Reports.jsp in web file developer made some mistake in his logic.
Error Rectified
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
3.2 Save some more records and Different pie chart will Pass: Identical to
check the chart be drawn expected Result
Conclusion: Developer made a mistake in “Sql Query ‘&’ statement” he realized it and correct it.
Now module is working completely fine.

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 map.put(pair[lhs].trim(), pair[rhs].trim());
106 System.out.println(map);
107 }
108 System.out.println("inside" + map);
109 }
110 bfr.close();
111 System.out.println("returned" + map);
112 return (map);
113 }
114 public void setProperties(String infile, String param) throws IOException
{//to write from the webpage in android context
115 String content = param;
116 FileOutputStream fos;
117 fos = openFileOutput(infile, Context.MODE_PRIVATE);
118 fos.write(content.getBytes());
119 fos.close();// to save first no.
120 }
121
122 public String getMapElement(String fileName, String key) {
123 TreeMap<String, String> map = null;
124 try {
125 map = getProperties(fileName);
126 } catch (IOException e) {
127 // TODO Auto-generated catch block
128 e.printStackTrace();
129 }
130 return map.get(key);
131 }
132 private Bitmap loadChart(String urlRqs) {
133 Bitmap bm = null;
134 InputStream inputStream = null;
135 try {
136 inputStream = OpenHttpConnection(urlRqs);
137 bm = BitmapFactory.decodeStream(inputStream);
138
139 inputStream.close();
140 } catch (IOException e) {
141 // TODO Auto-generated catch block
142 e.printStackTrace();
143 }
144 return bm;
145 }
146 private InputStream OpenHttpConnection(String strURL) throws IOException {
147 InputStream is = null;
148 URL url = new URL(strURL);
149 URLConnection urlConnection = url.openConnection();
150 try {
151 HttpURLConnection httpConn = (HttpURLConnection) urlConnection;
152 httpConn.setRequestMethod("GET");
153 httpConn.connect();
154 if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
155 is = httpConn.getInputStream();
156 }
157 } catch (Exception ex) {
158 ex.printStackTrace();
159 }
160 return is;
161 }
162 }

PT0981128 Asia Pacific Institute of Information Technology


148
Daily Expense Tracker

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

b
d

123,124,125,127,128, 80
129,130,131,132 h
i
75,76,77,78,
79,81,82,89

52,53
e

c
126

133,134,135,136,137,
138,139,140,141,142, 115,116,117,118,119,
87,88 143,144,145,146 120,121
l
f k

82,83,84,85,86

g n
m

91,92,93,94,95,
96,97,98,99,100,
101,102,103,104,105,106
110,
,107,108,109
p
111,112,113,114

155,156,157
v
u

s
q
s
147,148,149,150,151,
o 152,153,154,158,159,
160,161,162,163
103,104,105,106,107 r

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
Test Case ID IT-01 Test Type Integration Testing
Conducted By Durgesh Kumar Duration 10 Hours
Precondition The Unit testing of individual modules should already be performed so that
integrating testing can be performed
Unit Test Included UT1,UT2,UT3,UT4,UT5
Objective To Integrate all units of user i.e. Registration, save expenses, manage profile
and view reports
Test Case It has highest priority as the main functionality of module lies under this
Priority/Severity module.
Environmental Needs JDK 1.6 need to be install and individual running properly
Internet Connection Should Be available

PT0981128 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 Input Specification Output Specification Remarks
ID
IT-01-1 User Provide Username and User Login into the system Pass
Password
IT-01-2 New user provides basic details and Registration successful Pass
registers
IT-01-3 Expense Reports are available under Reports are available Pass
Reports module
IT-01-4 User changes profile information Profile Information changed Pass
IT-01-5 Save expenses by turning ON GPS Latitude and longitude should be Pass
saved along with other details

Integration Testing Module Name: Task Manager


Project Title Daily Expense Tracker
Test Case Name Task Manager Testing Date 25/02/2013
Test Case ID IT-02 Test Type Integration Testing
Conducted By Durgesh Kumar Duration 10 Hours
Precondition The Unit testing of individual modules should already be performed so that
integrating testing can be performed
Unit Test Included UT6
Objective To Integrate all units of task Manager
Test Case It is one of the special feature of the DET so its priority will be Medium.
Priority/Severity
Environmental Needs 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 Input Specification Output Specification Remarks
ID
IT-02-1 User feeds the task Task saved successfully Pass
IT-02-2 View Incomplete task List of incomplete tasks should Pass
be generated
IT-02-3 View Complete Task List of completed task should Pass
occur
IT-02-4 Delete Task List of all tasks should appear Pass
IT-02-5 Uncheck the task from incomplete Task is removed from incomplete Pass
task list when the task is completed to completed one
IT-02-6 View Route Route should be displayed Pass

Integration Testing Module Name: Reports


Project Title Daily Expense Tracker

PT0981128 Asia Pacific Institute of Information Technology


151
Daily Expense Tracker
Test Case Name Reports Testing Date 27/02/2013
Test Case ID IT-03 Test Type Integration Testing
Conducted By Durgesh Kumar Duration 5 Hours
Precondition The Unit testing of individual modules should already be performed so that
integrating testing can be performed
Unit Test Included UT2,UT4,UT5
Objective To Integrate all units of reports
Test Case It is one of the core feature of this system so its severity is HIGH.
Priority/Severity
Environmental Needs 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 Various reports categories should Pass
be visible
IT-03-2 Click on any report List of expenses should appear Pass
IT-03-3 Press for a long time on any of the Details along with View route Pass
expense to view details button should appear
IT-03-4 Click on View route button A route should be drawn between Pass
source and destination as
described in UT5
IT-03-5 Click on more reports then select List of expenses should appear Pass
date wise report. Enter two valid
dates i.e. first date should be less
than last date
IT-03-6 Click on more reports then select List should not be displayed Pass
date wise report. Enter two invalid
dates i.e. first date should be
greater than last date

7.3.2 Justification for 3rd party tools testing

Test Subject Test Method Expected Result Actual Result


Implementation of Email Developer Register Email and SMS Pass: The actual
& SMS User and his login should be sent result is in accordance
details are sent to his with the expected
email id and Mobile result
Implementation of Graph Click on Cumulative Chart should be Pass: As expected.
report drawn
Note:-This functionality is just an add-on to this system and if they didn’t 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 that’s why it belongs to functionality testing rather than structural
testing.

System Testing
Project Title Daily Expense Tracker

Test Case Name System Testing Testing Date 02/02/2013


Test Case ID ST-01 Test Type System Testing
Conducted By Durgesh Kumar Duration 20 Hours
Precondition User Should have his Username and Password with Him/her
Objective To Check Whether Whole System is running fine or not
Environmental Needs JDK 1.6 need to be install and individual running properly
Internet Connection Should Be available
Test ID Action Performed Expected Output Actual Output Remarks
ST-01-1 User Enter URL and Successful Login Login successful Pass
give Username and
password
ST-01-2 New User click on User registered Identical to Pass
register successfully expected result
ST-01-3 Click on Expense Save Expense Identical to Pass
expected Result
ST-01-4 Click on Income Save Income Identical to Pass
expected result
ST-01-5 Click on debit Save debit Identical to Pass
expected result
ST-01-6 Click on credit Save debit Identical to Pass
expected result
ST-01-7 Click on Reports Multiple reports options Identical to Pass
will be shown expected result
ST-01-8 Click on Expense Shows top 20 (default) Identical to Pass
Reports list of expense reports if expected result
any
ST-01-9 Click on Income Reports Shows top 20 (default) Identical to Pass
list of income reports if expected result
any
ST-01-10 Click on Debit Reports Shows top 20 (default) Identical to Pass
list of debit reports if any expected result
ST-01-11 Click on Credit Reports Shows top 20 (default) Identical to Pass
list of credit reports if any expected result
ST-01-12 Click on More Reports More options for Identical to Pass
report will appear, expected result
just as shown in
(Screen 14) in User
Manual

PT0981128 Asia Pacific Institute of Information Technology


153
Daily Expense Tracker
ST-01-13 Check on “Weekly Weekly expense and Identical to Pass
expense/income” and income report will be expected result
press get reports shown
ST-01-14 Check on “Search for Credit list will appear Identical to Pass
Credit” and enter detail with the searched criteria expected result
in Field given below
ST-01-15 Check on “Search for Debit list will appear with Identical to Pass
Debit” and enter detail the searched criteria expected result
in Field given below
ST-01-16 Check on “Expense of a Expense list will appear Identical to Pass
particular item” and with the searched criteria expected result
enter detail in Field
given below
ST-01-17 Check on “Income of a Income list will appear Identical to Pass
particular item” and with the searched criteria expected result
enter detail in Field
given below
ST-01-18 Check on “Monthly Monthly expense and Identical to Pass
Expenses/Savings” and income report will be expected result
press get reports shown
ST-01-19 Check on “Quarterly Quarterly expense and Identical to Pass
Expenses/Savings” and income report will be expected result
press get reports shown
ST-01-20 Check on “Half Yearly” Half Yearly expense and Identical to Pass
and press get reports income report will be expected result
shown
ST-01-21 Check on “Date Wise” Expense and Income Identical to Pass
and enter two valid dates Report will be shown expected result
and then press get between those two dates
reports
ST-01-22 Click on any expense Detailed report will be Identical to Pass
List items shown expected result
ST-01-23 Click on View Route Route will be shown if Identical to Pass
button location saved in database expected result
ST-01-24 Click on Account setting Account setting screen Identical to Pass
appears expected result
ST-01-25 Save mobile no. and Message will be sent as Identical to Pass
check on various options per the settings made expected result
ST-01-26 Click on Profile Profile Details will be Identical to Pass
Management shown expected result
ST-01-26 Click on edit details Edit details of users Identical to Pass
button profile expected result
ST-01-27 Click on Task Manager Various options of Identical to Pass
managing task should expected result
appear
ST-01-28 Perform test given in IT- User can perform various Identical to Pass
02 tasks as mentioned in IT- expected result
02
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 Efficiency Memorability Testing Subjective


Error 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 < .5 hours 1hrs 1-1.5 hours 1.5-2hours > 2 hours
User Response 3 Person 1 Person 1 Person -- --

Efficiency <20% 20-50% 40-70% >80%


User -- -- 2 Person 3 Person

Memorability Poor Average Satisfactory Excellent


User Response -- -- 1 Person 4 Person

Error Testing Yes No


User Response 4 Person 1 Person

Subjective < 20% 20-50% 40-70% >80%


Satisfaction
User Response -- -- 1 Person 4 Person

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

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


Completeness 90% 88% 89% 94% 93%
Correct 98% 97% 94% 95% 95%
Understandable 91% 90% 87% 93% 89%
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


Designation Android user
Relevancy to system He has already used such a system so he will be judging this 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
Relevancy to system Will use the system as a business man.
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
Designation Admin
Relevancy to system Will act as an Admin
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


Date of Testing 10/04/2013
Duration of Test 1 hour Place of Testing Through Team Viewer
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 
Additional Comments The overall functionality is good. One/two modules indicated
slight improvement.
Usability Acceptance Testing
Category Rating
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 Mr. Tanweer Ahmad


Date of Testing 11/04/2013
Duration of Test 1 hour Place of Testing Mr. Tanweer Ahmad
Office
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 √

PT0981128 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 Rating
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
Additional Comments Several pages in Mobile need to be altered. Overall design is
good.
User acceptance testing -3

Name of the Tester Mr. Akhilesh Bamhore


Date of Testing 13/04/2013
Duration of Test 1 hour Place of Testing Through Team
Viewer
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 
Additional Comments .
Usability Acceptance Testing
Category Rating
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

PT0981128 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

Design
Functionality Use Case Sequence Activity Tables Unit White Integration System Screen Research
Box
User registration UC-01 SD-02 AC-02 User UT-1 IT-01 ST-01-02 6.7.2.2 QT-2
Save Expense UC-02 SD-03 AC-03 Income, expense, UT-2 IT-01 ST-01- 6.7.2.7 QA-10
credit, debit 03..06
Reports UC-04 SD-03 AC-03 All Tables UT-4 WT3 IT-03 ST-01- 6.7.2.14..18 QA-03
07..22
Profile Management UC-04 SD-03 AC-01 User, Contacts UT -3 IT-02 ST-01-26 6.7.2.3
Expense Reports UC-05 SD-03 AC-03 All Tables UT-5 WT3 IT-03 ST-01- 6.7.2.14 QA-03
07..22
Task Manager UC-03 AC-01 Tasks UT-6 IT-02 ST-01-27 6.7.2.10 QA-05
Login UC-01 SD-01 AC-01 Login option WT1 IT-01 ST-01-01 6.7.2.1
Graphical Report UC-05 SD-03 AC-03 All Tables UT-4 WT2 IT-03 ST-01-25 QA-03
Reports of a Month UC-05 SD-03 AC-03 All Tables UT-4 IT-03 ST-01-18 6.7.2.14..18 QA-03
Change Wall paper UC-06 AC-01 IT-03 6.7.2.8
Send Report UC-08 All Tables UT-4 IT-03 QA-09
View Route UC-09 SD-03 AC-03 All Tables UT-4 IT-03 ST-01-23 6.7.2.20 QA-14
CHAPTER -8 CRITICAL EVALUATION
Daily Expense Tracker has been documented and most results are obtained through
research and analysis. The functionality of the system has been carefully designed to meet the
goal. Critical evaluation is based on the shape of the specifications of the project submitted by
the developer. The evaluation is done on the basis of different analysis techniques applied
within the system to achieve the goal. And finally, the sign outside the user acceptance testing
shows the result satisfactory and meets the system is ready to be launched in the market.

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

As mentioned in the beginning of the Daily Expense Tracker is a valuable asset for the
users. It will help the users to manage their expenses 24*7. It lets the user to view the places
from where they have saved the expenses. It lets the user to understand their profit and loss of
the month easily. It lets the user to save their task as well. The usefulness of the system is
already shown in the tangible and intangible benefits. Some of the reviewed points are:

1. Accessibility of all the features of DET, task manager, change wallpaper to give 24/7
connectivity.
2. Easy to register and multiple users can work on a single android mobile.
3. Users can access their data from mobile as well as web.
4. There is no need to create backup and restore it weekly or time to time as all the data
will be saved on server.
5. It lets the user to view the saved location in future.
6. It sends reports to the mobile no. as per user choice so that they can share their expense
with others e.g. students can send the report to their guardians.
7. It lets the user to save their task and let them manage it as well.
8. It lets the user to view graphical report so that user can understand the report pictorially.
9. It lets the user to view the future prediction i.e. profit or loss in future by comparing its
current savings.
8.2 Degree of Success

To access the global functionality, developer has listed certain parameters on which the
success of the project depends.
Daily Expense Tracker
Degree of success cannot be measured successfully. That is the area where the software
maintenance plays an important role in the life cycle of the software engineering. And almost
100% success cannot be guaranteed software. So developer has done Form project
specifications as the basis of previous success criteria.

Documentation Deliverable Success Achieved

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

System Requirement Success Achieved

Application of the principles of Software Yes


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

Overall system rating Yes

Ease Of Use Success Achieved


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

PT0981128 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 project’s
scope and services.
2. The very first thing developer will provide Bluetooth assistance to add data to the
mobile as well as desktop to see the reports.
3. Jasper Reports would be provided
4. Developer could provide the reports converted into pdf format
5. Minutes of meeting can be provided after every meeting.
6. Offline and online synchronization of data could be enhanced more.
7. Future prediction functionality could be more accurate.
8. Graph theory could be implemented for searching of reports.
9. GUI of the system could be enhanced more.

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 add-
on for this project.
4. Resource Module: Due to time constraint Developer isn’t 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 don’t 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 user’s activity. Apart from computational challenges developer faces challenge of
innovativeness as it a customized project for users so developer spent a lot of time to research
the modules specific to suite the user needs. Testing has been elaborated specially unit testing
thoroughly. As it is a customize project so developer also need to take care of the limitation of
the project.

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-mobile-
stats/a#subscribers

James Steele, N. T. (2010). The Android Developer’s Cookbook. Rights and Contracts Department
501 Boylston Street, Suite 900 Boston, MA 02116: RR Donnelley, Crawfordsville,
Indiana. : Pearson Education, Inc.

Kim, A. (2012, October 12). Coin Keeper. Retrieved October 25, 2012, from
http://coinkeeper.tumblr.com/:
https://play.google.com/store/apps/details?id=com.ifree.coinkeeper&hl=en;http://coi
nkeeper.tumblr.com/

Morgan(Admin), F. (n.d.). Budget & Expense Tracking Instructions. Retrieved November 15,
2012, from http://www.nhco.org/: http://www.nhco.org/budget_packet.pdf

NA. (1995, 05 23). Top Reasons to Use MySQL. Retrieved from MYSQL:
http://www.mysql.com/why-mysql/topreasons.html

NA. (2010). Disadvantages of File Processing System. Retrieved 11 18, 2012, from
JKiNFOLINE.com: http://www.jkinfoline.com/disadvantages-of-file-system.html

NA. (2012, August 04). Expense Manager. Retrieved 20 10, 2012, from Google Play:
https://play.google.com/store/apps/details?id=com.expensemanager&hl=en

NA. (n.d.). Android. 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-Expense-
Tacker.html

NA. (n.d.). Waterfall Model. Retrieved 10 20, 2012, from Watefall Model: http://www.waterfall-
model.com/v-model-waterfall-model/

Nielsen. (2012, May 7). Nielsen: Over 50 percent of US mobile users own smartphones, Android
and iPhone sitting pretty. Retrieved August 10, 2012, from Engadget:
http://www.engadget.com/2012/05/07/nielsen-smartphone-share-march-2012/

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_4-
75701667.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-an-
android-phone/

Team., G. A. (2007). The Android SDK. . Retrieved August 1, 2012, from code.google.com: The
Android SDK. Available: http://code.google.com/android/add-ons/google-
apis/index.html

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 3. Which type of System is currently used by you to save daily expenses?
 Desktop Application
 Web Application
 Mobile Application
 Spreadsheet(Note book)
Response 60

40

20 Series1

0
1 2 3 4

Analysis As per the user consensus (40% users are in favor), of desktop application and
30% in mobile application. So developer has provided both features in this project.
Question 2 Which type of System would you like to use for saving your daily expenses?
1. Desktop Application 2. Web Application
2. Mobile Application 4. Note book
Response 50

Series1
0
1 2 3 4

Analysis As per the user consensus(40% users are in favor), the developer has decided to
follow the mobile application other 60% user are in favor of other application like
desktop application and note book etc.
Question 3 4. How is the Graphical user Interface of your Current expense saving system?
1. Excellent
2. Intermediate
3. Satisfactory
4. Not satisfied
Response 80
60
40
Series1
20
0
1 2 3 4

Analysis As per the user consensus (60% users are in favor), the developer has decided to
provide the metaphors and shortcuts as metaphors provide quick access as they
are graphical icons and it’s better to represent the options by icons also the shortcut
will provide the quick access of the application
Question 4 Does your current system take automatic backup of your database?
1.Yes
2.No

PT0981128 Asia Pacific Institute of Information Technology


169
Daily Expense Tracker
Response 100
50
Series1
0
1 2 3 4

Analysis As per the user consensus (60% users are in favor), they say yes, their current
system automatic backup of their database. And 40% users are note in favor. So
developer has made this system in such a way that they do not need to backup
data.
Question 5 Would you like to share your mobile with your family members so that they can
save their expenses using their login id?
1. Yes
2. No
Response 100

50
Series1
0
1 2

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

Analysis As per the user consensus (60% users are in favor), the developer has provided
separate options to save income, credit, debit and expense details.
Question 7 Would you like to put limit on expenses of a particular item?
1. Yes
2. No
3. On all Items
4. Only on some particular item.
Response 50

Series1
0
1 2 3 4

Analysis As per the user consensus (40% users are in favor), to put limit on their expenses.
So developer has decided to provide a way to put limitations on the expenses.
Question 8 Which type of alert you will prefer to get when you exceed your budget or any
new notification comes?
1. vibrate only
2. vibration along with sound
3. only notification no sound
4. only sound

PT0981128 Asia Pacific Institute of Information Technology


170
Daily Expense Tracker
Response 50

Series1
0
1 2 3 4

Analysis As per the user consensus (40% users are in favor), they want to notification with
vibration along with sound. We want to this because we might be know this
notification easily.
Question 9 Would you like to upload your pic in your profile?
1. Yes
2. No
3. May be
Response 100

Series1
0
1 2 3

Analysis As only 20% users want to save their pic on mobile as profile pic. So the developer
has not given this option in this system. So that the system will be light and
efficient.
Question 10 Should there be an option to delete your data?
1. No
2. Yes
Response 100

50
Series1
0
1 2

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

Series1
0
1 2 3

Ss 100% of the users wants to have a medium by which they can easily analyzes the
data so developer analyzes Report functionality should be included in which 40
want graphical and 40 want textual and 20% want both report.
Question 12 Would you prefer a cost effective mobile application rather than a website?
1. Yes
2. No

PT0981128 Asia Pacific Institute of Information Technology


171
Daily Expense Tracker
Response 200

100
Series1
0
1 2

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

Series1
0
1 2

Analysis As per the user consensus (70% users are in favor), the developer has decided to
provide finding friends by their mobile’s location as in most of the cases it
provides actual physical location and generally some user have some problem to
do all activity through contact they take all help how to use application.
Question 14 Do you have internet accessibility in your mobile?
1. No
2. Yes
Response 100

Series1
0
1 2

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

50
Series1
0
1 2 3

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

PT0981128 Asia Pacific Institute of Information Technology


172
Daily Expense Tracker
Response 80
60
40
Series1
20
0
1 2

Analysis 60% users want to view the location from where they saved the expense, So the
developer has provided the option to view location on Map.
Question 17 Do you think that future prediction of this system will be going to help you?
1. Yes
2. No
3. May be
Response 80
60
40
Series1
20
0
1 2 3

Analysis 60% of users want to know the future saving; developer analyzes the problem and
decided to include Future Prediction functionality.
Question 18 How likely you will want to access your data from the netusing web browsers
1. Frequently
2. Sometime
3. More than 5 time a week.
4. Less than 5 times a week
Response 60
40
20 Series1
0
1 2 3 4

Analysis As per the user consensus (60% users are in favor), the developer has decided to
update the location of friends in regular period of time.
Question 19 How likely you will be using the task manger present in this system?
1. Frequently
2. Sometime
3. More than 5 time a week.
4. Less than 5 times a week
Response 60

40

20 Series1

0
1 2 3 4

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

PT0981128 Asia Pacific Institute of Information Technology


173
Daily Expense Tracker
1. Yes
2. No
Response 100
50
Series1
0
1 2

Analysis 80% of the user wants to save their income as well with the expenses So the
developer has provided the save income facility.
Question 21 Will you like that fields which should be saved should be present in as a menu
option.
1. Yes
2. No I will save it manually
3. Can’t say
Response 100

50
Series1
0
1 2 3

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

50
Series1

0
1 2

Analysis As per the user consensus (80% users are in favor), the developer has decided to
provide limit expenses reminder on user profile page which will help user in
accessing all limits from profile itself.
Question 23 Would you like to have an option to delete your data from your application?
1. No
2. Yes
Response 100

50
Series1

0
1 2

Analysis 80% users don’t want to delete their data as it will create a security threat. So
developer has not given the delete option to delete the data in DET main module.

PT0981128 Asia Pacific Institute of Information Technology


174
Daily Expense Tracker
Response 100

50
Series1
0
1 2

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

40

20 Series1

0
1 2 3

Analysis 50% users want to send their reports to others e.g. guardians so the developer has
given the option to send message and email.

ANALYSIS OF INTERVIEW
Question 1 Which type of System would you like to use for saving your daily expenses and why?
Concluded Developer has found that most of the users wants to use the mobile based expense saving
Answer app as no one wants to save a pieces of data to the computer.
Purpose To find out which type of system to develop desktop or mobile based.
Analysis Developed analyzed that most of the user wants to use a mobile based system. But developer
knows that whole report cannot be shown on mobile due to lack of memory so developer
has decided to develop both web as well as mobile application.

Question 2 Which type of mobile device would you like to use for saving your daily expenses?
Concluded As most of the users are using android mobile that’s why this system is going to be developed
Answer for android mobile.
Purpose To find out the on which platform the project should be developed.
Analysis Developer analyzes that most of the users demand is asking for an android system so developer
has decided to develop this system for android.

Question 3 What are the likely expenses you would like to save?
Concluded Developer has found many likely expenses which users wants to save.
Answer
Purpose To find out which type of expenses should be included by default in the system.
Analysis Developer decided that those likely expenses should be included in the system by default.

Question 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 Most of the users said that they do not have option to view graphical reports, but they
Answer really wants to view those graphical reports.
Purpose To find out which type of graphical reports to develop.
Analysis 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 Yes, future prediction will help the user to save his/her money.
Purpose To find out whether to include future prediction in the system or not.
Analysis Developer has decided to provide future prediction feature in the system.

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 today’s
saving. The system can be used by them who are careless in handling the device e.g. who usually finds
their device stolen, broken etc they can recover their data from the server. On the other hand, the
system could be used to guide the user for being more expensive by providing notifications.

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 user’s mail so that user can get a clear and more detailed view of the reports.
vii. Apart from these one of the challenges is making the GUI follow HCI principles.
viii. Future saving prediction: on the basis of saving of the week/month predicting the future
savings is one of the challenges to implement.
What new ideas and theory will you need to learn to build the system?
In technology I need to learn android technology which is being widely used in the market today. To
complete the above challenges I will have to learn how to synchronize the data with the server, how
to provide online and offline facility that too with mobile device. To create graphs I need to learn
graphs and use its component to show the data on cursor movement. I will have to use the best
algorithm to develop the graph as well as do the future prediction. To make the prediction I need to
learn cost-benefit formulas and implement it in this system.
<<<<<<<<<<<<<<< End of PPF >>>>>>>>>>>>>>>

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 today’s 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. It’s not so that there does
not exist any system for the same but there are some problems which are listed below. There is
lack of research and functionalities in the current system as well. We are in such an era today that
our most of the work has been shifted to computer; we are surrounded by the computer system
which has made our memory powerless. We feel hard to jot down every expense we do every day
due to lack of time and we used to forget the expenses made during the day. We used to forget
whom we have to give money and how much as well as from whom we have to get. For this
scenario this system is very much helpful to the user as you can write down the name and money
at the same time. There is no need to memorize everything basically cost related tasks and
expenses made during the course as this system provides you with all these facilities.

If you lost your device then the data can be easily downloaded from the website and hence you
can be saved from a disaster.

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. It’s 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 today’s saving. The system can be used by them who are careless in handling
the device e.g. who usually finds their device stolen, broken etc they can recover their data from
the server. On the other hand, the system could be used to guide the user for being more expensive
by providing notifications. All types of users aging more than 13-14yrs. This system will be used
by administrator as well who will be manage the website and create a back-up plan if required.
Challenges in the Projects:
The primary challenge in building this system is customizing the various user requirements based
on their category e.g. students, businessmen, home users etc. the data which has to be customized
should be gathered from various users. Some off the other challenges are
 Saving data on external database other than SQLLite from android device: the data
which is in the device should be synchronized with the server so that the user can access it
from anywhere.

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 user’s 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 objective-
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.

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:
 Member’s 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 mobile’s
original function and color coding that is used in mobile phone. It is assumed that user has
internet access for synchronizing the data on the server.

Feature and functionality:


The feature and functionalities of the application include:
1. Core features-
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
 Member’s 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 features-
To make user understand the system better, enhance features are used.
 Future Prediction
 Synchronization of offline-online data.
 Task Manager
3. Special features-
Based on the research and if developer has the time and ability, these are the advanced features
developer is going to attempt to implement in this system.
 Customization option
 Wallpaper customization
 Sending Reports on mail

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 objectives-
1. 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. Concept of Human Computer Interaction.
7. Leaning for a development of Real time bug free system.
8. Learning and Practices of SQL Query
9. Learning algorithm for smart prediction based on inputs of a month
10. 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 web-
browsers 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- Schaum’s outlines, TMH
Website:
 www.W3Schools.com
 www.wrox.com
 www.eclipse.org.in
 http://daily-expense-tracker.fyxm.net/
 http://itunes.apple.com/in/app/daily-expense-tracker-income/id502080453?mt=8
People:
 Online Users
 Mobile users
 Students
 Business People

Technical Research:
For successful development of any project, developers programming and technical skills must be
sound as without this the functionality of the system could not be achieved. Some technical
research work includes:
SQLlite Database
It will be used by developer as backend for his project or websites.
MYSQL Database
It will be used by developer as backend for the online website and to provide synchronization of
data in mobile and web.
SQL Query
SQL Query will be used for interacting with DBMS in order to fetch the data or maintain records
in backend databases.
XML:
XML is a light weight database used to transport and store data, contains its own tags as well as
we can even add our own tags. This will be used for storing and fetching the images and other
data.
File Handling:
This will be used to save login information and small chunks of data whenever required.
Android Technology
To run the system on android platform developer needs to manage the memory as well as learn
more about this technology.

F. Brief description of the development plan for the proposed project. (i.e. which software
methodology and why, the major areas of functions to be developed and the order in which
developed)

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. That’s 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. V-
model 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 doesn’t fit right in the design, then the
user is made aware of it and changes are accordingly planned.
 Architecture Design-The architecture design, also known as the computer architecture
design or the software design should realize the modules and the functionality of the
modules which have to be incorporated.
 Module Design-In the module design, the architectural design is again broken up into

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 user’s needs-as mentioned above it is done to check whether
the product is meeting the user’s 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 quasi-
experimental 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

Potrebbero piacerti anche