The document describes a GUI for an expense management system created by a group of students. The system allows users to track expenses, generate reports on spending by category and time period, and schedule payments. It was developed using Java, MySQL, and the NetBeans IDE following an evolutionary software process model. Testing of the system included black box and decision table techniques to ensure the interface and functionality worked as intended.
1. Department of Computer Science and Engineering
GUI for Expense Finance Management
Group Members:
Sanket Ingale [ 09co36]
Laxmikant Patil [ 09co66 ]
Ambuj Lawania [09co08 ]
Adit Patel [ 09co05 ]
2. INTRODUCTION
The main purpose of the application to develop and
maintain an expense manager
Application enables users to keep track of their expenses.
Expense Management automation is the means by which
an organization or person can significantly reduce
transaction costs
Improve management control when logging, calculating
and processing corporate or personal expenses.
Automated solution typically provides the ability to
code, approve and report on expenses.
3. Aims and Objectives
Improving finance
management control
Import & Export Generate expenditure
amount activities by different
categories
Expense
Management
Automation
Graphical
Representation Schedule Payments
Reducing Paper-
work
4. Functional Requirements
The application must provide the facility to debit &
credit transactions.
It should generate the overall report of expenses.
eg. total monthly, yearly etc.
Non Functional Requirements
The system should not disclose any transactions of one
user to another.
The business transactions should be in particular unit
of currency defined by the managers.
5. Administrator Managers
Manage the whole system, add Control the expenses of
remove functionalities employees
Employee STAKEHOLDERS Developers
Perform the various Develop the system.
transactions & record it
Any person who wants to
keep track regular expenditure.
6. Technologies & tools used for project
Programming Language : Java
Database : Mysql
JDBC (for connecting to databases)
User Interface : Java Swing
Tools:
- NetBeans IDE 6.8
- Java Development Tools plugin.
7. SOFTWARE PROCESS MODEL
The process model used is Evolutionary Development model
Since-
The time period for developing system-short (almost two months).
The requirements are clearly defined.
Objectives are well known.
Each time the process involved can host the database server to cater the
need of the employees of the organization.
Idea of implementation:
Initial implementation prototype Exposing this to user
comments Refining this through many versions final
adequate system .
Rather than have separate specification, development and validation
activities, these are carried out concurrently with rapid feedback across the
activities .
Throw-away prototyping
9. Why Evolutionary Model?
1. Main component is GUI, so the feedback is necessary.
2. The GUI is relatively small system as compare to the
actual systems in reality.
3. The problems of changing the existing system are
avoided by re-implementing the system in its entirely
whenever significant changes are required.
4. need not be expensive.
5. Since development in short lifetime of nearly two
months,the system is developed to support some activity
which is bounded in time.
6. A system may be developed specifically for the launch of
a new product or result.
11. 1. Client Tier(Application UI)
consists of the users of the application.
provided with User Interface.
2. Server Machine Tier: (Data)
JDBC is used to perform standard relational database operations
(eg. managing database connections, SQL statements, result sets )
An interface between the client tier & database.
Performs the calculation part.
Processing the data extracted .
Eg. Adding the total expense of the month / category wise total.
Various operations performed by this tier are:
1. Display
2. Add money
3. Spend/subtract money
4. Approve (used by manager)
5. Categorize the expense
12. User System Interaction
Our application uses multiple styles of interaction:
GUI Based Interaction
Via a graphical user interface which can be manipulated by the
user.
Using input device such as a mouse
simple selection of
List Based Interaction
Choose from a given list of objects.
Dynamic list and can be updated manually or automatically to
reflect needs.
Form Based Interaction
Provided forms is one of the modes of user interaction.
For employees to create or edit their profiles and specify the
transaction summary a form based interaction is a necessity.
16. Implementation Phase
Software Tools used : NetBeans IDE 6.8
• Application developed using Java only.
• GUI : developed using Swing primary GUI toolkit in
Netbeans
• The database storage-MySql.
Access the database or the data stored in DBMS systems
using Java Database Connectivity (JDBC).
The combination of the Java API & JDBC API makes
application development easy and cost effective.
Algorithm used: as such no algorithm used. Only in
some part where sorting requires.
17. Black box testing
Black box testing also called functional testing and behavioral
testing, focuses on determining whether or not a program
does what it is supposed to do based on its functional
requirements. Black box testing attempts to find errors in the
external behavior of the code in the following categories:
Incorrect or missing functionality
Interface errors
Errors in data structures used by interfaces
Behavior or performance errors
Initialization and termination errors.
(since white box testing is implemented at unit level or the levels of the system , it might
not detect unimplemented parts of the specification or missing requirements.)
18. Decision Table Testing
We used Decision Table testing in Black box , since-
As this project mainly aims at GUI ,tables guarantee that
we consider every possible combination of condition
values.
Different inputs which result in different actions being
taken.
A business rule to test where there are different
combination of inputs which result in different actions
works iteratively-the table that is drawn in the first
iteration, acts as a stepping stone to derive new decision
table(s), if the initial table is unsatisfactory.
19. Employee-Login
Rules
Email id Y Y N N
Conditions
Password Y N Y N
Redirects to Employee page Y N N N
Outcomes
Login Y N N N
Allocate funds
Rules
Manager Login Y N Y N
Conditions
Employee ID Y Y N N
Outcomes Display of message in submitted Y N N N
area
20. Future Scope
Extra Functionalities:
Graphical representation of data
Integration with external mail API
Notifications or alerts
Setting limits on expenditure in each category
Security & flexibility:
Hashing of passwords with two tier confirmation before
acceptance of request
Different classes of span of control non-unique username ids
21. Conclusion
Efficient way of dealing with all the daily business &
personal expenses.
Reduces the time-consuming traditional paper work.
Generates the report according to the specified format
with graphical representation.
Helps in managing the future expenditures.
Overall, it enables an organization to have greater
management control, bring transparency to
expense spend and improve adherence to corporate
policy.