resource allocation tracking system dec0909

25
Resource Allocation Tracking System Dec0909 Team Members Tyler Lamb Kirk Olson James Woestman IRP Presentation Client Zirous Inc. Faculty Advisor Tien Nguyen 1

Upload: jenski

Post on 21-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Resource Allocation Tracking System Dec0909. IRP Presentation. Client Zirous Inc. Team Members Tyler Lamb Kirk Olson James Woestman. Faculty Advisor Tien Nguyen. Problem & Solution. Problem - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Resource Allocation Tracking System Dec0909

1

Resource Allocation Tracking System

Dec0909

Team MembersTyler LambKirk Olson

James Woestman

IRP Presentation

ClientZirous Inc.

Faculty AdvisorTien Nguyen

Page 2: Resource Allocation Tracking System Dec0909

2

ProblemZirous Inc. is a growing company whose employees are working on numerous different projects. Managers are required to create and maintain reports on the progress and status of their employees, which are presented to upper management. The current solution is to create excel reports but this isn’t very extensible for the future and becomes difficult to manually maintain as the number of employees at Zirous Inc. continues to grow.

SolutionAn easy to use web application to track employees and projects is needed to solve this problem. This web application needs to be able to easily track the status and progress of projects as well as employees. Reports must be easy to generate from this data.

Problem & Solution

Page 3: Resource Allocation Tracking System Dec0909

3

System Overview

Page 4: Resource Allocation Tracking System Dec0909

4

Pages are built using JAVA Server Pages and JAVA Servlets.

AJAX is used to display dynamic content and reduce the network overhead. This provides a more seamless experience for the user.

IE 7 and Firefox 3 web browsers are supported.

User Interface & Operating Environment

Page 5: Resource Allocation Tracking System Dec0909

5

FR01: Provide a web interface that allows managers to view project and resource information.

FR01.1: Resource Utilization Overview.FR01.2: Project Overview.FR01.3: Personnel Overview.

FR02: Provide a web interface to allow Managers to modify personnel and project information.

FR02.1: Add new personnel to a project. FR02.2: Edit project attributes.FR02.3: Update project progress.

FR03: Provide printable reports.FR03.1: Resource Availability Report.FR03.2: Client Program/Project Report.

FR04: Interface with T2 database to retrieve personnel information.FR05: Interface with Sugar database to retrieve project information.FR06: RATS must use Zirous’ existing LDAP lookup for secure user

authentication.

Functional Requirements

Page 6: Resource Allocation Tracking System Dec0909

6

NFR01: RATS must be able to be accessed from any location with internet access.

NFR02: RATS must be able to scale as Zirous grows in size.NFR03: RATS must be easier to use than the current spreadsheet solution.NFR04: RATS must be able to handle multiple concurrent users using the

system.NFR05: The following technologies must be utilized:

JavaOracle XEOracle Application/ OC 4 JApache Struts2HibernateApache AntAJAX

NFR06: The web interface must be responsive to user input.NFR07: RATS must be developed in a manner that makes it easy to maintain

and improve in the future.

Non-Functional Requirements

Page 7: Resource Allocation Tracking System Dec0909

7

There are resource allocation solutions currently available for use. Some of which are stand alone programs such as Microsoft Project, these typically cost anywhere from $20 for a low end product to a few hundred dollars for a nicer one such as Project.

Besides the cost for decent ones Zirous wants an online system which can be accessed from anywhere with internet access. These do exist however most of them have a monthly subscription fee and a limit to the amount of projects and data you can store.

Along with these inconveniences the products would not allow Zirous to customize them to exactly what they want. So the only viable option for them was a custom made application just for their company.

Market and Literature Survey

Page 8: Resource Allocation Tracking System Dec0909

8

RATS Application◦ RATS Source Code

Documentation◦ Design Document◦ User Manual◦ JavaDocs

Deliverables

Page 9: Resource Allocation Tracking System Dec0909

9

Properly configured OC4J Server◦ Hibernate◦ Apache Struts2◦ JAVA

Oracle XE Database

Resource Requirements

Page 10: Resource Allocation Tracking System Dec0909

10

Project Schedule

Spring 09

Fall 09

Page 11: Resource Allocation Tracking System Dec0909

11

Work Breakdown

Task TylerLamb

KirkOlson

BenPetersen

JamesWoestman

Totals

1 Documentation 50.75 50.75 50.75 50.75 2032 Design of System 50.75 50.75 50.75 50.75 2033 Research 101.5 101.5 101.5 101.5 4064 Setup 25 25 25 25 1005 Development 128 128 128 128 5126 Testing 50 50 50 50 200

406 406 406 406 1624

Page 12: Resource Allocation Tracking System Dec0909

12

Learning Curve of New Technologies Communication with Client Integration with T2 and Sugar Databases  Integration with Zirous’ System Scope Creep Loss of Team member

Risks

Page 13: Resource Allocation Tracking System Dec0909

13

Rats employs a three-tiered architecture. We used the Model-View-Controller (MVC) architectural design pattern. In MVC terminology the “Model” is seen as the actual information in an application. The “View” is the user interface, everything that the user will see when using the application. The “Controller” manages communication between the Model and the View and also manipulates that data according to business rules.◦ Model: Oracle XE database, accessed using Hibernate. ◦ View: Java Server Pages (jsp) and Java Servlets◦ Controller: Struts2

The Struts2 framework encapsulates the View and Controller concepts of the MVC architecture. In order to render a page for the end user the user first requests the page from the server. The Struts2 Controller will then analyze the request and invoke the correct Action class to handle the request. The Action class will check the state of the application (the Model, accessed using Hibernate) and return an appropriate response through the View.

System Design

Page 14: Resource Allocation Tracking System Dec0909

14

SW SpecificationTechnology Version Description

JAVA 1.6 The Programming language the application will be coded and compiled in.

OC4J 10.1.3 This is the server side application that serves the JSP pages and handles the incoming connections and handles the sessions and other web server tasks.

Struts² 2.1.6 This technology is responsible for separating the view and controller from the model.

Hibernate 3 This is an object relation tool that translates database tables into programming objects.

Oracle XE Database 10 A database application that will store information in tables and be able to query information on those tables.

AJAX A concept that allows partial page updates on web pages. In a normal web application an entire post back must happen to update any content on the page. AJAX allows via scripting to send information to the server, receive the results and via Javascript update the contents of the page asynchronously.

Apache Ant 1.7.1 A technology that defines the build process for a Java project. It is used to simplify building and deployment.

JUnit 4 A unit testing technology for JAVA.  Allows for the creation of test methods to test various aspects of a JAVA application.

dJunit A code coverage tool. Works in conjunction with JUnit to show how much of the JAVA source code was covered during the unit tests.

Page 15: Resource Allocation Tracking System Dec0909

15

Input◦ Existing Databases

T2 (project information) Sugar (employee information)

◦ User created input from HTML Forms Output

◦ HTML ◦ Excel files

Input & Output Specification

Page 16: Resource Allocation Tracking System Dec0909

16

User Interface Specification

Pages were built using JAVA Server Pages and JAVA Servlets.

AJAX is used to display dynamic content and reduce the network overhead. This provides a more seamless experience for the user.

Page 17: Resource Allocation Tracking System Dec0909

17

JUnit unit testing◦ Tests methods individually◦ Boundaries of values

djUnit◦ Code coverage

Integration testing User Acceptance testing

◦ Ongoing

Test Plan

Page 18: Resource Allocation Tracking System Dec0909

18

A series of mockups were created and shown to Zirous for their approval.

Prototyping

Page 19: Resource Allocation Tracking System Dec0909

19

Model

Page 20: Resource Allocation Tracking System Dec0909

20

Consists of JSP pages. Has no knowledge of where parameters

came from. Only knows how to display information to

user.

View

Page 21: Resource Allocation Tracking System Dec0909

21

Consists of a struts.xml mapping file. Mapping Sequence:

◦ Server receives URL Request◦ Request is mapped to a Struts2 Action Class.◦ Action class does unit of work, sets up parameter

values, and returns a status string (“success”, “input”, “error”, etc..).

◦ Depending on the status string, parameter values are forward to a JSP view page that knows how to display the parameters.

Controller

Page 22: Resource Allocation Tracking System Dec0909

22

JUnit◦ All JUnit tests successfully passed before

providing copy of application to Zirous. Integration

◦ Some initial difficulty integrating systems◦ Issue with different version of JAVA

User Acceptance◦ Feedback Positive◦ Making changes in response to feedback

Test Results

Page 23: Resource Allocation Tracking System Dec0909

23

Conclusion Overall, we feel that we were successful in

completing and overcoming the difficulties presented to us in our project

Lessons Learned Don’t discount losing a member Spend more time in the first semester doing

research of unknown software technologies. Also utilize summer break to accomplish this.

Conclusions & Lessons Learned

Page 24: Resource Allocation Tracking System Dec0909

24

Implement bread crumbs feature Add skill sets to projects and employees Implement sorting of report tables Implement “Add Like” functionality on Add

Resource Page Integrate RATS more closely into T2 or

Sugar Implement more sophisticated security

functionality

Future Work

Page 25: Resource Allocation Tracking System Dec0909

25

Questions?