Resource Allocation Tracking System Final Design Presentation Dec

  • Slides: 33
Download presentation
Resource Allocation Tracking System Final Design Presentation Dec 0909 Client: Zirous Inc. Faculty Adviser:

Resource Allocation Tracking System Final Design Presentation Dec 0909 Client: Zirous Inc. Faculty Adviser: Tien Nguyen Team Members: Kirk Olson Tyler Lamb Jimmy Woestman Ben Petersen 1

Problem and Need Statements �Problem �Zirous Inc. is a growing company whose employees are

Problem and Need Statements �Problem �Zirous 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. �Need �An easy to use web application to track employees and projects. Reports need to be easily generated based on the submitted tracking information. 2

Functional Requirements FR 01: Provide a web interface that allows managers to view project

Functional Requirements FR 01: Provide a web interface that allows managers to view project and resource information. FR 01. 1: Resource Utilization Overview. FR 01. 2: Project Overview. FR 01. 3: Personnel Overview. FR 02: Provide a web interface to allow Managers to modify personnel and project information. FR 02. 1: Add new personnel to a project. FR 02. 2: Edit personnel attributes. FR 02. 3: Edit project attributes. FR 02. 4: Update project progress. FR 03: Provide printable reports. FR 03. 1: Resource Availability Report. FR 03. 2: Client Program/Project Report. FR 04: Interface with T 2 database to retrieve personnel information. FR 05: Interface with Sugar database to retrieve project information. FR 06: RATS must use Zirous’ existing LDAP lookup for secure user authentication. 3

Non-Functional Requirements NFR 01: RATS must be able to be accessed from any location

Non-Functional Requirements NFR 01: RATS must be able to be accessed from any location with internet access. NFR 02: RATS must be able to scale as Zirous grows in size. NFR 03: RATS must be easier to use than the current spreadsheet solution. NFR 04: RATS must be able to handle multiple concurrent users using the system. NFR 05: The following technologies must be utilized: Java Oracle XE Oracle Application/ OC 4 J Apache Struts 2 Toplink Apache Ant AJAX NFR 06: The web interface must be responsive to user input. NFR 07: RATS must be developed in a manner that makes it easy to maintain and improve in the future. 4

Market and Literature Survey �Resource Tracking applications currently do exist �Zirous wants a custom

Market and Literature Survey �Resource Tracking applications currently do exist �Zirous wants a custom built application that will interface with their internal software 5

Deliverables �RATS Application �RATS Source Code �Integration manual �User Manual �Documentation 6

Deliverables �RATS Application �RATS Source Code �Integration manual �User Manual �Documentation 6

Project Timeline 7

Project Timeline 7

Risks �Learning Curve �Many technologies must be used that are new to the team.

Risks �Learning Curve �Many technologies must be used that are new to the team. Will need to learn how they work and how to use them effectively. �Communication with Client �Zirous Inc. is located in Des Moines. Our schedule of available time is the opposite of theirs. �Integration with T 2 and Sugar �Will need to learn how to connect to external databases and be able to work with the data given to us. 8

System Architecture 9

System Architecture 9

User Interface Specification 1: Navigation Bar The navigation bar contains direct links to Home,

User Interface Specification 1: Navigation Bar The navigation bar contains direct links to Home, Employee Projects and to Logout. The Projects link expands to a list of links: All Projects, Create Project and Update Project. 2: Bread Crumbs This will contain links to the last pages the user has visited. 10

The Homepage 11

The Homepage 11

The Homepage Description 1: Filter Criteria Here the user can enter any criteria they

The Homepage Description 1: Filter Criteria Here the user can enter any criteria they wish to filter by. Pressing Filter regenerates the Resource Grid below. 2: Resource Grid Every Resource is listed in this grid, with their name also being a link to their specific Employee Project page. The grid lists the Resource’s allocation percentage for each week. This percentage is an average for the week, so for example if a Resource has a day off, but is allocated 100% for the other four days of the week, his/her percentage would be 80%. The colors behind each percentage correspond to the Key above and are there to indicate the status of the project(s) the Resource is working on. When the user is filtering by a Client and/or Project, the percentages displayed will be specific to the filter. Also, when filtering this way, different background colors will be used that will indicate if the resource is allocated to other projects during the week. When the user hovers over a percentage block a list of all Projects that Resource is allocated to for the week will be shown in a pop-up window. This pop-up window will list each Project’s Status and percentage allocation of the Resource to that Project. This list will be sorted by Project status in this order: Closed/Won, Negotiation Review and finally Proposal Price Quote. 3: Key This key simply explains what each color in the grid means. Each color corresponds to a possible status of each project, Closed/Won, Negotiation/Review or Proposal Price Quote. Projects with statuses other than these three are not shown on this page. When the user is filtering by a specific Client and/or Project the key will change to reflect the new meanings of the colors. 4: Excel File When this button is pressed the user is prompted to download an Excel file containing the data shown in the grid below (a Resource Allocation report). 12

Create A Project Page 13

Create A Project Page 13

Create A Project Description � The Client, Project Name and Project Manager are already

Create A Project Description � The Client, Project Name and Project Manager are already tied together in the T 2 and Sugar Databases and cannot be changed in RATS. The drop-down fields for these pull the possible selections from those databases. Thus, if a Project is selected then the Client and Project Manager will be selected automatically. If a Client or a Project Manager is selected first, then only applicable Projects will be available in the Project Name drop-down menu. � The other drop-down field is Project Status and the possible selections are: Closed/Won, Negotiation/Review, Proposal Price Quote, Complete, Canceled and Invalid. � Clicking the Close Button will abandon any text that was selected or inserted and return the user to the previous page. Clicking Save will add the Project to RATS. If the user enters an invalid date or leaves a required field blank, then he will instead be prompted to fix those fields before saving. 14

Time and Percentage Update Subpage 15

Time and Percentage Update Subpage 15

Time and Percentage Update Subpage Description 1: Title Bar This simply lists the Client,

Time and Percentage Update Subpage Description 1: Title Bar This simply lists the Client, Project Name and Resource Name that is currently being modified. It is listed so that the user doesn’t have to scroll to the top of the page if he/she forgets. 2: Date, Rate and Percentage Here the user enters the start date, end date, hourly rate and allocation percentage for a new duration of time that the Resource is assigned to the Project. The Hourly Rate field will automatically be filled with the previous Hourly Rate for the Resource, as it will usually not change. The Allocation Percentage is the percentage of the Resource’s time that will be designated for this Project during the specified time period. Clicking Close will abandon any text inputted into the fields and close this sub-page. Clicking Save Time Period will add this time period to the list below. If the time periods overlap with any existing time periods then the user is instead prompted to enter different dates. If the time period covers a paid holiday then the time period is automatically broken into two time periods on both sides of the holiday and then added. 3: Time Period Listings Here all the existing time periods in which the Resource is assigned to the Project are displayed, along with the corresponding percentage and hourly rate. Clicking Edit will allow the user to modify the time period and clicking Remove will remove the time period assignment of the Resource. 16

The Update A Project Page 17

The Update A Project Page 17

Update Project Page Description 1: Project Fields The fields Client, Project Name and Project

Update Project Page Description 1: Project Fields The fields Client, Project Name and Project Manager are tied together in the T 2 Database. The data in these fields cannot be modified for a Project, but are instead used to select a specific Project. Once a Project is selected, text can be added or modified in any of the other fields. If the user navigates to this page by selecting a specific Project from another page, then this page is already loaded with that Project’s information. 2: Add Resource This field will allow the user to type in a Resource Name. The field will have auto-complete capability, so the user will only have to type in the first few letters of the Resource Name. Clicking Add Resource then adds the Resource to the list below. Clicking Add Like allows the user to select an already assigned Resource and then the new Resource is added with the same time periods and percentages (see Time and Percentage Update below). 3: Save or Close Clicking Save will save all the changes/additions to the RATS Database. Clicking Close will abandon all the changes/additions (if any) and return the user to the last page he/she was at. 4: Remove Project Clicking this will remove the Project from the RATS Database. A pop-up confirmation will first ask the user if he/she is sure they want to remove the Project. 5: Resource List This list will contain all the Resources assigned to the Project. Clicking Remove will remove the Resource’s assignment to the Project. Clicking Edit will cause the Time and Percentage Update sub-page to be displayed below. 6: Time and Percentage Update Area This area will initially be blank, but when a Project is selected then the Time and Percentage sub-page specific to the current Project and Resource will be displayed here. 18

The All Projects Page 19

The All Projects Page 19

All Projects Page Description 1: Filter Criteria The user may enter any criteria he/she

All Projects Page Description 1: Filter Criteria The user may enter any criteria he/she wishes to filter by. Pushing the Filter button regenerates the Project Grid below. 2: Project Grid This grid lists every project along with its corresponding Client, Manager, Start Date, End Date and number of Resources each week. The Client, Project and Manager names are also links to their corresponding Employee Project or Update Project page. The headers for each column can also be clicked with will sort the data by that field. The number of resources per week is calculated by the total number of Resource hours allocated divided by 40. The colors behind these numbers correspond to the status of the Project and are defined by the Key above it. Hovering over a Project Name will display a pop-up window with a list of all Resources assigned to that Project along with the total hours each Resource is assigned to that Project. This will be the total hours for the duration of the Project and will not be based on the search criteria. Also, hovering over a “Number of Resources” block will display a pop-up window with a list of Resources assigned to the Project that week along with the number of hours that each Resource is assigned to the Project for that week. 3: Key This key simply explains what each color in the grid means. Each color corresponds to a possible status of each project, Closed/Won, Negotiation/Review or Proposal Price Quote. Projects with statuses other than these three are not shown on this page. Also clicking any of the three statuses in the Key will sort the Projects in the grid by their status during the first week that is currently displayed. 4: Excel File When this button is pressed the user is prompted to download an Excel file containing the data shown in the grid below (an All Project report). 20

The Employee Page 21

The Employee Page 21

Employee Page Description 1: Return This button will allow the user to return to

Employee Page Description 1: Return This button will allow the user to return to the Resource Allocation Overview page if they navigated to this page by choosing an employee from the Resource Grid. 2: Resource Name Filter A Resource can be selected from the drop down menu. Clicking the Filter button displays the Employee Project List below for that Resource. If the user navigated to this page from the Resource Allocation Overview Page, then this page is already filtered for the specific Resource they chose. 3: Employee Project List When filtering by a Resource, a list of all the Projects that Resource is assigned to is displayed along with the Client, Project Manager and Status of that Projects with a status of Complete, Canceled or Invalid will not be displayed. Clicking a Project Name will cause the Time and Percentage Update sub-page to be displayed below. 4: Time and Percentage Update Area This area will initially be blank, but when a Project is selected then the Time and Percentage sub-page specific to the current Project and Resource will be displayed here. 22

Use Cases Login Use Case Name: Scope: Level: Primary Actor: Stakeholders and Interests: Preconditions:

Use Cases Login Use Case Name: Scope: Level: Primary Actor: Stakeholders and Interests: Preconditions: Success Guarantee: Main Success Scenario: Extensions: Logout Login RATS User Zirous Manager Zirous Inc. – Wants only authenticated users to access RATS. Zirous Manager – Wants to be able to login. N/A Zirous Manager is logged in. 1. User navigates to RATS login page. 2. User enters username and password. 3. User selects login. 4. System authenticates User. 5. User is redirected to RATS home page. *a. System Error: 1. System displays friendly error message. 2. System logs error. 4 a. System unable to authenticate user. 1. System displays friendly login error message. 2. Return to Step 2. Use Case Name: Scope: Level: Primary Actor: Stakeholders and Interests: Preconditions: Success Guarantee: Main Success Scenario: Extensions: Logout RATS User Zirous Manager Zirous Inc. – Wants users to logout to prevent unwanted access. Zirous Manager – Wants to exit system. User logged in. User is successfully logged out. 1. User selects log out. 2. System logs out user. 3. System displays logout confirmation. *a. System Error: 1. System displays friendly error message. 2. System logs error. 23

Use Cases Cont. Assign Employees To Project Create A Project Use Case Name: Scope:

Use Cases Cont. Assign Employees To Project Create A Project Use Case Name: Scope: Level: Primary Actor: Stakeholders and Interests: Preconditions: Success Guarantee: Main Success Scenario: Extensions: Create Project RATS User Zirous Manager Zirous Inc. – Wants to be able to track projects. Zirous Manager – Wants to be able to create projects to track the status. User logged in. User is viewing the Create Project page. A new project is created. 1. User selects Client [Required] 2. Users enter the Program Name [Optional] 3. Users selects a Project from that Client [Required] 4. Users enters a description of the Project [Optional] 5. User selects a Project Manager. [Required] 6. User sets the Project Status [Required] 7. Users enters the Budget [Optional] 8. Users selects a Start Date [Required] 9. Users selects an End Date [Optional] 10. Users hits Save 11. New Project is saved to Database. *a. System Error: 1. System displays friendly error message. 2. System logs error. *b. User selects Cancel: 1. No project is created, no new information put into database. 2. User returned to previous screen. *c. User selects Save 1. If all required fields are not set, Systems display message prompting user to fill out all required fields. 10 a. System encounters error saving to Database. 1. System rolls back save to Database. Use Case Name: Scope: Level: Primary Actor: Stakeholders and Interests: Preconditions: Success Guarantee: Main Success Scenario: Extensions: Assign Employees to Project RATS User Zirous Manager Zirous Inc. – Wants project and employee information to be up to date. Zirous Manager – Wants information to be accurate so they can correctly assign people to projects as well as keep track of their employees. User logged in. User on the All Projects Page Employees are successfully assigned to target project. 1. User selects Project. 2. System redirects user to Update Project Page. 3. System populates Project Information. 4. User selects Employee to Add. 5. User selects Add Resource. 6. System displays Add Resource To Project section of Update Project Page. 7. User enters Start Date, End Date, Hourly Rate and Allocation Percentage for Employee. 8. Users selects Save Time Period 9. System adds time period and clears input fields. 10. User repeats steps 4 through 10 until all desired Employees have been added. 11. Users selects Save 12. System saves unsaved Employee(s) assignment to the Project. 13. System removes the Add Resource To Project section of the Update Project Page. *a. System Error: 1. System displays friendly error message. 2. System logs error. 7 -9 a. User selects Close 1. System removes the Add Resource To Project section of the Update Project Page. 5 a. User selects Add Like 1. User selects another Employee 2. System adds First employee to project with same time settings as second employee. 3. User continues at step 10. 9 a. System encounters error saving to Database. 24 1. System rolls back save to Database.

Use Cases Cont. Remove Employee From Project Use Case Name: Scope: Level: Primary Actor:

Use Cases Cont. Remove Employee From Project Use Case Name: Scope: Level: Primary Actor: Stakeholders and Interests: Remove Employees from Project RATS User Zirous Manager Zirous Inc. – Wants project and employee information to be up to date. Zirous Manager – Wants information to be accurate so they can correctly assign people to projects as well as keep track of their employees. Preconditions: User logged in. User on the All Projects page. Success Guarantee: Employees are successfully unassigned from target project. Main Success Scenario: 1. User selects Project. 2. System redirects user to Project Details page. 3. System populates Project Details page. 4. User selects Remove next to desired Employee 5. System Removes Employee from the Project. 6. User repeats steps 4 -5 until satisfied. Extensions: *a. System Error: 1. System displays friendly error message. 2. System logs error. 8 a. System encounters error saving to Database. 1. System rolls back save to Database. Update Project Use Case Name: Scope: Level: Primary Actor: Stakeholders and Interests: Update Project RATS User Zirous Manager Zirous Inc. – Wants Project information to be up to date. Zirous Manager – Wants information to be accurate so they can correctly assign people to projects as well as keep track of their Projects. Preconditions: User logged in. User on the Update Project page. Success Guarantee: Information about the Project is successfully altered. Main Success Scenario: 1. User selects Project to Update. 2. System populates Project Details. 3. User modifies Project information. 4. User selects Save. 5. System saves altered Project data. Extensions: *a. System Error: 1. System displays friendly error message. 2. System logs error. 5 a. System encounters error saving to Database. 1. System rolls back save to Database. 2. System informs user of saving error. 3. System logs error. 25

Use Cases Cont. Remove Project Edit Employee Use Case Name: Remove Project Use Case

Use Cases Cont. Remove Project Edit Employee Use Case Name: Remove Project Use Case Name: Edit Employee Scope: RATS Level: User Primary Actor: Zirous Manager Stakeholders and Interests: Zirous Inc. – Wants Project information to be up to date. Zirous Manager – Wants to be able to remove a project that was created incorrectly or is no longer needed. Stakeholders and Interests: Preconditions: User logged in. User on the All Projects Page. Success Guarantee: Information about the Project is successfully altered. Zirous Inc. – Wants information about employees to be up to date. Zirous Manager – Wants information to be accurate so they can correctly assign people to projects. User logged in. User on the All Employees page. Main Success Scenario: 1. Extensions: User selects a project. 2. System redirects user to Project Details page. 3. User selects Remove. 4. System displays a popup confirmation. 5. User selects Ok. 6. System completely removes project from RATS database. *a. System Error: 1. System displays friendly error message. 2. System logs error. 6 a. System encounters error removing project from Database. 1. System rolls back changes to database. 2. System informs user of removing error. 3. System logs error. Preconditions: Success Guarantee: Information about employee successfully altered. Main Success Scenario: 1. 2. 3. 4. 5. 6. Extensions: User selects Employee. System redirects user to Employee Details page System populates Employee Details page. User modifies Employee information User selects save. System saves altered employee data. *a. System Error: 1. System displays friendly error message. 2. System logs error. 6 b. System encounters error saving to Database. 1. System rolls back save to Database. 2. System informs user of saving error. 3. System logs error. 26

Use Cases Cont. Generate Project Status Report Generate Resource Allocation Report Use Case Name:

Use Cases Cont. Generate Project Status Report Generate Resource Allocation Report Use Case Name: Generate Project Status Report Use Case Name: Generate Resource Allocation Report Scope: RATS Level: User Primary Actor: Zirous Manager Stakeholders and Interests: Zirous Inc. – Wants to be able to track the status of projects. Zirous Manager – Wants to be able to easily see Project information in order to help see Employee availability for other Projects and to track their current Projects. Stakeholders and Interests: Zirous Inc. – Wants to be able to track the status of employees. Zirous Manager – Wants to be able to easily see Employee information in order to help see Employee availability for other Projects. Preconditions: User logged in User is viewing All Projects page User logged in. User is viewing the Home page. Success Guarantee: Report is generated for user to view or save. Main Success Scenario: 1. 2. 3. 4. 5. Extensions: User selects Project Start Date, Project End Date Project Status [Optional] User selects Search [Optional] System displays all project information for given input criteria. User selects Generate Excel Report. System displays a download prompt window to download report in an Excel format. *a. System Error: 1. System displays friendly error message. 2. System logs error. 27

User Privileges Manager Employee �Since the RATS Web. Application is designed with the Zirous

User Privileges Manager Employee �Since the RATS Web. Application is designed with the Zirous Inc. Managers in mind, the “Manager” role is given the most privileges. A user of the “Manager” role can do anything in the RATS Application. � A User of the “Employee” role is not afforded as many privileges as a User of the “Manager” role. A User of the “Employee” role is allowed to access their own employee page as well as the page of any project the User has been allocated to. While on these pages the User is not allowed to enter any data or make any saves to the database. It is a read-only mode. 28

Class Diagram 29

Class Diagram 29

Database Schema 30

Database Schema 30

Software Specifications Technology JAVA Version 1. 6 OC 4 J 10. 1. 3 Struts²

Software Specifications Technology JAVA Version 1. 6 OC 4 J 10. 1. 3 Struts² 2. 1. 6 Toplink 10. 1. 3. 1 Oracle XE Database 10 AJAX Apache Ant 1. 7. 1 JUnit 4 d. Junit Description The Programming language the application will be coded and compiled in. 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. This technology is responsible for separating the view and controller from the model. This is an object relation tool that translates database tables into programming objects. A database application that will store information in tables and be able to query information on those tables. 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. A technology that defines the build process for a Java project. It is used to simplify building and deployment. A unit testing technology for JAVA. Allows for the creation of test methods to test various aspects of a JAVA application. A code coverage tool. Works in conjunction with JUnit to show much of the JAVA source code was covered during the unit tests. 31

Test Plan �Main method of testing will be Unit Testing �JUnit �Test the boundaries

Test Plan �Main method of testing will be Unit Testing �JUnit �Test the boundaries of values and methods �Ensure individual methods work �Using DJUnit as a code coverage tool. �User Acceptance Testing with Zirous Inc. �Integration Testing with Production Environment at Zirous Inc. 32

Questions? 33

Questions? 33