Daily Expense Tracker
Short Description
doc related to expense tracker...
Description
TABLE OF CONTENTS CHAPTER 1: INTRODUCTION ........................................................................................................... 9 1.1
Title of the Project .............................................................................................................. 9
1.2
Topic Background ............................................................................................................... 9
1.3
Purpose of Implementation ................................................................................................. 9
1.4
Target Audience ................................................................................................................ 10
1.5
Problem Context ............................................................................................................... 10
1.5.1 Problem Area .............................................................................................................................................. 10 1.6 Rationale ................................................................................................................................. 11 1.6.1
Tangible Benefits .............................................................................................................................. 11
1.6.2
Intangible Benefits ........................................................................................................................... 11
1.7
Project Objectives ............................................................................................................. 12
1.8
Functionalities of DET (Daily Expense Tracker) ............................................................. 12
1.8.1 Core Functionalities of the System .................................................................................................... 12 1.8.2 Enhanced Functionalities of System ................................................................................................. 13 1.8.3 Special Functionalities of System ....................................................................................................... 13 1.8.4 Feature learning objectives .................................................................................................................. 14 1.8.5 Traceability Matrix between Problem and Functionalities ..................................................... 15 1.9 Assumptions............................................................................................................................ 16 1.10 Success Criteria ..................................................................................................................... 16 1.11
Scope and limitation of the System................................................................................... 16
1.12 Limitations of the System ..................................................................................................... 17 1.13
Feasibility Analysis ........................................................................................................... 17
1.15 Ethics Commitment .............................................................................................................. 18 Critical Appraisal .......................................................................................................................... 18 CHAPTER 2: PROBLEM DESCRIPTION ......................................................................................... 19 2.1 Introduction to Problem Area ................................................................................................. 19 2.2 Problem Description and solution ........................................................................................... 19 2.3 Challenges and Learning Opportunities .................................................................................. 22 2.3.1
Challenges ............................................................................................................................................ 22
2.3.2 Learning Opportunities .......................................................................................................................... 24 2.3.3
Nature of Challenge ......................................................................................................................... 25
2.3.4
Challenges in terms of Theory and Software ........................................................................ 25
Critical Appraisal........................................................................................................................ 26 CHAPTER 3: LITERATURE REVIEW .............................................................................................. 27 3.1 Advanced Preliminary ............................................................................................................ 27
Daily Expense Tracker 3.2 Domain Research .................................................................................................................... 28 3.2.1 Literature Review on Technical Research ........................................................................... 28 3.2.1.1.1 Why mobile technology? Why not PCs or file system? ...................................................... 28 3.2.1.1.2 Why android mobile technology? Why not some other mobile? ................................... 28 3.3.1
Critical Appraisal of Literature Review ................................................................................... 32
3.3.2
Other academic research areas that need to be looked into are: ................................. 32
3.3.3 Information and Resources .................................................................................................................. 33 3.4 Market Research ..................................................................................................................... 35 3.4.1 Similar Systems Available in the Market......................................................................................... 35 3.4.2 Traceability matrix between the functionalities of system developed and previous system. ...................................................................................................................................................................... 38 3.4.3
Qualitative Analysis of Market Research ................................................................................ 39
3.4.4
Quantitative Analysis of Market Research ............................................................................. 40
3.4.5 Critical Evaluation of Market Research ........................................................................................... 40 3.4.6 Critical Success Factor ............................................................................................................................ 40 CHAPTER 4: RESEARCH METHODS .............................................................................................. 41 4.1 Primary Research .................................................................................................................... 41 4.1.1 Techniques used........................................................................................................................................ 41 4.1.1.1. Questionnaire ................................................................................................................... 41 4.1.1.2. Interview .......................................................................................................................... 42 4.1.2.
SAMPLE QUESTIONARRIE AND INTERVIEW QUESTIONS ............................................. 42
4.1.2.1 Sample questionnaire and its justification ................................................................................. 42 4.1.2.2 Sample Interview questions and there justification ............................................................... 45 4.2 Secondary Research ................................................................................................................ 47 4.2.1 Technical Research .................................................................................................................................. 47 4.2.1.1 Platform..................................................................................................................................................... 47 4.2.1.2 Framework .............................................................................................................................................. 55 4.2.1.3 Programming Language ..................................................................................................................... 55 4.2.2 Database Management System ......................................................................................................... 55 4.2.3 Software Development Methodology ............................................................................................... 56 System Design ....................................................................................................................................................... 56 Architecture Design ............................................................................................................................................ 56 Module Design ....................................................................................................................................................... 56 V-Model ........................................................................................................................................ 56 Time Division....................................................................................................................................... 59 4.3 Critical Evaluation of Research .............................................................................................. 60 CHAPTER 5: ANALYSIS & DESIGN ................................................................................................ 61 5.1 Questionnaire and Interview Questions .................................................................................. 61
PT0981128
Asia Pacific Institute of Information Technology 2
Daily Expense Tracker 5.1.1 Critical Evaluation of Questionnaire and Interview Questions ............................................. 61 CHAPTER 5 (Part-2): DESIGN ......................................................................................................................... 65 5.2.1 Design Methodology Used ..................................................................................................................... 66 5.2.1.1 Justification of Selecting OO Design ............................................................................................... 66 5.2.2.1
Use Case Diagrams ............................................................................................................. 67
5.2.2.1.1
Use case of the whole System ................................................................................. 67
5.2.2.1.1.1
Overview of use case .......................................................................................................... 67
5.2.2.1.1.2
Actors and Descriptions ................................................................................................... 68
5.2.3
Sequence Diagram ............................................................................................................................ 77
5.2.4
Activity Diagram ............................................................................................................................... 81
5.2.4.1
Activity Diagram Android (AC-01) ........................................................................... 81
5.2.4.2
Activity Diagram –Registration-(AC-02) .................................................................. 82
5.2.4.3
Activity Diagram –DET-(AC-03) ............................................................................... 82
5.3
Entity Relationship Diagram (ERD) ............................................................................. 82
5.4
Class Diagram of Web Module ...................................................................................... 84
5.5
Class Diagram of Mobile Module ..................................................................................... 85
5.6
Relational Database Schema map ..................................................................................... 86
5.6.2
Mapping the ERD to Relational Database ............................................................................... 86
5.6.2.1
Normalization .................................................................................................................................... 86
5.6.2.2
Normalization Criteria: Functional Dependency................................................................. 86
5.7
Physical Design of Table Structures .............................................................................. 91
CHAPTER-6 IMPLEMENTATION .................................................................................................... 92 6.1
Implementation Plan ...................................................................................................... 93
6.1.1 Implementation Methods ............................................................................................................... 95 6.2
Program Standards Followed ........................................................................................ 95
6.2.1
Naming Convention .................................................................................................... 95
6.2.2
Documentation ............................................................................................................ 95
6.2.3
Coding Technique ....................................................................................................... 95
6.3
Implementation of Modules ........................................................................................... 96
Save Expense Module Implementation......................................................................................... 96 Objective ....................................................................................................................................... 96 Approach ....................................................................................................................................... 96 6.3.1 More SQL Queries used in this system .................................................................................... 98 6.4
Problems Encountered ................................................................................................. 100
6.5
Functionality not implemented .................................................................................... 100
6.6
Implementation of Complex Modules ......................................................................... 101
6.7
User Manual .................................................................................................................. 104
6.7.1
Android ...................................................................................................................... 104
PT0981128
Asia Pacific Institute of Information Technology 3
Daily Expense Tracker 6.7.1.1
Getting Started ............................................................................................................ 104
6.7.1.2
Registration Screen (Screen1) .................................................................................. 104
6.7.1.3
Profile management
6.7.1.4
Editing address (Screen 3) .......................................................................................... 105
6.7.1.5
DET main Screen After login (Screen 4) .................................................................... 105
6.7.1.6
Clicking picture by camera (Screen 5) ........................................................................ 106
6.7.1.7
Save expenses (Screen 6) ............................................................................................ 106
6.7.1.8
Change Wall Paper
6.7.1.9
Functionality under task manager(Screen 8)............................................................... 107
(Screen2) ................................................................................ 105
(Screen 7) ................................................................................ 107
6.7.1.10
Save task screen(Screen 9) ...................................................................................... 107
6.7.1.11
View task (Screen 10) ............................................................................................ 108
6.7.1.12
Detailed task description (Screen 11) .................................................................. 108
6.7.1.13
Put limitations (Screen 12) ...................................................................................... 109
6.7.1.14
View Report (Screen 13)......................................................................................... 109
6.7.1.15
More report (Screen 14) .......................................................................................... 109
6.7.1.16
Showing saving report of a half year (Screen 15) ................................................... 110
6.7.1.17
Searching Report for particular item (Screen 16) .................................................. 110
6.7.1.18
Output for search report Screen 17) ........................................................................ 111
6.7.1.19
Detailed report and option to view route (Screen 18) ............................................. 111
6.7.1.20
Showing route between current location and saved location. ................................. 111
(Screen 19) .................................................................................................................................. 111 6.7.1.21
Report according to date(Screen 20) ....................................................................... 112
6.7.2
Web Application........................................................................................................ 113
6.7.2.1
Login Screen (Screen1) ............................................................................................ 113
6.7.2.2
Home Page of DET(Daily expense tracker) (Screen2) ............................................. 113
6.7.2.3
Save Expense (Screen 3) ............................................................................................. 113
6.7.2.4
Report (Screen 4) ........................................................................................................ 114
6.7.2.5
Select expense category to save (Screen 5)................................................................ 114
6.7.2.6
View report (Screen 6) ................................................................................................ 115
6.7.2.7
Select expenses category (Screen 7) ........................................................................... 115
6.7.2.8
Cumulative Graphical report of a Month (Screen 8)................................................... 115
6.7.2.9
Profile of user (Screen 9) ............................................................................................ 116
6.7.2.10
Viewing Quick expense report (Screen 10) ............................................................ 116
6.8
Site Map ......................................................................................................................... 117
6.9
Technical Manual.......................................................................................................... 118
6.9.1
NetBeans IDE installation Guide ................................................................................ 119
6.9.2
Installing Wampserver for MYSQL database ............................................................. 120
6.9.3
Exporting database in MYSQL ................................................................................... 122
PT0981128
Asia Pacific Institute of Information Technology 4
Daily Expense Tracker 6.9.4
Importing det database in the MYSQL ....................................................................... 123
6.9.5
Running Android FYP web application(DET Web app) ............................................ 123
6.9.6
Running Android Application ..................................................................................... 124
6.9.7
STEP 1 ........................................................................................................................ 124
6.9.8
Running Android Application ..................................................................................... 127
6.9.9
Install the app in Android Mobile ............................................................................... 129
6.9.10
Create APK File of det ................................................................................................ 129
6.9.11
Installing .apk File on Android Device ....................................................................... 131
6.10
Conclusion ..................................................................................................................... 132
Chapter-7 Testing................................................................................................................................ 133 7.1
Test Plan ........................................................................................................................ 133
7.2
Unit Testing ................................................................................................................... 134
7.2.1 Control Flow Graph.......................................................................................................................... 147 7.3
Integration Testing........................................................................................................ 149
7.3.1 Integration Approach ..................................................................................................................... 150 7.3.2 Justification for 3rd party tools testing ................................................................................ 152 7.4
System Testing (7th April 2013-16th April 2013) ........................................................... 153
7.4.1 Usability Testing ............................................................................................................................... 155 7.4.2 Compatibility Testing ..................................................................................................................... 156 7.4.3 Documentation Testing ................................................................................................................. 157 7.5 7.5.1
User Acceptance Testing .............................................................................................. 157 Justification for the selection of Persons ................................................................. 157
7.6
Testing Summary .......................................................................................................... 160
7.7
Final Traceability Matrix ............................................................................................. 161
Chapter -8 Critical Evaluation ............................................................................................................ 162 8.1
Benefits of System (How Useful the System is to the target User) ............................ 162
8.2
Degree of Success .......................................................................................................... 162
8.3
Critical Appraisal.......................................................................................................... 164
Chapter-9 Conclusion ......................................................................................................................... 165 9.1
Limitations of Daily Expense Tracker ........................................................................ 165
9.2
What more could be done if more time was given? ................................................... 165
9.3
Future Enhancements ................................................................................................... 165
9.4
Conceptual Challenges: ................................................................................................ 166
9.5
Learning Experience ..................................................................................................... 166
Chapter-10 REFERENCES ................................................................................................................ 167 APPENDICES .................................................................................................................................... 168 Analysis of Interview .................................................................................................................. 175 Project Proposal Form................................................................................................................. 176
PT0981128
Asia Pacific Institute of Information Technology 5
Daily Expense Tracker Project specification form ........................................................................................................... 177 Resource required for Execution................................................................................................. 183
LIST OF TABLES TABLE 1TRACEABILITY MATRIX BETWEEN PROBLEM AND FUNCTIONALITIES ........................................................................... 15 TABLE 2 ANDROID ARCHITECTURE (LAYER) ...................................................................................................................... 29 TABLE 3 TRACEBILITY MATRIX BETWEEN THE FUCNTIONALITIES OF SYSTEM DEVELOPED AND PPREVIOUS SYSTEMS .......................... 38 TABLE 4QUALITATIVE ANALYSIS OF MARKET RESEARCH ...................................................................................................... 39 TABLE 5QUANTITATIVE ANALYSIS OF MARKET RESEARCH .................................................................................................... 40 TABLE 6SAMPLE QUESTIONAIRE AND ITS JUSTIFICATION..................................................................................................... 45 TABLE 7 ITEMS TO BE SAVED IN SYSTEM .......................................................................................................................... 46 TABLE 8 ANDROID DEVELOPERS .................................................................................................................................... 48 TABLE 9 PACKAGES USED IN DEVELOPING ANDROID APP ..................................................................................................... 53 TABLE 10 TRACEBILITY MATRIX BETWEEN QUESTIONAIRE AND FUNCTIONALITES ................................................ 64 TABLE 11 TRACEABILITY MATRIX BETWEEN ANALYSIS AND DESIGN ....................................................................................... 65 TABLE 12 OVERVIEW OF USE CASE ................................................................................................................................. 68 TABLE 13 ACTORS AND DESCRIPTIONS ............................................................................................................................ 68 TABLE 14 USE CASE- PROFILE MANAGEMENT ................................................................................................................... 69 TABLE 15 USE CASE OF REGISTRATION ............................................................................................................................ 70 TABLE 16 USE CASE OF DET .......................................................................................................................................... 71 TABLE 17 USE CASE OF TASK MANAGER .......................................................................................................................... 72 TABLE 18 USE CASE OF REPORT..................................................................................................................................... 74 TABLE 19 USE CASE OF CHANGE WALLPAPER ................................................................................................................... 74 TABLE 20 USE CASE DESCRIPTION-FUTURE PREDICTION...................................................................................................... 75 TABLE 21 USE CASE DESCRIPTION-SEND REPORT............................................................................................................... 76 TABLE 22 USE CASE DESCRIPTION-VIEW ROUTE ..................................................................................................... 77 TABLE 23 PHYSICAL DESIGN OF USER TABLE .................................................................................................................... 91 TABLE 24 PHYSICAL DESIGN OF CONTACT TABLE ............................................................................................................... 91 TABLE 25 TOOLS FOR IMPLEMENTING AND DEVELOPING .................................................................................................... 92 TABLE 26 UNIT TESTING ............................................................................................................................................ 142 TABLE 27 CODE TO BE TESTED .................................................................................................................................... 143
LIST OF FIGURES FIGURE 1 GPS TRACKING ............................................................................................................................................ 27 FIGURE 2 JUST EXPENSE TRACKER .................................................................................................................................. 35 FIGURE 3 EXPENSE MANAGER ....................................................................................................................................... 35 FIGURE 4 COINKEEPER- EXPENSE TRACKING ..................................................................................................................... 36 FIGURE 5 DAILY EXPENSE TRACKER-INCOME AND CASH FLOW .............................................................................................. 36 FIGURE 6 DAILY EXPENSE MANAGER .............................................................................................................................. 36 FIGURE 7 DAILY EXPENSE TRACKER (FREE LANCING) .......................................................................................................... 37 FIGURE 8DET BID ..................................................................................................................................................... 37 FIGURE 9ANDROID LIFE CYCLE (JAMES STEELE, 2010) ....................................................................................................... 49 FIGURE 10V MODEL ................................................................................................................................................... 56 FIGURE 11 USE CASE OF WHOLE SYSTEM ........................................................................................................................ 67 FIGURE 12 USE CASE OF PROFILE MANAGEMENT .............................................................................................................. 69 FIGURE 13 USE CASE DIAGRAM OF REGISTRATION............................................................................................................. 70 FIGURE 14 USE CASE DIAGRAM OF DET........................................................................................................................... 71 FIGURE 15 USE CASE DIAGRAM OF TASK MANAGER ........................................................................................................... 72 FIGURE 16 USE CASE DIAGRAM FOR REPORT .................................................................................................................... 73
PT0981128
Asia Pacific Institute of Information Technology 6
Daily Expense Tracker FIGURE 17 USE CASE DIAGRAM-CHANGE WALLPAPER ........................................................................................................ 74 FIGURE 18 USE CASE DIAGRAM-FUTURE PREDICTION......................................................................................................... 75 FIGURE 19 USE CASE DIAGRAM-SEND REPORT ................................................................................................................. 76 FIGURE 20 USE CASE DIAGRAM-VIEW ROUTE ................................................................................................................... 77 FIGURE 21 SEQUENCE DIAGRAM FOR USER LOGIN-SD-01 ............................................................................................... 78 FIGURE 22 SEQUENCE DIAGRAM FOR USER REGISTRATION-SD-02 ..................................................................................... 79 FIGURE 23 SEQUENCE DIAGRAM FOR DET-SD-03 .......................................................................................................... 80 FIGURE 24ACTIVITY DIAGRAM FRO ANDROID .................................................................................................................. 81 FIGURE 25ACTIVITY DIAGRAM FRO ANDROID .................................................................................................................. 81 FIGURE 26ACTIVITY DIAGRAM OF WHOLE SYSTEM (ANDROID) ............................................................................................ 81 FIGURE 27 ACTIVITY DIAGRAM-REGISTRATION (AC-02) ..................................................................................................... 82 FIGURE 28 ACTIVITY DIAGRAM-DET-(AC-03) ................................................................................................................... 82 FIGURE 29 ENTITY RELATIONSHIP DIAGRAM .................................................................................................................... 83 FIGURE 30 CLASS DIAGRAM OF WEB MODULE .................................................................................................................. 84 FIGURE 31CLASS DIAGRAM FOR ANDROID MODULE .......................................................................................................... 85 FIGURE 32 IMPLEMENTATION APPROACH ....................................................................................................................... 94 FIGURE 33 CONTROL FLOW GRAPH .............................................................................................................................. 149 FIGURE 34 INTEGRATION TESTING (TOP DOWN APPROACH).............................................................................................. 150
PT0981128
Asia Pacific Institute of Information Technology 7
Daily Expense Tracker
ABSTRACT Daily Expense Tracker is a complete business solution whose main focus is on saving expenses and time supervision; two key factors that play major role in success of any project. It basically consists of expense management tool which basically consist of saving expenses in different categories. Each functionality maintains consistency in the system such as if user saves details from either of web or mobile then reports consistency will be maintained. It also contains the relevant information of the expense which are saved in the database. There are variety of tasks done in this system. Some of them are saving expenses category wise, managing task, changing wallpaper etc. There is provision to view reports on weekly basic, daily basic, monthly basic. Lately, mobile devices are not a status symbol anymore. On the basis of statistic reports, people are three times more addicted to mobiles than Laptops or PCs. No doubt, it transforms million ways of communication even in those areas where phone lines even barely exist. Hence, in a nut-shell mobiles can be handy for administrators or every individual to track down all their actions and can even keep a record of most accomplished tasks however. The Daily Expense Tracker has been developed and customized keeping in mind the requirements of the predicted audiences like students, businessman of any organization which will help the users to save their money in future by analyzing the reports of this expert system. System handles user’s daily expenses, saving tasks, changing wallpapers, sending reports to other mobiles etc. This system is basically developed for android mobile with API level greater than 8. This system also provides web interface to the users which has been developed in J2EE.
PT0981128
Asia Pacific Institute of Information Technology 8
Daily Expense Tracker
CHAPTER 1: INTRODUCTION 1.1
Title of the Project DAILY EXPENSE TRACKER
1.2
Topic Background The system itself defines its task, “Daily Expense Tracker” means it is a tracking system
which will save our daily expenses, credits i.e. from whom we have to get money, debit i.e. to whom we have to give and how much. Not only this but almost every work which involves transaction of money will be stored in this system and based on the data stored this expert system will give some predictions and reports. There are so many people who used to maintain dairy for their daily expenses so that they can use it for future. There are some people who used to remember their expenses but there counting is very less as in today’s scenario where there is no time for an individual to eat properly, sleep properly walk with their belongings for a moment then think for a moment how can they maintain their dairy which will again put a burden on their mind to remember those activities which they have done. Those people who want to save their daily expenses in such a place which will be handy to use. One of the most appropriate places to store the data is the mobile phone. Also in the dairy system, if the dairy is lost then it will be a heart locking situation.
1.3
Purpose of Implementation Developing a financial plan is important to your success. Regardless of your income,
financial planning WORKS. (Morgan(Admin)) We are in such an era today, that our most of the work has been shifted to computer; we are surrounded by the computer system which has harmed our memory. We feel hard to jot down every expense we do every day, due to lack of time and we used to forget the expenses made during the day. We used to forget whom we have to give money and how much as well as from whom we have to get. For this scenario this system is very much helpful to the user as you can write down the name and money at the same time. There is no need to memorize everything basically cost related tasks and expenses made during the course as this system provides you with all these facilities.
PT0981128
Asia Pacific Institute of Information Technology 9
Daily Expense Tracker 1.4
Target Audience Anyone, ranging from home users to office user and any businessmen or professionals
interested in tracking their daily expense. People who want to schedule their budget. A person who wants to find his saving at the end of the day, month and year, as well as for him who wants to see his progress based on today’s saving. The system can be used by them who are careless in handling the device e.g. who usually finds their device stolen, broken etc. they can recover their data from the server. On the other hand, the system could be used to guide the user for being more expensive by providing notifications. All types of users aging more than 13-14yrs. This system will be used by administrator as well who will be manage the website and create a back-up plan if required.
1.5
Problem Context As almost all users are connected with each other with mobile, the trend to save small
pieces of data into mobile in logs, notes, reminders has increased. So users need a system which will make automatic calculation based on their expenses. It’s not so that there does not exist any system for the same but there are some problems which are listed below. There is lack of research and functionalities in the current system as well. We are in such an era today that our most of the work has been shifted to computer; we are surrounded by the computer system which has made our memory powerless. We feel hard to jot down every expense we do every day due to lack of time and we used to forget the expenses made during the day. We used to forget whom we have to give money and how much as well as from whom we have to get. For this scenario this system is very much helpful to the user as you can write down the name and money at the same time. There is no need to memorize everything basically cost related tasks and expenses made during the course as this system provides you with all these facilities. If you lost your device then the data can be easily downloaded from the website and hence you can be saved from a disaster.
1.5.1 Problem Area 1.5.1.1 Unable to know savings[PB1] 1.5.1.2 Unable to put limit on expense according to budget[PB2] 1.5.1.3 No offline-online data synchronization[PB3] 1.5.1.4 Slow data retrieval while searching[PB4] 1.5.1.5 Lack of security [PB5] PT0981128
1.5.1.8 Report generation [PB8] 1.5.1.9 No Prediction[PB9] 1.5.1.10 Only one session per mobile[PB10] 1.5.1.11 Cannot know the position from where the expense has been done[PB11]
Asia Pacific Institute of Information Technology 10
Daily Expense Tracker 1.5.1.6 No backup and recovery for the data[PB6] 1.5.1.7 Manually scheduling[PB7]
1.5.1.12 No option to contact the developer in case any problem happens[PB12] 1.5.1.13 Manually sending of email or SMS to report someone about our expense [PB13]
Note: These problems are described in details in problem background.
1.6 Rationale This application provides benefits in many ways, like it allows users to save their daily expenses in a customized manner. It allows users to save their task in the system along with the position from where they saved the data. It allows users to save their wastage of money by providing notifications whenever required. It allows the users to know their future benefits by doing calculations based on their savings. The system to be implemented could bring about significant tangible and intangible benefits. Given below is a list of tangible and intangible benefits expected from the system:
1.6.1 Tangible Benefits 1.6.1.1
One time investment: Users will have to invest their money for just once to use this system on android mobile but to use the web services they will have to pay according to the plan.
1.6.1.2
Saving on Internet Data usage: there is no need to start the internet all the time when you want to save the expense details as this can be done offline. User can synchronize their data during their off time i.e. just once in a day or a week internet is needed. Hence wastage of data usage can be saved.
1.6.1.3
Accessibility of system: System can be accessible anywhere if the user has got the mobile. If mobile is not with him/her then the system can be accessible with the help of website if the user has a login id and password.
1.6.1.4
Reduces the stress: this system will directly reduce the stress from the user as the user will not have to calculate each and every thing ex. How much they have balance in their hand? Etc.
1.6.1.5
Data can be recovered: As the system database is online i.e. on remote server so if the user lost his/her device then they can get the desired data from the server again.
1.6.2 Intangible Benefits
PT0981128
Asia Pacific Institute of Information Technology 11
Daily Expense Tracker 1.6.2.1 Economic Benefits: with the help of this system we can save our lot of money which goes in waste land due to the lack of planning. 1.6.2.2 Save time: this system will save our time as we can do hours of work in a minute. E.g. if we need to search a person whom we have to give money from our notebook then it will take hours if there are thousands of record but with the help of this system it will take less than a minute.
1.7
Project Objectives The objective of this system is to design such a system for users which will resolve the
problems related with daily expenses and save a lot of money by providing them necessary notifications and by showing their profit or loss based on daily expenses.
1.8
Functionalities of DET (Daily Expense Tracker) Functionalities of this system are divided into three categories namely Core, Enhanced
and Special functionalities. These are given below.
1.8.1 Core Functionalities of the System Core feature of any project is the heart of that project or you can say the features without which system is incomplete. In this project, developer is developing a complete interactive, user friendly, effective, feature-rich, multimedia site. Core features are 1.8.1.1 Member’s Registration[CF1]
In this functionality new members will be registered in the mobile so that they can access all the functionalities of the system. 1.8.1.2 Save daily expenses[CF2]
This is the one of the main functionality of this system which will save all the daily expenses which the user will like to save. Along with the expenses the location of the place using GPS technology will also be saved so that if the user wants to know from where they saved this detail they can easily know. User can save credits, incomes and debits detail as well in this system. 1.8.1.3 Profile management[CF3]
Users can manage their profile using this functionality e.g. view their profile and make changes if required. 1.8.1.4 Putting limit on expense[CF4]
With the help of this functionality users can put limit on their expense. If user crosses their budget of the month then a notification will be displayed to their cell phone i.e. you have crossed your budget of this month.
PT0981128
Asia Pacific Institute of Information Technology 12
Daily Expense Tracker 1.8.1.5 Account management[CF5]
Here we can manage our account e.g. customize the options, put limitations i.e. functionality (1.8.1.4) will come in under this category, user can save the mobile no. on which the message will be sent. 1.8.1.6 Report Generation[CF6]
Various types of reports will be generated within this section for the users. These reports are described in details in section 1.12.4. 1.8.1.7 Searching of Expenses[CF7]
With the help of this functionality users will be able to search the expenses they have done on a particular item. 1.8.1.8 Contact us[CF8]
Users can contact with the developer with the help of this functionality whenever required. 1.8.1.9 Terms and Conditions[CF9]
This functionality will display the terms and conditions of using the system.
1.8.2 Enhanced Functionalities of System To make user understand the system better, enhance features are used. 1.8.2.1.
Future Prediction[EF1]
This functionality will predict the future savings based upon the current income and expense. 1.8.2.2.
Synchronization of offline-online data [EF2]
Using this functionality user can synchronize their data which is saved in mobile to the server. This will automatically be done, no need to click on any button. 1.8.2.3.
Task Manager[EF3]
This functionality will help the user to schedule their task to do in the mobile so that they can be up to date with their each and every task. 1.8.2.4.
Saving location based on GPS[EF4]
1.8.2.5.
This functionality will save the location of that place in terms of latitude and longitude so that if in future we want to know from where we have spent our money then we can easily know it.
Note: EF =Enhanced Functionality, CF =Core Functionality, Note: SF=special Functionality
1.8.3 Special Functionalities of System Based on the research and if developer has the time and ability, these are the advanced features developer is going to attempt to implement in this system.
PT0981128
Asia Pacific Institute of Information Technology 13
Daily Expense Tracker 1.8.3.1.
Customization option[SF1]
Under this category various customization facility will be provided e.g. according to the needs of a user the options will be displayed to save in database. If user does not have a bike or car then there is no need to give an option for petrol expense. 1.8.3.2.
Wallpaper customization[SF2]
If the users want to change the wallpaper of the android system then they can click a pic and set it as the wallpaper using this functionality. There is no need to go in mobile settings for the same. 1.8.3.3.
Sending Reports on mail[SF3]
Reports will be generated as per the settings we have done in mobile in account management [CF5]. These reports will be sent to the email id saved during the profile creation or later on. 1.8.3.4.
Sending SMS report to another number[SF4]
With the help of this facility SMS reports will be sent to another mobile if the user wants to send the report. Various check boxes are provided in the system so that user can check it and uncheck it whenever required.
1.8.4 Feature learning objectives This refers to the learning objectives besides mastering of particular software development or authoring tools, these objectives are mainly focused on concepts and ideas rather than trained skills. These are described in details in Chapter 2 Section 2.3.2.
PT0981128
Asia Pacific Institute of Information Technology 14
1.8.5 Traceability Matrix between Problem and Functionalities CF1 PB1
CF2
CF3
CF4
CF5
CF6
CF7
CF8
CF9
EF1
EF2
EF3
EF4
SF1
SF2
SF3
SF4
X
X
X
PB2
X
PB3 PB4 PB5
X X
PB6
X
PB7
X
PB8
X
PB9
X
PB10 PB11
X X
X
PB12 PB13 TABLE 1TRACEABILITY MATRIX BETWEEN PROBLEM AND FUNCTIONALITIES
1.9 Assumptions Following are the assumptions made in this system. 1.9.1.
The developer has assumed that the user has an android mobile phone and has practice
about its basic mobile operations. 1.9.2. User should have some knowledge about mobile’s original function that is used in mobile phone. 1.9.3. It is assumed that user has internet access for synchronizing the data on the server.
1.10 Success Criteria The system will be successful if all the following tasks are done 1.10.1. All the functionalities given in core are implemented successfully 1.10.2. If proper validations are provided in textboxes 1.10.3. If user is able to save his/her expenses, credit, incomes and debits on server without error 1.10.4. If very less bugs occur during the testing which are not really harmful 1.10.5. User is able to view the reports successfully from android device. 1.10.6. If multiple users are able to login from one device without any error. 1.10.7. If system does not crashes while installing this software If the user is satisfied by this system regardless of some small problems then this system will be a successful system.
1.11 Scope and limitation of the System Scope and limitations of the system which is to be developed are listed below. Description of these scope and limitations are already provided in the functionality module. 1.12 Member’s Registration
1.22 Future Prediction
1.13 Save daily expenses
1.23 Synchronization of offline-online
1.14 Profile management
data
1.15 Putting limit on expense
1.24 Task Manager
1.16 Account management
1.25 Saving location based on GPS
1.17 Report Generation
1.26 Customization option
1.18 Searching of Members
1.27 Wallpaper customization
1.19 Contact us
1.28 Sending Reports on mail
1.20 Terms and Conditions
1.29 Sending SMS report to another no.
1.21 FAQ on website
Daily Expense Tracker 1.12 Limitations of the System The limitations for this system is as given below 1.12.1. Number of reports rows shown in the mobile will be 15-20 only 1.12.2. While it can accessible from any system 1.12.3. Future prediction will be available for 2 years only 1.12.4. Only one user can login at a time from same android device. 1.12.5. Mail will be sent to the primary mail id provided during the registration. 1.12.6. Only the following types of reports will be available for this system 1.12.6.1. Weekly expense/saving
1.12.7. Current data on website will be
1.12.6.2. Monthly expense/saving
shown only in the case if the data is
1.12.6.3. Quarterly expense/saving
synchronized with the server, in case data is
1.12.6.4. Half –yearly expense/saving
not synchronized on the server then only the
1.12.6.5. Yearly expense/saving
data
1.12.6.6. Date vise expense/saving
synchronization will be available to the
1.12.6.7. Expense for a particular item
user.
1.12.6.8. Daily expenses
1.12.8. There is no way to access the data
1.12.6.9. Debit and credits report
online without the synchronization of data
1.12.6.10.
to the server.
Debit and credits report based
which
is
available
till
last
on searching a particular name
1.13 Feasibility Analysis Feasibility studies addresses things like where and how the system will operate. It provides in-depth details about the system to determine if and how it can succeed and serve as a valuable tool for developing a winning business plan. Feasibility study is further sub-divided into four categories as described below. 1.14.1 Schedule Feasibility Report It shows that whether the project development is going as per the schedule or not. This system is being developed as per the time given in the Gantt chart. All the major and minor activities are shown in the Gantt chart with completion date for all major activities within the project that meets organizational deadlines and constraints for affecting change. The main part of schedule feasibility report is-Gantt Chart- Developer has used this chart for the time estimation. (Refer to appendix)
1.14.2 Technical Feasibility Report PT0981128
Asia Pacific Institute of Information Technology 17
Daily Expense Tracker Technical Feasibility mainly involves the hardware and the software requirements of the system regarding all the tasks of the system to be done. All the major technologies used to develop this system are described in section 4.2.1. From the report of section 4.2.1 we can easily know that this system is technically feasible. 1.14.3 Operational Feasibility Report: It may be defined as, the process of assessing the degree to which a proposed system solves business problems or takes advantage of business opportunities. Problems addressed and advantages of this system are provided in the documentation. 1.14.4 Economic Feasibility Report: The purpose for assessing economic feasibility is mainly to identify the financial benefits and costs associated with the development project. Economic feasibility is referred as cost and benefit analysis for any system. Once the technical feasibility is established, it is important to consider the monetary factors also. Since it might happen that developing a particular system may be technically possible but it may require huge investments and benefits may be less. Cost Benefits are included under Rationale (Section1.6) by the developer.
1.15 Ethics Commitment It ensures that the project won’t do any harm to the society or anyone in anyways. It contains issues like no animal harm & no copying of data without prior permission etc. and to ensure that the developer has filled up an ethical form and it will be provided in documentation. It also ensures no information of user will be leaked outside the system.
Critical Appraisal As per the problem context and functionalities given above the system is going to be developed in a systematic manner. This system will be very much helpful to the users and users will be going to enjoy this system very much. This system is feasible in every aspect whether it is technical or operational. User will be able to save his/her expenses into four categories i.
Income- amount which the user says it his/her income from various sources.
ii.
Expense- amount which the user will spend
iii.
Credit- amount which the user has given someone else and he/she will get in future.
iv.
Debit- amount which the user needs to pay other person in future.
PT0981128
Asia Pacific Institute of Information Technology 18
Daily Expense Tracker
CHAPTER 2: PROBLEM DESCRIPTION 2.1 Introduction to Problem Area Today there is a drastic change in livelihood of each and every people of this world. Either he/she belongs to a small family or middle family or why not from a large family. All are addicted to technology directly or indirectly. They do not have time to note down their income and expenditures on a piece of paper, in PCs, in mobile notes etc. and count them one by one to know their total budget. The developer do not say that there is no such systems which handles all these problems. Yes there are various systems to handle those problems but they are either time consuming or hard to work on. For e.g. we can save our data on excel sheet also but who have got the time to open the PC and remember all the expenses which we have done on that day. It’s really time consuming and boring. There is lack of research and functionalities in the current system as well. We are in such an era today that our most of the work has been shifted to computer; we are surrounded by the computer system which has made our memory powerless. We feel hard to jot down every expense we do every day due to lack of time and we used to forget the expenses made during the day. We used to forget whom we have to give money and how much as well as from whom we have to get. God shake it doesn’t happen with anyone but what if the hard disk crashes, files which we have saved are destroyed in natural disasters, or due to some other problem we lost our data then we are completely going to be mad. These are just the glimpse of the problems which is going to be solved with this system.
2.2 Problem Description and solution Following are the problems which are present in the current system. 2.2.1. Unable to know savings[PB1]
User is not able to know his/her savings without calculations. We have to do it either manually or with the help of calculator. Solution: this problem is solved by using the functionality CF2 i.e. save daily expenses in the system. Alternative solutions: user can save his/her daily expenses in excel sheet, notebook, PCs etc. 2.2.2. Unable to put limit on expense according to budget[PB2]
We are unable to put limit on our daily expenses on a particular thing and hence we do over expenses on a particular item. Solution: this problem can be solved by using the functionality CF4 i.e. by putting limit on a particular item. PT0981128
Asia Pacific Institute of Information Technology 19
Daily Expense Tracker Alternative solutions: we can achieve this goal by making a different section for noting down the tasks on which we have to be cautious while over spending. 2.2.3. No offline-online data synchronization[PB3]
Current system only provides the either of the offline or online data saving feature. If the internet is not working then online system will not work and hence the user has to suffer a lot. Solution: this problem can be solved by using the functionality EF2 i.e. by synchronizing data between mobile apps to the web server. Alternative solutions: we can send our data on the mail ids, or server if we have manually. We can store the data in file of a particular user whenever system is communicating with the server. 2.2.4. Slow data retrieval while searching[PB4]
Data retrieval is slow in case of online systems depending upon the speed of internet connection. Hence user will have to wait for a long time for even searching a name of the item. Solution: using functionality CF7 i.e. by searching our daily expenses in the system we can easily achieve this target. Alternative solutions: by using CF6 i.e. viewing the reports of the system we can get the desired output. 2.2.5. Lack of security [PB5]
When the system supports only offline task then if the data is deleted or the mobile gets stolen all the data will be lost and user has to suffer again. Solution: by using functionality CF1 we can achieve this target i.e. by registering our self to the server and by getting a user id and password. Alternative solutions: by using functionality CF7 i.e. account management we can secure our account by being misuse. 2.2.6. No backup and recovery for the data[PB6]
There is no backup and recovery facility in the current system. That means once the device is lost or file is corrupted then there is no way to recover it. Solution: by using functionality CF8 we can easily make backup of our data and recover it whenever required. Alternative solutions: we can make duplicate copies of files and store it at different locations for backup in traditional file system. We can use file system which will get the desired data from the server and store it in the mobile till the internet connection does not comes. We
PT0981128
Asia Pacific Institute of Information Technology 20
Daily Expense Tracker can use that data further as offline data. If our mobile gets lost then we can use the internet connection and download the app and get the data back again. 2.2.7. Manually scheduling[PB7]
In traditional file systems there was no option of scheduling along with tracking budget and provide notification when necessary. Solution: using functionality EF3 i.e. task manager we can schedule using our mobile. Alternative solution: we can make set alarm or remainder for the same purpose. 2.2.8. Report generation [PB8]
The report generation format is not up to the level. Only data which has been saved are shown. No customized report is possible. Solution: by using functionality CF6 we can generate reports in as per the requirement. Alternative solutions: reports can be generated in graphical format as well as textual format. 2.2.9. No Prediction[PB9]
The current system does not provide us any facility to view the future benefits. No prediction is there. Solution: by using enhanced functionality EF1 i.e. future prediction we can foresee our future benefits. Alternative solutions: we can predict manually by multiplying our savings in a month with 12 and so on. 2.2.10. No option to add items in customized manner and customize notifications [PB10]
There is no option to add our own customized items as per our requirement. Solution: we can add items in a customized manner using functionality SF1 e.g. if user is from outside India they can put their own currency symbol for their favor. Alternative solutions: we can assume that this and that symbol is for this purpose. 2.2.11. Only one session per mobile[PB11] There is only one user account in the current system. If there exists multiple users to work on the same mobile then there are no criteria for that. Solution: this problem is solved as user can “sign in” in the system using functionality CF1 and save their expenses. Hence multiple users can work with this system on a single mobile. Alternative solution: users can purchase dedicated mobiles for themselves so that no conflicts can occur. 2.2.12. Cannot know the position from where the expense has been done[PB12]
PT0981128
Asia Pacific Institute of Information Technology 21
Daily Expense Tracker In earlier system we cannot know our position from where we saved the particular piece of information. Solution: while we are saving our data, system will automatically save the location using GPS technology which is given in functionality EF4 and hence we can find our exact location in future in case we require that detail. Alternative solutions: we have to write down the location from where we have saved the data manually. 2.2.13. No option to contact the developer in case any problem happens[PB13] We are not able to contact the developer in case of problem. Solution: using functionality CF10 we can contact the developer in need. Alternative solution: we can contact to another developer in local to solve our problem. 2.2.14. Manually sending of email or SMS to report someone about our expense [PB14]
When we have to send our expense report as email or SMS to our guardians we have to send it manually but with the help of this system auto sending of mail and SMS will be done. Solution: auto generation of mail and SMS will take place in the system using functionality SF3. Alternative solution: we can send the mail using Gmail manually. 2.2.15. No normalization process is followed: There is also a concern that the traditional file management system results in a lack of consistency when it comes to storing data, though this very much depends on the user and the nature of the data they are filing. (NA, Disadvantages of File Processing System, 2010) Solution: normalization process will be followed to develop this system whenever required. Alternative solution: We can remove duplicity of data whenever possible.
2.3 Challenges and Learning Opportunities The primary challenge in building this system is customizing the various user requirements based on their category e.g. students, businessmen, home users etc. the data which has to be customized should be gathered from various users. Some off the other challenges are given below
2.3.1 Challenges
PT0981128
Asia Pacific Institute of Information Technology 22
Daily Expense Tracker Further challenges involved in this system are described below. 2.3.1.1 Saving data on external database other than SQLLite from android device: data which is in the device should be synchronized with the server so that the user can access it from anywhere. Challenging part here is that if the user saves any data in mobile when there is no internet connection and after sometime user saves another data from web browser then it’s very hard to make data consistency in the system. 2.3.1.2 Offline and online facility: providing both of the facility to the user so that user will feel free to work with this system. It was one of the most challenging part of this system as it covers 2.3.1.1 challenge also. The problem was to execute the query placed in JSP page i.e. web application with the help of android device. Initially the developer was working with the localhost with port no. 8080 but he found error as server not found. Then after a lot of research work he found instead of writing localhost in android we have to write 10.0.0.2. This is the path to the localhost from emulator. This was just a single problem, more problems are described in implementation part.
2.3.1.3 Graphical data: Showing graphical data to the user so that user can understand his/her expenses easily. It was really a hard nut to crack for the developer as there is no tool in android to draw graphical reports. So developer did a lot of research on this part and after trying many API’s developer had decided to work with Google graph. 2.3.1.4 System portability: making the system to be portable on various android devices. This issue made the developer a lot to worry as many functions which are available in the android newer versions are not compatible with older version of android say API level 8 does not have isEmpty() function to check the string whether it is empty or not. So developer had to make his own function to do the same. 2.3.1.5 When the screen orientation is changed the data provided to the system is lost which has not been saved in android application hence managing this screen orientation to be compatible with the system is one of the challenge in developing this system. 2.3.1.6 Managing reports and sending them on mail: various types of reports will be made and sent to the user’s mail so that user can get a clear and more detailed view of the reports. 2.3.1.7 Apart from these one of the challenges is making the GUI follow HCI principles. 2.3.1.8 Future saving prediction: on the basis of saving of the week/month predicting the future savings is one of the challenges to implement. 2.3.1.9 Knowing the user: To understand the spending habits of people. The manner in which they spend the money, decisions they take before spending on something. Other challenge would be of how to make this application make effective to make people use
PT0981128
Asia Pacific Institute of Information Technology 23
Daily Expense Tracker the application, as some people would consider the application as ineffective in respect to the amount of time they give in use of the application. 2.3.1.10
Interaction design and coding is also one of the major challenges of this system.
2.3.2 Learning Opportunities Following are the learning objectives while developing this system. 2.3.2.1 Learning and practices of XML and Android Technology As this system is going to be developed entirely on android technology so learning of android technology is obvious. And XML is one of the core features of android to create the layouts then its knowledge is also most required. 2.3.2.2 Learning of synchronization of data between offline-online One of the toughest features of this system is to synchronize the data between mobile and server. So to achieve this target I need to learn the algorithm for the same. 2.3.2.3 Learning Web services To implement the web-services developer has to learn the web services also. With the help of web-services this system will be able to synchronize the data between server and mobile. 2.3.2.4 Learning to integrate android with web to develop a single system. After learning the web-services and android basic I will be able to implement the both to create a single integrated system. 2.3.2.5 Learning and practices of the advance JSP-servlet and android to make graphs In order to provide graphical report I have to learn advance JSP-Servlet. 2.3.2.6 Learning of JSON(JavaScript Object Notation) In order to interchange the data from android mobile to the server JSON is required. So it should be studied to implement the web services. 2.3.2.7 Knowledge about DBMS or Databases To save the data in database knowledge of DBMS is required so that no duplication of data occurs in the system. 2.3.2.8 Concept of Human Computer Interaction. HCI principles will make the system easy to be used by the user and hence it can play a vital role in the growth of the system in future. 2.3.2.9 Leaning for a development of Real time bug free system. In order to make the system bug free various testing approaches should be learnt and implemented in this system e.g. unit testing. 2.3.2.10
Learning and Practices of SQL Query
To insert the data and fetch it SQL queries should be learnt.
PT0981128
Asia Pacific Institute of Information Technology 24
Daily Expense Tracker 2.3.2.11
Learning algorithm for smart prediction based on inputs of a month
In order to perform future prediction which is one of the functionality of DET i.e. EF1 one of the best algorithm should be implemented. So learning algorithms will help me out. 2.3.2.12
Learning of Google graph
In order to produce graph in android as well as in web pages Google graph is very much efficient to be used. 2.3.2.13
Learning file handling
In order to save small chunks of data in mobile and access it later on developer needs to learn file handling.
2.3.3 Nature of Challenge As described above the challenges are really going to make the developer a lot from this system. Some of the challenges are really tough to implement e.g. implementing the webservices in this system, showing graphical reports in order to make users understand their profit and loss etc. this system will be complete if and only if all the functionalities given in core (Refer to Section 1.8.1) are completed. This is also one of the major challenges i.e. to complete the system within given time frame.
2.3.4 Challenges in terms of Theory and Software 2.3.4.1 Challenges in terms of Software Challenges in terms of software are small as eclipse has given the developer the frame work, where the developer can work on this project. It has also provided the developer ADT (Android Development Toolkit) on which he has developed the system. And of course it is free of cost. No licensing is required for it. But yes the developer has to register himself to the Google MAP API to get a free developer key which has been used during the development of the system to use Google GPS services. Also while deploying the project developer need to register each individual for a specific key so that they can use the same. Apart from android software like Apache tomcat will be used which is also free for the developer point of view. For the backend process MYSQL database is used and to access it, developer has worked on Wampserver. Wampserver is a tool which provides MYSQL database. To debug the program developer has used emulator so that errors can be rectified as soon as possible.
2.3.4.2 Challenges in terms of Theory The main challenge comes in terms of theory for this system. E.g. how to implement web-application with android device, how to use efficient graph theory for smart prediction,
PT0981128
Asia Pacific Institute of Information Technology 25
Daily Expense Tracker how to use graphs, how to customize the options etc. but yes these all problems are the real challenge which the developer is going to really enjoy. Critical Appraisal There were many problems in the current system, which have been sorted out during the development of this system. All the challenges which were listed above were critical and have taken a lot of time of the developer. Not only had this, even to solve a single problem of the user developer had spent a lot of time. The most challenging part was to execute the query on JSP page with the help of emulator i.e. android device. A lot of errors were hampering the system to be completed. Most of them are defined in implementation part of the system. One of the major challenge was to get the data after clicking on the report button and then show them in Listview (just like list in HTML). Initially developer was expecting the JSONObject to return all the values in list but it failed to return so developer had used File Handling for the same. Data from the server is saved in File in android and then it is fetched as per the requirement. This is the reason why developer has given a limited choice to the user to get less than 20-30 no. of records at a time.
PT0981128
Asia Pacific Institute of Information Technology 26
Daily Expense Tracker
CHAPTER 3: LITERATURE REVIEW 3.1 Advanced Preliminary The idea of this system came into developers mind when he was unable to find his expenses when his guardians asked him for the expense report. His guardians asked him to give them the details of expenses which he had done during a month after taking some amount from them. Developer was unable to remember all those expenses. So, he thought why not to develop a system where he can put his incomes and expenses and get the report whenever it is required. Before starting this project he did an extensive research on this topic and found some facts i.e. a lot of system has been developed on this type of project. But all of them had some problem in them which are listed in the problem description section i.e. Chapter 2. Some of the websites and their functionalities are given in section 3.4.1. Also the developer took a lot of ideas from various websites to sort out these problems. For the various options which should be there in the system for saving expenses this website i.e. http://www.nhco.org/budget_packet.pdf is very much helpful. This is a spreadsheet which is provided by NHCO (North Hills Community Outreach) for saving daily expenses.http://www.newhavenlibrary50plus.com/uploads/07_1043_4_Income__Expens es_01-07.pdf this link will also be providing the various options to be saved in the database. Location Marker
3.1.1. Global Positioning System (GPS) tracking The most accurate procedure to find the exact location of a place is by only GPS and if we could attach GPS with Google-Map then the users can find the exact location of anyone and as these devices are on everybody’s android mobile. The developer thought to use the GPS service in the app because he thought it would be easy for users to find out from where they made that expense.
FIGURE 1 GPS TRACKING
PT0981128
Asia Pacific Institute of Information Technology 27
Daily Expense Tracker 3.2 Domain Research As this project is a website as well as android application. The development of this system needs a great research work. With research work done properly one can make out the success or failure of the project, as it provides complete exposure of knowledge, business, human networking, better insights and understanding of the required area. Domain research deals with the whole method of a Website building. Then the developer will include the study of J2EE, XML, Android, SQL Queries. To make the research better, developer has divided it in the following domains: 1. Android Research – The developer should have knowledge of the Android trends and web-applications. 2. Site Development - The primary domain research of project will be choosing the website development methodology as well as android application development. The entire methodology should be clear in mind so as to have clear picture of what next steps to follow for a successful completion of this project within specific time period.
3.2.1 Literature Review on Technical Research 3.2.1.1 Key Concepts of Mobile Technology (As application will run on mobile)
3.2.1.1.1 Why mobile technology? Why not PCs or file system? At the end of 2011, there were 6 billion mobile subscriptions, estimates The International Telecommunication Union (2011). That is equivalent to 87 percent of the world population. And is a huge increase from 5.4 billion in 2010 and 4.7 billion mobile subscriptions in 2009. (Favell, 2012) . From the given facts one can easily understand why we should develop a mobile application. Also in the problem description area I have mentioned many reasons why we should not opt for file system. This is the main reason behind choosing mobile technology.
3.2.1.1.2 Why android mobile technology? Why not some other mobile? 48.5% people in US owns android device. Out of 51.5 all other mobile companies are fighting for their existence (Nielsen, 2012). At the 2012 Mobile World Congress, Google released a startling statistic: There are now around 850,000 Android activations made each day. When close to one million phones are being turned on every day, you're doing something right. Yet, Google and its mobile operating system, Android, still get a bad rap because of different versions coming out. (Scott,
PT0981128
Asia Pacific Institute of Information Technology 28
Daily Expense Tracker 2012). Still it is going to play a vital role in the future mobile era. This is why I have chosen android technology to implement this system. Conclusion: The proposed system is an android mobile application which will communicate with web application.
3.2.2.1 Android Architecture (Layers Explained) Layer
Description
Application
This layer is for the default applications installed on any Android device. These
Layer
applications can be face book application, twitter application, any gaming application etc. User also has the privilege to search and install some other applications as per the requirement.
Application
By providing an open development platform, Android offers developers the ability
Framework
to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much more. This will be helpful to the developer in developing the application.
Libraries
Android provides developers with a set of C/C++ libraries through the application framework itself and some of the examples are mentioned above. These libraries are accessible to the developer for developing feature rich applications.
Android
Android development can only be done in Java. Generally, after compilation of a
Runtime
java program its .class file is executed using JVM but the Android application though developed in java are executed using DVM i.e. Dalvik Virtual Machine.
Linux Kernel
Android depends on Linux kernel for system services such as security, process management.
TABLE 2 ANDROID ARCHITECTURE (LAYER)
3.2.2.2. Security and Permissions Every Android application runs its own process and security among these applications are applied with the help of Linux installations. Android is a safety mechanism restricts processes to perform various operations. Based on the permissions may be that a process can access data from other applications or other operations. This concept will help developers to maintain the security of the application and get all the access permissions for the application. According to the Android mechanism continues, the developer specify access to the Bluetooth function of the device by the application.
PT0981128
Asia Pacific Institute of Information Technology 29
Daily Expense Tracker 3.2.2.3 GSM The proposed system uses GSM services to send the message from the app to those whom the users wants to share expense report. 3.2.2.4 GPRS The proposed system can access the internet by GPRS and the speed of net should be 2G or 3G enabled. 3.2.2.5 Wi-Fi (wireless fidelity) The proposed system can access the internet by Wi-Fi also if it there is Wi-Fi connectivity.
3.2.2.6 Design Principle: The design principles that need to be studied in order to provide are as follow: 3.2.2.7 Visibility: Visibility is one of the most important design principles and what it means is that, as and when the user looks on the system screen he/she may feel the possibility for action. The developer will keep an eye on this principal in order to provide better visibility. Conclusion: The developer will provide color schemes in a way that users of this system can easily find suitable content. 3.2.2.8 Feedback: Feedback is the response to the user of the action performed. Most of the feedback has been provided by using Toast in Android and Message box in Web application. Conclusion: The developer has provide appropriate message box (Toast in android) to provide feedback. 3.2.2.9 Constraints: Constraints are some universally accepted conventions which notify some specific actions. Conclusion:
Inclusion of warning messages to show the errors
For exiting from the application, use of back button as followed by all mobile applications
3.2.2.10. Consistency: Consistency means maintaining similar color schemes, backgrounds, font color and size etc.
PT0981128
Asia Pacific Institute of Information Technology 30
Daily Expense Tracker Conclusion: The developer has provided Consistent Colour, Same background, same font size and colour for headings. 3.2.2.11. Affordances: Affordance means expected behavior like cursor of mouse changes into hand symbol on roll-over the link. Conclusion: The developer has provide features like long press key so that user can get the details from the list view. Developer has also provided date picker for the user so that user can select the desired date for reporting. 3.2.2.12. Programming Language Research 3.2.2.12.1. Android Android OS specific programming, as it is better for customization Android is well supported with JSP Android Support with Google-Map and GPS technology Android has Multi-threading, Handler, Exception Handling, Encapsulation which can be used in the system for various functions like fetching friends data while showing their location on Google-Map. 3.2.2.12.2. J2EE 3.2.2.12.2.1To develop the web application developer has used J2EE. There are a number of patterns that have been identified by the Sun Java Centre for the presentation tier i.e. which is visible to the users. Various patterns are described below in details. 3.2.2.12.2.2Intercepting Filter: Facilitates pre-processing and post-processing of a request. 3.2.2.12.2.3Front Controller: Provides a centralized controller for managing the handling of requests. 3.2.2.12.2.4Composite View: Creates an aggregate View from atomic subcomponents. 3.2.2.12.2.5View Helper: Encapsulates logic that is not related to presentation formatting into Helper components. 3.2.2.12.2.6Service to Worker: Combines a Dispatcher component with the Front Controller and View Helper patterns. 3.2.2.12.2.7Business Delegate: Reduces coupling between presentation-tier clients and business services. It hides the underlying implementation details of the business service, such as lookup and access details of the EJB architecture.
PT0981128
Asia Pacific Institute of Information Technology 31
Daily Expense Tracker 3.2.2.12.2.8Service Locator: Multiple clients can reuse the Service Locator object to reduce code complexity, provide a single point of control, and improve performance by providing a caching facility. 3.2.2.12.2.9Transfer Object Assembler: It is used to build the required model or sub model. The Transfer Object Assembler uses Transfer Objects to retrieve data from various business objects and other objects that define the model or part of the model. 3.2.2.12.2.10 Composite Entity: It model, represent, and manage a set of interrelated persistent objects rather than representing them as individual fine-grained entity beans. A Composite Entity bean represents a graph of objects. 3.2.2.12.2.11 Data Access Object: Abstracts and encapsulate all access to the data source. The DAO manages the connection with the data source to obtain and store data. (Satarkar, 2004) E.g. DBAdapter class. Note: More about technical research is given in chapter 4 under Techniques used.
3.3.1 Critical Appraisal of Literature Review The literature review concludes with the final results regarding the development of Android applications. To develop methods and applications of Android architecture follow. The layers in the architecture are discussed above. The developer has been developing the application using open source software. The user can use the app for free for a year by simply downloading and installing the application. The application is developed using the Eclipse IDE and Android SDK for android app. J2EE has been used as framework to develop web application. Netbeans IDE and Wampserver has been used to implement the web application and connectivity to the android app. Only Java programming language has been used to develop Android applications. This gives the developer the main unit and the stage on which to build the application. The current set of Android application development provides positive reasons for developers to develop a game application. The growing number of Android users is another positive aspect to develop the application.
3.3.2 Other academic research areas that need to be looked into are: 3.3.2.1 Human Computer Interaction – to concern with the design, evaluation and implementation of interaction computing systems, HCIU guidelines will be studied.
PT0981128
Asia Pacific Institute of Information Technology 32
Daily Expense Tracker 3.3.2.2 Software Methodology – We have different types of methodology to develop a project. In order to make the system best and perfect and feasible, the developer has selected VModels.
3.3.3 Information and Resources 3.3.3.1 Information
For gathering information and user requirements, some technique have to be used which will provide developer an idea and information about the needs of user. To do so there is a need of using data gathering technique. Techniques are listed below: 3.3.3.1.1
Interview
The interview session gives an outline of people response towards the system. Which type of system they require? What should be the option in the expense field? The interview process will be held for a group of users so that more and more opinions will come out for the system. 3.3.3.1.2
Questionnaire
The short, structured and grouped questions according to purpose of the system was very helpful in gathering usage statistics E.g. what and what not to be done. These questioners has been used to collect both qualitative and quantitative data. The questionnaire were distributed to IT personnel who were having some experience and insight into the development of such a mobile applications and web development as well as to the users of the system. The main reason of the questionnaire was to seek and gather all the necessary information that was beneficial for the development of proposed system. 3.3.3.1.3
Books
3.3.3.1.3.1 Android application development for dummies-Donn Felker 3.3.3.1.3.2 Beginning Android Application Development -Wei-Meng Lee 3.3.3.1.3.3 Human Computer Interaction- Alend Dix, Janet Finlay, Gregory D. Abowd, Russell Beale. 3.3.3.1.3.4 Data Structure- Schaum’s outlines, TMH
3.3.3.1.4 Observations By observing the various sites and users review on those sites developer has been able to get many points related to the system. E.g. what are the various options which should be saved in the system? Some of them are listed below. PT0981128
Asia Pacific Institute of Information Technology 33
Daily Expense Tracker 3.3.3.1.4.1 Housing - rent / mortgage, heating fuel, gas, electric, water, sewage, garbage, phone(s), household cleaning supplies, furnishings, equipment, Taxes, Insurance 3.3.3.1.4.2 Transportation - Car & Insurance payments, gas, maintenance & inspections, or public transportation Food - Out of home meals & beverages, Groceries, lunches, snacks. (NO PET FOOD, see Leisure) 3.3.3.1.4.3 Fun & Leisure - Alcoholic beverages, Tobacco, Pet expenses, Cable TV, Internet, TVs, Computers, Toys, Electronics, Cameras, Books, Magazines, Newspaper, Music, Movies, Concerts, Sporting Events, Clubs, etc 3.3.3.1.4.4 Apparel & services- Clothes, shoes, accessories, dry cleaning, spot removers, detergent, dryer sheets etc. 3.3.3.1.4.5 Personal care products & services hair care & skin products or services, haircuts, manicures, massages 3.3.3.1.4.6 Health care - insurance premiums, medical services & supplies, drugs, dental related, & vitamins 3.3.3.1.4.7 Miscellaneous expenses 3.3.3.1.4.8 Education - yearly pictures, trips, supplies, back pack, uniforms 3.3.3.1.4.9 Life insurance, IRA, retirement funds 3.3.3.1.4.10
Savings- FSA, Education, to help replace vehicle or appliance, Vacations,
Christmas, etc. (not retirement) 3.3.3.1.4.11
Emergency Fund accumulate to 3 month’s pay PLUS ANY insurance
deductibles 3.3.3.1.4.12
PT0981128
DEBT – All non-mortgage or non-car debt (Morgan(Admin))
Asia Pacific Institute of Information Technology 34
Daily Expense Tracker 3.4 Market Research 3.4.1 Similar Systems Available in the Market There are many systems which are available in the market on this topic. Some of them of are listed below. 3.4.1.1. Just Expenses: Expense Tracker This system is also providing users the facility to save their daily expenses. But the main problem with this system, which developer came to know from the user’s review of this system, is that it does not provide the customization option for currencies. Learning outcomes: the main learning outcome from this system which came in my mind is to customize the options for currencies so that users from other countries will not suffer the same problem which they are suffering in the
FIGURE 2 JUST EXPENSE TRACKER
current system. (Andtek, 2012) 3.4.1.2. Expense Manager This system is having a lot of facilities as given in figure but the main problem with this system is that there is no back up facility. Learning outcomes: this system is providing budget alert i.e. whenever someone
crosses
their
limit
of
Details of Expense manager
expenses an alert will be shown. In developed
system
notification
is
provided whenever user crosses their limit which they have put on. (NA, Expense Manager, 2012)
PT0981128
FIGURE 3 EXPENSE MANAGER
Asia Pacific Institute of Information Technology 35
Daily Expense Tracker 3.4.1.3.
CoinKeeper:
Expense
TrackingThis system provides the same functionalities as the systems described above but the main problem with this system is that it does not provide monthly report, no graphical report etc. Learning outcomes: from the users review of this system I have found that we need to give graphical report also. FIGURE 4 COINKEEPER- EXPENSE TRACKING
(Kim, 2012) 3.4.1.4. Daily expense tracker (current)
This system is good but it makes the system heavy by providing functionalities like calendar to view the report on that day. Learning outcome: it provides graphical layout wherever possible e.g. symbol of cash instead of writing it in textual format. This is handy for the casual user but hard to learn for the novice user. So developer has followed the HCI principles to make it user FIGURE 5 DAILY EXPENSE TRACKER-INCOME AND CASH FLOW
friendly. (Peijiang, 2012) 3.1.5. Daily Expense Manager
This system is having many features in it. But it does not provide synchronization with webserver which is there in my system. Learning
outcomes:
currency
customization,
customizable expense & income categories are some of the learning outcomes from this system. FIGURE 6 DAILY EXPENSE MANAGER
PT0981128
Asia Pacific Institute of Information Technology 36
Daily Expense Tracker 3.1.6. Daily Expense Tracker-Currently Developed When the developer posted his half of the specifications on freelancer.com he got the bid as following. He found 6 bids from which the maximum was 1000$ and minimum was 350$ as shown in screen shots below. If half of the project can cost that 350$ the full project will be developed in almost 1000$. (NA, Daily Exense Tracker, n.d.)
FIGURE 7 DAILY EXPENSE TRACKER (FREE LANCING)
FIGURE 8DET BID
PT0981128
Asia Pacific Institute of Information Technology 37
3.4.2 Traceability matrix between the functionalities of system developed and previous system.
CF1
CF2
CF3
CF4
CF5
CF6
CF7
CF8
CF9
EF1
EF2
EF3
EF4
SF1
SF2
SF3
SF4
DET
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
JET
X
X
X
EM
X
X
CET
X
X
DETC
X
X
X
DEM
X
X
X
X X
X
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
X
Daily Expense Tracker 3.4.3 Qualitative Analysis of Market Research S.no
Features
DET
1.
Web interface to handle system 2. Task Management
JET
CET
DETP
EM
DEM
3. Task List 4. Save Expense
5. Save Income
6. Save Credit
7. Save Debit
8. Save Location
9. Add New Task
10. Email Notification
11. SMS Notification
12. Graphical Report
13. Data Privacy
14. Multiple user sign in
15. Personalized View of Data
16. View Route
17. Mobile Version of System
18. Viewing tasks on mobile
19. Creating Task on mobile
20. Delete task on mobile
21. Reports on Mobile
22. Contact us
23. Access Rights
24. Account Transfer
25. Receipt Picture
26. Wall paper setting
TABLE 4QUALITATIVE ANALYSIS OF MARKET RESEARCH
PT0981128
Asia Pacific Institute of Information Technology 39
Daily Expense Tracker 3.4.4 Quantitative Analysis of Market Research Primary Research Analysis of Market The developer has given all the functionalities which are available in the older systems. But in case of interface developer lags behind them. This system also provides almost same functionalities like this system but lags in providing web application, providing location of the user etc. Provides calculator, bar chart, currency converter, other than saving expense but lacks in saving expenses in category e.g. credit, debit, income etc. as well as there is no web application for the same. It provides web interface to save details, but in it we can just save expenses and incomes there is no category wise saving option. It provides graphical layout wherever possible e.g. symbol of cash instead of writing it in textual format. This is handy for the casual user but hard to learn for the novice user. This system is providing budget alert i.e. whenever someone crosses their limit of expenses an alert will be shown.
DET
JET
EM
CET
DETC
DEM
Marks out of 100 90
75
80
82
78
75
TABLE 5QUANTITATIVE ANALYSIS OF MARKET RESEARCH
3.4.5 Critical Evaluation of Market Research When the developer posted his half of the specifications on freelancer.com he got the bid as following. He found 6 bids from which the maximum was 1000$ and minimum was 350$ as shown in screen shots below. If half of the project can cost that 350$ the full project will be developed in almost 1000$. Hence this system can work with the market by joining hands in hand with users. (NA, Daily Exense Tracker, n.d.)
3.4.6 Critical Success Factor In order to make this project a successful project the developer needs to do mainly two tasks, first is that the developer should implement all the core functionalities and secondly he should synchronize the mobile database with the server.
PT0981128
Asia Pacific Institute of Information Technology 40
Daily Expense Tracker
CHAPTER 4: RESEARCH METHODS 4.1 Primary Research Primary research was conducted by the developer during the initial phase of the system for gathering the information from the potential users of the system so that the developer can make a system that is directly acceptable by its users; primary research was conducted by following techniques.
4.1.1 Techniques used In order to gather the data techniques used in this system are already defined in the section 4.1 and they are questionnaire, interview and by observations.
4.1.1.1. Questionnaire Questionnaire (Refer to appendices for questionnaires) is a part of data gathering technique in which a series of questions designed to gather specific information. Questionnaires will specially be designed for users who would use the system which will include people who are interested in social networking websites. They have few advantages as Questionnaire – 4.1.1.1 Can be used to collect both qualitative and quantitative data 4.1.1.2 Can be distributed manually or electronically 4.1.1.3 Can reach a vast number of people regardless of physical location or geographical dispersion 4.1.1.4 Can be distributed quickly and cheaply 4.1.1.5 Can be used when human and financial resources are not available to conduct interviews 4.1.1.6 Why Questionnaires? As this application is targeting a large number of persons who are going to use the proposed system, so they are enormous in number, so it is not possible to take interview of them because it will be very time consuming. These are some reasons for using Questionnaires4.1.1.6.1. The analysis of questionnaire is most efficient than other techniques as we can draw the graphs and analyse the data. 4.1.1.6.2. It can reach a vast number of people regardless of physical location or geographical dispersion. 4.1.1.6.3.
It can be distributed quickly and cheaply.
PT0981128
Asia Pacific Institute of Information Technology 41
Daily Expense Tracker 4.1.1.2. Interview Interview (Refer to appendices for Interview) is a part of data gathering technique in which a series of question asked face to face from users of the system, designed to gather detailed information. They have few advantages as Interview Can be used for evaluating information needs as interview will allow us to gather detailed information about functionalities of project Can be used for gathering knowledge about perceptions of the people about social networks and their usual habits 4.1.1.2.1. Why Interview? It provides us with immediate an response which saves the developer’s precious time It allows participants to express themselves in their own words It allows the collection of a large volume of rich data It allows discussion, probing and unexpected insights It is best for investigating problems
4.1.2. SAMPLE QUESTIONARRIE AND INTERVIEW QUESTIONS 4.1.2.1 Sample questionnaire and its justification
Question 1
Justification
Question 2
Justification
Question 3
PT0981128
1. Which type of System is currently used by you to save daily expenses? Desktop Application Web Application Mobile Application Spreadsheet(Note book) This will help in understanding that which design interface is more understandable to the user and what are the features that the proposed system must contain.it will also help the developer to customize the options which is to be provided to the user. Maps with SF1 Which type of System would you like to use for saving your daily expenses? Desktop Application Web Application Mobile Application Note book This will help the developer the mindset of the user whether the user wants to run with the technology or just want to remain where he/she is. If the user replies mobile application then most of the questions marked by him/her will be valuable. Maps with SF1. 2. How is the Graphical user Interface of your Current expense saving system? Excellent Intermediate Satisfactory Not satisfied
Asia Pacific Institute of Information Technology 42
Daily Expense Tracker Justification
Question 4 Justification Question 5
Justification Question 6
Justification Question 7
Justification Question 8
Justification Question 9
Justification Question 10 Justification Question 11
Justification Question 12 Justification Question 13 Justification Question 14 PT0981128
This will provide that how frequently the user access the services and it will help in designing the user interface like use of metaphors and shortcuts etc. Maps with SF1. Does your current system take automatic backup of your database? Yes No To find out whether their system takes automatic backup of the database or not. As in our system we are going to give an option for the same. Maps with CF8. Would you like to share your mobile with your family members so that they can save their expenses using their login id? Yes No This will help out the developer on his module i.e. registration whether multiple people on a single system is beneficial or not. Maps with CF1, CF3, CF5. Would you like to save income along with expenses in the system? Yes No Can’t Say Some people only wants to save their expenses not their income, so to find out how many such people are there, this question is relevant. Maps with CF2. Would you like to put limit on expenses of a particular item? Yes No On all Items Only on some particular item. This will lead to the fact whether the users really want to put limit on a particular item. Maps with CF4. Which type of alert you will prefer to get when you exceed your budget or any new notification comes? vibrate only vibration along with sound only notification no sound only sound To find out which type of notification method is beneficial for the user. Maps with CF9. Would you like to upload your pic in your profile? Yes No May be This would help in gathering the facts that how users will be going to like this feature. It will help the developer in finding solutions for CF3. Should there be an option to delete your data? Yes No Developer wants to know whether the users really want to delete their data or not. Maps with CF5. Which type of report will you prefer? Graphical Report Textual Both This will help developer to find the user choice i.e. on which type of report the developer really needs to work on. Maps with CF6. Would you prefer a cost effective mobile application rather than a website? Yes No This would help in gathering the facts that the proposed system will be an application or a website on the mobile. Maps with EF2. Would you like an option to be there as contact us? Yes No This would help in gathering the facts that by which way the users will like to contact the developer. Maps with CF10. Do you have internet accessibility in your mobile? Asia Pacific Institute of Information Technology 43
Daily Expense Tracker Justification
Question 15
Justification Question 16 Justification
Question 17
Justification Question 18
Justification Question 19
Justification Question 20 Justification Question 21
Justification Question 22 Justification Question 23 Justification Question 24
PT0981128
Yes No This would help in gathering the facts that the proposed system should be an online or an offline system, so according to the user choice, the developer will provide the functionality. Maps with SF3, EF4 etc. Would you prefer to visit the website FAQ before contacting the developer? Yes No May Be This will help the developer to be updated with the FAQ section of the website. Maps with CF12. Would you prefer Google-map to find a place? Yes No This would help in gathering the facts that how the users would like to find places, so according to the user choice, the developer will provide the functionality. Maps with EF4. Do you think that future prediction of this system will be going to help you? Yes No May be This would help in gathering the facts that whether the users would like to use the future prediction facility or not. Maps with EF1. How likely you will want to access your data from the net using web browsers Frequently Sometime More than 5 time a week. Less than 5 times a week This will help the developer to find out how much traffic will be there on the website of this system. Maps with CF1. How likely you will be using the task manger present in this system? Frequently Sometime More than 5 time a week. Less than 5 times a week This will help the developer to find out the usage of the task manager. Maps with EF3. Will you like to save your location from where you are saving your data? Yes No This would help in gathering the facts that whether the users would like to save their location along with the data or not. Maps with EF4. Will you like that fields which should be saved should be present in as a menu option. Yes No I will save it manually Can’t say This will help the developer to get the options for the development purpose. Maps with SF1. How likely you would like to change your wall paper with the help of this system? Yes No Developer can know from the facts of this question whether this option will be really helpful or not. Maps with SF2. Would you like to have an option to schedule the mail from your application? Yes No This would help in gathering the facts that whether the users would like to send a report from their mobile to mail for further works or not. Maps with SF3. Would you like to send SMS report to another mobile? Yes No
Asia Pacific Institute of Information Technology 44
Daily Expense Tracker Justification
Question 25
This would help in gathering the facts that whether the users would like to find out whether the user wants to share their data with someone else or not. Maps with SF4. What are the likely expenses you would like save?(Multiple choice) Auto, Bus, Train fare Bike Vegetables Room rent maintenance Electric bill Car maintenance Insurance Lodging charge Shopping Expenses Home Loan consultation EMI Medicines Investments Newspaper & Doctors magazines Cable/ DTH/ Medical Tests Broadband Fooding EMI
Justification Analysis
Rice Petrol/Diesel ories Snacks Oil Vehicle Loan premiums
This would help in gathering the facts which will be customized for savings. Maps with SF1. Most of the user proposed that, please provide the application for free because they want their all friends to be online on this application.
TABLE 6SAMPLE QUESTIONAIRE AND ITS JUSTIFICATION
4.1.2.2 Sample Interview questions and there justification 1. Which type of System would you like to use for saving your daily expenses and why? ___________________________________________________________________________ Justification: This will help the developer the mindset of the user whether the user wants to run with the technology or just want to remain where he/she is. If the user replies mobile application then most of the questions marked by him/her will be valuable. Maps with SF1. 2. Which type of mobile device would you like to use for saving your daily expenses? Samsung mobile with Android OS Nokia Mobile with Android OS Any mobile with Android OS Other, please specifies: ____________________________________________________ Justification: This will help the developer to know whether the person will be interested to use this system or not. 3. What are the likely expenses you would like save?
Fooding Lodging Snacks Car maintenance
PT0981128
Auto, Bus, Train fare Electric bill Room rent Bike maintenance
Vegetables Rice Oil Petrol/Diesel
Asia Pacific Institute of Information Technology 45
Daily Expense Tracker Vehicle Loan EMI
Insurance premiums
Telephone/Mobile charge Investments
Personal Loan EMI
Medicines
Newspaper & magazines Donation/Charity
Shopping Expenses
Movies & Entertainment Home Loan EMI Doctors consultation Medical Tests
New accessories Cable/ DTH/ Broadband Other, please specifies________________________________________________ ______________________________________________________________________ TABLE 7 ITEMS TO BE SAVED IN SYSTEM
Justification: This would help in gathering the facts which will be customized for savings. Maps with SF1. 4. Do you still need to maintain any additional information as a Hardcopy? Yes No If yes then what are they? _________________________ Justification: This will help the developer to know whether some fields are missing or not in the system which is to be developed. Maps with SF1. 5. Do you see graphical reports in current system? Yes No If yes then what are they? ---------------------------------------------------------------------------------Justification: To find out what are those reports which can be implemented the developing system. Maps with CF6. 6. Do you think that future prediction of this system will be going to help you if yes please specify how? What type of predictions you will to use from this system? _________ Justification: this will give ifs and butts of future prediction and it can give us the some valuable information which we can implement in the system. Additional Requirements ________________________________________________________ Justification: To find out any missing attribute which the developer will enjoy in implementing it in the current system. Any Suggestions ________________________________________________________________ Justification: To get any suggestion from the user. As this system is going to be developed for the user’s point of view so there suggestion is most welcome in this system.
PT0981128
Asia Pacific Institute of Information Technology 46
Daily Expense Tracker 4.2 Secondary Research Secondary research means finding information from third-party sources such as marketing research, websites, magazine articles, and other sources that is already published or gathered by somebody.
4.2.1 Technical Research This part is going to research the proposed system technically means what programming language or database the system is going to use. Some technical research work includes:
4.2.1.1 Platform This part is going to research the proposed system about the programming language, the system is going to use. 4.2.1.1.1 Android Android is the world's most popular mobile platform. With Android you can use all the Google apps you know and love, plus there are more than 600,000 apps and games available on Google Play to keep you entertained, alongside millions of songs and books, and thousands of movies. Android devices are already smart, and will only get smarter, with new features you won't find on any other platform, letting you focus on what's important and putting you in control of your mobile experience. (corp., 2005) 4.2.1.1.1.1 Android OS programming Android powers hundreds of millions of mobile devices in more than 190 countries around the world. Android gives us a world-class platform for creating apps and games for Android users everywhere, as well as an open marketplace for distributing to them instantly. (NA, Android, the world's most popular mobile platform, n.d.)
PT0981128
Asia Pacific Institute of Information Technology 47
Daily Expense Tracker
TABLE 8 ANDROID DEVELOPERS
“Every day more than 1 million new Android devices are activated worldwide.” (NA, Android, the world's most popular mobile platform, n.d.) Android is an open source mobile operating system that is based on the Linux kernel. Using Android, device manufacturers can customize the OS to suit their particular hardware design, thereby allowing them to innovate without limitations. For developers, Android programming uses the Java programming language, and familiarity with the language immediately opens the platform to every Java programmer in the world. 4.2.1.1.1.2 Why Android? Android Support with Google-Map: Android and Google Map both are initiatives of Google itself and for ease of use they
have provided the packaged libraries bundled with Android platform
so use of Google-Map in android application is without compatibility issues, exceptions and well PT0981128
Asia Pacific Institute of Information Technology 48
Daily Expense Tracker defined so that no performance issue occurs as in mobile systems performance sometime causes application to crash. Further why android has been discussed under section 3.2.1.1.2.
FIGURE 9ANDROID LIFE CYCLE (JAMES STEELE, 2010)
Refer to 4.2.1.1.3 for more language details Android uses Java Language which is an object oriented language enriched with features of4.2.1.1.1.4 Multithreading A program or process can contain multiple threads that execute instructions according to program code. Like multiple processes that can run on one computer, multiple threads appear to be doing their work in parallel. Implemented on a multi-processor machine, they actually can work in parallel. Unlike processes, threads share the same address space; that is, they can read and write the same variables and data structures. . (IBM Team, 2006) 4.2.1.1.1.5 Handler A Handler allows sending and processing Message and Runnable objects associated with a thread's MessageQueue. Each Handler instance is associated with a single thread and that thread's message PT0981128
Asia Pacific Institute of Information Technology 49
Daily Expense Tracker queue. When user creates new Handler, it is bound to the thread / message queue of the thread that is creating it -- from that point on, it will deliver messages and runnable to that message queue and execute them as they come out of the message queue. (Google Team, 2007)
4.2.1.1.1.6 Exception Handling Exceptional conditions in traditional environments often arise in situations such as division by zero or “file not found,” and they must be managed with clumsy and hard-to-read constructs. Java helps in this area by providing object-oriented exception handling.
4.2.1.1.1.7 PACKAGES USED 4.2.1.1.1.7.1 in Android
Packages
Uses
com.dkg.fyp;
This is the core package crated by the developer. As every android needs a package name with ‘com’ then company name ‘dkg’(its developer name) and then system name ‘fyp’(final year project).
Android.app android.app.Activity;
The Activity class takes care of creating a window Services which run in background and they can be started and stopped by activity classes. There are various methods in this class e.g. onCreate, onPause etc.
Android.content android.content.Intent; android.content.Context;
For calling other activities from activities and
android.os android.os.Bundle;
For passing the data between activities and
services by providing necessary parameters
from activities to services. Binding the data with activities.
Android.view android.view.View.OnClickListener; android.view.View; Android.widget android.widget.Button; android.widget.EditText; android.widget.Toast; PT0981128
For providing the actions to the layout elements like buttons. For using layout object like buttons, textview. For messages Toast can be used.
Asia Pacific Institute of Information Technology 50
Daily Expense Tracker android.widget.TextView; android.widget.Spinner; android.widget.Chronometer; android.widget.CheckBox; android.widget.DatePicker; android.widget.AdapterView; android.widget.AdapterView.OnItem SelectedListener; Java.util java.util.ArrayList; java.util.List; java.util.TreeMap; java.util.Date;
For reading the data, received from Apache server and subsequently for throwing errors List, ArrayList and TreeMap is used to store the data into file and get it one by one.
To read and write data from file. java.io java.io.BufferedReader; java.io.IOException; java.io.InputStreamReader; java.io.FileOutputStream; java.io.File; java.io.UnsupportedEncodingExcepti on; For receiving HTTP response org.apache.http org.apache.http.NameValuePair; subsequently sending the data to server. org.apache.http.message.BasicName ValuePair; org.apache.http.params.HttpParams; org.apache.http.impl.client.DefaultHt tpClient; org.apache.http.impl.client.BasicRes ponseHandler; org.apache.http.client.utils.URLEnco dedUtils; org.apache.http.client.methods.Http Post; org.apache.http.client.methods.Http Get; org.apache.http.client.entity.UrlEnco dedFormEntity; org.apache.http.client.ResponseHan dler; org.apache.http.client.HttpClient; org.apache.http.client.ClientProtocol Exception; org.apache.http.NameValuePair; org.apache.http.HttpResponse; android.database android.database.SQLException; PT0981128
and
To access the various criteria’s, queries, and data from the SQLLite database.
Asia Pacific Institute of Information Technology 51
Daily Expense Tracker android.database.sqlite.SQLiteDatab ase; android.database.sqlite.SQLiteOpen Helper; android.database.sqlite.SQLiteState ment; android.util android.util.Log;
To find out the exceptions we print them in log
java.net java.net.URI; java.net.URISyntaxException;
To access the URI of a particular website.
android.text android.text.Editable; android.text.TextWatcher;
Provides classes used to render or track text
which is viewed under logcat.
and text spans on the screen. You can use these classes to design your own widgets that manage text, to handle arbitrary text spans for changes, or to handle drawing yourself for an existing widget.
android.telephony android.telephony.SmsManager;
Provides APIs for monitoring the basic phone information, such as the network type and connection state, plus utilities for manipulating phone number strings. This package has been used to send sms.
org.json
For converting data read by buffer-reader into
org.json.JSONArray;
readable chunks and subsequently for throwing
org.json.JSONException;
errors
org.json.JSONObject; com.google.android.maps
For storing GPS coordinates and accessing
com.google.android.maps.GeoPoint;
Google map view, controllers and overlay.
com.google.android.maps.ItemizedO verlay; com.google.android.maps.MapActivit y; com.google.android.maps.MapContr oller;
PT0981128
Asia Pacific Institute of Information Technology 52
Daily Expense Tracker com.google.android.maps.MapView; com.google.android.maps.MyLocatio nOverlay; com.google.android.maps.Overlay; com.google.android.maps.OverlayIte m; android.location
For accessing GPS location and listening for
android.location.Location;
location.
android.location.LocationListener; android.location.LocationManager; android.location.Criteria; TABLE 9 PACKAGES USED IN DEVELOPING ANDROID APP
4.2.1.1.1.7.2 In Web Application Package Name
Uses
java.io
This packaged has been used to print
java.io.PrintWriter
something on the webpage.
java.sql
Provides a compatibility interface for
java.sql.Connection;
accessing SQL-based databases.
java.sql.PreparedStatement; java.sql.SQLException; java.sql.Statement; java.sql.ResultSet; java.sql.DriverManager; java.sql.Connection; java.util
The Level class defines a set of standard
java.util.logging.Level;
logging levels that can be used to control
java.util.logging.Logger;
logging output.
java.util.Date;
A Logger object is used to log messages for a specific system or application component.
javax.servlet javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse; javax.servlet.http.HttpSession; PT0981128
The javax.servlet package contains a number of classes and interfaces that describe and define the contracts between a servlet class and the runtime environment provided for an instance of such a class by a conforming servlet container.
Asia Pacific Institute of Information Technology 53
Daily Expense Tracker 4.2.1.1.3 Justification for Selection of Programming Language 4.2.1.1.3.1 Mobile Application
Developer thinks that for developing propose Mobile application Android will be used, as Android is a feature-rich OS programming which contains Exception- Handling, Multithreading, Handlers which will help in developing the proposed project, also it is easy to learn. Android has Google-Map and JSP support as all of these three are backed by Google itself like Google-Map is packaged with the Android SDK so using Google-Map doesn’t poses any unwanted situations and performance issue also they have thoroughly checked and developed functions so it gives a great relax to the developer and maximize the chances of success. Android is well supported with JSP Android Support with Google-Map, Android has Multi-threading, Handler, Exception Handling, Encapsulation which can be used in the system for various functions like fetching friends data while showing their location on Google-Map. OS specific programming is critically needed as accessing the GPS of mobile device is an OS specific function also mobile notification and alert can only be customized if the developer is using OS specific programming. 4.2.1.1.3.2 Server-Side Application
Developer thinks that for developing proposed Server-Side application JSP-servlet will be used, as J2EE is a feature-rich server-side programming(and all we need from JSP-Servlet is to send and receive the data) which contains Exception- Handling, object oriented concepts, which will help in developing the proposed project. JSP has Android support as these two are backed by Google itself like JSP supports JSON objects that will be responsible for data communication between these two. JSP-Servlet with Android It is well-compatible with android data sending and receiving with the help of JSON objects which is dedicated for this particular operation. JSP-Servlet and Android both are well-backed by Google so there won’t be any compatible and performance issues It has all the capabilities like database connectivity, receiving and sending data, Validations needed for the project. It is well-supported with Android.
PT0981128
Asia Pacific Institute of Information Technology 54
Daily Expense Tracker 4.2.1.2 Framework Java
4.2.1.3 Programming Language Core Java, J2EE
4.2.2 Database Management System 4.2.2.1 MySQL MYSQL is a relation database application used to create computer databases. MYSQL provides an environment used to generate databases that can be accessed from workstations, the Internet, or other media. It provides the ability to host multiple implementations on a single system simultaneously. It gives Backup and restores facility. This automatically gives backups from one system to be automatically restored to one or more MYSQL systems. MYSQL provides many new and enhanced business intelligence features with high amount of security measures.
Scalability and Flexibility
High Performance
High Availability
Robust Transactional Support
Web and Data Warehouse Strengths
Strong Data Protection
Comprehensive Application Development
Management Ease
Open Source Freedom and 24 x 7 Support
Lowest Total Cost of Ownership (NA, Top Reasons to Use MySQL, 1995)
4.2.2.2 SQL Query SQL Query will be used for interacting with DBMS in order to fetch the data or maintain records in backend databases. Conclusion: Google-Support for JSP and MySQL in terms of database connectivity & proposed compatibility as Google itself uses JSP & MYSQL that increases the chances of success. PT0981128
Asia Pacific Institute of Information Technology 55
Daily Expense Tracker For Hosting Server, it is of very less Cost as for licensing it is GPL Open Source SQLlite Database
It will be used by developer as backend for the project or websites.
4.2.3 Software Development Methodology 4.2.3.1 Description The Advanced waterfall provides an orderly sequence of development steps and helps ensure the adequacy of documentation and design reviews to ensure the quality, reliability, and maintainability of the developed software. Usability Testing Design
Requirements Analysis
System Testing
System Design
Integration Testing
Architecture Design
Unit Testing
Module Design
Implementatio n FIGURE 10V MODEL
V-MODEL Selected Software Development Methodology: V-model
Advanced waterfall methodology follows V model in development stages. It is an extended waterfall model, adding more details on the validation and verification side. Vmodel gives relationship between each development stages and Testing stages. Reasons for selecting this methodology are: 4.2.3.1.1. The requirements are almost identified and can be changed and DET is such a system whose requirement will go on changing on time to time. 4.2.3.1.2. Any bug can lead back to the initial phase to the model. So it provides a great flexibility to the developer and as the technology used in this system is Android and developer is new to this technology as well, so bugs are inevitable. PT0981128
Asia Pacific Institute of Information Technology 56
Daily Expense Tracker 4.2.3.1.3. The Android technology is new and deep, the developer has less experience of development tool as mentioned above so there are more chances of going back to initial phases. 4.2.3.1.4. The developer needs to test at each milestone i.e. for example if the developer is working on reading data from computer, the developer will first have to test it so to perform searching on it. 4.2.3.1.5. The system will be used by a single user so it has to be specific according to the requirement. 4.2.3.1.6. This mobile application has its own specified requirements based on which the developer is going to build the applications, other phases such as design, coding etc. is done with proper testing keeping in mind the requirement specification of the application. 4.2.3.1.7. In v-model developer and tester works in parallel. So developer can test it while implementation and design phase.
4.2.3.2.
Phases of V-Model
This methodology has following phase that developer will follow while developing the system. 4.2.3.2.1. Requirement Analysis- This is the first step in the verification process. During this stage, the developer is not going to discuss how the system is to be built, but it will be a general discussion and user requirements document is put forth. This document will be information regarding the system function, performance, security, data, interface, etc. This document is required by business analysts to transmit system function to users. Therefore, simply be a guide. (NA, Waterfall Model, n.d.) 4.2.3.2.2. System Design-Like the name of the phase suggests, here the possible design of the product is formulated. It is formulated after keeping in mind the requirement notes. While following the documents, if there is something that doesn’t fit right in the design, then the user is made aware of it and changes are accordingly planned. 4.2.3.2.3. Architecture Design-The architecture design, also known as the computer architecture design or the software design should realize the modules and the functionality of the modules which have to be incorporated. 4.2.3.2.4. Module Design-In the module design, the architectural design is again broken up into sub units so that they can be studied and explained separately. The units are called modules. The modules can separately be decoded by the programmer. 4.2.3.3. PT0981128
The Validation Phases of the V model (NA, Waterfall Model, n.d.) Asia Pacific Institute of Information Technology 57
Daily Expense Tracker 4.2.3.3.1. Unit Testing-A unit in the programming system is the smallest part which can be tested. In this phase each of these units are tested. 4.2.3.3.2. Integration Testing or Interface Testing-In this phase the separate entities will be tested together to find out the flaws in the interfaces. 4.2.3.3.3. System Testing-After the previous stage of interface testing, in this phase it is checked if the system meets the requirements that have been specified for this integrated product. 4.2.3.3.4. Acceptance Testing-In the acceptance test, the integrated product is put against the requirement documents to see if it fulfills all the requirements. 4.2.3.3.5. Release Testing-It is in here that judgment has to be made if the product or software which is created is suitable for the user. 4.2.3.4 Justification After some deliberation and discussion the developer settled upon using Waterfall Model for the development of this system. The most tempting factor for selection of V-Model is4.2.3.4.1. Stable project requirements: As in our project most of the user requirements are freeze at the time of PSF so it indicates a stable project requirements and Waterfall methodology completely supports a project which has requirements decided in advance. 4.2.3.4.2. Progress of system is measurable: After each step it produces the documentation and as the structure of our Final year project we need to submit the documentation after each phase so it will be best suitable. 4.2.3.4.3. Strict sign-off requirements: As the developers goal will be to satisfy the user and until the user will be satisfied the developer will be providing the user desired functionalities and proper features so this methodology will be best suitable. 4.2.3.4.4. The emphasis on requirements and design before writing a single line of code ensures minimal wastage of time and effort and reduces the risk of schedule slippage, or of customer expectations not being met. 4.2.3.4.5. In modified waterfall model life cycle phases are permitted to overlap. Because of the phases overlap, a lot of flexibility has been introduced in the modified waterfall model in software engineering. At the same time, a number of tasks can function concurrently, which ensures that the defects in the software are removed in the development stage itself and the overhead cost of making changes to the software before implementation is saved. (Satalkar, 2010) PT0981128
Asia Pacific Institute of Information Technology 58
Daily Expense Tracker 4.2.3.4.6. Making changes to the basic design is also possible, as there are a number of phases active at one point of time. In case there are any errors introduced because of the changes made, rectifying them is also easy (Testing can be done). This helps to reduce any oversight issues.
Time Division Starting date of the project: 31st July 2012 Ending date of project: 30th April 2013 Total Duration: 33 Weeks Project Definition (Concept and operation) Duration: 4 week 31/07/12 - 03/09/12 a. Submission of Abstract Draft Proposal Project Planning (In Concept and operation & Requirement) Duration: 3 week 20/08/12-03/09/12 a. Project Proposal Form Submission b. Work Breakdown Structure (WBS) Schedule and Time Estimation. c. Other Project Management Activities. d. Acceptance Test Plan Requirements Engineering (Requirement and Architecture) Duration: 3 week 03/09/12-21/09/12 a. Identify Project Specifications b. Project Specification Form c. Data Gathering through Academic and Primary Research d. Data Gathering Through Primary Research e. Requirement Analysis f. System Test Plan and Acceptance Test Plan System Design (Detail Design) Duration: 13 weeks (22/09/2012-28/12/2012) a. Database Design c. Interface Design d. Navigational Design e. Integration Test Plan Developing the System (In Implementation) and doing Testing and Evaluation Duration: 16 weeks 02/12/12-23/03/13 a. Developing User Interface and Populating with Contents b. Implementation of Website Module. PT0981128
Asia Pacific Institute of Information Technology 59
Daily Expense Tracker c. Implementation of WAP module. d. Integration of modules into one Single System. e. Unit Testing Each Module as Described in the Test Plan. f. Integration Testing- After each Iteration. g. System Testing- Once the Complete System is ready. h. Interface Testing and Acceptance testing. i. Releasing the System for Beta Testing. j. Making Changes according to the Beta Test Findings. Project Ending (In System Verification And Validation) Duration: 4 weeks 24/03/1329/04/13 a. Optimizing the Entire System for Performance. b. Submission of the Finished Product.
4.3 Critical Evaluation of Research After going through the research work developer was able to find out the in-depth knowledge of the languages which has been used to create the system. This system has been developed on Android OS which supports core java. From core java value is passed into J2EE web application and the returned data is again shown on whenever required. The data base which has been used in this system are SQLLite for offline tasks e.g. Task Manager and MYSQL database for online tasks. Tomcat Apache has been used as a server which communicates between MYSQL database and Android Emulator.
PT0981128
Asia Pacific Institute of Information Technology 60
Daily Expense Tracker
CHAPTER 5: ANALYSIS & DESIGN 5.1 Questionnaire and Interview Questions Refer to appendices for analysis of questionnaire & interview question
5.1.1 Critical Evaluation of Questionnaire and Interview Questions After analysis of questions, the developer concluded on some points which are as followsThe developer has decided to make the system for offline using SQLLITE database and online using MYSQL database. Developer has decided to make the system for Android device with higher configuration than Android version 2.0 and for desktop and other devices with the help of web application. Multiple logging has been provided in a single system. Along with the expense; income, credit and debit will be saved in the system. The developer has decided to provide metaphors for increasing learning ability also the developer will try to provide shortcut-keys, so that users can get quick access of the application. The developer has decided to provide limit on the expenses so that if the users crosses the limit it will generate a notification reminding the user has crossed the limit of the month. The developer will provide an option to upload the profile pic in the system. Developer will be providing both types of reports i.e. graphical as well as textual report. Developer has decided to provide the option to view the location where the expense was saved using latitude and longitude, which will be used in future for visiting the same location using Google map. The developer has decided to provide the future saving prediction feature in this system. Developer will be providing SMS feature in the system so that user can send the expense report to another mobile.
PT0981128
Asia Pacific Institute of Information Technology 61
Daily Expense Tracker 5.2 Quantitative Analysis
QA1
Primary Research Customization
QA2
Notification
QA3
Reports
QA4
Mobile Version
QA5
Task Management
QA6
Future Prediction
QA7
Mobile Application
QA8
Web Application
QA9
Send Report to others
QA10
Save Income
QA11
Limit on expenses
QA12
Upload Pic
QA13
Delete option
QA14
Google Map
PT0981128
Analysis 40% of user wants to filter the data, so developer analyzes searching facility should be provided 40% of user wants to receive notification, so developer analyzes Notification facility should be provided 100% of the users wants to have a medium by which they can easily analyzes the data so developer analyzes Report functionality should be included 100% of users want to have a similar system for handheld devices, so developer analyzes than Mobile Version of System should be included. 40% users face difficulty in managing tasks so developer analyzes the problem and included Task Manager. 60% of users wants to know the future saving, developer analyzes the problem and decided to include Future Prediction functionality 40% users wants to save their expense on Mobile so developer has developed the system on Android Mobile. 40% users wants to view the reports and save the expenses on web also, so the developer has developed web application also. 50% users wants to send their reports to others e.g. guardians so the developer has given the option to send message and email. 80% of the user wants to save their income as well with the expenses So the developer has provided the save income facility. 40% of the users wants to put limit on their expenses so the developer has provided this option under account setting. As only 20% users want to save their pic on mobile as profile pic. So the developer has not given this option in this system. So that the system will be light and efficient. 70% users doesn’t wants to delete the data as it might cause a security problem in future so developer has not provided this option. 60% users wants to view the location from where they saved the expense, So the developer has provided the option to view location on Map.
Asia Pacific Institute of Information Technology 62
Daily Expense Tracker 5.3 Analysis to Requirement Traceability Q no./
E
S
S
S
S
F1 F2 F3 F4 F5 F6 F7 F8 F9 F1 F2 F3 F4
F
F
F
F
alities
1
2
3
4
Q1
X
Q2
X
Q3
X
Function
C
C
C
C
C
C
Q4 Q5
C
C
C
E
E
E
X X
Q6
X
X
X
Q7
X
Q8
X
Q9
X
Q10
X
Q11
X
Q12
X
Q13 Q14
X
X
Q15 Q16
X
Q17 Q18
X X
Q19
X
Q20
X
Q21
X
Q22
X
Q23
X
Q24
X
Q25
X
I1
X
I2 I3
PT0981128
X
Asia Pacific Institute of Information Technology 63
Daily Expense Tracker I4
X
I5
X
I6 I1-I6 : Interview Questions Q1-Q25: Questionnaire CF1-CF9: Core Functionalities SF1-SF4: Special Functionalities EF1-EF4: Enhanced Functionalities TABLE 10 TRACEBILITY MATRIX BETWEEN QUESTIONAIRE AND FUNCTIONALITES
5.4 Critical Evaluation of Analysis After the analysis of the questionnaire the developer has come to the point that to make a system efficient and handy a suitable data gathering technique must be used. And hence after the analysis developer has found answer of many questions on which he was not sure about. Initially the developer had thought of the system which will consist of only saving and that too on webserver but according to the feedback of the users, he decided to make it for saving credits and debits as well and make the system for both offline as well as online. Developer has reached the conclusion because of the feedback of the users which has been gathered by the questionnaire and interview questions.
PT0981128
Asia Pacific Institute of Information Technology 64
Daily Expense Tracker
CHAPTER 5 (PART-2): DESIGN After completing the analysis developer collects sufficient amount of data to model the system. Requirement models allow people to share a common vision of solving the system before the actual implementation. They confirm that the system is flexible enough to accommodate the level of quality of future business needs. Based on the needs of users and the detailed analysis of a new system, the new system has been designed. This is phase System Project, which is the most crucial step in developing a system. This developer will provide Structural Design System normally, the design proceeds in two stages Preliminary or general design and Structure or detailed design Preliminary or general design: In the preliminary or general design, the features of the new system are specified. The costs of implementing these features and the benefits to be derived are estimated. If the project is still considered to be feasible, we move to the detailed design stage. Structure or Detailed design: In the detailed design stage, computer oriented work begins in earnest. At this stage, the design of the system becomes more structured. “Structure design is a blue print of a computer system solution to a given problem having the same components and interrelationship among the same components as the original problem. Input, output and processing specifications are drawn up in detail.” (Anonymous, 2010). So Developer analyzes the requirements and problem and decided to provide Structural Diagram or Detailed Design for these functionalities.
5.2 Traceability Matrix between Analysis and Design Requirement Analysis
Profile Management Registration DET Task Manager Report Change Wall Paper Future Prediction Send Report View Route
Design Use Case
Activity Diagram
UC-01 UC-02 UC-03 UC-04 UC-05 UC-06 UC-07 UC-08 UC-09
AC-01 AC-02 AC-03 AC-01 AC-01 AC-01 AC-01
Sequence Diagram SD-02 SD-03
TABLE 11 TRACEABILITY MATRIX BETWEEN ANALYSIS AND DESIGN
PT0981128
Asia Pacific Institute of Information Technology 65
Daily Expense Tracker 5.2.1 Design Methodology Used There are basically two types of design methodology we have: function-oriented and object oriented design. Here developer selects Object Oriented Design Concept.
5.2.1.1 Justification of Selecting OO Design The emphasis on defining software objects and how they collaborate to fulfill the requirements. As a developer uses an object-oriented language (Java) as a platform for this application so that glass is removed from the system needs to be modeled in the form of classes and objects. As a developer result concludes that the DET has to be designed using principles of objectoriented design. To implement the project developer chose to make use of UML (Unified Modeling Language). Why use UML? Developer chooses UML because he has chosen Object Oriented Design Methodology.
5.2.2 Use Case Use case diagram is used to describe the functionality of the system, which mainly include the target users and perspective. It helps in the search for “who is using the system, what are the common scenarios and what they are trying to achieve your goals or” instead of how it will achieve. After analyzing the system, use case are used by developer to document the requirements of the proposed system. Use cases are divided according to different scenario that shows how the system interacts with the user. In the case of use-case we do not use any technical language, so they are easy to understand. Use cases are not used to represent the inner workings of the system, but showing the step that the user will take to perform any specific task. The system requirements will be evident after developing use cases of different modules. Below are additional reasons why you need to indicate use cases for project developers 1. Use Cases helps in finding out the challenges involved in making the Project Planner System and to decide the functionalities to be included in system. 2. Use cases will be helpful for non-technical person to understand the flow of system. 3. Moreover, to give the overview of the system it is necessary to include use case.
PT0981128
Asia Pacific Institute of Information Technology 66
Daily Expense Tracker 5.2.2.1 Use Case Diagrams 5.2.2.1.1 Use case of the whole System Web page
Android
«extends»
«extends»
Registration
«extends» DET
Expenses
«uses»
Put limitation
«extends»
«uses»
«extends» Income
Task manager
«extends»
«uses»
«uses»
Debit
Profile management
«uses» Credit User
«uses» Future Prediction Login
«extends» «uses»
Report
Credit Report
«extends» Expense Report
«uses» «extends»
«uses»
«extends» Income Report «extends» «extends»
Debit Report
Send Report
View Route
cummulative Report
Change Wallpaper Graphical Report
FIGURE 11 USE CASE OF WHOLE SYSTEM
5.2.2.1.1.1 Overview of use case PT0981128
Asia Pacific Institute of Information Technology 67
Daily Expense Tracker UCID
Use Case Name
Description
4
Profile management
User can manage their profile with this functionality
1
Registration
The user will feed personal details into the System
2
DET
DET can manage the information of expenses
3
Task manager
User can save and manage the tasks in the system.
5
Report
User can view the various reports like expense, income etc.
6
Change Wall Paper
User can click a pic and use it as wallpaper
7
Future Prediction
User can view the expected future savings
8
Send Report
User can send the expense report to another mobile.
9
View Route
User can view the route from the current location to that location where the expense or task was saved.
TABLE 12 OVERVIEW OF USE CASE
5.2.2.1.1.2 Actors and Descriptions
Actors
Description
App-User
Main actor of the system.
Administrator
Admin performs the management of the whole system. Admin backups the data periodically and manage the site.
TABLE 13 ACTORS AND DESCRIPTIONS
PT0981128
Asia Pacific Institute of Information Technology 68
Daily Expense Tracker 5.2.2.1.1.1.1 Use case of Profile Management
Login «extends»
Delete Image
«extends»
View
«extends»
«uses»
Upload & Manage Image
Profile management «extends»
Change password «extends»
Account setting
«extends» Update Data
USER
«extends»
Change backup time «extends»
Backup Setting
«extends» Manually «extends»
Never
FIGURE 12 USE CASE OF PROFILE MANAGEMENT
Use Case ID Name Goal Description
UC-01 Profile management User can manage their profile, User can manage their profile and do changes whenever required. Application-User(Customer)
Actor(s) Assumption Pre-Condition Post-Condition Happy Pathway Alternate Pathway(s): Exception Pathway(s):
1. 2. 3. 1.
User has registered into the System User is Logged into the system User successfully updates his/her own details. User logs into the system User views the profile. User is able to edit the profile. User logs in the web application and User logs into the web application and updates his/her profile.
TABLE 14 USE CASE- PROFILE MANAGEMENT
PT0981128
Asia Pacific Institute of Information Technology 69
Daily Expense Tracker 5.2.2.1.1.1.2 Use case for Registration
Web page «extends» «uses» «extends» Registration
Android
USER FIGURE 13 USE CASE DIAGRAM OF REGISTRATION
Use Case ID Name Goal Description Actor(s) Assumption Pre-Condition Post-Condition Happy Pathway
Alternate Pathway(s)/Exception
UC-02 Registration User registers in the system. User can register into the system and cerate account. Application-User(Customer) User has internet connection available User has installed this app. User is Logged into the system User successfully operate the system User can do all activity in particular time. 1. User register into the system 2. User can manage the expenses properly. 3. User gets feedback of registration successfully done. 1. User can register through the web application.
TABLE 15 USE CASE OF REGISTRATION
PT0981128
Asia Pacific Institute of Information Technology 70
Daily Expense Tracker 5.2.2.1.1.1.3 Use case of DET Login
Expense
«extends»
«uses»
«extends»
DET
Income
Put Limitation
«extends»
«extends»
USER
Credit
Debit
FIGURE 14 USE CASE DIAGRAM OF DET
Use Case ID Name Goal Description Actor(s) Assumption Pre-Condition Post-Condition Happy Pathway
Alternate Pathway(s)/Exception Pathway(s):
UC-03 DET To manage users daily expenses It is used to save expenses and view reports. Application-User Users are using this application to manage their daily expenses. User has logged in the system. User can save the records 1. User uploads the data(all their expenses) 2. Admin runs the monitor application 3. Admin analyzes the reports 1. No user uploads the data means no one is using application 2. User can enter all detail of their daily expenses.
TABLE 16 USE CASE OF DET
PT0981128
Asia Pacific Institute of Information Technology 71
Daily Expense Tracker 5.2.2.1.1.1.4 Use case of Task Manager
Delete Task
«extends»
Add Task
«extends» «uses» Task manager
«extends» USER
View Incomplete Task
«extends» View «extends»
View complete Task
FIGURE 15 USE CASE DIAGRAM OF TASK MANAGER
Use Case ID Name Goal Description Actor(s) Assumption
UC-04 Task manager View all task details and add the task. This is for view, create and delete the task. Application-User(Customer) User has installed this application on his device. User has added the task. User successfully creates and delete task. 1. User creates the task. 2. User manages and deletes the task.
Pre-Condition Post-Condition Happy Pathway Alternate Pathway(s)/Exception Pathway(s): TABLE 17 USE CASE OF TASK MANAGER
PT0981128
Asia Pacific Institute of Information Technology 72
Daily Expense Tracker 5.2.2.1.1.1.5 Use case for Reports Login
Credit Report
«extends»
«extends»
«uses»
Expense Report
Report «extends»
«extends»
User
Income Report
«extends» «extends»
Debit Report
cummulative Report
Graphical Report
FIGURE 16 USE CASE DIAGRAM FOR REPORT
Use Case ID Name Goal Description Actor(s) Assumption Pre-Condition Post-Condition Happy Pathway
PT0981128
UC-05 Report User can view reports. User can view all the reports of DET e.g. credit report, debit report. User of the app User has already inserted some records in that month. User will have to login to the system. User views the list of expenses and detailed expense report of a particular item. 1. User views the expense, income, and credit and debit report. Asia Pacific Institute of Information Technology 73
Daily Expense Tracker
Alternate Pathway(s)/Exception Pathway(s):
2. User views the route to from current position to the destination where data was saved. User can view the report from the web.
TABLE 18 USE CASE OF REPORT
5.2.2.1.1.1.6 Use case-Change wall paper
Take Picture
«uses» «extends» Change Wallpaper
Set Wallpaper
USER FIGURE 17 USE CASE DIAGRAM-CHANGE WALLPAPER
Use Case ID Name Goal Description
UC-06 Change Wallpaper User can Change Wallpaper. User can click a pic and use it as wallpaper
Actor(s) Assumption Pre-Condition Post-Condition Happy Pathway
User of the app
Alternate Pathway(s)/Exception Pathway(s):
User can change wallpaper by choosing a pic from gallery.
User has camera in mobile. User has clicked a pic. User has change the wallpaper of mobile. 1. User is able to change the wallpaper of mobile.
TABLE 19 USE CASE OF CHANGE WALLPAPER
PT0981128
Asia Pacific Institute of Information Technology 74
Daily Expense Tracker 5.2.2.1.1.1.7 Use case-Future Predictions
Login
«uses» Future Prediction
DET
«extends»
«extends»
USER
Yearly Predicition
2- Yearly Prediction
FIGURE 18 USE CASE DIAGRAM-FUTURE PREDICTION
Use Case ID Name Goal Description
UC-07 Future Prediction To view the future savings. User can view the expected future savings
Actor(s) Assumption
User of the app
Pre-Condition Post-Condition Happy Pathway Alternate Pathway(s)/Exception Pathway(s):
User has saved some records in the system. User has access of internet. User has logged in the system User has saved some records in the system. User has viewed the future prediction. 1. User is able to view the future prediction.
User can calculate the future prediction manually.
TABLE 20 USE CASE DESCRIPTION-FUTURE PREDICTION
PT0981128
Asia Pacific Institute of Information Technology 75
Daily Expense Tracker 5.2.2.1.1.1.8 Use case-Send Report Login
Send SMS
«extends»
«uses»
Send Report «extends»
Send Email
USER
FIGURE 19 USE CASE DIAGRAM-SEND REPORT
Use Case ID Name Goal Description
UC-08 Send Report Send reports on other mobile. User can send the expense report to another mobile.
Actor(s) Assumption Pre-Condition Post-Condition Happy Pathway
User of the app
Alternate Pathway(s)/Exception Pathway(s):
User can send the report using mail.
User has saved a mobile no. in the app. User is logged in the app. Report is sent on the other mobile. 1. User is able to send report on other mobile.
TABLE 21 USE CASE DESCRIPTION-SEND REPORT
PT0981128
Asia Pacific Institute of Information Technology 76
Daily Expense Tracker 5.2.2.1.1.1.9 View Route
Income Report
«extends»
Credit Report
Login «extends»
«extends»
Debit Report
Detailed Report
«extends»
«extends»
Expense Report
«uses» «extends» View Route
Get Location More Reports
USER
FIGURE 20 USE CASE DIAGRAM-VIEW ROUTE
Use Case ID Name Goal Description
UC-09 View route User can view route User can view the route from the current location to that location where the expense or task was saved. User of the app
Actor(s) Assumption
Pre-Condition Post-Condition
Happy Pathway Alternate Pathway(s)/Exception Pathway(s):
User has saved the record from mobile app. User has turned ON the GPS of the system. User is logged in the system. GPS is turned ON. User is able to view the route between source (current location of user) and destination (from where the record was saved). 1. User is able to view the route.
User can remember that location and use Google map to view the route.
TABLE 22 USE CASE DESCRIPTION-VIEW ROUTE
5.2.3
Sequence Diagram
PT0981128
Asia Pacific Institute of Information Technology 77
Daily Expense Tracker Why Sequence Diagram? Sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic, and are used for both analysis and design purposes. Sequence diagrams are the most popular UML artifact for dynamic modeling, which focuses on identifying the behavior within your system. FIGURE 21 SEQUENCE DIAGRAM FOR USER LOGIN-SD-01
User Login
o b jL o g in :L o g in
:L o g in
h ttp c lie n t:H ttp C lie n t
1 . c h e c k V a lid a tio n () 0 . s e n d D a ta (u s e r n a m e ,p a s s w o r d )
2 . c h e c k L o g in ()
3. S uccess
4 . L o g g e d In
PT0981128
Asia Pacific Institute of Information Technology 78
Daily Expense Tracker FIGURE 22 SEQUENCE DIAGRAM FOR USER REGISTRATION-SD-02
User Registration
UserRegistration
ValidateUser
CompleteRegistration
SqlDb
User
selfRegistration()
validationProcess
validateUser()
success/failure
completeRegistration() Display appropriate message
PT0981128
saveRecords() success/failure
Asia Pacific Institute of Information Technology 79
Daily Expense Tracker FIGURE 23 SEQUENCE DIAGRAM FOR DET-SD-03
DET
Expense
Expense
Credit
Expense
SQLDb
User
save Expense
saveExpense()
success/failure
save Income
saveIncome()
success/failure
save credit
saveCredit()
success/failure
save debit
saveDebit()
success/failure
PT0981128
Asia Pacific Institute of Information Technology 80
Daily Expense Tracker 5.2.4
Activity Diagram Activity diagrams are typically used for business process modeling, for modeling the logic
captured by a single use case or usage scenario, or for modeling the detailed logic of a business rule. Why Activity Diagram? activity diagrams could potentially model the internal logic of a complex operation Activity diagrams are the object-oriented equivalent of flow charts and data flow diagrams (DFDs) from structured development. 5.2.4.1 Activity Diagram Android (AC-01) Activity Diagram (Android)
Expense Tracker
Registration
Change Wall Paper
Task Manager
Login [Login Failure] Completed Task
Add Task
View Task
[Login Success]
Reports
Expense
Expense
Account Setting
Expense Profile Management
Credit
Quick Expense Report
Income
Save Income Report
Credit Report Debit Report
Expense Report Quick Expense Report
VIew
FIGURE 26ACTIVITY DIAGRAM OF WHOLE SYSTEM (ANDROID)
PT0981128
Asia Pacific Institute of Information Technology 81
Daily Expense Tracker 5.2.4.2
Activity Diagram –Registration-(AC-02)
USER
SYSTEM
DET
Invalid Data
Enter Registration Details
Check Validations
Submit Details
Valid User
Reading data Login
DET
FIGURE 27 ACTIVITY DIAGRAM-REGISTRATION (AC-02)
5.2.4.3
Activity Diagram –DET-(AC-03) USER
SYSTEM DET
Login
Invalid Data
Check Validations
Login Details
Valid User
Reading data
Login
DET
Save Expense
Save Credit
Save Debit
Save Income
Invalid Data Save Data
Check Front End Validations Valid Data
Save Details
FIGURE 28 ACTIVITY DIAGRAM-DET-(AC-03)
5.3
Entity Relationship Diagram (ERD)
PT0981128
Asia Pacific Institute of Information Technology 82
Daily Expense Tracker
PK
USER
Login
Role Role_id
PK
Role ROLE_Description
FK1
USER_ID FK1
Username Role_id password security_qsn answer
USER_ID First_Name Middle_Name LastName Father_Name Gender DOJ DOB DOU Status
Contact
FK1
Expense PK
expenseid
FK1
expense_type amount locationid dateofexpense USER_ID
Income PK
FK2
FK1 FK2
incomeid incomeype source amount locationid dateofincome USER_ID
Debit
Credit PK
FK1
FK2
USER_ID Mobile District Village State Pincode Town E_mail Nationality type
PK
credit_id from Installment_amount Total_amount Credit_Date locationid Expected_dor Actual_dor installment_type nofInstallment USER_ID
FK1 Locations1 PK
locationid latitude longitude
FK2
debitt_id to Installment_amount Total_amount debit_Date locationid Expected_dogiving Actual_dogiving installment_type nofInstallment USER_ID
FIGURE 29 ENTITY RELATIONSHIP DIAGRAM
PT0981128
Asia Pacific Institute of Information Technology 83
Daily Expense Tracker 5.4
Class Diagram of Web Module
Class Diagram For Web Page HttpServlet +doPost() +doGet()
-Every Methods has two Parameters i.e. as (HttpServletRequest request, HttpServletResponse response) e.g registerSelf(HttpServletRequest request, HttpServletResponse response) and if not specified then return type is void. -To get details of Others in variables field check out ERD.
RegisterWebUser
CompleteRegistration
UpdateProfile
+selfRegistration() +doGet() +doPost()
+completeRegistration() +doGet() +doPost()
+updateProfile() +doGet() +doPost()
RegisterAndroidUser
+selfRegistration() +doGet() +doPost() Statement
Connection
ResultSet
ValidateUser
+End2
*
+End1
-End4
*
1 -End3
1
-End6
*
SqlDb
+Connection conn +PreparedStatement ps +ResultSet rs,rs1 +openConnection() +closeConnection() +validateLogin() : Boolean
-End5
1
-username -password -from +selfRegistration() +doPost() +validateUser() +getFrom() : String +setPassword() +setPassword() +getUsername() +setUsername()
ADMIN -Name : String -Address : String -Contact -Role -LoginDetails -Others +validateUser() +viewUsers() +viewFeedback() +giveFeedback() +createAdmin() +completeRegistration() +updateProfile()
USER -Name : String -Address : String -Contact -Role -LoginDetails -Others +saveExpense() +saveCredit() +saveIncome() +saveDebit() +selfRegistration() +completeRegistration() +updateProfile() +viewCreditReport() +viewDebitReport() +viewExpenseReport() +viewIncomeReport() +viewQuickExpenseReport() +viewGraphicalReports()
FIGURE 30 CLASS DIAGRAM OF WEB MODULE
PT0981128
Asia Pacific Institute of Information Technology 84
Daily Expense Tracker 5.5
Class Diagram of Mobile Module Activity
OnCreate Register Android user Btnsave:Button etfname, etmname,etlname, etpassword, etemail:EditText spJob:Spinner fname, mname, password, email, lname:String Error:TextView onCreate(savedInstanceState:Bundl e):void Save:void
Account Setting Btnsave:Button etfname, etmname,etlname, etpassword, etemail:EditText spJob:Spinner fname, mname, password, email, lname:String Error:TextView onCreate(savedInstanceState:Bundl e):void Save:void
CompleteUserDetails
onCreate(savedInstanceState: Bundle):void Save:void
Debit spnDebit:Spinner etto, etDebitPrincipal, etTotalAmount, etNoInstallments,etOthersDebit:Edit Text dtExpectedpay:DatePicker btnSaveDebit:Button to, DebitPrincipal,TotalAmount, InstallmentType, ExpectedDor, NoInstallments, userid,othersInstallment,date:Strin g onCreate(savedInstanceState:Bundle):vo id
Credit spnCredit:Spinner etfrom, etCreditPrincipal, etTotalAmount,etDescription, etNoInstallments, etOthers:EditText etExpectedDor:DatePicker btnSaveCredit:Button from, CreditPrincipal, TotalAmount, InstallmentType, Description, ExpectedDor, NoInstallments, userid,othersInstallment,date:Strin g onCreate(savedInstanceState:Bundle):vo id
Expense
Income
spnExpenseList:Spinner etExpenseOthers, etDescription, etAmount:EditText dtExpectedpay:DatePicker btnSaveExpense,:Button expenseOthers,description,amount,ex penseType,userid:String
spnIncomeList:Spinner etIncomeOthers, etSource, etAmount:EditText dtDateOfReceiving:DatePicker btnSaveIncome,:Button incomeOthers,source,amount,incomeTy pe,userid:String
onCreate(savedInstanceState:Bundle):vo id
onCreate(savedInstanceState:Bundle):vo id
FIGURE 31CLASS DIAGRAM FOR ANDROID MODULE
PT0981128
Asia Pacific Institute of Information Technology 85
Daily Expense Tracker 5.6
Relational Database Schema map After analyzing the entity relationship Diagram the following mapping has been done:
USER Table User id
First name
Last name
Gender
Doj
Dou
Role id
Status
ROLE Table Role id
Role
Role description
CONTACT Table Contact id
Village
State
Pincode
Country
Type(P/S)
User id
MOBILE Table Mobile id
5.6.2
Mobile No.
Type(P/S)
User id
Mapping the ERD to Relational Database The developer mapped the database designed from ERD to relational database model which
is implemented in RDBMS (MySQL). Mapping ensures that one entity can be stored only in one table and other table can be referenced through that entity by using foreign key or multi-value attributes.Developer found that none of the tables in the database have primary key that uniquely represent a table or multi-valued attributes. Therefore, developer mapped each entity with primary and foreign key.
5.6.2.1 Normalization It is process of efficiently organizing data in a database. It ensures two goals of the normalization process: Eliminating redundant data (Storing same data in more than one table Ensuring data dependencies make sense (only store related data in table).
5.6.2.2 Normalization Criteria: Functional Dependency A functional dependency is denoted by AB , between two set of attribute A and B that are subset of universal relation R which specifies a constraint on possible tuples that can form relation state r of R. The constraint is that for any tuples X1 and X2 in r they have X1[A] =X2[B], they must also have X1[B]=X2[B] Although normalization process is covered when ERD is converted into relations using mapping rules, there are still ways to improve efficiency by following the normalization process. PT0981128
Asia Pacific Institute of Information Technology 86
The Developer has normalized the tables up to 3NF with the following strategies. Normal Form
Test
Remedy
Un
Tables have non-atomic values in the After converting ERD into relational tables, none of the tables have multi
Normalized
columns.
valued attributes. They all pass the verification of UNF.
Forum (UNF) First No duplicity in the same table and separate As atomicity of value is the primary concern in this phase, all the relation has
1NF:
table for each group related data.
Normal
only atomic values. None have non-atomic values. Therefore, table passes the first normal form
Forum 2NF:
Second Remove subsets of data that apply to multiple However developer performed a responsible de-normalization in certain table
Normal
rows of a table and create relationship between due to vary nature of data.
Forum
tables using foreign keys.
3NF:
Third To meet all the requirement of 3rd Normal Developer found that as per the requirements, all the attributes are well
Normal
Form and remove all columns those are not describes by primary key. In other words there is no transitive dependency in
Forum
dependent on the primary key.
the table. Therefore, developer concludes that design compiles with 3NF.
Un-Normalize Table Useri
Name
fname
Gender
d
Do
Dou
j
Conta
Mobile
Village
State
Pincode
-
ct id
Contact
Role id
Role
Type
1
ABC,DE
JKl
Male
-
-
C1
11,22
DDD
FFF
13210
--
Primary
1
User
1
ABC,DE
JKl
Male
-
-
C2
11,22
SSS
JJJ
45687
--
Secondary
1
User
Daily Expense Tracker From the above table we can clearly see that name and contact are multivalued attribute. Atomicity is not maintained i.e. one value in one cell. So to make it in 1NF we need to make table atomic in nature as given below. Useri First_na
Last
Fna
Gende
Do
Contact
d
nam
me
r
j
id
me
Mobile
Villag
State
Pincode -
e
Contact
Rol
Type
e id
Role
e 1
ABC
DE
JKl
Male
-
C1
11
DDD
FFF
132103
---- Primary
1
User
1
ABC
DE
JKl
Male
-
C2
12
SSS
JJJ
456878
---- Secondary
1
User
In the above table to save primary contact details and secondary contact details user needs to save the same data e.g. first name, middle name etc. again and again. Therefore it is well understood that one task have to be repeated for each action. So there is nested relationship present in this table. So there is violation of normalization as data redundancy is there and a particular tuple has more than one non-atomic attributes present in the give un-normalized table. First Normal Form (1 NF) To achieve first normal form developer has to reduce duplicate data and eradicate all non-atomic attributes and nested relationship from the un-normalized table.
PT0981128
Asia Pacific Institute of Information Technology 88
Daily Expense Tracker Useri First_na
Last
Fna
Gende
Do
d
name
me
r
j
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
1
User
dary
Now in each cell there is just one value. Hence 1st NF is achieved here. In the table,{Userid,Contact id} are primary key in the table. Userid uniquely determine some of the attributes. So it determine partial dependency exist here. There is no full functional dependency as Contact id also determine attributes which violates principles of normalization. It determines there is no full functional dependency. Partial dependency Present: Userid{firstname, lastname, fname, gender, doj, dou} Contact id{mobile, village, state, pincode, country, contact type}
Solution (Normalization of tables into Second NF) User Userid
First name
Last name
Gender
Doj
Dou
Contact id
roleid
role
Contact Contact id
PT0981128
Mobile no.
Mobile type
Village
State
Pincode
Asia Pacific Institute of Information Technology 89
Country
Daily Expense Tracker Third Normal Form Third Normal Form is based in the concept of transitive dependency. Functional dependency AB in a relation schema R is a transitive dependency if there are set of attributes Z that is neither a candidate key no a subset of any key of R. Userid
First name
Last name
Gender
Doj
Dou
Contact id
roleid
role
Here role is directly dependent on roleid and there can be multiple mobile no.s for one user. So in order to convert it into 3NF we need to separate them as follow. Final tables looks like USER Table Userid
First name
Last name
Gender
Doj
Dou
Role id
Status
ROLE Table Roleid
Role
Role description
CONTACT Table Contact id
Village
State
Pincode
Mobile No.
Type(P/S)
User id
Country
MOBILE Table Mobile id
PT0981128
Asia Pacific Institute of Information Technology 90
Type(P/S)
User id
5.7
Physical Design of Table Structures
User Table Attribute
Description
Userid Fitst name Middle Name Last Name Father Name Gender Doj Dou Role id
Unique identification id Name of user Middle Name of user Last name of user Father’s name of user Gender of user Date of joining Date of last updation Designation of the user in organization. Status of user e.g. active or inactive
Status Constraints Primary Key Foreign Key Relationship Description
Data Type Size Int Varchar Varchar Varchar Varchar Varchar Date time Date time the Varchar
11 20 20 20 30 6
Varchar
Not Null Yes No No No
30
No Yes No No
8
Yea
User id Role id This table has relationship with Role table.
TABLE 23 PHYSICAL DESIGN OF USER TABLE
CONTACT Attribute Contact id Userid Village State Pincode Country Type
Description Unique id provided in contact table Unique identification id Village name of user State name of user Pincode of user Counry of user Primary address or secondary
Data Type Int Int Varchar Varchar Varchar Varchar Varchar
Constraints Primary Key
Contact id
Foreign Key
User id
Relationship Description
This table has relationship with User table.
TABLE 24 PHYSICAL DESIGN OF CONTACT TABLE
Size 11 11 20 20 6 30 9
Not Null Yes Yes No No No Yes
Daily Expense Tracker
CHAPTER-6 IMPLEMENTATION Implementation phase starts after the design phase, ie which are documented in the paper now is the time to implement these ideas in the real world scenario. In this section developer decides how to act or how to start the project. Developer uses the following tools to develop your project. Tools Used for Implementing and Modeling Development & Programming IDE
Case Tools
Others
1. JDK 1.6
1. MS Project 2007/13
1. MS Word 2013
2. Eclipse Helios (eclipse-jee-
2. MS Visio 2007/13
2. MS Power Point 2013
helios-win32) 3. AVD (Android virtual
3. Windows 7 Ultimate
device) Manager
4. Adobe Photoshop
{Target-Google API level
5. MoboRobo Software
8,Platform 2.2 and above} 4. SDK manager 5. Netbeans IDE 6.9.1 6. MYSQL 7. Adobe Dreamweaver CS5 8. Mozilla Firefox 6.0+ 9. Google Chrome 10. Apache Tomcat Server 6.0 11. Android Mobile (Karbonn A7+) TABLE 25 TOOLS FOR IMPLEMENTING AND DEVELOPING
PT0981128
Asia Pacific Institute of Information Technology 92
Daily Expense Tracker 6.1
Implementation Plan
Developer divide the project into modules and then set the priority for each module and module that has the highest priority, the developer focuses on the first and then proceed to the bottom. Below is the graphical representation shown as a developer divides its work and prioritize the different modules. Priority ranges 1-10 for one with 10 points has the highest priority.
IMPLEMENTATOIN PALN
Change WallPaper:5
Mobile System priority:10
WEB SYSTEM Priority:9
Registration:9
Save Income:8
Save Expense:8
Save Credit:8
Save Debit:8
Reports:7
Quick Expense Report:6 Future Prediction:5
Graphical Report:7
User Manual priority:4
Account Setting:6
Expense Reports:7
User Manual priority:5
Income Reports:7
Credit Reports:7
Debit Reports:7
Task Manager:8 Login:9
Daily Expense Tracker is a combination of two applications: a) Android Mobile Application b) Web Application Some of the steps that are required to be followed in order to complete the system are: 1. Foremost priority has been given to the Mobile application as the main purpose of this system is to make a mobile based saving app. Then login screen and registration screen has been given the highest priority as without it no one can enter the system. 1.1
Now after registration user will be able to complete his details if he has got time else
he can perform later on. PT0981128
Asia Pacific Institute of Information Technology 93
Daily Expense Tracker 1.2
After registration user will be able to perform the tasks given in app.
1.3
Next priority is given to save expense, income, credit and debit as these are the core feature of the system.
1.4
Same priority is given to task manager in android as it also requires a lot of coding
to do. Priority of 7 is given to all types of reports as they would be able to visible only after saving some records. 1.5
Quick expense and account setting has been given same priority i.e. of 6 because
they can be performed later on also. 1.6
User manual has been given the lowest priority because it has been created after the system is complete only.
1.7
Web system and mobile system both have almost same priority as after sending the data from mobile, web system will accept that system and pass it to database. START
Input Design Documents
Create Database
NO
Create Architecture
If Module Implementation is Completed Implement Modules
YES
Integrate System
Output Document For Testing
END
FIGURE 32 IMPLEMENTATION APPROACH
According to the flowchart of the developer starts executing the entry and document design, i.e. conducting research and analysis and document then create the database architecture and the implementation is done. Developer started application modules one by one and integrates all PT0981128
Asia Pacific Institute of Information Technology 94
Daily Expense Tracker modules as one. The result of the application will not work as input to the next phase of testing and after testing system is ready to be implemented in an organization.
6.1.1 Implementation Methods Test Driven Development Advantage
Avoid re-testing of codes and performed in less time. Disadvantage Testing require efficient approach
Pair Programming
Source Code Control & Build
Code typing and reviewing take place simultaneously Loss of productivity as require two people
Least complex way to integrate the project Sometimes may result in redundancy
Incremental Coding Approach Simplest method to follow a linear approach. As it is not iterative so it creates chances of Risk.
Justification of selected implementation method Developer analyzes the advantages and disadvantages of the above implementation methods and found that Test Driven Development method is best suitable for the project implementation. As it avoid retesting of codes and also favors the implementation of V-Model.
6.2
Program Standards Followed
6.2.1 Naming Convention
Developer
uses
English
descriptors
that
accurately
describe
the
variable/field/class/interface. e.g. btnSaveIncome
Developer uses terminology which is used in Current Scenario and related to the domain like task, project etc.
Developer avoid long names (
PROJECT SPECIFICATION FORM A. Name : Durgesh Kumar Student ID: PT0981128 Title : Daily Expense Tracker (DET) Supervisor: Mr. Ankur Singla B. Brief description on project background.(.i.e. problem context, rationale, description of problem area, nature of challenge) Brief Description of Project Background: Firstly question arises what is this DET? The system itself defines its task, “Daily Expense Tracker” means it is a tracking system which will save our daily expenses, credits i.e. from whom we have to get money, debit i.e. to whom we have to give and how much. Not only this but almost every work which involves transaction of money will be stored in this system and based on the data stored this expert system will give some predictions and reports. Project background: There are so many people who used to maintain dairy for their daily expenses so that they can use it for future. There are some people who used to remember their PT0981128
Asia Pacific Institute of Information Technology 177
Daily Expense Tracker expenses but there counting is very less as in today’s scenario where there is no time for an individual to eat properly, sleep properly walk with their belongings for a moment then think for a moment how can they maintain their dairy which will again put a burden on their mind to remember those activities which they have done. Those people who want to save their daily expenses in such a place which will be handy to use. One of the most appropriate places to store the data is the mobile phone. Also in the dairy system, if the dairy is lost then it will be a heart locking situation. Problem Context: as almost all users are connected with each other with mobile, the trend to save small pieces of data into mobile in logs, notes, reminders has increased. So users need a system which will make automatic calculation based on their expenses. It’s not so that there does not exist any system for the same but there are some problems which are listed below. There is lack of research and functionalities in the current system as well. We are in such an era today that our most of the work has been shifted to computer; we are surrounded by the computer system which has made our memory powerless. We feel hard to jot down every expense we do every day due to lack of time and we used to forget the expenses made during the day. We used to forget whom we have to give money and how much as well as from whom we have to get. For this scenario this system is very much helpful to the user as you can write down the name and money at the same time. There is no need to memorize everything basically cost related tasks and expenses made during the course as this system provides you with all these facilities. If you lost your device then the data can be easily downloaded from the website and hence you can be saved from a disaster. Description of Problem area:
No offline-online data synchronization: Current system only provides the either of the offline or online data saving feature. If the internet is not working then online system will not work and hence the user has to suffer a lot. Slow data retrieval while searching: Data retrieval is slow in case of online systems depending upon the speed of internet connection. Hence user will have to wait for a long time for even searching a name of the item. Lack of security: When the system supports only offline task then if the data is deleted or the mobile gets stolen all the data will be lost and user has to suffer again. No backup and recovery for the data: there is no backup and recovery facility in the current system. That means once the device is lost or file is corrupted then there is no way to recover it. Manually schedule: In traditional file systems there was no option of scheduling along with tracking budget and provide notification when necessary. Report generation: The report generation format is not up to the level. Only data which has been saved are shown. No customized report is possible. No Prediction: The current system does not provide us any facility to view the future benefits. No prediction is there. No option to add items in customization: There is no option to add our own customized items as per our requirement. Only one session per mobile: There is only one user account in the current system. If there exists multiple users to work on the same mobile then there are no criteria for that.
Recommended Solution: The solution for the current system is to develop a system which will sort out all the above problems. The solution can be provided via four ways Via Desktop Application Via Web Application Via Mobile Application Via combination of Mobile and web services If the system is developed for the desktop application then each system of the user must be installed with the new software, this would again been a cumbersome activity. PT0981128
Asia Pacific Institute of Information Technology 178
Daily Expense Tracker If the system will be made web based then user needs to access the internet for each time they have to save the data. It’s havoc for the user. Any user cannot afford this if they to save a small chunk of data they will not wish to login to the internet again and again. If the system is made for the mobile i.e. mobile application then it would be a perfect system for the user as user can easily save their expenses while on road, bus or say wherever they are. But this system has lot problems in it e.g. If the mobile is lost or database is crashed then user can go out of mind. If the system is made via the combination of Mobile and web services then it would be a perfect system. This system is combination of both web services and mobile services. Rationale: as mentioned above we clearly find out that there is a need of such a intelligence system which will save a lot of money and time behind searching a particular data of a particular person based on mobile devices. To provide security and services to the layman so that they can save and fetch their expenses whenever they require it is one of the main mottos of this system. Tangible benefits One time investment: Users will have to invest their money for just once to use this system on android mobile but to use the web services they will have to pay according to the plan. Saving on Internet Data usage: there is no need to start the internet all the time when you want to save the expense details as this can be done offline. User can synchronize their data during their off time i.e. just once in a day or a week internet is needed. Hence wastage of data usage can be saved. Accessibility of system: System can be accessible anywhere if the user has got the mobile. If mobile is not with him/her then the system can be accessible with the help of website if the user has a login id and password. Reduces the stress: this system will directly reduce the stress from the user as the user will not have to calculate each and every thing ex. How much they have balance in their hand? Etc. As this system is using external server to save the user details so there is no need to give an option to backup and recovery the data this choice will be given to the admin. Intangible benefits: Economic Benefits: with the help of this system we can save our lot of money which goes in waste land due to the lack of planning. Save time: this system will save our time as we can do hours of work in a minute. E.g. if we need to search a person whom we have to give money from our notebook then it will take hours if there are thousands of record but with the help of this system it will take less than a minute. Target Audience Anyone, ranging from home users to office user and any businessmen or professionals interested in tracking their daily expense. People who want to schedule their budget. A person who wants to find his saving at the end of the day, month and year, as well as for him who wants to see his progress based on today’s saving. The system can be used by them who are careless in handling the device e.g. who usually finds their device stolen, broken etc they can recover their data from the server. On the other hand, the system could be used to guide the user for being more expensive by providing notifications. All types of users aging more than 13-14yrs. This system will be used by administrator as well who will be manage the website and create a back-up plan if required. Challenges in the Projects: The primary challenge in building this system is customizing the various user requirements based on their category e.g. students, businessmen, home users etc. the data which has to be customized should be gathered from various users. Some off the other challenges are Saving data on external database other than SQLLite from android device: the data which is in the device should be synchronized with the server so that the user can access it from anywhere.
PT0981128
Asia Pacific Institute of Information Technology 179
Daily Expense Tracker
Offline and online facility: providing both of the facility to the user so that user will feel free to work with this system. Graphical data: Showing graphical data to the user so that user can understand his/her expenses easily. System portability: making the system to be portable on various android devices. When the screen orientation is changed the data provided to the system is lost which has not been saved in android application hence managing this screen orientation to be compatible with the system is one of the challenge in developing this system. Managing reports and sending them on mail: various types of reports will be made and sent to the user’s mail so that user can get a clear and more detailed view of the reports. Apart from these one of the challenges is making the GUI follow HCI principles. Future saving prediction: on the basis of saving of the week/month predicting the future savings is one of the challenges to implement. Knowing the user- To understand the spending habits of people. The manner in which they spend the money, decisions they take before spending on something. Other challenge would be of how to make this application make effective to make people use the application, as some people would consider the application as ineffective in respect to the amount of time they give in use of the application. Interaction design and coding is also one of the major challenges of this system.
C. Brief description of project objectives. (I.e. scope of proposal and deliverables) Project objectiveThe objective of this system is to design such a system for users which will resolve the problems related with daily expenses and save a lot of money by providing them necessary notifications and by showing their profit or loss based on daily expenses. Project Scope & Deliverables The limitations for this system is as given below Number of reports rows shown in the mobile will be 5-6 only This system will run only on android 4.0-API level 16 and lower versions The website will be deployable on windows xp and later version of windows server only. While it can accessible from any system Future prediction will be available for 2 years only Only the following types of reports will be available for this system i. Weekly expense/saving ii. Monthly expense/saving iii. Quarterly expense/saving iv. Half –yearly expense/saving v. Yearly expense/saving vi. Date vise expense/saving vii. Expense for a particular item viii. Daily expenses ix. Debit and credits report x. Debit and credits report based on searching a particular name Current data on website will be shown only in the case if the data is synchronized with the server, in case data is not synchronized on the server then only the data which is available till last synchronization will be available to the user. There is no way to access the data online without the synchronization of data to the server. The modules that developer is going to develop i.e. deliverables during the project are: Member’s Registration Save daily expenses Profile management Putting limit on expenses PT0981128
Asia Pacific Institute of Information Technology 180
Daily Expense Tracker
Manage Notifications Future Prediction Synchronization of offline-online data Customization option Wallpaper customization Account management Report Generation Searching of Members Contact us Terms and Conditions
Assumption made: -The developer has assumed that the user has an android mobile phone and has practice about its mobile operations. User should have some knowledge about mobile’s original function and color coding that is used in mobile phone. It is assumed that user has internet access for synchronizing the data on the server. Feature and functionality: The feature and functionalities of the application include: 1. Core 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 Member’s Registration Save daily expenses/incomes/credits/debits Profile management Putting limit on expenses Account management Report Generation Searching of expense on various categories Contact us Terms and Conditions 2. Enhance featuresTo make user understand the system better, enhance features are used. Future Prediction Synchronization of offline-online data. Task Manager 3. Special featuresBased on the research and if developer has the time and ability, these are the advanced features developer is going to attempt to implement in this system. Customization option Wallpaper customization Sending Reports on mail Feature learning objectives: This refers to the learning objectives besides mastering of particular software development or authoring tools, these objectives are mainly focused on concepts and ideas rather than trained skills. Learning objectives1. Learning and practices XML and Android Technology 2. Learning of Google Graph to draw graphical report in android. 3. Learning to integrate android with web to develop a single system. 4. Learning and practices of the advance JSP-servlet and android to make graphs 5. Knowledge about DBMS or Databases
PT0981128
Asia Pacific Institute of Information Technology 181
Daily Expense Tracker 6. 7. 8. 9. 10.
Concept of Human Computer Interaction. Leaning for a development of Real time bug free system. Learning and Practices of SQL Query Learning algorithm for smart prediction based on inputs of a month Learning algorithm and queries for updating data from the mobile to server
D. Brief description of the resources needed by the proposal. (I.e. hardware, software, access to information / expertise, user involvement etc.) Access to information/expertise: The main objective of this project is to develop the android based application which will save a lot of money of users and to provide cash in terms of maintenance of website to the developers. Users will pay to the website as a monthly or yearly payment so that their data will be saved on the site and they can use it whenever they require. Below, are the list of hardware and software needed to develop this application. Hardware: This System will use the standard input/output devices for an android Mobile and personal computer to access the web-browser. This includes the following: Android Mobile Keyboard Mouse Monitor Printer RAM: 2GB and more Hard Disk: More than 80 GB SD card for storage of data in mobile Processor: Core i3 and later version. Other Accessories: Pen Drive – An external storage device which is useful for exporting and importing the project data to and fro from different places. Printer – Important documents may be printed out for further reference. Software: To develop android application developer needs Front End Client: Android Eclipse IDE: Eclipse( eclipse-jee-helios-win32) Several types of Eclipse packages are available for each platform. For developing Android applications, following packages are recommended: o Eclipse IDE for Java EE Developers o Eclipse IDE for Java Developers o Eclipse for RCP/Plug-in Developers o Eclipse Classic (versions 3.5.1 and higher) JDK 5 or JDK 6 (JRE alone is not sufficient) Android Development Tools plug-in. Back End: Sqllite Database For intermediate web page on Jsp-Servlet, software requirements are as follows: Netbeans 6.5 or any new version Apache/Tomcat server Back End: Sqllite Database or Mysql as if required. Dreamweaver 8.0, Adobe Photoshop (If required), MS Project 2007(for Gantt chart) etc. Note: Tools may vary if required in later stages of the project. Operating System Platform: Android OS for mobile software, any other OS with supported webbrowsers to access the website. Web Browsers:
PT0981128
Asia Pacific Institute of Information Technology 182
Daily Expense Tracker
Internet Explorer, Mozilla Firefox, Google Chrome RESOURCE REQUIRED FOR EXECUTION Software: 1. Android OS (Emulator with google map enabled API level (8-16)) 2. Windows XP or above version of Windows or equivalent OS 3. Mozilla Firefox 3.0 with active Flash Plug-in or an equivalent browser 4. Tomcat Apache Server (apache-tomcat-6.0.35) 5. Wampserver for Mysql database. Hardware: 1. CPU(Min core i3) 2. Android Mobile (API level 8-16) 3. RAM (Min 2 GB) 4. Mouse 5. Keyboard 6. Monitor Others: 1. Internet connection to view the graphical report. User Involvement: While developing this project, different kind of users will be concerned throughout the development process. These users could provide their opinions, suggestions or even important feedbacks which will help developer in developing best project. Users those who will test the system and give evaluations will also be involved in whole process of development of the system. These users can be: Students, Random Online Users having internet accessibility, Business People, Administrator E. Academic research being carried out and other information, techniques being learnt. (I.e. what are the names of books you are going to read / data sets you are going to use) Domain Research: As this project is a website as well as android application. The development of this needs a great research work. With research work done properly one can make out the success or failure of the project, as it provides complete exposure of knowledge, business, human networking, better insights and understanding of the required area. Domain research will deal with the whole method of a Website building. Then the developer will include the study of J2EE, XML, Android, SQL Queries. To make the research better, developer has divided it in the following domains: Android Research – The developer should have some knowledge of the Android trends and web-services. Site Development -- The primary domain research of project will be choosing the website development methodology as well as android application development. The entire methodology should be clear in mind so as to have clear picture of what next steps to follow for a successful completion of this project within specific time period. Other academic research areas that need to be looked into are: Human Computer Interaction – to concern with the design, evaluation and implementation of interaction computing systems, HCIU guidelines will be studied. Software Methodology – We have different types of methodology to develop a project. In order to make the system best and perfect and feasible, the developer has to research for the methodology which best suited the mobile based application. Information and Resources Information For gathering information and user requirements, some technique have to be used which will provide developer an idea and information about the needs of user. To do so there is a need of using data gathering technique. Techniques are listed below:
PT0981128
Asia Pacific Institute of Information Technology 183
Daily Expense Tracker Interview The interview session will give an outline of people response towards this system. Which type of system they require? What should be the option in the expense field? The interview process will be held for a group of users so that more and more opinions will come out for the system. Questionnaire The short, structured and grouped questions according to purpose will be very helpful in gathering usage statistics i.e what and what not to be done. These questioners can be used to collect both qualitative and quantitative data. The questionnaire will be distributed to IT personnel who having some experience and insight into the development of such a mobile applications and web development as well as to the users of the system. The main reason doing the questionnaire for this project will be to seek and gather all the necessary information that might be beneficial for the development of proposed system. Books: Android application development for dummies-Donn Felker Beginning Android Application Development -Wei-Meng Lee Human Computer Interaction- Alend Dix, Janet Finlay, Gregory D. Abowd, Russell Beale. Data Structure- Schaum’s outlines, TMH Website: www.W3Schools.com www.wrox.com www.eclipse.org.in http://daily-expense-tracker.fyxm.net/ http://itunes.apple.com/in/app/daily-expense-tracker-income/id502080453?mt=8 People: Online Users Mobile users Students Business People Technical Research: For successful development of any project, developers programming and technical skills must be sound as without this the functionality of the system could not be achieved. Some technical research work includes: SQLlite Database It will be used by developer as backend for his project or websites. MYSQL Database It will be used by developer as backend for the online website and to provide synchronization of data in mobile and web. SQL Query SQL Query will be used for interacting with DBMS in order to fetch the data or maintain records in backend databases. XML: XML is a light weight database used to transport and store data, contains its own tags as well as we can even add our own tags. This will be used for storing and fetching the images and other data. File Handling: This will be used to save login information and small chunks of data whenever required. Android Technology To run the system on android platform developer needs to manage the memory as well as learn more about this technology. F. Brief description of the development plan for the proposed project. (i.e. which software methodology and why, the major areas of functions to be developed and the order in which developed) PT0981128
Asia Pacific Institute of Information Technology 184
Daily Expense Tracker Methodology refers to the set of methods or procedures by which developer is going to achieve the goal of project. To start a project developer has to identify a suitable software methodology to develop the system. System development methodologies are promoted as a means of improving the management and control of the software development process, structuring and simplifying the process, and standardizing the development process and product by specifying activities to be done and techniques to be used. It is often tacitly assumed that the use of a system development methodology will improve system development productivity and quality. However, there is little empirical evidence to support this assumption. That’s why we use system development methodology. Selection of methodology is a vital activity in software development phase as all other steps of the system will be dependent on this step itself. Each and every phase of development methodology helps developer to determine what to do, how to do and when to do in this project. Methodology also tells us how to handle the challenges and how to solve the problems. Selected Software Development Methodology: V-model It is an extended waterfall model, adding more details on the validation and verification side. Vmodel gives relationship between each development stages and Testing stages. Reasons for selecting this methodology are: The requirements are almost identified and can be changed and DET is such a system whose requirement will go on changing time to time. Any bug can lead back to the initial phase to the model. So it provides a great flexibility to the developer and as the technology used in this system is Android and developer is new to this technology as well, so bugs are inevitable. The Android technology is new and deep, the developer has less experience of development tool as mentioned above so there are more chances of going back to initial phases. The developer needs to test at each milestone i.e. for example if the developer is working on reading data from computer, the developer will first have to test it so to perform searching on it. The system will be used by a single user so it has to be specific according to the requirement. This mobile application has its own specified requirements based on which the developer is going to build the applications, other phases such as design, coding etc is done with proper testing keeping in mind the requirement specification of the application. In v-model developer and tester works in parallel. So developer can test it while implementation and design phase. This methodology has following phase that developer will follow while developing the system. Requirement Analysis-This is the first step in the verification process. It is in here that the project and its function are decided. So a lot of brainstorming and documentation reveals what all will be required to produce that program or product. During this stage the developer will not be going to discuss how the system is going to be built; it is going to be a generalized discussion and a user requirement document is put forth. This document will carry information regarding the function of the system, performance, security, data, interface etc. This document is required by the business analysts to convey the function of the system to the users. So it will merely be a guideline. System Design-Like the name of the phase suggests, here the possible design of the product is formulated. It is formulated after keeping in mind the requirement notes. While following the documents, if there is something that doesn’t fit right in the design, then the user is made aware of it and changes are accordingly planned. Architecture Design-The architecture design, also known as the computer architecture design or the software design should realize the modules and the functionality of the modules which have to be incorporated. Module Design-In the module design, the architectural design is again broken up into
PT0981128
Asia Pacific Institute of Information Technology 185
Daily Expense Tracker sub units so that they can be studied and explained separately. The units are called modules. The modules can separately be decoded by the programmer. The Validation Phases of the V model Unit Testing-A unit in the programming system is the smallest part which can be tested. In this phase each of these units are tested. Integration Testing or Interface Testing-In this phase the separate entities will be tested together to find out the flaws in the interfaces. System Testing-After the previous stage of interface testing, in this phase it is checked if the system meets the requirements that have been specified for this integrated product. Acceptance Testing-In the acceptance test, the integrated product is put against the requirement documents to see if it fulfills all the requirements. Release Testing-It is in here that judgment has to be made if the product or software which is created is suitable for the user. Specification of duration of tasks or stages in project: As the project follows the methodology mentioned above, the phases included in the methodology are further broken into a project plan and each activity is assigned time according to the critical tasks involved in it. Total duration-33 weeks Start date: 31st July 2012 End date: 30th April 2013 Duration: 33 Weeks 1. Project Definition: Duration – 4 week 31/07/12 - 03/09/12 Application Idea Generation Naming (Title) the Project Feasibility Study Preparation of Draft Proposal Form 2. Project Planning: Duration - 3 week 20/08/12-03/09/12 Preparing Project Proposal Form(PPF) 3. Requirement Analysis: Duration-6 weeks 12/3/12-21/09/2012 a) Define and Finalize Requirement Specifications Identify the requirements of the application Finalize the Requirements Identify the resources needed as per the requirements Technologies to be learnt Goals, Objectives and Scope of the Project b) Preparing Project Specification Form c) Investigation & Research Academic Research Secondary Research 4. System Design : Duration- 13 weeks (22/09/2012-28/12/2012) Architectural Design Storyboarding of various screens Interface Design Content Design Production Design For Test Plan- Acceptance Test, System Test, Interface Test 5. Development, Implementation and Testing: Duration-16 weeks 02/12/12-23/03/13 Webpage implementation, Application coding, Pseudo code, Testing o Test Plans o Black Box Testing o White Box Testing 6. Project Ending: Duration-5 weeks Duration-4 weeks 24/03/13-29/04/13 Documenting the Application and theories involved in it.
PT0981128
Asia Pacific Institute of Information Technology 186
Daily Expense Tracker G. Brief description of the evaluation and test plan for the proposed project. (I.e. what is the success criteria and how will be evaluated & implementation will be tested, indicate the estimated size of the demonstration/test database) Evaluation involves judgment of the quality of an object against certain specified criteria. Whether evaluating fine wine, art, or an educational software program, the evaluator is making observations or collecting information, and comparing or interpreting that information in order to make a decision as to the value of that object. Formative evaluation is the process of evaluating the effectiveness and efficiency of multimedia/Partial system during the development process. Main points of formative evaluation are as follow: It is done at different stages of development- After each milestone developer will be doing formative evaluation to check whether the system is going to made according to the user or not. To check that the product meet user’s needs-as mentioned above it is done to check whether the product is meeting the user’s need or not. Focus on the process-as mentioned earlier this evaluation is done at process level. Summative evaluation, in contrast, is the evaluation of the completed product. The worth of a program or the overall effectiveness of the finished software product is judged. To assess the quality of a finished product-it is done to check whether the complete system meets the requirement or not if yes then whether its quality is good or not. Focus on the results-its main focus is on the final result. Effectiveness of the system:- Developer will be choosing from observational and co relational methods for demonstrating whether desired effects occurred, and quasiexperimental and experimental designs for determining whether observed effects can reasonably be attributed to the intervention and not to other sources. Evaluation on Success Criteria: Easy navigational features User is able to read data from mobile User is able to store his/her expenses in his/her mobile User is able to search expenses on various parameters User is able to save daily expenses, incomes, credits and debits User is able to view the reports based on expert system Multiple users are able to login with the same application User is able to put limitation on his budget i.e. expenses should not be more than this amount. Evaluation can be done using any of the four strategies SCIENTIFIC-EXPERIMENTAL MODELS MANAGEMENT-ORIENTED SYSTEMS MODELS QUALITATIVE/ANTHROPOLOGICAL MODELS PARTICIPANT-ORIENTED MODELS Testing is done throughout the implementation phase and even in design phase. Various testing techniques are as follows:Black-Box Testing: What is the application going to do is tested here, but how it will do is not an issue to concentrate upon in Black Box testing. Testing without knowledge of the internal workings of the item being tested is called Black Box testing. Black Box testing method is applicable to all levels of the software testing process: System Testing: Testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic. Integration Testing: Testing in which modules are combined and tested as a group. Integration Testing follows unit testing and precedes system testing. For ex, after testing each unit individually all the modules should be combined and then tested that if any module is interrupted by other or may be not working in integration with another. Like searching and updating module working together or not.
PT0981128
Asia Pacific Institute of Information Technology 187
Daily Expense Tracker
Acceptance Test: Acceptance testing is a test conducted to determine if the requirements of a specification or contract are met. It may involve chemical performance tests also. White-Box Testing: This application is having complex functionality which involves white box testing. White Box testing is mainly concerned with the internal functionalities of the application. Testing based on an analysis of internal workings and structure of a piece of software. The tests can be conducted based upon the designs, programmed functionalities etc by the developers to make the system error free. Unit Testing: Testing of individual software units i.e. for testing paths within a unit. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Functional and reliability testing in an Engineering environment. Producing tests for the behavior of components of a product to ensure their correct behavior prior to system integration. For ex, in searching module, searching of student on various criteria should be tested individually. Integration Testing: This testing is used for testing path between units so that there will be no problem in the system by the developer. System Testing: Testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic. For ex, when the developer just focus on results of all modules with no navigation errors, display error etc and not focusing on coding or how it is implemented than System testing is been performed.
PT0981128
Asia Pacific Institute of Information Technology 188
View more...
Comments