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 ]
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.
Aims and Objectives Improving finance management controlImport & Export Generate expenditureamount activities by different categories Expense Management Automation GraphicalRepresentation Schedule Payments Reducing Paper- work
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.
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.
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.
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
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.
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. Display2. Add money3. Spend/subtract money4. Approve (used by manager)5. Categorize the expense
User System InteractionOur 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.
Implementation PhaseSoftware 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.
Black box testingBlack box testing also called functional testing and behavioraltesting, focuses on determining whether or not a programdoes what it is supposed to do based on its functionalrequirements. Black box testing attempts to find errors in theexternal 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 mightnot detect unimplemented parts of the specification or missing requirements.)
Decision Table TestingWe 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 actionsworks 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.
Employee-Login Rules Email id Y Y N NConditions Password Y N Y N Redirects to Employee page Y N N NOutcomes Login Y N N N Allocate funds Rules Manager Login Y N Y NConditions Employee ID Y Y N N Outcomes Display of message in submitted Y N N N area
Future ScopeExtra Functionalities: Graphical representation of data Integration with external mail API Notifications or alerts Setting limits on expenditure in each categorySecurity & flexibility: Hashing of passwords with two tier confirmation before acceptance of request Different classes of span of control non-unique username ids
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.