Presentation is loading. Please wait.

Presentation is loading. Please wait.

Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.

Similar presentations


Presentation on theme: "Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008."— Presentation transcript:

1 Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008

2 Introduction Expense Tracking System is a 3-tier web based application developed to fulfill the requirement of the Dynamic Software Architecture course. The main purpose of this application is to track all the expenses made by a user. The user can generate report of his expenses based on the transaction date of the expenses or category of items.

3 Assumptions One user can have only one account. One category can have many items. Each user can define his own category list. When a user opens an Account at the first time, the balance will be zero. One transaction has only one item. User can generate the expense report based on the transaction date or category type.

4 Functional requirements Register a new User for a new Account Login User Add balance to the account Create Item Category Create Transaction –Add item name, price, description and the purchase date in the transaction View Report –View all transaction by transaction date –View Transaction by category

5 Non-functional requirements User Location varies –Web based system -> 3 tiers Security –User Authentication –HTTPS –Encrypting password in the database Performance –Load Balancing using web servers and application servers. –Separating the Database layer with the Business layer and Application layer.

6 Design decision Database Design Figure: Database schema This is the common database schema used by all the groups. In this schema, we have separated the Transaction and Items entity, this is because we want to keep track of items. And also each user has his own categories list.

7 Design decision (cont..)‏ User Interface Design we have designed the user interface by using JSP. Figure: Screenshot of user interface

8 Design decision (cont..)‏ Application Design This is the overall application design of our project. We have created controller of each view. All the controller interacts with a business layer which acts as a façade. all the database queries are in the Data Access Layer which gives the facility of single point access. The DBwrapper is database connection module.

9 Architectural decision 3-tier application –The overall system logic has been decentralizes into 3 tiers i.e view and its controller, business logic and the database logic. Web based application –The application is deployed in a web server which is then access by client computers through web-browser.

10 Architectural decision (cont..)‏ Performance –To keep the system’s performance we have created one application server and one web server. But in future we are planning to deploy on two web servers and application servers for load balancing. So if one server gets a lot of request then the other server can reduce the load by sharing the request load among them.

11 Realization decision Application platform –We have used Java technology and JSF framework. The Prototype javascript library is used to take care of our Ajax calls. Database –The SQL Server 2005 Express edition is used as a Database. This is because it is license free and it has a better transaction support than MS Access.

12 Realization decision (cont..)‏ Application server –Apache Tomcat 6.1 is used as a container in this project. This is because it is license free and very compatible with the java technology. Web server –The Apache web server is used in this project. We used this because it is very compatible to work with Tomcat Application Server.

13 Architectural styles used Classical styles –Event based, implicit invocation In our project the JSF framework handles all the events. When an event arises, the observer of that event which is the Faces Servlet, will invoke the method in the Controller. –Layered We have used the following layers, –Web Server (Apache)‏ –Application Server (Tomcat)‏ –Database layer (SQL Server Express edition)‏ –Façade We have created a BusinessManager.java class as a Façade which interacts with all the controllers. So the application layer just deals with the façade. + PROGRAM TO INTERFACE

14 Architectural styles used (cont..)‏ Modern styles –Ajax (RIA)‏ The Prototype javascript library is used to take care of our Ajax calls. We have used Ajax in a very small part of our project. While adding balance, we don’t send all the information in the page to the server, we just send the balance entered by the user by using Ajax. –Web-based 3-tier The 3-tier used in our project are –web server (Apache)‏ –Application Server (Tomcat)‏ –Database server (SQL Server Express edition)‏ –Configurable The configurable system enable the user to modify the application externally so users can easily change the behavior or the settings of the application. In our application, we have defined all the configuration in web.xml file.

15 Design Patterns Façade pattern: –Façade pattern is implemented in the system in the business logic layer. Controller do not have to access to the detail of the business logic layer. It just to need to communicate with the façade. The façade is implemented by BusinessMgr.java. Observer pattern: –The transaction manager notifies any registered observer when the balance goes below zero or in negative amount during transactions. The observer for this process is BalanceCheck class.

16

17

18 Uncompleted objectives We have not separated the Tomcat with the Apache web server for load balancing. We have not created Secure Socket layer (SSL) for the client request. Internally we have made a system which can add many items in one transaction. But because of the time bound we have not shown this feature.

19 Thank You!


Download ppt "Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008."

Similar presentations


Ads by Google