Daily Expense Tracker

January 12, 2019 | Author: Durgesh Kumar Gupta | Category: Use Case, Databases, Android (Operating System), Online And Offline, Relational Database
Share Embed Donate


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 AB , between two set of attribute A and B that are subset of universal relation R which specifies a constraint on possible tuples that can form relation state r of R. The constraint is that for any tuples X1 and X2 in r they have X1[A] =X2[B], they must also have X1[B]=X2[B] Although normalization process is covered when ERD is converted into relations using mapping rules, there are still ways to improve efficiency by following the normalization process. PT0981128

Asia Pacific Institute of Information Technology 86

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

Test

Remedy

Un

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

Normalized

columns.

valued attributes. They all pass the verification of UNF.

Forum (UNF) 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 AB in a relation schema R is a transitive dependency if there are set of attributes Z that is neither a candidate key no a subset of any key of R. Userid

First name

Last name

Gender

Doj

Dou

Contact id

roleid

role

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

First name

Last name

Gender

Doj

Dou

Role id

Status

ROLE Table Roleid

Role

Role description

CONTACT Table Contact id

Village

State

Pincode

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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF