You are on page 1of 27

“EXPENSE MANAGER”

INTORDUCTION

Expense Manager helps in keeping a record of daily Expenses and Income while users are on
move and allows to generate customized Expense and Income report. The system facilitates
entering expense report. It tracks all expenses and incomes so as to put the user on the path to
financial stability and Tracking expenses and incomes by week, month and year as well as by
categories. The system facilitates entering expense report and tracks all expenses and income
so as to keep the user on financial stability path.

AIM AND OBJECTIVES

The main aim of the project is to track all the expenses and income so as to put the user on
the path to financial stability and to help everyone who are planning to know their expenses
and savings. The main objective of the project on Expense Management System is to manage
the details of Expense, Category, Type and User Registration. It manages all the information
about Expense, Payment, Registration and Expense. To provide the user a great User
Interface and User Experience. To help the user achieve his or her savings goal. To help the
user to track daily spending. To help the user to manage debts. To help the family to track
expenses.

JUSTIFICATION

There are various applications for expense manager in present days. But as per our
observation most of the applications are not user friendly. Because of this common people
faces difficulty while using existing applications. As a solution, our proposed application is
user friendly where everyone can use and it helps in expenditure savings. The application is
reduced as much as possible to avoid errors while entering the data. It also provides error
message while entering invalid data. No formal knowledge is needed for the user to use this
system .Thus by this all it proves it is user friendly. This application can lead to error free,
secure, reliable and fast management system.

RELATED WORK

The aim is to automate its existing manual system by the help of computerized equipment’s
and full-fledged computer software, fulfilling their requirements, so that their valuable
data/information can be stored for a longer period with easy accessing and manipulation of
the same. Expense Management System also manage the payment details online for user
details, registration details, Expense. It deals with the monitoring the information and
transaction of User. Editing, adding and updating of records is to improve which results in
proper resource management of Expense data. SYSTEM REQUIREMENTS

A) HARDWARE REQUIREMENTS
 Processor: Pentium 4/above
 Hard Disk: 250GB.
 Ram: 4GB. B) SOFTWARE REQUIREMENT
 Front-end: XML
 Back-end: Java
 Tool: Android studio
 Database: MySQL

METHODOLOGY

Now a days, the tracking of the expenses is very necessary. But, the existing system cannot
be used by all users. As a solution, we are developing expense manager application, our
proposed application is user friendly where everyone can use. To develop this application we
are using android studio as an IDE and to store the data we are using MySQL as a database
both of these are open source. For frontend and backend development we are using XML and
Java languages respectively. The user should register by providing name, email-Id and phone
number. After logging in he should add his total income and keep on submitting his daily
expenditure. He can also view the balance status of his income, he can compare the income
and expenses. By viewing his expenses he can reduce unnecessary expenditure, by this he can
save his money.

EXPECTED OUTCOMES

This application is used to enter the details of the amount spent by the user and sends a
monthly notification about the total income, past expense and future expense of the user. The
System facilitates entering expense report and tracks all expenses and income so as to keep
the user on financial stability path. The entire income and expense details can viewed and
updated.
LITERATURE SURVEY

The written work study is driven from the time period of 2005 to 2017 the article of journals
which are subscribed by IEEE standard. AndroProf: A profiling tool for the android platform
The paper is applying about current app packages to adaptable up-developing. They
are moreover uncommon when mechanical assemblies appear differently in relation to all
around valuable headway. They is to a great degree confined in which & how much info
they will take after. This makes the updating of embedded applications, with its hard
confinements, for instance, unapproved execution and vitality spending thought, a hard
task to be refined. Thusly, a gadget that gives information, for instance, imperativeness
usage, execution time and distinctive estimations is required with respect to make
embedded applications. To totally complete it, we upgrade android sdk and we made
gui to essential the took after data. This paper demonstrates a mechanical assembly that
gives the before specified data per application and that can take after both Dalvik Virtual
Machine and nearby code.

Mobile platforms and development environments This paper talks about the Mobile stage
headway which has as of late transformed into a creative incredibly one of a kind
advancement, especially in the PDA and tablet feature space. This Synthesis address is a
manual for the latest progressions of the key compact stages that are trim the adaptable
stage industry. The book covers the three at present winning neighborhood stages - iOS,
Android and Windows Phone - close by the device doubter HTML5 convenient web stage.
Grouping of people who will may pick up benefit by this include: -

1. UG understudies taking flexible figuring classes or self-taking in the compact stage


programmability control

2. Educational , mechanical experts tackling compact handling

3. Versatile application originators for an uncommon stage who may be keen on various
stages; 4. Structure integrator counsellors and firms stressed with initiating
associations and taking application's
5. Organization including man service's, coordination's, adaptable workforce
administrator, versatile exchange & portion systems & compact chase & likewise business.

Challenges in Android App Development

Smart phone is seen as a basic progression which has change the human lives in a
couple edges. Android working structure is open source and wholeheartedly accessible
to everyone. This paper moreover highlights diverse challenges defied by fashioners in
Android App Development. Android has created as the most for the most part used working
structure in Smart Phones. On Android working architectures, ennumerous (app’s) is
available for need of diversion. With horrendous competition for various examinations,
understudies have moved from standard technique for the arrangement and change of
an Android based application named as iquiz that can help understudies in arranging of
centered exams like UGC-NET, GATE et cetera while they are on move.

PROBLEM STATEMENT

Many organizations have their own system to record their income and expenses, which
they feel is the main key point of their business progress. It is good habit for a person to
record daily expenses and earning but due to unawareness and lack of proper
applications to suit their privacy, lacking decision making capacity people are using
traditional note keeping methods to do so.
Software requirement specification
Requirements gathering is one of the most important phase of a software development life
cycle. It is the phase that tells us what is the system supposed to do and drives the other
phases in the life cycle. Requirement gathering for the SOS app started with brain storming
and discussion with other students as to what features are the most essential in a panic
situation. This led to the most basic and initial draft of requirements for the application.
Requirements were also collected by looking at other devices like personal locator beacons
and satellite messengers that are commercially available. A brief study of the functionality of
the devices helped me to refine and narrow down the requirements even further. One
important thing to learn for these devices was the simplicity of their design. This helped me
to design an effective and simple UI design for my application. The next step for
requirements understanding was to look for existing solutions and similar applications in the
Android market. A careful study of these applications, adding other important features and
removing unnecessary features was done

Technology Overview

Android

Android is one of the most widely used Mobile Operating System today. It is a software
bunch comprising not only of the Operating System but also middleware and key
applications. Some of the most important features of an Android operating system is that it
enables reuse and replacement of components, it is optimized for mobile devices and tablets,
it is based on the open source Mobile kit engine and supports 2-D and 3-D graphics using
OpenGL-ES standard. Android Architecture The Android operating system is implemented
as a stack of different layers of software. The following image depicts these different layers:
 Linux Kernel – This is the layer at the very bottom of the Android architecture. All other
layers run on top of the Linux kernel and rely on this kernel to interact with the hardware.
This layer contains all the essential hardware drivers which help to control and
communicate with the hardware. It provides the basic functionality like Process
Management, Memory Management and Device Management like Camera, Display, Flash
etc.

 Libraries – This is a set of common functions of the application framework that enables the
device to handle different types of data. Some of the most important set of libraries that are
included are – Mobile kit which is the Mobileengine to display HTML, OpenGL used to
render 2- D or 3-D graphics on to the screen, SQLite which is a useful repository for storing
and sharing of application data.

 Android Runtime – The Android runtime mainly consist of the Dalvik Virtual Machine
(DVM). DVM is very much like the standard Java Virtual Machine (JVM) except that it is
optimized for mobile devices that have low processing power and low memory. DVM
generates a .dex file from the .class file at compile time and provides higher efficiency in
low resources devices. Each application has its own process and an instance of DVM.
Android runtime also provides core libraries that enable the Android developers to create
applications using the Java language.

 Application Framework- These are some standard class files that are available to the
developer for use. An application can directly interact with them and make use of them. The
application framework provides the most basic functionality of the phone like Location
Manager, Content Providers etc.

 Applications – This is the topmost layer in the architecture and the layer where the
application that we develop fits in. This layer provides several pre-installed applications that
are default for certain things like Contacts Books, Mobileetc.
Android Architecture

Requirements and recommendations

Hardware and Software requirement


The Android Emulator has additional requirements beyond the basic system requirements for
Android Studio, which are described below:
 SDK Tools 26.1.1 or higher
 64-bit processor
 Windows: CPU with UG (unrestricted guest) support
 HAXM 6.2.1 or later (HAXM 7.2.0 or later recommended)
For development: Processor:
 Intel Pentium IV or higher
 RAM:256MB Space on disk: 250 MB (at the least)

For running on a device:

 Device: Phone or tablet running Android 3.0 or higher


 Disk space: 6 MB (at the least)

An application for handling text messages is must on any device. Lots of users aren’t satisfied
with their default EXPENSE MANAGER APP app and are looking for a more comfortable
solution. But there are several tricks to making an EXPENSE MANAGER APP app in
Android Studio. It has to:

 be the default application for EXPENSE MANAGER APP messages


 ask for all necessary permissions (and not crash it a user denies them)
 receive, display, and allow the user to respond to texts
 be secure
 add received texts to the device’s EXPENSE MANAGER APP database

Methodology

Now a days, the tracking of the expenses is very necessary. But, the existing system cannot
be used by all users. As a solution, we are developing expense manager application, our
proposed application is user friendly where everyone can use. To develop this application we
are using android studio as an IDE and to store the data we are using MySQL as a database
both of these are open source. For frontend and backend development we are using XML and
Java languages respectively. The user should register by providing name, email-Id and phone
number. After logging in he should add his total income and keep on submitting his daily
expenditure. He can also view the balance status of his income, he can compare the income
and expenses. By viewing his expenses he can reduce unnecessary expenditure, by this he can
save his money.

Software Engineering Model Used

Waterfall Model

Waterfall model is the earliest SDLC approach that was used for software
development. It is also referred to as a linear-sequential life cycle model. It is very simple to
understood and use. In a waterfall model, each phase must be completed before the next
phase can begin and there is no overlapping in phases.

Following is a diagrammatic representation of distinct phases of waterfall model.

Waterfall Model

In “The Waterfall” approach, the full process of software development is divided into
separate phases. In Waterfall model, typically, the outcomes of one phase act as the input for
the next phase sequentially. The sequential phases in Waterfall model are:

 Requirement Gathering and analysis

All possible requirements of the system to be developed are captured in this phase and
documented in a requirement specification document.
 System design

The requirement specifications from first phase are studied in this phase and
system design is prepared. Design helps in specifying hardware and system
requirements and also helps in defining overall system architecture.

 Implementation

With inputs from system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed
and tested for its functionality which is referred to as Unit Testing.

 Integration and Testing

All the units developed in the implementation phase are integrated into a
system after testing of each unit. Post integration the entire system is tested for any
faults and failures.

Non-Functional Requirements

Availability
This is a Mobile application and will be available for every registered user. This
application is compatible with all Mobileand mobile. This application helps to user send
different type of request to clients and view the response.

Maintainability
The project is developed using an Open source tool and is easy to maintain. The software
used for the development of the applications are free so there is no necessary to pay and
no maintenances cost.

Security
As the systems all the data are dumped at the server side the server provides the security
to the unauthorized access of data.

Reliability
Reliability is a requirement about how often the software fails. The measurement is often
expressed in mean time between failures. The definition of a failure must be clear. Also,
don't confuse reliability with availability which is quite a different kind of requirement. 
Be sure to specify the consequences of software failure, how to protect from failure, a
strategy for error detection, and a strategy for correction.

Simplicity
The project is driven by a simple user interface which helps to interact easily with
application and easy to remember. Application builds by using android studio & java xml
technology hence it compatible for all android devices.

 FEASIBILITY STUDY

A feasibility study is a high-level capsule version of the entire System analysis and Design
Process. The study begins by classifying the problem definition. Feasibility is to determine if
it’s worth doing. Once an acceptance problem definition has been generated, the analyst
develops a logical model of the system. A search for alternatives is analyzed carefully. There
are 3 parts in feasibility study.

1) Operational Feasibility

2) Technical Feasibility

3) Economical Feasibility

OPERATIONAL FEASIBILITY

Operational feasibility is the measure of how well a proposed system solves the problems,
and takes advantage of the opportunities identified during scope definition and how it
satisfies the requirements identified in the requirements analysis phase of system
development.The operational feasibility assessment focuses on the degree to which the
proposed development projects fits in with the existing business environment and objectives
with regard to development schedule, delivery date, corporate culture and existing business
processes.To ensure success, desired operational outcomes must be imparted during design
and development. These include such design-dependent parameters as reliability,
maintainability, supportability, usability, producibility, disposability, sustainability,
affordability and others. These parameters are required to be considered at the early stages of
design if desired operational behaviours are to be realised. A system design and development
requires appropriate and timely application of engineering and management efforts to meet
the previously mentioned parameters. A system may serve its intended purpose most
effectively when its technical and operating characteristics are engineered into the design.
Therefore, operational feasibility is a critical aspect of systems engineering that needs to be
an integral part of the early design phases.

TECHNICAL FEASIBILITY

This involves questions such as whether the technology needed for the system
exists, how difficult it will be to build, and whether the firm has enough experience
using that technology. The assessment is based on outline design of system
requirements in terms of input, processes, output, fields, programs and procedures.
This can be qualified in terms of volume of data, trends, frequency of updating
inorder to give an introduction to the technical system. The application is the fact
that it has been developed on windows XP platform and a high configuration of
1GB RAM on Intel Pentium Dual core processor. This is technically feasible .The
technical feasibility assessment is focused on gaining an understanding of the
present technical resources of the organization and their applicability to the
expected needs of the proposed system. It is an evaluation of the hardware and
software and how it meets the need of the proposed system.

ECONOMICAL FEASIBILITY

Establishing the cost-effectiveness of the proposed system i.e. if the benefits do not
outweigh the costs then it is not worth going ahead. In the fast paced world today
there is a great need of online social networking facilities. Thus the benefits of this
project in the current scenario make it economically feasible. The purpose of the
economic feasibility assessment is to determine the positive economic benefits to
the organization that the proposed system will provide. It includes quantification
and identification of all the benefits expected. This assessment typically involves a
cost/benefits analysis.
SYSTEM DESIGN

Introduction

The Software Design Document is a document to provide documentation which will


be used to aid in software development by providing the details for how the software should
be built. Within the Software Design Document are narrative and graphical documentation of
the software design for the project including use case models, sequence diagrams,
collaboration models, object behaviour models, and other supporting requirement
information.

Purpose

The purpose of Software Design Specification (SDS) document is to specify


high level view of the architecture of our system, and on the interaction between the user and
the system. And another purpose is on detailing a low-level view of each component of the
software and how the components interact with each other.

This document's purpose is to provide a high-level design framework around


which to build our project EXPENSE MANAGER APP App. It also provides a list of
requirements against which to test the final project and determine whether we were able to
successfully implement the system according to design.

Scope

The system Design (SD) describes how the functional and non-functional
requirements gathered in the requirement phase, preliminary user-oriented functional design
transform into more technical system specifications from which the system is built. This
phase describes the design goals and considerations, provides a high-level overview of the
system architecture, and describes the data design associated with the human-machine
interface and operational scenarios.

4.4 Overview

The system design documents and tracks the necessary information required to
effectively define architecture and design of Request Approval Application system in order to
give the development team guidance on the architecture of the system to be developed.
Design documents are incrementally and iteratively produced during the system development
life cycle, based on the particular circumstances of the EXPENSE MANAGER APP App.

System Architecture

Architecture focuses on looking at a system as a combination of many different


components, and how they interact with each other to produce the desired result. It involves
the process of defining a collection of hardware and software components and their interfaces
to establish the framework for the development of an android application.

Architecture Diagram

Detailed Design of DFD

When it comes to conveying how information data flows through systems (and
how that data is transformed in the process), data flow diagrams (DFDs) are the method of
choice over technical descriptions for three principal reasons.

 DFDs are easier to understand by technical and nontechnical audiences


 DFDs can provide a high-level system overview, complete with boundaries and
connections to other systems
 DFDs can provide a detailed representation of system components
 DFDs help system designers and others during initial analysis stages visualize a
current system or one that may be necessary to meet new requirements. Systems
analysts prefer working with DFDs, particularly when they require a clear
understanding of the boundary between existing systems and postulated systems.
DFDs represent the following:
 External devices sending and receiving data.
 Processes that change that data.
Activity Diagram

• Activity diagram is basically a flowchart to represent the flow form one


activity to another activity. The activity can be described as an operation of
the system.
• Activity diagram for our application shown below, when the activity starts
the user should login to the application allows the user to the next activity
by entering correct username and password.
Client activity diagram

Use Case Diagram

Use case diagram in the Unified Modelling Language (UML) is a type of behavioural
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
as use cases), and any dependencies between those use cases.

The main purpose of a use case diagram is to show what system functions are
performed for which actor. Roles of the actors in the system can be depicted.
User Activity Diagram
Sequence Diagram

A sequence diagram shows object interactions arranged in a time sequence. It depicts


the object and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario.

Sequence diagram are typically associated with use case realization in the logical
view of the system under development. Sequence diagrams are sometimes called event
diagrams or event scenario.
Implementation
Implementation Approaches

In this stage physical system specifications are converted into a working and reliable
solution. This is where the system is developed. It involves careful planning, investigation of
the current system and its constraints on implementation, design of methods to achieve the
changeover, an evaluation, of change over methods.

The objective of the system implementation phase is to implement a fully functional system,
which deliverables met in order of priority. The result of this phase is an accurately
functioning system. The more complex system implemented, the more involved will be the
system analysis and the design effort required just for implementation.

The implementation phase deals with issues of quality, performance, baselines, libraries, and
debugging. The end deliverable is the product itself. During the implementation phase, the
system built according to the specifications from the previous phases. This includes writing
code, performing code reviews, performing tests, selecting components for integration,
configuration, and integration.
Web Application for report generation is implemented using php Object oriented
programming is an approach that provides a way of modularizing programs by creating
partitioned memory area for both data and functions that can used as templates for creating
copies of such modules on demand.
This project is implemented using MVC architecture. User Interface developed using
HTML, CSS and BOOTSTRAO code used in the view. Java classes used in both controller
and Model but Model contains only connectivity part, Google live database used to store the
user information and activities application.

Implementation steps
Model

The Model layer refers to the entities, business objects, data source, and other repositories
available in our application. Model used to perform the database related operations. It uses
php to interact with the database and to perform operations such as information related to the
user, products, stores etc

View

View is a front end or GUI, which invokes Model through Controller, view, consists of
latitude and longitude. The view in android studio IDE is coded using tools. The view will
have all the necessary validations for user entries.

Controller

Controller classes are responsible for handling user input and responses.

 Locating the appropriate action method to call and validating that it can be called.

 Getting the values to use as the action method’s arguments

 Handling all errors that might occur during the execution of the action method.

 Providing the user-friendly views to the user.

Testing
Introduction
Web applications run on devices with limited memory, CPU power and power supply. The
behaviour of the application also depends on external factors like connectivity, general
system utilization, etc.
Therefore, it is very important to debug, test and optimize web application. Having
reasonable test coverage for web application helps to enhance and maintain the web
application.
As it is not possible to test bootstrap web applications on all possible device configurations, it
is a common practice to run on typical device configurations. Should test application at least
on one device with the lowest possible configuration. In addition, should test on one device
with the highest available configuration, e.g., pixel density, screen resolution to ensure that it
works fine on these devices.

Testing Concepts

Web application testing based on Unit. In general, a Unit test is a method whose statements
test a part of the application. Organizes test methods into classes called test cases, and group
test cases into test suites.

Unit tests
Local Unit Tests

Unit tests that run on local machine only. These tests compiled to run locally on the
NetBeans to minimize execution time. Use this approach to run unit tests that have no
dependencies on the web framework or have dependencies that mock objects can satisfy.

Instrumented unit tests

Unit tests that run on device. These tests have access to Instrumentation information, such as
the Context of the application are testing. Use this approach to run unit tests that have web
application dependencies, which mock objects cannot easily satisfy.
Integration Tests
This type of test verifies that the target app behaves as expected when a user performs a
specific action or enters a specific input in its activities. For example, it allows checking that
the target app returns the correct UI output in response to user interactions in the app’s
activities. UI testing frameworks like Espresso allow programmatically simulating user
actions and testing complex intra-app user interactions.
Cross-app Component
This type of test verifies the correct behaviour of interactions between different user apps or
between user apps and system apps. For example, might want to test that app behaves
correctly when the user performs an action in the Settings menu. UI testing frameworks that
support cross-app interactions, such as UI Automaton, allow creating tests for such
scenarios.
Test Cases:
A test case is a set of conditions or variables under which a tester will determine whether a
system under test satisfies requirements or works correctly. The process of developing text
causes can also help find problems in the requirements or design of an application.
The following tables show the various test causes scenarios that are generated along with the
required inputs o the given scenarios, expected outputs, actual output and the result whether
the test passes or fails.

Test causes with positive scenarios:


TC No Positive scenario Required Input Expected Actual output Test Result
output

1 Open App Click on app Should app As expected, Pass


open

2 Add Expense Enter Expense Enter Details As expected, Pass


Details

3 Add Income Enter income Entered As expected, Pass


Details details Income
Details and
store in mysql
lte
4 View Expense View report Should display As expected, Pass
report information
5 View Graph View the Should send As expected, Pass
expense report graph dfetails
in graph
6 Manage expense Modify Manage As expected, Pass
details Expense Expense by
information changing
values
Experimental Results

SNAP SHOTS

This chapter highlights the results of project and the snapshots for each of the activities
shown along with a description about the working of each activity. Each snapshot describes
every single step EXPENSE MANAGER APP. All the main activities as well as the options
provided to the users in each activity also shown in the following snapshots.
Code
Conclusion

From this project, we are able to manage and keep tracking the daily expenses as well as
income. While making this project, we gained a lot of experience of working as a team. We
discovered various predicted and unpredicted problems and we enjoyed a lot solving them as
a team. We adopted things like video tutorials, text tutorials, internet and learning materials
to make our project complete. Furthermore, now we know much more about the Android
platform, java language. After making this application we assure that this application will
help its users to manage the cost of their daily expenditure. It will guide them and aware them
about there daily expenses. It will prove to be helpful for the people who are frustrated with
their daily budget management, irritated because of amount of expenses and wishes to
manage money and to preserve the record of their daily cost which may be useful to change
their way of spending money. In short, this application will help its users to overcome the
wastage of money.

References

[1] “How I track my expenses and manage my money”. By, Jay Castillo
[2] “Why We Need to Start Budget Tracking Now”. By, David Ning
[3] “Easy App for Expense Manager Using Android”. By,Ranjini and Anita WEBSITES
[4] http://www.oracle.com/technetwork/java/index.html
[5] https://blog.udacity.com/2014/12/front-end-vs-back-end-vs-full-stack
webdevelopers.html#:~:text=This%20is%20where%20the%20back,exist%20in%2 0the
%20first%20place
[6] https://www.tutorialspoint.com/index.html
[7] https://www.javatpoint.com
[8] https://www.w3schools.com BOOKS
[9] The complete Reference Java
[10] The complete Reference J2EE

You might also like