Professional Documents
Culture Documents
1.2
1.3
1.4
1.5
1.6.2
1.7
1.8
Challenges ............................................................................................................................................ 22
2.3.4
Critical Appraisal........................................................................................................................ 26
CHAPTER 3: LITERATURE REVIEW .............................................................................................. 27
3.1 Advanced Preliminary ............................................................................................................ 27
3.3.2
Other academic research areas that need to be looked into are: ................................. 32
3.4.4
PT0981128
5.2.2.1.1
5.2.2.1.1.1
5.2.2.1.1.2
5.2.3
5.2.4
5.2.4.1
5.2.4.2
5.2.4.3
5.3
5.4
5.5
5.6
5.6.2
5.6.2.1
Normalization .................................................................................................................................... 86
5.6.2.2
5.7
6.2.1
6.2.2
Documentation ............................................................................................................ 95
6.2.3
6.3
6.5
6.6
6.7
6.7.1
PT0981128
6.7.1.2
6.7.1.3
Profile management
6.7.1.4
6.7.1.5
6.7.1.6
6.7.1.7
6.7.1.8
6.7.1.9
6.7.1.10
6.7.1.11
6.7.1.12
6.7.1.13
6.7.1.14
6.7.1.15
6.7.1.16
6.7.1.17
6.7.1.18
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
6.7.2
6.7.2.1
6.7.2.2
6.7.2.3
6.7.2.4
6.7.2.5
6.7.2.6
6.7.2.7
6.7.2.8
6.7.2.9
6.7.2.10
6.8
6.9
6.9.1
6.9.2
6.9.3
PT0981128
6.9.5
6.9.6
6.9.7
6.9.8
6.9.9
6.9.10
6.9.11
6.10
7.2
7.6
7.7
Benefits of System (How Useful the System is to the target User) ............................ 162
8.2
8.3
9.2
What more could be done if more time was given? ................................................... 165
9.3
9.4
9.5
PT0981128
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
PT0981128
ABSTRACT
Daily Expense Tracker is a complete business solution whose main focus is on saving expenses
and time supervision; two key factors that play major role in success of any project. It basically
consists of expense management tool which basically consist of saving expenses in different
categories. Each functionality maintains consistency in the system such as if user saves details
from either of web or mobile then reports consistency will be maintained. It also contains the
relevant information of the expense which are saved in the database.
There are variety of tasks done in this system. Some of them are saving expenses category
wise, managing task, changing wallpaper etc. There is provision to view reports on weekly
basic, daily basic, monthly basic.
Lately, mobile devices are not a status symbol anymore. On the basis of statistic reports, people
are three times more addicted to mobiles than Laptops or PCs. No doubt, it transforms million
ways of communication even in those areas where phone lines even barely exist. Hence, in a
nut-shell mobiles can be handy for administrators or every individual to track down all their
actions and can even keep a record of most accomplished tasks however.
The Daily Expense Tracker has been developed and customized keeping in mind the
requirements of the predicted audiences like students, businessman of any organization which
will help the users to save their money in future by analyzing the reports of this expert system.
System handles users daily expenses, saving tasks, changing wallpapers, sending reports to
other mobiles etc.
This system is basically developed for android mobile with API level greater than 8. This
system also provides web interface to the users which has been developed in J2EE.
PT0981128
CHAPTER 1: INTRODUCTION
1.1
1.2
Topic Background
The system itself defines its task, Daily Expense Tracker means it is a tracking system
which will save our daily expenses, credits i.e. from whom we have to get money, debit i.e. to
whom we have to give and how much. Not only this but almost every work which involves
transaction of money will be stored in this system and based on the data stored this expert
system will give some predictions and reports. There are so many people who used to maintain
dairy for their daily expenses so that they can use it for future. There are some people who used
to remember their expenses but there counting is very less as in todays scenario where there
is no time for an individual to eat properly, sleep properly walk with their belongings for a
moment then think for a moment how can they maintain their dairy which will again put a
burden on their mind to remember those activities which they have done. Those people who
want to save their daily expenses in such a place which will be handy to use. One of the most
appropriate places to store the data is the mobile phone. Also in the dairy system, if the dairy
is lost then it will be a heart locking situation.
1.3
Purpose of Implementation
Developing a financial plan is important to your success. Regardless of your income,
financial planning WORKS. (Morgan(Admin)) We are in such an era today, that our most of
the work has been shifted to computer; we are surrounded by the computer system which has
harmed our memory. We feel hard to jot down every expense we do every day, due to lack of
time and we used to forget the expenses made during the day. We used to forget whom we have
to give money and how much as well as from whom we have to get. For this scenario this
system is very much helpful to the user as you can write down the name and money at the same
time. There is no need to memorize everything basically cost related tasks and expenses made
during the course as this system provides you with all these facilities.
PT0981128
Target Audience
Anyone, ranging from home users to office user and any businessmen or professionals
interested in tracking their daily expense. People who want to schedule their budget. A person
who wants to find his saving at the end of the day, month and year, as well as for him who
wants to see his progress based on todays saving. The system can be used by them who are
careless in handling the device e.g. who usually finds their device stolen, broken etc. they can
recover their data from the server. On the other hand, the system could be used to guide the
user for being more expensive by providing notifications. All types of users aging more than
13-14yrs. This system will be used by administrator as well who will be manage the website
and create a back-up plan if required.
1.5
Problem Context
As almost all users are connected with each other with mobile, the trend to save small
pieces of data into mobile in logs, notes, reminders has increased. So users need a system which
will make automatic calculation based on their expenses. Its not so that there does not exist
any system for the same but there are some problems which are listed below. There is lack of
research and functionalities in the current system as well. We are in such an era today that our
most of the work has been shifted to computer; we are surrounded by the computer system
which has made our memory powerless. We feel hard to jot down every expense we do every
day due to lack of time and we used to forget the expenses made during the day. We used to
forget whom we have to give money and how much as well as from whom we have to get. For
this scenario this system is very much helpful to the user as you can write down the name and
money at the same time. There is no need to memorize everything basically cost related tasks
and expenses made during the course as this system provides you with all these facilities.
If you lost your device then the data can be easily downloaded from the website and
hence you can be saved from a disaster.
1.5.1.12
No option to contact the
developer in case any problem
happens[PB12]
1.5.1.13
Manually sending of email or
SMS to report someone about our
expense [PB13]
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:
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.
PT0981128
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
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
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.
Future Prediction[EF1]
This functionality will predict the future savings based upon the current income and
expense.
1.8.2.2.
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.
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.
PT0981128
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.
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.
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.
PT0981128
CF2
CF3
CF4
CF5
CF6
CF7
CF8
CF9
EF1
EF2
EF3
EF4
SF1
SF2
SF3
SF4
PB2
PB3
PB4
PB5
X
X
PB6
PB7
PB8
PB9
PB10
PB11
X
X
PB12
PB13
TABLE 1TRACEABILITY MATRIX BETWEEN PROBLEM AND FUNCTIONALITIES
1.9 Assumptions
Following are the assumptions made in this system.
1.9.1.
The developer has assumed that the user has an android mobile phone and has practice
data
1.19 Contact us
data
user.
1.12.6.10.
to the server.
which
is
available
till
last
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.
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
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
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
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
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.1 Challenges
PT0981128
2.3.1.3 Graphical data: Showing graphical data to the user so that user can understand his/her
expenses easily. It was really a hard nut to crack for the developer as there is no tool in android
to draw graphical reports. So developer did a lot of research on this part and after trying many
APIs developer had decided to work with Google graph.
2.3.1.4 System portability: making the system to be portable on various android devices. This
issue made the developer a lot to worry as many functions which are available in the android
newer versions are not compatible with older version of android say API level 8 does not have
isEmpty() function to check the string whether it is empty or not. So developer had to make his
own function to do the same.
2.3.1.5 When the screen orientation is changed the data provided to the system is lost which
has not been saved in android application hence managing this screen orientation to be
compatible with the system is one of the challenge in developing this system.
2.3.1.6 Managing reports and sending them on mail: various types of reports will be made and
sent to the users mail so that user can get a clear and more detailed view of the reports.
2.3.1.7 Apart from these one of the challenges is making the GUI follow HCI principles.
2.3.1.8 Future saving prediction: on the basis of saving of the week/month predicting the
future savings is one of the challenges to implement.
2.3.1.9 Knowing the user: To understand the spending habits of people. The manner in which
they spend the money, decisions they take before spending on something. Other
challenge would be of how to make this application make effective to make people use
PT0981128
Interaction design and coding is also one of the major challenges of this system.
PT0981128
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
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
In order to save small chunks of data in mobile and access it later on developer needs
to learn file handling.
PT0981128
PT0981128
PT0981128
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
Description
Application
This layer is for the default applications installed on any Android device. These
Layer
Application
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
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.
PT0981128
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:
For exiting from the application, use of back button as followed by all mobile
applications
PT0981128
PT0981128
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
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.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
deductibles
3.3.3.1.4.12
PT0981128
crosses
their
limit
of
Details of
Expense
manager
system
notification
is
PT0981128
CoinKeeper:
Expense
(Kim, 2012)
3.4.1.4. Daily expense tracker (current)
outcomes:
currency
customization,
PT0981128
PT0981128
3.4.2 Traceability matrix between the functionalities of system developed and previous system.
CF1
CF2
CF3
CF4
CF5
CF6
CF7
CF8
CF9
EF1
EF2
EF3
EF4
SF1
SF2
SF3
SF4
DET
JET
EM
CET
DETC
DEM
X
X
X
X
X
TABLE 3 TRACEBILITY MATRIX BETWEEN THE FUCNTIONALITIES OF SYSTEM DEVELOPED AND PPREVIOUS SYSTEMS
Abbreviations:
Daily Expense Tracker-DET (New System)
Just Expenses: Expense Tracker JET,
CoinKeeper: Expense Tracking-CET,
Daily Expense Tracker (Previous) -DETP
Expense Manager EM,
Daily Expense Manager (DEM)
X
X
Features
DET
1.
JET
CET
DETP
EM
DEM
3. Task List
4. Save Expense
5. Save Income
6. Save Credit
7. Save Debit
8. Save Location
22. Contact us
PT0981128
DET
JET
EM
CET
DETC
DEM
Marks out of
100
90
75
80
82
78
75
PT0981128
4.1.1.1. Questionnaire
Questionnaire (Refer to appendices for questionnaires) is a part of data gathering technique
in which a series of questions designed to gather specific information. Questionnaires will specially
be designed for users who would use the system which will include people who are interested in
social networking websites. They have few advantages as Questionnaire
4.1.1.1 Can be used to collect both qualitative and quantitative data
4.1.1.2 Can be distributed manually or electronically
4.1.1.3 Can reach a vast number of people regardless of physical location or geographical dispersion
4.1.1.4 Can be distributed quickly and cheaply
4.1.1.5 Can be used when human and financial resources are not available to conduct interviews
4.1.1.6 Why Questionnaires?
As this application is targeting a large number of persons who are going to use the proposed
system, so they are enormous in number, so it is not possible to take interview of them because it
will be very time consuming. These are some reasons for using Questionnaires4.1.1.6.1. The analysis of questionnaire is most efficient than other techniques as we can draw the
graphs and analyse the data.
4.1.1.6.2. It can reach a vast number of people regardless of physical location or geographical
dispersion.
4.1.1.6.3.
PT0981128
Question 1
Justification
Question 2
Justification
Question 3
PT0981128
Question 4
Justification
Question 5
Justification
Question 6
Justification
Question 7
Justification
Question 8
Justification
Question 9
Justification
Question 10
Justification
Question 11
Justification
Question 12
Justification
Question 13
Justification
Question 14
PT0981128
This will provide that how frequently the user access the services and it will help
in designing the user interface like use of metaphors and shortcuts etc. Maps with
SF1.
Does your current system take automatic backup of your database?
Yes
No
To find out whether their system takes automatic backup of the database or not.
As in our system we are going to give an option for the same. Maps with CF8.
Would you like to share your mobile with your family members so that they can
save their expenses using their login id?
Yes
No
This will help out the developer on his module i.e. registration whether multiple
people on a single system is beneficial or not. Maps with CF1, CF3, CF5.
Would you like to save income along with expenses in the system?
Yes
No
Cant Say
Some people only wants to save their expenses not their income, so to find out
how many such people are there, this question is relevant. Maps with CF2.
Would you like to put limit on expenses of a particular item?
Yes
No
On all Items
Only on some particular item.
This will lead to the fact whether the users really want to put limit on a particular
item. Maps with CF4.
Which type of alert you will prefer to get when you exceed your budget or any
new notification comes?
vibrate only
vibration along with sound
only notification no sound
only sound
To find out which type of notification method is beneficial for the user. Maps with
CF9.
Would you like to upload your pic in your profile?
Yes
No
May be
This would help in gathering the facts that how users will be going to like this
feature. It will help the developer in finding solutions for CF3.
Should there be an option to delete your data?
Yes
No
Developer wants to know whether the users really want to delete their data or not.
Maps with CF5.
Which type of report will you prefer?
Graphical Report
Textual
Both
This will help developer to find the user choice i.e. on which type of report the
developer really needs to work on. Maps with CF6.
Would you prefer a cost effective mobile application rather than a website?
Yes
No
This would help in gathering the facts that the proposed system will be an
application or a website on the mobile. Maps with EF2.
Would you like an option to be there as contact us?
Yes
No
This would help in gathering the facts that by which way the users will like to
contact the developer. Maps with CF10.
Do you have internet accessibility in your mobile?
Asia Pacific Institute of Information Technology
43
Question 15
Justification
Question 16
Justification
Question 17
Justification
Question 18
Justification
Question 19
Justification
Question 20
Justification
Question 21
Justification
Question 22
Justification
Question 23
Justification
Question 24
PT0981128
Yes
No
This would help in gathering the facts that the proposed system should be an online
or an offline system, so according to the user choice, the developer will provide
the functionality. Maps with SF3, EF4 etc.
Would you prefer to visit the website FAQ before contacting the developer?
Yes
No
May Be
This will help the developer to be updated with the FAQ section of the website.
Maps with CF12.
Would you prefer Google-map to find a place?
Yes
No
This would help in gathering the facts that how the users would like to find places,
so according to the user choice, the developer will provide the functionality. Maps
with EF4.
Do you think that future prediction of this system will be going to help you?
Yes
No
May be
This would help in gathering the facts that whether the users would like to use the
future prediction facility or not. Maps with EF1.
How likely you will want to access your data from the net using web browsers
Frequently
Sometime
More than 5 time a week.
Less than 5 times a week
This will help the developer to find out how much traffic will be there on the
website of this system. Maps with CF1.
How likely you will be using the task manger present in this system?
Frequently
Sometime
More than 5 time a week.
Less than 5 times a week
This will help the developer to find out the usage of the task manager. Maps with
EF3.
Will you like to save your location from where you are saving your data?
Yes
No
This would help in gathering the facts that whether the users would like to save
their location along with the data or not. Maps with EF4.
Will you like that fields which should be saved should be present in as a menu
option.
Yes
No I will save it manually
Cant say
This will help the developer to get the options for the development purpose. Maps
with SF1.
How likely you would like to change your wall paper with the help of this system?
Yes
No
Developer can know from the facts of this question whether this option will be
really helpful or not. Maps with SF2.
Would you like to have an option to schedule the mail from your application?
Yes
No
This would help in gathering the facts that whether the users would like to send a
report from their mobile to mail for further works or not. Maps with SF3.
Would you like to send SMS report to another mobile?
Yes
No
Question 25
This would help in gathering the facts that whether the users would like to find out
whether the user wants to share their data with someone else or not. Maps with
SF4.
What are the likely expenses you would like save?(Multiple choice)
Auto, Bus, Train fare
Bike
Vegetables
Room rent
maintenance
Electric bill
Car maintenance
Insurance
Lodging
charge
Shopping
Expenses
Home Loan
consultation
EMI
Medicines
Investments
Newspaper
&
Doctors
magazines
Cable/ DTH/
Medical Tests
Broadband
Fooding
EMI
Justification
Analysis
Rice
Petrol/Diesel
ories
Snacks
Oil
Vehicle Loan
premiums
This would help in gathering the facts which will be customized for savings. Maps
with SF1.
Most of the user proposed that, please provide the application for free because
they want their all friends to be online on this application.
Fooding
Lodging
Snacks
Car maintenance
PT0981128
Vegetables
Rice
Oil
Petrol/Diesel
Insurance premiums
Telephone/Mobile
charge
Investments
Medicines
Newspaper &
magazines
Donation/Charity
Shopping Expenses
Movies &
Entertainment
Home Loan EMI
Doctors
consultation
Medical Tests
New accessories
Cable/ DTH/
Broadband
Other, please specifies________________________________________________
______________________________________________________________________
TABLE 7 ITEMS TO BE SAVED IN SYSTEM
Justification: This would help in gathering the facts which will be customized for savings.
Maps with SF1.
4. Do you still need to maintain any additional information as a Hardcopy?
Yes
No
If yes then what are they? _________________________
Justification: This will help the developer to know whether some fields are missing or not in
the system which is to be developed. Maps with SF1.
5. Do you see graphical reports in current system?
Yes
No
If yes then what are they? ---------------------------------------------------------------------------------Justification: To find out what are those reports which can be implemented the developing
system. Maps with CF6.
6. Do you think that future prediction of this system will be going to help you if yes please
specify how? What type of predictions you will to use from this system? _________
Justification: this will give ifs and butts of future prediction and it can give us the some
valuable information which we can implement in the system.
Additional Requirements ________________________________________________________
Justification: To find out any missing attribute which the developer will enjoy in implementing it
in the current system.
Any Suggestions ________________________________________________________________
Justification: To get any suggestion from the user. As this system is going to be developed for the
users point of view so there suggestion is most welcome in this system.
PT0981128
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
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
so use of Google-Map in android application is without compatibility issues, exceptions and well
PT0981128
Packages
Uses
com.dkg.fyp;
Android.app
android.app.Activity;
Android.content
android.content.Intent;
android.content.Context;
android.os
android.os.Bundle;
Android.view
android.view.View.OnClickListener;
android.view.View;
Android.widget
android.widget.Button;
android.widget.EditText;
android.widget.Toast;
PT0981128
and
java.net
java.net.URI;
java.net.URISyntaxException;
android.text
android.text.Editable;
android.text.TextWatcher;
android.telephony
android.telephony.SmsManager;
org.json
org.json.JSONArray;
org.json.JSONException;
errors
org.json.JSONObject;
com.google.android.maps
com.google.android.maps.GeoPoint;
com.google.android.maps.ItemizedO
verlay;
com.google.android.maps.MapActivit
y;
com.google.android.maps.MapContr
oller;
PT0981128
android.location.Location;
location.
android.location.LocationListener;
android.location.LocationManager;
android.location.Criteria;
TABLE 9 PACKAGES USED IN DEVELOPING ANDROID APP
Uses
java.io
java.io.PrintWriter
java.sql
java.sql.Connection;
java.sql.PreparedStatement;
java.sql.SQLException;
java.sql.Statement;
java.sql.ResultSet;
java.sql.DriverManager;
java.sql.Connection;
java.util
java.util.logging.Level;
java.util.logging.Logger;
logging output.
java.util.Date;
javax.servlet
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
javax.servlet.http.HttpSession;
PT0981128
Developer thinks that for developing propose Mobile application Android will be used, as Android
is a feature-rich OS programming which contains Exception- Handling, Multithreading, Handlers
which will help in developing the proposed project, also it is easy to learn.
Android has Google-Map and JSP support as all of these three are backed by Google itself like
Google-Map is packaged with the Android SDK so using Google-Map doesnt poses any unwanted
situations and performance issue also they have thoroughly checked and developed functions so it
gives a great relax to the developer and maximize the chances of success.
Android is well supported with JSP
Android Support with Google-Map,
Android has Multi-threading, Handler, Exception Handling, Encapsulation which can be used
in the system for various functions like fetching friends data while showing their location on
Google-Map.
OS specific programming is critically needed as accessing the GPS of mobile device is an OS
specific function also mobile notification and alert can only be customized if the developer is
using OS specific programming.
4.2.1.1.3.2 Server-Side Application
Developer thinks that for developing proposed Server-Side application JSP-servlet will be used, as
J2EE is a feature-rich server-side programming(and all we need from JSP-Servlet is to send and
receive the data) which contains Exception- Handling, object oriented concepts, which will help in
developing the proposed project.
JSP has Android support as these two are backed by Google itself like JSP supports JSON objects
that will be responsible for data communication between these two.
JSP-Servlet with Android
It is well-compatible with android data sending and receiving with the help of JSON objects
which is dedicated for this particular operation.
JSP-Servlet and Android both are well-backed by Google so there wont be any compatible and
performance issues
It has all the capabilities like database connectivity, receiving and sending data, Validations
needed for the project.
It is well-supported with Android.
PT0981128
High Performance
High Availability
Management Ease
Lowest Total Cost of Ownership (NA, Top Reasons to Use MySQL, 1995)
Requirements Analysis
System Testing
System Design
Integration
Testing
Architecture Design
Unit Testing
Module Design
Implementatio
n
FIGURE 10V MODEL
V-MODEL
Selected Software Development Methodology: V-model
4.2.3.2.
Phases of V-Model
This methodology has following phase that developer will follow while developing the system.
4.2.3.2.1. Requirement Analysis- This is the first step in the verification process. During this
stage, the developer is not going to discuss how the system is to be built, but it will be a
general discussion and user requirements document is put forth. This document will be
information regarding the system function, performance, security, data, interface, etc.
This document is required by business analysts to transmit system function to users.
Therefore, simply be a guide. (NA, Waterfall Model, n.d.)
4.2.3.2.2. System Design-Like the name of the phase suggests, here the possible design of the
product is formulated. It is formulated after keeping in mind the requirement notes.
While following the documents, if there is something that doesnt fit right in the
design, then the user is made aware of it and changes are accordingly planned.
4.2.3.2.3. Architecture Design-The architecture design, also known as the computer
architecture design or the software design should realize the modules and the
functionality of the modules which have to be incorporated.
4.2.3.2.4. Module Design-In the module design, the architectural design is again broken up
into sub units so that they can be studied and explained separately. The units are
called modules. The modules can separately be decoded by the programmer.
4.2.3.3.
PT0981128
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
PT0981128
PT0981128
QA1
Primary Research
Customization
QA2
Notification
QA3
Reports
QA4
Mobile Version
QA5
Task Management
QA6
Future Prediction
QA7
Mobile Application
QA8
Web Application
QA9
QA10
Save Income
QA11
Limit on expenses
QA12
Upload Pic
QA13
Delete option
QA14
Google Map
PT0981128
Analysis
40% of user wants to filter the data, so developer analyzes
searching facility should be provided
40% of user wants to receive notification, so developer
analyzes Notification facility should be provided
100% of the users wants to have a medium by which they
can easily analyzes the data so developer analyzes
Report functionality should be included
100% of users want to have a similar system for handheld
devices, so developer analyzes than Mobile Version of
System should be included.
40% users face difficulty in managing tasks so developer
analyzes the problem and included Task Manager.
60% of users wants to know the future saving, developer
analyzes the problem and decided to include Future
Prediction functionality
40% users wants to save their expense on Mobile so
developer has developed the system on Android Mobile.
40% users wants to view the reports and save the
expenses on web also, so the developer has developed
web application also.
50% users wants to send their reports to others e.g.
guardians so the developer has given the option to send
message and email.
80% of the user wants to save their income as well with
the expenses So the developer has provided the save
income facility.
40% of the users wants to put limit on their expenses so
the developer has provided this option under account
setting.
As only 20% users want to save their pic on mobile as
profile pic. So the developer has not given this option in
this system. So that the system will be light and efficient.
70% users doesnt wants to delete the data as it might
cause a security problem in future so developer has not
provided this option.
60% users wants to view the location from where they
saved the expense, So the developer has provided the
option to view location on Map.
F1 F2 F3 F4 F5 F6 F7 F8 F9 F1 F2 F3 F4
alities
Q1
Q2
Q3
Function
Q4
Q5
X
X
Q6
Q7
Q8
Q9
Q10
Q11
Q12
Q13
Q14
Q15
Q16
Q17
Q18
X
X
Q19
Q20
Q21
Q22
Q23
Q24
Q25
I1
I2
I3
PT0981128
I5
I6
I1-I6 : Interview Questions
Q1-Q25: Questionnaire
CF1-CF9: Core Functionalities
SF1-SF4: Special Functionalities
EF1-EF4: Enhanced Functionalities
TABLE 10 TRACEBILITY MATRIX BETWEEN QUESTIONAIRE AND FUNCTIONALITES
PT0981128
Profile Management
Registration
DET
Task Manager
Report
Change Wall Paper
Future Prediction
Send Report
View Route
Design
Use Case
Activity Diagram
UC-01
UC-02
UC-03
UC-04
UC-05
UC-06
UC-07
UC-08
UC-09
AC-01
AC-02
AC-03
AC-01
AC-01
AC-01
AC-01
Sequence Diagram
SD-02
SD-03
PT0981128
PT0981128
Android
extends
extends
Registration
extends
DET
<<Include>>
Expenses
uses
Put limitation
extends
uses
extends
Income
Task manager
extends
uses
<<Include>>
<<Include>>
uses
Debit
<<Include>>
Profile management
uses
Credit
User
uses
Future Prediction
Login
<<Include>>
extends
uses
Report
Credit Report
extends
Expense Report
uses
extends
uses
extends
Income Report
extends
extends
Debit Report
Send Report
View Route
cummulative Report
Change Wallpaper
Graphical Report
Description
Profile management
Registration
DET
Task manager
Report
User can view the various reports like expense, income etc.
Future Prediction
Send Report
View Route
User can view the route from the current location to that
location where the expense or task was saved.
Actors
Description
App-User
Administrator
Admin performs the management of the whole system. Admin backups the
data periodically and manage the site.
PT0981128
Login
extends
<<Include>>
Delete Image
extends
View
extends
uses
Profile management
extends
Change password
extends
Account setting
extends
Update Data
USER
extends
Backup Setting
extends
Manually
extends
Never
Use Case ID
Name
Goal
Description
UC-01
Profile management
User can manage their profile,
User can manage their profile and do changes
whenever required.
Application-User(Customer)
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s):
Exception Pathway(s):
1.
2.
3.
1.
PT0981128
Web page
extends
uses
extends
Registration
Android
USER
FIGURE 13 USE CASE DIAGRAM OF REGISTRATION
Use Case ID
Name
Goal
Description
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate
Pathway(s)/Exception
UC-02
Registration
User registers in the system.
User can register into the system and cerate account.
Application-User(Customer)
User has internet connection available
User has installed this app.
User is Logged into the system
User successfully operate the system
User can do all activity in particular time.
1. User register into the system
2. User can manage the expenses properly.
3. User gets feedback of registration successfully done.
1. User can register through the web application.
PT0981128
<<Include>>
Expense
extends
uses
<<Include>>
extends
DET
Income
<<Include>>
Put Limitation
extends
<<Include>>
extends
USER
Credit
<<Include>>
Debit
Use Case ID
Name
Goal
Description
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):
UC-03
DET
To manage users daily expenses
It is used to save expenses and view reports.
Application-User
Users are using this application to manage
their daily expenses.
User has logged in the system.
User can save the records
1. User uploads the data(all their expenses)
2. Admin runs the monitor application
3. Admin analyzes the reports
1. No user uploads the data means no one is using
application
2. User can enter all detail of their daily
expenses.
PT0981128
Delete Task
<<Include>>
extends
Add Task
extends
uses
Task manager
<<Include>>
extends
USER
View Incomplete
Task
extends
View
extends
Use Case ID
Name
Goal
Description
Actor(s)
Assumption
UC-04
Task manager
View all task details and add the task.
This is for view, create and delete the task.
Application-User(Customer)
User has installed this application on his
device.
User has added the task.
User successfully creates and delete task.
1. User creates the task.
2. User manages and deletes the task.
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):
TABLE 17 USE CASE OF TASK MANAGER
PT0981128
<<Include>>
Credit Report
extends
extends
uses
Expense Report
Report
extends
extends
User
Income Report
extends
extends
Debit Report
cummulative Report
Graphical Report
Use Case ID
Name
Goal
Description
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
PT0981128
UC-05
Report
User can view reports.
User can view all the reports of DET e.g. credit report,
debit report.
User of the app
User has already inserted some records in that
month.
User will have to login to the system.
User views the list of expenses and detailed
expense report of a particular item.
1. User views the expense, income, and credit
and debit report.
Asia Pacific Institute of Information Technology
73
Alternate Pathway(s)/Exception
Pathway(s):
Take Picture
<<Include>>
uses
extends
Change Wallpaper
Set Wallpaper
USER
FIGURE 17 USE CASE DIAGRAM-CHANGE WALLPAPER
Use Case ID
Name
Goal
Description
UC-06
Change Wallpaper
User can Change Wallpaper.
User can click a pic and use it as wallpaper
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):
PT0981128
Login
<<Include>>
uses
Future Prediction
<<Include>>
DET
extends
extends
USER
Yearly Predicition
2- Yearly
Prediction
Use Case ID
Name
Goal
Description
UC-07
Future Prediction
To view the future savings.
User can view the expected future savings
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):
PT0981128
<<Include>>
Send SMS
extends
uses
Send Report
extends
Send Email
USER
Use Case ID
Name
Goal
Description
UC-08
Send Report
Send reports on other mobile.
User can send the expense report to another mobile.
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):
PT0981128
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
Use Case ID
Name
Goal
Description
UC-09
View route
User can view route
User can view the route from the current location
to that location where the expense or task was
saved.
User of the app
Actor(s)
Assumption
Pre-Condition
Post-Condition
Happy Pathway
Alternate Pathway(s)/Exception
Pathway(s):
5.2.3
Sequence Diagram
PT0981128
User Login
o b jL o g in :L o g in
:L o g in
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
User Registration
UserRegistration
ValidateUser
CompleteRegistration
SqlDb
User
selfRegistration()
validationProcess
validateUser()
success/failure
completeRegistration()
Display appropriate message
PT0981128
saveRecords()
success/failure
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
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
Login
[Login Failure]
Completed Task
Add Task
View Task
[Login Success]
Reports
Expense
Expense
Account Setting
Expense
Profile
Management
Credit
Quick
Expense Report
Income
Save
Income Report
Credit Report
Debit Report
Expense Report
Quick Expense Report
VIew
PT0981128
USER
SYSTEM
DET
<<datastore>
>
Invalid Data
Enter Registration
Details
Check
Validations
Submit
Details
Valid User
Reading data
Login
DET
5.2.4.3
SYSTEM
DET
<<datastore>
>
Login
Invalid Data
Check
Validations
Login
Details
Valid User
Reading data
Login
DET
Save
Expense
Save Credit
Save Debit
Save
Income
Invalid Data
Save Data
Save
Details
5.3
PT0981128
PK
USER
Login
Role
Role_id
PK
Role
ROLE_Description
FK1
USER_ID
FK1
Username
Role_id
password
security_qsn
answer
USER_ID
First_Name
Middle_Name
LastName
Father_Name
Gender
DOJ
DOB
DOU
Status
Contact
FK1
Expense
PK
expenseid
FK1
expense_type
amount
locationid
dateofexpense
USER_ID
Income
PK
FK2
FK1
FK2
incomeid
incomeype
source
amount
locationid
dateofincome
USER_ID
Debit
Credit
PK
FK1
FK2
USER_ID
Mobile
District
Village
State
Pincode
Town
E_mail
Nationality
type
PK
credit_id
from
Installment_amount
Total_amount
Credit_Date
locationid
Expected_dor
Actual_dor
installment_type
nofInstallment
USER_ID
FK1
Locations1
PK
locationid
latitude
longitude
FK2
debitt_id
to
Installment_amount
Total_amount
debit_Date
locationid
Expected_dogiving
Actual_dogiving
installment_type
nofInstallment
USER_ID
PT0981128
RegisterWebUser
CompleteRegistration
UpdateProfile
+selfRegistration()
+doGet()
+doPost()
+completeRegistration()
+doGet()
+doPost()
+updateProfile()
+doGet()
+doPost()
RegisterAndroidUser
+selfRegistration()
+doGet()
+doPost()
Statement
Connection
ResultSet
ValidateUser
+End2
+End1
-End4
1
-End3
-End6
SqlDb
+Connection conn
+PreparedStatement ps
+ResultSet rs,rs1
+openConnection()
+closeConnection()
+validateLogin() : Boolean
-End5
-username
-password
-from
+selfRegistration()
+doPost()
+validateUser()
+getFrom() : String
+setPassword()
+setPassword()
+getUsername()
+setUsername()
ADMIN
-Name : String
-Address : String
-Contact
-Role
-LoginDetails
-Others
+validateUser()
+viewUsers()
+viewFeedback()
+giveFeedback()
+createAdmin()
+completeRegistration()
+updateProfile()
USER
-Name : String
-Address : String
-Contact
-Role
-LoginDetails
-Others
+saveExpense()
+saveCredit()
+saveIncome()
+saveDebit()
+selfRegistration()
+completeRegistration()
+updateProfile()
+viewCreditReport()
+viewDebitReport()
+viewExpenseReport()
+viewIncomeReport()
+viewQuickExpenseReport()
+viewGraphicalReports()
PT0981128
OnCreate
Register Android user
Btnsave:Button
etfname, etmname,etlname,
etpassword, etemail:EditText
spJob:Spinner
fname, mname, password, email,
lname:String
Error:TextView
onCreate(savedInstanceState:Bundl
e):void
Save:void
Account Setting
Btnsave:Button
etfname, etmname,etlname,
etpassword, etemail:EditText
spJob:Spinner
fname, mname, password, email,
lname:String
Error:TextView
onCreate(savedInstanceState:Bundl
e):void
Save:void
CompleteUserDetails
onCreate(savedInstanceState:
Bundle):void
Save:void
Debit
spnDebit:Spinner
etto, etDebitPrincipal,
etTotalAmount,
etNoInstallments,etOthersDebit:Edit
Text
dtExpectedpay:DatePicker
btnSaveDebit:Button
to, DebitPrincipal,TotalAmount,
InstallmentType,
ExpectedDor, NoInstallments,
userid,othersInstallment,date:Strin
g
onCreate(savedInstanceState:Bundle):vo
id
Credit
spnCredit:Spinner
etfrom, etCreditPrincipal,
etTotalAmount,etDescription,
etNoInstallments, etOthers:EditText
etExpectedDor:DatePicker
btnSaveCredit:Button
from, CreditPrincipal, TotalAmount,
InstallmentType, Description,
ExpectedDor, NoInstallments,
userid,othersInstallment,date:Strin
g
onCreate(savedInstanceState:Bundle):vo
id
Expense
Income
spnExpenseList:Spinner
etExpenseOthers, etDescription,
etAmount:EditText
dtExpectedpay:DatePicker
btnSaveExpense,:Button
expenseOthers,description,amount,ex
penseType,userid:String
spnIncomeList:Spinner
etIncomeOthers, etSource,
etAmount:EditText
dtDateOfReceiving:DatePicker
btnSaveIncome,:Button
incomeOthers,source,amount,incomeTy
pe,userid:String
onCreate(savedInstanceState:Bundle):vo
id
onCreate(savedInstanceState:Bundle):vo
id
PT0981128
USER Table
User id
First name
Last name
Gender
Doj
Dou
Role id
Status
ROLE Table
Role id
Role
Role description
CONTACT Table
Contact id
Village
State
Pincode
Country
Type(P/S)
User id
MOBILE Table
Mobile id
5.6.2
Mobile No.
Type(P/S)
User id
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).
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.
Forum (UNF)
First No duplicity in the same table and separate As atomicity of value is the primary concern in this phase, all the relation has
1NF:
Normal
only atomic values. None have non-atomic values. Therefore, table passes the
first normal form
Forum
2NF:
Second Remove subsets of data that apply to multiple However developer performed a responsible de-normalization in certain table
Normal
rows of a table and create relationship between due to vary nature of data.
Forum
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
the table. Therefore, developer concludes that design compiles with 3NF.
Un-Normalize Table
Useri
Name
fname
Gender
Do
Dou
Conta
Mobile
Village
State
Pincode
ct id
Contact
Role id
Role
Type
ABC,DE
JKl
Male
C1
11,22
DDD
FFF
13210
--
Primary
User
ABC,DE
JKl
Male
C2
11,22
SSS
JJJ
45687
--
Secondary
User
Last
Fna
Gende
Do
Contact
nam
me
id
me
Mobile
Villag
State
Pincode -
Contact
Rol
Type
e id
Role
e
1
ABC
DE
JKl
Male
C1
11
DDD
FFF
132103
---- Primary
User
ABC
DE
JKl
Male
C2
12
SSS
JJJ
456878
---- Secondary
User
In the above table to save primary contact details and secondary contact details user needs to save the same data e.g. first name, middle
name etc. again and again. Therefore it is well understood that one task have to be repeated for each action. So there is nested relationship present
in this table. So there is violation of normalization as data redundancy is there and a particular tuple has more than one non-atomic attributes
present in the give un-normalized table.
First Normal Form (1 NF)
To achieve first normal form developer has to reduce duplicate data and eradicate all non-atomic attributes and nested relationship from
the un-normalized table.
PT0981128
Last
Fna
Gende
Do
name
me
me
Dou
Contact
Mobile Village
State
id
Pinco
de
Conta
Role Role
ct
id
Type
1
ABC
DE
JKl
Male
C1
11
DDD
FFF
13210
---
Primar 1
User
y
1
ABC
DE
JKl
Male
C2
12
SSS
JJJ
45687
---
Secon
User
dary
Now in each cell there is just one value. Hence 1st NF is achieved here.
In the table,{Userid,Contact id} are primary key in the table. Userid uniquely determine some of the attributes. So it determine partial
dependency exist here. There is no full functional dependency as Contact id also determine attributes which violates principles of normalization.
It determines there is no full functional dependency.
Partial dependency Present:
Userid{firstname, lastname, fname, gender, doj, dou}
Contact id{mobile, village, state, pincode, country, contact type}
First name
Last name
Gender
Doj
Dou
Contact id
roleid
role
Contact
Contact id
PT0981128
Mobile no.
Mobile type
Village
State
Pincode
Country
First name
Last name
Gender
Doj
Dou
Contact id
roleid
role
Here role is directly dependent on roleid and there can be multiple mobile no.s for one user. So in order to convert it into 3NF we need to
separate them as follow. Final tables looks like
USER Table
Userid
First name
Last name
Gender
Doj
Dou
Role id
Status
ROLE Table
Roleid
Role
Role description
CONTACT Table
Contact id
Village
State
Pincode
Mobile No.
Type(P/S)
User id
Country
MOBILE Table
Mobile id
PT0981128
Type(P/S)
User id
5.7
User Table
Attribute
Description
Userid
Fitst name
Middle Name
Last Name
Father Name
Gender
Doj
Dou
Role id
Unique identification id
Name of user
Middle Name of user
Last name of user
Fathers name of user
Gender of user
Date of joining
Date of last updation
Designation of the user in
organization.
Status of user e.g. active or inactive
Status
Constraints
Primary Key
Foreign Key
Relationship
Description
11
20
20
20
30
6
Varchar
Not
Null
Yes
No
No
No
30
No
Yes
No
No
Yea
User id
Role id
This table has relationship with Role table.
CONTACT
Attribute
Contact id
Userid
Village
State
Pincode
Country
Type
Description
Unique id provided in contact table
Unique identification id
Village name of user
State name of user
Pincode of user
Counry of user
Primary address or secondary
Data Type
Int
Int
Varchar
Varchar
Varchar
Varchar
Varchar
Constraints
Primary Key
Contact id
Foreign Key
User id
Relationship
Description
Size
11
11
20
20
6
30
9
Not Null
Yes
Yes
No
No
No
Yes
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. MS Visio 2007/13
2. MS Power Point
2013
helios-win32)
3. AVD (Android virtual
3. Windows 7 Ultimate
device) Manager
4. Adobe Photoshop
5. MoboRobo Software
PT0981128
Implementation Plan
Developer divide the project into modules and then set the priority for each module and
module that has the highest priority, the developer focuses on the first and then proceed to the
bottom. Below is the graphical representation shown as a developer divides its work and prioritize
the different modules. Priority ranges 1-10 for one with 10 points has the highest priority.
IMPLEMENTATOIN
PALN
Change
WallPaper:5
Mobile System
priority:10
WEB SYSTEM
Priority:9
Registration:9
Save
Income:8
Save
Expense:8
Save Credit:8
Save Debit:8
Reports:7
Quick
Expense
Report:6
Future
Prediction:5
Graphical
Report:7
User Manual
priority:4
Account
Setting:6
Expense
Reports:7
User Manual
priority:5
Income
Reports:7
Credit
Reports:7
Debit
Reports:7
Task Manager:8
Login:9
Now after registration user will be able to complete his details if he has got time else
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
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
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
Avoid re-testing of
codes and
performed in less
time.
Disadvantage Testing require
efficient approach
Pair
Programming
Source Code
Control & Build
Least complex
way to integrate
the project
Sometimes may
result in
redundancy
Incremental
Coding
Approach
Simplest method
to follow a linear
approach.
As it is not
iterative so it
creates chances
of Risk.
6.2
Developer
uses
English
descriptors
that
accurately
describe
the
Developer uses terminology which is used in Current Scenario and related to the domain
like task, project etc.
6.2.2 Documentation
Developer provide comments in between source code to make code more readable and
understandable
PT0981128
Developer tries to initialize the local variables when they are declared.
Proper Member function visibility is provided by developer as Private, Public and for global
access static method is used
6.3
Implementation of Modules
Objective
This is the one of the main functionality of this system which will save all
the daily expenses which the user will like to save. Along with the expenses
the location of the place using GPS technology will also be saved so that if
the user wants to know from where they saved this detail they can easily
know. User can save credits, incomes and debits detail as well in this
system.
Approach
START
Write
Expense
Save
Expense
END
Perform
Action
Verify
Action
Use Case
Use Case has been provided in Analysis Section (UC-03)
Code Snippet (in relation with above approach)
Pseudocode for Saving Expense on Web
Pseudocode for Saving expense on Mobile
START
START
Variable expenseType,amount,description
Variable expenseType,amount,description
Fill Details of Expense from list
Fill Details of Expense from list
If Others is Selected then
If Others is Selected then
Make Others Textbox visible
Make Others EditText visible
Fill expenseType with value of others
Fill expenseType with value of others edittext
textbox
Else Fill expenseType with value of selected list
Else Fill expenseType with value of selected
item
PT0981128
END IF
Fill all the text boxes
Press Save button
If data passed to server then
Save it in database
Else show error message
END IF
If error occurs then
Msg=Sorry data not saved
Else Msg=Expense Saved
END IF
STOP
Code Snippet
Java.util
Description
Code Snippet
Code Snippet
3
Code Snippet
params.add(new BasicNameValuePair("userid",
userid));//to store the userid in name value pair.
Problems Occurred
Graphical Report: when there is no internet connectivity or internet is slow then android
activity which is drawing the graphical report crashes and hence user has to login again.
Solution
The developer tried to rectify the problem by using try and catch method to prevent system
in from being crashed and show proper message.
PT0981128
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
FileConnection fileConn =
(FileConnection) Connector.open(url,
Connector.READ);
InputStream fis =
rivate void displayAllRoots() {
PT0981128
System.out.println(e.getMessage());
} catch (SecurityException e) {
fileConn.openInputStream();
long overallSize =
fileConn.fileSize();
int length = 0;
byte[] filedata = new byte[0];
while (length < overallSize)
{//converting the selected file to bytes
byte[] data = new
byte[CHUNK_SIZE];
int readAmount = fis.read(data, 0,
CHUNK_SIZE);
byte[] newFileData = new
byte[filedata.length + CHUNK_SIZE];
System.arraycopy(filedata, 0,
newFileData, 0, length);
System.arraycopy(data, 0, newFileData,
length, readAmount);
filedata = newFileData;
length +=
readAmount;}
fis.close();
fileConn.close();
//here u can write a code to connect
with the server for sending the selected file
} catch (Exception e) {
//showAlert(e.getMessage());
} finally {
}
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.
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
PT0981128
Main task is to maintain the consistency between Web and Mobile Module so Developer
Design the whole system but how to maintain the integrity.
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
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
PT0981128
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
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
Profile management
(Screen2)
This is the profile management Page where user manage their profile
DET->DET Main Screen->Profile Management
6.7.1.4
Edit the
address
Description: user can edit his/her contact details from the android det app also,this is
the interface for the same.
6.7.1.5
PT0981128
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
Description: This screen shows the demo of camera which captures the pic and set it as
profile pic.
6.7.1.7
Save
expenses
PT0981128
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
Description: This screen is for user purpose only user can add task, view completed task,
view incomplete tasks and delete the tasks.
6.7.1.10
PT0981128
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
Description: user
6.7.1.12
PT0981128
Description: here user can put the limitation of their report like if they want to send
Reports
Description: users can view the report based on advance criterias which are already
PT0981128
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
Description:if user want to see their income and expenses he/she can see which report they
want.
6.7.1.17
PT0981128
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
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
PT0981128
Description: a shortest route will be drawn between the two locations i.e. current and
saved location.
6.7.1.21
Description: if user want to see the reports between two dates then user selects two date
PT0981128
Description: login screen of the user. In this screen new user can register and exsisting user can
login with the valid credentials.
6.7.2.2
Home Page of DET(Daily expense tracker) (Screen2)
This page is the home page of my website here we click on any option it shows the all report.
6.7.2.3
PT0981128
6.7.2.4
Save
expense
category
Report (Screen 4)
View
Credit
report
6.7.2.5
Choose installment
category for credit
PT0981128
Debit
Report
Description: in this screen user can view the all record of the report .
6.7.2.7
Select expenses category (Screen 7)
Description: if user want to see report of any saved expenses item here a dropdown list in which
we can select that item and see the report.
6.7.2.8
Cumulative Graphical report of a Month (Screen 8)
Description: User can see the cumulative report of the whole system in this pie chart.
PT0981128
Description: add the information of user. User conation their primary address and secondry
address.
6.7.2.10
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
Site Map
Home
Registration
Contact us
Login
Future
pridiction
Profile
Setting
Search
Logout
Home
Expense
Income
Credit
Debit
Quick Report
Expense report
Intrest
calculator
Account
setting
Credit
report
Debit
report
Interest
Calculator
Reports
Cumulative
Report
PT0981128
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
STEP 1
STEP 2
STEP 3
STEP 4
Customize Netbeans
STEP 5
PT0981128
STEP 6
Setting Apache
Directory Location
STEP 7
STEP 8
Finally Installing
Netbeans
PT0981128
6.9.2
STEP 1
STEP 2
STEP 3
STEP 4
STEP 5
STEP 6
STEP 7
STEP 8
PT0981128
6.9.3
STEP 9
Go button
Exported
file
PT0981128
Choose the
file det_db1
And press go
STEP 2
Import successfully
done!!
6.9.5
PT0981128
Run Main
Project
STEP 1
PT0981128
After installing it developer will get the screen given below in java perspective.
Android
SDK
manager
Java
Perspective
PT0981128
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.
PT0981128
STEP 1:
Go to File-> Import->
Select Existing projects into workspace.>Next
PT0981128
PT0981128
6.9.9
PT0981128
PT0981128
PT0981128
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
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:
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
PT0981128
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:
PT0981128
Project Title
Test Case Name
Test Case ID
Conducted By
Precondition
Description
Test Case Priority/Severity
Module
10/01/2013
Testing
Date
Black Box
UT1
Test
Type
Durgesh Kumar
Duration 5 Hours
User must have internet access on mobile to register
on the web Application.
To perform user registration by providing the required
details.
High as the user will be allowed to perform all the task
under DET. So severity is high.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)
Register Users
Steps
1.1
System
should open
user
registration
page.
User Should
be registered
And must
show User
Registered
Requested
Screen
Opened
Pass
1.28
New User
added to the
system
successfully.
Pass
1.3
System
should
display User
with similar
email id is
already
registered.
System
displayed
New user is
added and
redirect to
login page
Fail
1.4
System
should
display User
with similar
email id is
already
registered.
System
displayed
html tags
instead of
showing
expected
result<html>
</html>
Fail
PT0981128
Steps
Result Expected
Actual
Result
Result
(Pass/Fail)
1.5
Error message
should appear
Identical to
the expected
Result
Pass
1.68
Error message
User Already
Exist
Identical to
the expected
Result
Pass
Project Title
Test Case Name
Test Case ID
Conducted By
Precondition
Description
Test Case Priority/Severity
Module
2.1
PT0981128
20/01/2013
Testing
Date
Black Box
UT2
Test
Type
Durgesh Kumar
Hours(Not
Duration 10
regularly)
User must be logged in the application in order to
save expense.
User should turn on the GPS if they want to view the
route later on.
To save daily expenses in android app.
High: as this feature is the core feature of the
application, without this feature this system will not
be successful.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)
Save Expenses
Steps
System
should open
Requested
Screen
Opened
Pass
2.3
2.4
save expense
activity.
Expense
should be
saved
successfully.
Insert Success
Pass
Expense
should be
saved
successfully
Insert Success
Pass
System
should
display
Please enter
the details.
Insert Success
Fail
Steps
Result Expected
Actual
Result
Result
(Pass/Fail)
2.4
Error message
should appear
Identical to
the expected
Result
Pass
Project Title
Test Case Name
25/01/2013
Testing
Date
Black Box
Test
Type
Durgesh Kumar
Hours(Not
Duration 10
regularly)
User must be logged in the application in order to
manage profile.
User is able to manage his/her personal information.
Medium: as this feature is the core feature of the
application, if the user is not able to change the
personal details this system will not work perfectly.
MODULE EXECUTION
Profile
Management
UT3
Test Case ID
Conducted By
Precondition
Description
Test Case Priority/Severity
PT0981128
Steps
Result
Expected
3.1
3.2
3.3
Actual
Result
Result
(Pass/Fail)
System
should open
Profile
Management
activity.
Details shown
properly
Requested
Screen
Opened
Pass
Details shown
properly
Pass
Details shown
properly
Details not
shown
Fail
3.4
Next Screen
shown
Properly
Pass
3.5
Details shown
Pass
3.6
System
should
display next
screen
Details should
be visible
Details should
be visible
Details are
partially
shown
Fail
Steps
Result Expected
Actual
Result
Result
(Pass/Fail)
3.3
Identical to
the expected
Result
Pass
Project Title
Reports
Test Case ID
UT4
PT0981128
Testing
Date
Test
Type
3/02/2013
Black Box
Module
Steps
Durgesh Kumar
Duration 2 Hours
User must be logged in the application in order to
view reports activity.
User is able to view the reports buttons of expenses,
income, credit, debit and more.
High: as this feature is the core feature of the
application, if the user is not able to view the reports
of the expenses made then there is no use of this
system.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)
4.1
4.2
System
should open
Reports
activity.
Buttons are
visible
properly
Requested
Screen
Opened
Pass
Expected
output
Pass
Steps
Result Expected
Actual
Result
Result
(Pass/Fail)
4.2
Error should
occur
Identical to
the expected
Result
Pass
Project Title
Expense Reports
Test Case ID
Conducted By
Precondition
PT0981128
10/02/2013
Testing
Date
Black Box
UT5
Test
Type
Durgesh Kumar
Hours(Not
Duration 12
regularly)
User must be logged in the application in order to
view expenses.
User must save some expenses, income, credit and
debit items in order to view the reports
Module
Steps
5.1
5.2
5.3
5.4
System
should
display first
20 expense
records
That expense
details should
come along
with a route
button
Display a
route on the
map
Display a
route on the
map
Reports
shown in
ListView
Pass
Expected
output
Pass
Route
Displayed
Pass
Route not
displayed
Fail
Steps
Result Expected
Actual
Result
Result
(Pass/Fail)
5.4
No route should
be displayed.
Identical to
the expected
Result
Pass
PT0981128
Project Title
Test Case Name
Test Case ID
Conducted By
Precondition
Description
Test Case Priority/Severity
Module
12/02/2013
Testing
Date
Black Box
UT6
Test
Type
Durgesh Kumar
Hours(Not
Duration 8
regularly)
User should turn on the GPS if they want to view the
route.
User is able to save task, view task, deleted task and
view route.
Medium: as this feature is the special feature of the
application, so its severity is medium. It doesnt
effects on the DET core feature.
MODULE EXECUTION
Result
Actual
Result
Expected
Result
(Pass/Fail)
Task Manager
Steps
6.1
6.2
6.3
Press Save
6.4
6.5
6.6
6.7
System should
display options to
manage task
EditText should
appear to save
task name and
description
It should give
Task saved as
toast output
Show List of
incomplete tasks
Latitude and
Longitude should
be displayed
Route should be
displayed
Route should be
displayed
Options are
visible
Pass
Expected
output
Pass
Task Saved
Pass
List appears
Pass
Expected
result
Pass
Route
displayed
Route not
displayed
Pass
Fail
PT0981128
Steps
Result Expected
Actual
Result
Result
(Pass/Fail)
6.7
No route should
be displayed.
Identical to
the expected
Result
Pass
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
PT0981128
Project Title
Login
Testing Date
Test Case ID
Conducted By
Precondition
WT1
Durgesh Kumar
Web Application
White Box
Test Type
6 Hours
Duration
User must be registered and should create a
username and should save a mobile no.
Description
Function to Test
Input
Module
1.1
Steps
Result Expected
Authorized
member login
with username
Authorized users
redirect to his/her
first page.
22/01/2013
Actual Result
After Login testing
only authenticated
user is allowed to
enter in the system.
Login failed
Result (Pass/Fail)
Pass
Authorized
Authorized users
Fail
member login
redirect to his/her
with mobile no.
first page.
Authorized
Authorized users
Login failed
1.3
Fail
member login
redirect to his/her
with email id
first page.
Error Identified In the validateUser.java file developer made some mistake in his logic
Error Rectified
select userid from loginoption where username='" + username + "' or email='" + username + "'
or mobile='" + username + "'
Code Review
Login with either
It will login
1.2,1.3
Pass: Identical to
of three parameters successfully
expected Result
Conclusion: Developer made a mistake in Arithmetic operation he realized it and correct
it. Now module is working completely fine.
1.2
Project Title
Graphical Reports
Testing Date
24/01/2013
Test Case ID
WT2
Test Type
White Box
PT0981128
Durgesh Kumar
Web Application
Description
Function to Test
Input
Module
Steps
Result Expected
View Quick
Expense Report in
android
Change the value of
input and click on
Quick Expense
Report
Disconnect the
emulator from
internet
Put the code in try
catch block
2.1
2.2
2.3
2.4
2.5
Error Identified
5 Hours
Duration
User must be logged in the system.
Actual Result
Result
(Pass/Fail)
Pass
Graph drawn
Same chart as
earlier was
drawn
Fail
Graph not
drawn and
system crashed
Graph not
drawn and
system doesnt
crash
Graph not
drawn
Pass
Pass
Turn ON the
Graph should be
Fail
internet and repeat
drawn
the above steps
In the QuickExpense.java in android file developer made some mistake in
his logic. Developer did not convert those values in percentage as
drawGraph function was expecting the values in percentage.
Error Rectified
//to convert the values into percentage
double total=
Double.parseDouble(strExpense)+Double.parseDouble(strIncome)+Double.parseDouble(strCredit)+Double.parseDouble(strDebit);
strExpense=Double.toString(((Double.parseDouble(strExpense)/total)*100));
strIncome=Double.toString(((Double.parseDouble(strIncome)/total)*100));
strCredit=Double.toString(((Double.parseDouble(strCredit)/total)*100));
strDebit=Double.toString(((Double.parseDouble(strDebit)/total)*100));
drawGraph(strExpense,strIncome,strCredit,strDebit);
Code Review
Change the value Different pie chart will be
of input and click drawn
on Quick
Expense Report
Put the code in
Pie chart should be drawn
try catch block
2.2
2.5
PT0981128
Pass: Identical to
expected Result
Project Title
Test Case
Name
Test Case ID
Conducted By
Precondition
Description
Reports of a month
Function
Test
Input
Module
Testing Date
26/01/2013
White Box
WT3
Test Type
Durgesh Kumar
5 Hours
Duration
User must be logged in the system.
Web Application
To view the reports of a month in pie chart of expenses, income credit and debit on WEB
Application.
Test Case 3
to Draw pie chart in webpage
Income, expense, credit and debit of a month.
Steps
Result Expected
Actual Result
Result (Pass/Fail)
Code Review
Save some more records and
Different pie chart will Pass: Identical to
3.2
check the chart
be drawn
expected Result
Conclusion: Developer made a mistake in Sql Query & statement he realized it and correct it.
Now module is working completely fine.
PT0981128
PT0981128
map.put(pair[lhs].trim(), pair[rhs].trim());
System.out.println(map);
}
System.out.println("inside" + map);
}
bfr.close();
System.out.println("returned" + map);
return (map);
}
public void setProperties(String infile, String param) throws IOException
{//to write from the webpage in android context
String content = param;
FileOutputStream fos;
fos = openFileOutput(infile, Context.MODE_PRIVATE);
fos.write(content.getBytes());
fos.close();// to save first no.
}
public String getMapElement(String fileName, String key) {
TreeMap<String, String> map = null;
try {
map = getProperties(fileName);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return map.get(key);
}
private Bitmap loadChart(String urlRqs) {
Bitmap bm = null;
InputStream inputStream = null;
try {
inputStream = OpenHttpConnection(urlRqs);
bm = BitmapFactory.decodeStream(inputStream);
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bm;
}
private InputStream OpenHttpConnection(String strURL) throws IOException {
InputStream is = null;
URL url = new URL(strURL);
URLConnection urlConnection = url.openConnection();
try {
HttpURLConnection httpConn = (HttpURLConnection) urlConnection;
httpConn.setRequestMethod("GET");
httpConn.connect();
if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
is = httpConn.getInputStream();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return is;
}
162 }
PT0981128
58,59,60,61
51
t
b
123,124,125,127,128,
129,130,131,132
80
75,76,77,78,
79,81,82,89
52,53
c
126
j
133,134,135,136,137,
138,139,140,141,142,
143,144,145,146
87,88
115,116,117,118,119,
120,121
l
k
82,83,84,85,86
91,92,93,94,95,
96,97,98,99,100,
110,
111,112,113,114
101,102,103,104,105,106
,107,108,109
p
155,156,157
s
q
s
o
103,104,105,106,107
147,148,149,150,151,
152,153,154,158,159,
160,161,162,163
PT0981128
Integration Testing
Project Title
DET
Main Testing Date
22/02/2013
Module
Integration Testing
IT-01
Test Type
Durgesh Kumar Duration
10 Hours
The Unit testing of individual modules should already be performed so that
integrating testing can be performed
Test Case ID
Conducted By
Precondition
Unit Test Included
Objective
Test Case
Priority/Severity
Environmental Needs
PT0981128
UT1,UT2,UT3,UT4,UT5
To Integrate all units of user i.e. Registration, save expenses, manage profile
and view reports
It has highest priority as the main functionality of module lies under this
module.
JDK 1.6 need to be install and individual running properly
Internet Connection Should Be available
Test Case
ID
Input Specification
Output Specification
Remarks
IT-01-1
Pass
Registration successful
Pass
Pass
Pass
Pass
IT-01-2
IT-01-3
IT-01-4
IT-01-5
Integration Testing
Project Title
Task Manager
Test Case ID
Conducted By
Precondition
Integration Testing
IT-02
Test Type
Durgesh Kumar Duration
10 Hours
The Unit testing of individual modules should already be performed so that
integrating testing can be performed
UT6
To Integrate all units of task Manager
It is one of the special feature of the DET so its priority will be Medium.
Testing Date
25/02/2013
JDK 1.6 need to be install and individual modules must be running properly
There is no need of internet connection.
Inter Case Dependency/Limitation/Assumption: In integration all the relevant test modules need to be
related to each other. The output of the module is affecting the input of other module.
Test Case
ID
Input Specification
Output Specification
Remarks
IT-02-1
IT-02-2
Pass
Pass
IT-02-3
IT-02-4
IT-02-5
Delete Task
Uncheck the task from incomplete
task list when the task is completed
View Route
IT-02-6
Integration Testing
Project Title
PT0981128
Pass
Pass
Pass
Pass
Reports
Test Case ID
Conducted By
Precondition
Integration Testing
IT-03
Test Type
Durgesh Kumar Duration
5 Hours
The Unit testing of individual modules should already be performed so that
integrating testing can be performed
UT2,UT4,UT5
To Integrate all units of reports
It is one of the core feature of this system so its severity is HIGH.
Testing Date
27/02/2013
JDK 1.6 need to be install and individual modules must be running properly
There is no need of internet connection.
Inter Case Dependency/Limitation/Assumption: In integration all the relevant test modules need to be
related to each other. The output of the module is affecting the input of other module.
Test Case ID
Input Specification
Output Specification
Remarks
IT-03-1
Pass
IT-03-2
IT-03-3
Pass
IT-03-4
IT-03-5
IT-03-6
Pass
Pass
Pass
Pass
Test Method
Expected Result
Actual Result
Implementation of Email
& SMS
Developer Register
User and his login
details are sent to his
email id and Mobile
Click on Cumulative
report
Chart should be
drawn
Pass: As expected.
Implementation of Graph
result is in accordance
with the expected
result
Note:-This functionality is just an add-on to this system and if they didnt work than system
performance will not adhere.
PT0981128
It compromise of three layer of testing, and is closest of everyday experience. Its goal is to
demonstrate performance. And thats why it belongs to functionality testing rather than structural
testing.
System Testing
Project Title
System Testing
Test Case ID
Conducted By
Precondition
System Testing
ST-01
Test Type
Durgesh Kumar
20 Hours
Duration
User Should have his Username and Password with Him/her
Objective
Environmental Needs
Testing Date
02/02/2013
Test ID
Action Performed
Expected Output
Actual Output
Remarks
ST-01-1
Successful Login
Login successful
Pass
User registered
successfully
Save Expense
ST-01-4
Click on Income
Save Income
ST-01-5
Click on debit
Save debit
ST-01-6
Click on credit
Save debit
ST-01-7
Click on Reports
ST-01-8
Click on Expense
Reports
ST-01-9
Identical to
expected result
Pass
ST-01-10
ST-01-12
Identical to
expected result
Identical to
expected result
Identical to
expected result
Pass
ST-01-11
Identical to
expected result
Identical to
expected Result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Pass
ST-01-3
ST-01-2
Pass
Pass
Pass
Pass
Pass
Pass
Pass
Pass
PT0981128
ST-01-14
ST-01-15
ST-01-16
ST-01-17
ST-01-18
ST-01-19
ST-01-20
ST-01-21
ST-01-22
ST-01-23
ST-01-24
ST-01-25
ST-01-26
ST-01-26
ST-01-27
ST-01-28
Check on Weekly
expense/income and
press get reports
Check on Search for
Credit and enter detail
in Field given below
Check on Search for
Debit and enter detail
in Field given below
Check on Expense of a
particular item and
enter detail in Field
given below
Check on Income of a
particular item and
enter detail in Field
given below
Check on Monthly
Expenses/Savings and
press get reports
Check on Quarterly
Expenses/Savings and
press get reports
Check on Half Yearly
and press get reports
Check on Date Wise
and enter two valid dates
and then press get
reports
Click on any expense
List items
Click on View Route
button
Click on Account setting
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Pass
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Identical to
expected result
Pass
Identical to
expected result
Pass
Pass
Pass
Pass
Pass
Pass
Pass
PT0981128
Learnability
Memorability
Efficiency
Testing
Error
Subjective
Satisfaction
< .5 hours
3 Person
1hrs
1 Person
1-1.5 hours
1 Person
1.5-2hours
--
> 2 hours
--
Efficiency
User
<20%
--
20-50%
--
40-70%
2 Person
>80%
3 Person
Memorability
User Response
Poor
--
Average
--
Satisfactory
1 Person
Excellent
4 Person
Error Testing
User Response
Subjective
Satisfaction
User Response
PT0981128
Yes
4 Person
No
1 Person
< 20%
20-50%
40-70%
>80%
--
--
1 Person
4 Person
PT0981128
7.5
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).
PT0981128
Task Manager
Profile management
Account management
Report Generation
Searching of Expenses
Contact us
The overall functionality is good. One/two modules indicated
Additional Comments
slight improvement.
Usability Acceptance Testing
Rating
Category
Worst
Poor
Average
Good
Best
(1)
(2)
(3)
(4)
(5)
Rate the navigation control
of the system
Rate the ease of use level of
the system
Rate the visibility of Menu
and titles.
Rate the color combination
of the system
Rate the system design
consistency
Rate the system overall
design performance
Place of Testing
Poor
(2)
Rating
Average
(3)
Good
(4)
Best
(5)
Poor
(2)
Rating
Average
(3)
Good
(4)
Best
(5)
Place of Testing
Poor
(2)
Through Team
Viewer
Rating
Average
(3)
Best
(5)
.
Rating
Worst
(1)
Poor
(2)
Average
(3)
PT0981128
Good
(4)
Good
(4)
Best
(5)
PT0981128
7.7
Design
Sequence
User registration
Save Expense
UC-01
UC-02
SD-02
SD-03
AC-02
AC-03
Reports
UC-04
SD-03
Profile Management
Expense Reports
UC-04
UC-05
Task Manager
Login
Graphical Report
Reports of a Month
Change Wall paper
Send Report
View Route
UC-03
UC-01
UC-05
UC-05
UC-06
UC-08
UC-09
Functionality
Activity
Tables
Unit
White
Box
Integration
UT-1
UT-2
AC-03
User
Income, expense,
credit, debit
All Tables
UT-4
WT3
IT-03
SD-03
SD-03
AC-01
AC-03
User, Contacts
All Tables
UT -3
UT-5
WT3
IT-02
IT-03
Tasks
Login option
All Tables
All Tables
UT-6
SD-01
SD-03
SD-03
AC-01
AC-01
AC-03
AC-03
AC-01
SD-03
AC-03
All Tables
All Tables
UT-4
UT-4
UT-4
UT-4
IT-01
IT-01
WT1
WT2
IT-02
IT-01
IT-03
IT-03
IT-03
IT-03
IT-03
System
Screen
Research
ST-01-02
ST-0103..06
ST-0107..22
ST-01-26
ST-0107..22
ST-01-27
ST-01-01
ST-01-25
ST-01-18
6.7.2.2
6.7.2.7
QT-2
QA-10
6.7.2.14..18
QA-03
6.7.2.3
6.7.2.14
QA-03
ST-01-23
6.7.2.20
6.7.2.10
6.7.2.1
6.7.2.14..18
6.7.2.8
QA-05
QA-03
QA-03
QA-09
QA-14
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.
Success Achieved
Format
Grammar
Log Sheets
Consistency
All Chapters
Primary Research
Spelling
Ethics Forum
Other Appendices
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
System Requirement
Success Achieved
Yes
Yes
Ease Of Use
Allow user to update profile
Allow user to see the details saved in a task
Allow users to save expenses as well as other details
Allow users to view the reports
Allow users to view route
Allow users to use Mobile System
Allow users to use Web System
Allow Users to see the notification
Allow users to send message
Allow users to view graphical reports
Use of Jquery and javascript is done to remove
overload of page reload
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
PT0981128
Yes
Yes
Yes
Yes
Yes
Success Achieved
Success Achieved
Yes
Yes
Domain Research
Yes
Technical Research
Yes
Methodology Analysis
Yes
Programming Environment
Yes
Functionality
Success Achieved
Yes
Yes
Save Task
Yes
Yes
View reports
Yes
Yes
View route
Yes
View Tasks
Yes
Yes
PT0981128
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.
PT0981128
Tools and Techniques: Developer learned the most competitive language present in
current market J2EE and Android for his project which gives developer a competitive
edge in the market.
Work Flow Process: Developer learns how the work flows in an android, how to
manage activity, how to pass data from one activity to other, how to manage screen
rotations, how to send request and get response from web server etc.
PT0981128
CHAPTER-10 REFERENCES
Aggarwal, K. S. (2008). Software Engineering (Third Edition ed.). New Delhi, India: New Age
International Publisher.
Andtek. (2012, July 14). Just Expenses: Expense Tracker. Retrieved October 20, 2012, from
Google Play:
https://play.google.com/store/apps/details?id=com.andtek.just.expenses&hl=en
corp., G. (2005). Android. Retrieved November 1, 2012, from http://www.android.com/:
http://www.android.com/about/
Favell, A. (2012, June). Global mobile statistics 2012. Retrieved November 15, 2012, from Mobi
Thinking: http://mobithinking.com/mobile-marketing-tools/latest-mobilestats/a#subscribers
James Steele, N. T. (2010). The Android Developers Cookbook. Rights and Contracts Department
501 Boylston Street, Suite 900 Boston, MA 02116: RR Donnelley, Crawfordsville,
Indiana. : Pearson Education, Inc.
Kim, A. (2012, October 12). Coin Keeper. Retrieved October 25, 2012, from
http://coinkeeper.tumblr.com/:
https://play.google.com/store/apps/details?id=com.ifree.coinkeeper&hl=en;http://coi
nkeeper.tumblr.com/
Morgan(Admin), F. (n.d.). Budget & Expense Tracking Instructions. Retrieved November 15,
2012, from http://www.nhco.org/: http://www.nhco.org/budget_packet.pdf
NA. (1995, 05 23). Top Reasons to Use MySQL. Retrieved from MYSQL:
http://www.mysql.com/why-mysql/topreasons.html
NA. (2010). Disadvantages of File Processing System. Retrieved 11 18, 2012, from
JKiNFOLINE.com: http://www.jkinfoline.com/disadvantages-of-file-system.html
NA. (2012, August 04). Expense Manager. Retrieved 20 10, 2012, from Google Play:
https://play.google.com/store/apps/details?id=com.expensemanager&hl=en
NA. (n.d.). Android. Retrieved 11 12, 2012, from http://www.android.com/:
http://www.android.com/about/
NA. (n.d.). Android, the world's most popular mobile platform. Retrieved November 5, 2012, from
developer.android.com: http://developer.android.com/about/index.html
NA. (n.d.). Daily Exense Tracker. Retrieved November 15, 2012, from freelancer.com:
https://www.freelancer.com/projects/Mobile-Phone-Android/Daily-ExpenseTacker.html
NA. (n.d.). Waterfall Model. Retrieved 10 20, 2012, from Watefall Model: http://www.waterfallmodel.com/v-model-waterfall-model/
Nielsen. (2012, May 7). Nielsen: Over 50 percent of US mobile users own smartphones, Android
and iPhone sitting pretty. Retrieved August 10, 2012, from Engadget:
http://www.engadget.com/2012/05/07/nielsen-smartphone-share-march-2012/
PT0981128
APPENDICES
PT0981128
Question 1
Response
20
0
1
Analysis
Question 2
Response
As per the user consensus (40% users are in favor), of desktop application and
30% in mobile application. So developer has provided both features in this project.
Which type of System would you like to use for saving your daily expenses?
1. Desktop Application 2. Web Application
2. Mobile Application 4. Note book
50
Series1
0
1
Analysis
Question 3
Response
As per the user consensus(40% users are in favor), the developer has decided to
follow the mobile application other 60% user are in favor of other application like
desktop application and note book etc.
4. How is the Graphical user Interface of your Current expense saving system?
1. Excellent
2. Intermediate
3. Satisfactory
4. Not satisfied
80
60
40
Series1
20
0
1
Analysis
Question 4
PT0981128
As per the user consensus (60% users are in favor), the developer has decided to
provide the metaphors and shortcuts as metaphors provide quick access as they
are graphical icons and its better to represent the options by icons also the shortcut
will provide the quick access of the application
Does your current system take automatic backup of your database?
1.Yes
2.No
100
50
Series1
0
1
Analysis
Question 5
Response
As per the user consensus (60% users are in favor), they say yes, their current
system automatic backup of their database. And 40% users are note in favor. So
developer has made this system in such a way that they do not need to backup
data.
Would you like to share your mobile with your family members so that they can
save their expenses using their login id?
1. Yes
2. No
100
50
Series1
0
1
Analysis
Question 6
Response
As per the user consensus (60% users are in favor), so developer has developed
this system for multiple users.
Would you like to save income along with expenses in the system?
1. Yes
2. No
3. Cant Say
100
50
Series1
0
1
Analysis
Question 7
Response
As per the user consensus (60% users are in favor), the developer has provided
separate options to save income, credit, debit and expense details.
Would you like to put limit on expenses of a particular item?
1. Yes
2. No
3. On all Items
4. Only on some particular item.
50
Series1
0
1
Analysis
Question 8
PT0981128
As per the user consensus (40% users are in favor), to put limit on their expenses.
So developer has decided to provide a way to put limitations on the expenses.
Which type of alert you will prefer to get when you exceed your budget or any
new notification comes?
1. vibrate only
2. vibration along with sound
3. only notification no sound
4. only sound
Asia Pacific Institute of Information Technology
170
50
Series1
0
1
Analysis
Question 9
Response
As per the user consensus (40% users are in favor), they want to notification with
vibration along with sound. We want to this because we might be know this
notification easily.
Would you like to upload your pic in your profile?
1. Yes
2. No
3. May be
100
Series1
0
1
Analysis
Question 10
Response
As only 20% users want to save their pic on mobile as profile pic. So the developer
has not given this option in this system. So that the system will be light and
efficient.
Should there be an option to delete your data?
1. No
2. Yes
100
50
Series1
0
1
Analysis
Question 11
Response
70% users doesnt wants to delete the data as it might cause a security problem in
future so developer has not provided this option.
Which type of report will you prefer?
1. Graphical Report
2. Textual
3. Both
50
Series1
0
1
Ss
Question 12
PT0981128
100% of the users wants to have a medium by which they can easily analyzes the
data so developer analyzes Report functionality should be included in which 40
want graphical and 40 want textual and 20% want both report.
Would you prefer a cost effective mobile application rather than a website?
1. Yes
2. No
200
100
Series1
0
1
Analysis
Question 13
Response
100% of users want to have a similar system for handheld devices, so developer
analyzes than Mobile Version of System should be included.
Would you like an option to be there as contact us?
1. Yes
2. No
100
Series1
0
1
Analysis
Question 14
Response
As per the user consensus (70% users are in favor), the developer has decided to
provide finding friends by their mobiles location as in most of the cases it
provides actual physical location and generally some user have some problem to
do all activity through contact they take all help how to use application.
Do you have internet accessibility in your mobile?
1. No
2. Yes
100
Series1
0
1
Analysis
Question 15
Response
As per the user consensus (70% users are in favor), the developer has decided to
make the system offline if possible.
Would you prefer to visit the website FAQ before contacting the developer?
1. Yes
2. No
3. May Be
100
50
Series1
0
1
Analysis
Question 16
PT0981128
As per the user consensus (60% users are in favor), the developer has decided to
provide a contact us facility in system.
Would you prefer Google-map to find a place?
1. Yes
2. No
80
60
40
Series1
20
0
1
Analysis
Question 17
Response
60% users want to view the location from where they saved the expense, So the
developer has provided the option to view location on Map.
Do you think that future prediction of this system will be going to help you?
1. Yes
2. No
3. May be
80
60
40
Series1
20
0
1
Analysis
Question 18
Response
60% of users want to know the future saving; developer analyzes the problem and
decided to include Future Prediction functionality.
How likely you will want to access your data from the netusing web browsers
1. Frequently
2. Sometime
3. More than 5 time a week.
4. Less than 5 times a week
60
40
Series1
20
0
1
Analysis
Question 19
Response
As per the user consensus (60% users are in favor), the developer has decided to
update the location of friends in regular period of time.
How likely you will be using the task manger present in this system?
1. Frequently
2. Sometime
3. More than 5 time a week.
4. Less than 5 times a week
60
40
Series1
20
0
1
Analysis
Question 20
PT0981128
40% users face difficulty in managing tasks so developer analyzes the problem
and included Task Manager.
Will you like to save your location from where you are saving your data?
100
50
Series1
0
1
Analysis
Question 21
Response
80% of the user wants to save their income as well with the expenses So the
developer has provided the save income facility.
Will you like that fields which should be saved should be present in as a menu
option.
1. Yes
2. No I will save it manually
3. Cant say
100
50
Series1
0
1
Analysis
Question 22
Response
60% of the user wants to have menu facility. So developer has provided buttons
instead of menu in android.
How likely you would like to change your wall paper with the help of this system?
1. Yes
2. No
100
50
Series1
0
1
Analysis
Question 23
Response
As per the user consensus (80% users are in favor), the developer has decided to
provide limit expenses reminder on user profile page which will help user in
accessing all limits from profile itself.
Would you like to have an option to delete your data from your application?
1. No
2. Yes
100
50
Series1
0
1
Analysis
PT0981128
80% users dont want to delete their data as it will create a security threat. So
developer has not given the delete option to delete the data in DET main module.
100
50
Series1
0
1
Analysis
Question 24
Response
70% users doesnt wants to delete the data as it might cause a security problem in
future so developer has not provided this option.
Would you like to send report to another mobile?
1. Yes
2. No
3. May be or may not be
60
40
Series1
20
0
1
Analysis
50% users want to send their reports to others e.g. guardians so the developer has
given the option to send message and email.
ANALYSIS OF INTERVIEW
Question 1 Which type of System would you like to use for saving your daily expenses and why?
Concluded
Developer has found that most of the users wants to use the mobile based expense saving
Answer
app as no one wants to save a pieces of data to the computer.
Purpose
To find out which type of system to develop desktop or mobile based.
Analysis
Developed analyzed that most of the user wants to use a mobile based system. But developer
knows that whole report cannot be shown on mobile due to lack of memory so developer
has decided to develop both web as well as mobile application.
Question 2 Which type of mobile device would you like to use for saving your daily expenses?
Concluded
Answer
Purpose
Analysis
As most of the users are using android mobile thats why this system is going to be developed
for android mobile.
To find out the on which platform the project should be developed.
Developer analyzes that most of the users demand is asking for an android system so developer
has decided to develop this system for android.
Question 3 What are the likely expenses you would like to save?
Concluded Developer has found many likely expenses which users wants to save.
Answer
Purpose
To find out which type of expenses should be included by default in the system.
Analysis
Developer decided that those likely expenses should be included in the system by default.
Question 4 Do you still need to maintain any additional information as a Hardcopy?
Concluded Most of the users said yes they need to maintain hard copy of their expenses.
Answer
Purpose
To find out any missing fields which should be included in the system.
PT0981128
Developer has included those missing fields in the system e.g. Fare, Insurance bill etc.
Most of the users said that they do not have option to view graphical reports, but they
really wants to view those graphical reports.
To find out which type of graphical reports to develop.
Developer has decided to make pie charts as graphical reports.
Question 5 Do you think that future prediction of this system will be going to help you if yes please
specify how? What type of predictions you will like to use from this system?
Concluded Answer
Purpose
Analysis
Yes, future prediction will help the user to save his/her money.
To find out whether to include future prediction in the system or not.
Developer has decided to provide future prediction feature in the system.
Synchronization of data with the server: the data which is in the device should be
synchronized with the server so that the user can access it from anywhere.
ii.
Offline and online facility: providing both of the facility to the user so that user will feel
free to work with this system.
iii.
Graphical data: Showing graphical data to the user so that user can understand his/her
expenses easily.
iv.
System portability: making the system to be portable on various android devices.
v.
When the screen orientation is changed the data provided to the system is lost which has
not been saved in android application hence managing this screen orientation to be
compatible with the system is one of the challenge in developing this system.
vi.
Managing reports and sending them on mail: various types of reports will be made and
sent to the users mail so that user can get a clear and more detailed view of the reports.
vii.
Apart from these one of the challenges is making the GUI follow HCI principles.
viii.
Future saving prediction: on the basis of saving of the week/month predicting the future
savings is one of the challenges to implement.
What new ideas and theory will you need to learn to build the system?
In technology I need to learn android technology which is being widely used in the market today. To
complete the above challenges I will have to learn how to synchronize the data with the server, how
to provide online and offline facility that too with mobile device. To create graphs I need to learn
graphs and use its component to show the data on cursor movement. I will have to use the best
algorithm to develop the graph as well as do the future prediction. To make the prediction I need to
learn cost-benefit formulas and implement it in this system.
<<<<<<<<<<<<<<< End of PPF >>>>>>>>>>>>>>>
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
PT0981128
Offline and online facility: providing both of the facility to the user so that user will feel free
to work with this system.
Graphical data: Showing graphical data to the user so that user can understand his/her
expenses easily.
System portability: making the system to be portable on various android devices.
When the screen orientation is changed the data provided to the system is lost which has not
been saved in android application hence managing this screen orientation to be compatible
with the system is one of the challenge in developing this system.
Managing reports and sending them on mail: various types of reports will be made and
sent to the users mail so that user can get a clear and more detailed view of the reports.
Apart from these one of the challenges is making the GUI follow HCI principles.
Future saving prediction: on the basis of saving of the week/month predicting the future
savings is one of the challenges to implement.
Knowing the user- To understand the spending habits of people. The manner in which they
spend the money, decisions they take before spending on something. Other challenge would
be of how to make this application make effective to make people use the application, as some
people would consider the application as ineffective in respect to the amount of time they give
in use of the application.
Interaction design and coding is also one of the major challenges of this system.
Manage Notifications
Future Prediction
Synchronization of offline-online data
Customization option
Wallpaper customization
Account management
Report Generation
Searching of Members
Contact us
Terms and Conditions
Assumption made: -The developer has assumed that the user has an android mobile phone and
has practice about its mobile operations. User should have some knowledge about mobiles
original function and color coding that is used in mobile phone. It is assumed that user has
internet access for synchronizing the data on the server.
Feature and functionality:
The feature and functionalities of the application include:
1. Core featuresCore feature of any project is the heart of that project or you can say the features without
which system is incomplete. In this project, developer is developing a complete interactive, user
friendly, effective, feature-rich, multimedia site. Core features are
Members Registration
Save daily expenses/incomes/credits/debits
Profile management
Putting limit on expenses
Account management
Report Generation
Searching of expense on various categories
Contact us
Terms and Conditions
2. Enhance featuresTo make user understand the system better, enhance features are used.
Future Prediction
Synchronization of offline-online data.
Task Manager
3. Special featuresBased on the research and if developer has the time and ability, these are the advanced features
developer is going to attempt to implement in this system.
Customization option
Wallpaper customization
Sending Reports on mail
Feature learning objectives:
This refers to the learning objectives besides mastering of particular software development or
authoring tools, these objectives are mainly focused on concepts and ideas rather than trained
skills.
Learning objectives1. Learning and practices XML and Android Technology
2. Learning of Google Graph to draw graphical report in android.
3. Learning to integrate android with web to develop a single system.
4. Learning and practices of the advance JSP-servlet and android to make graphs
5. Knowledge about DBMS or Databases
PT0981128
D.
Brief
description
of
the
resources
needed
by
the
proposal.
(I.e. hardware, software, access to information / expertise, user involvement etc.)
Access to information/expertise:
The main objective of this project is to develop the android based application which will save a
lot of money of users and to provide cash in terms of maintenance of website to the developers.
Users will pay to the website as a monthly or yearly payment so that their data will be saved on
the site and they can use it whenever they require.
Below, are the list of hardware and software needed to develop this application.
Hardware:
This System will use the standard input/output devices for an android Mobile and personal
computer to access the web-browser. This includes the following:
Android Mobile
Keyboard
Mouse
Monitor
Printer
RAM: 2GB and more
Hard Disk: More than 80 GB
SD card for storage of data in mobile
Processor: Core i3 and later version.
Other Accessories:
Pen Drive An external storage device which is useful for exporting and importing the
project data to and fro from different places.
Printer Important documents may be printed out for further reference.
Software:
To develop android application developer needs
Front End Client: Android
Eclipse IDE: Eclipse( eclipse-jee-helios-win32)
Several types of Eclipse packages are available for each platform. For developing
Android applications, following packages are recommended:
o Eclipse IDE for Java EE Developers
o Eclipse IDE for Java Developers
o Eclipse for RCP/Plug-in Developers
o Eclipse Classic (versions 3.5.1 and higher)
JDK 5 or JDK 6 (JRE alone is not sufficient)
Android Development Tools plug-in.
Back End: Sqllite Database
For intermediate web page on Jsp-Servlet, software requirements are as follows:
Netbeans 6.5 or any new version
Apache/Tomcat server
Back End: Sqllite Database or Mysql as if required.
Dreamweaver 8.0, Adobe Photoshop (If required), MS Project 2007(for Gantt chart) etc.
Note: Tools may vary if required in later stages of the project.
Operating System Platform: Android OS for mobile software, any other OS with supported webbrowsers to access the website.
Web Browsers:
PT0981128
PT0981128
PT0981128
PT0981128
PT0981128
PT0981128