resource allocation tracking system final design presentation

33
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

Upload: yama

Post on 06-Feb-2016

41 views

Category:

Documents


0 download

DESCRIPTION

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. Problem and Need Statements. Problem - PowerPoint PPT Presentation

TRANSCRIPT

Slide 1

Resource Allocation Tracking SystemFinal Design PresentationDec 0909

Client: Zirous Inc.

Faculty Adviser: Tien Nguyen

Team Members:Kirk OlsonTyler LambJimmy WoestmanBen Petersen

1Problem and Need StatementsProblemZirous 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.NeedAn easy to use web application to track employees and projects. Reports need to be easily generated based on the submitted tracking information.

2Functional RequirementsFR01: 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 personnel attributes.FR02.3:Edit project attributes.FR02.4: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.

3Non-Functional RequirementsNFR01: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 Struts2ToplinkApache AntAJAXNFR06: 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.

4Market and Literature SurveyResource Tracking applications currently do existZirous wants a custom built application that will interface with their internal software

5DeliverablesRATS ApplicationRATS Source CodeIntegration manualUser ManualDocumentation67

Project Timeline

RisksLearning CurveMany 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 ClientZirous Inc. is located in Des Moines. Our schedule of available time is the opposite of theirs.Integration with T2 and SugarWill need to learn how to connect to external databases and be able to work with the data given to us.

8System Architecture

9

User Interface Specification1: Navigation BarThe 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 CrumbsThis will contain links to the last pages the user has visited.

10

The Homepage11

The Homepage Description1: Filter CriteriaHere the user can enter any criteria they wish to filter by. Pressing Filter regenerates the Resource Grid below.2: Resource GridEvery Resource is listed in this grid, with their name also being a link to their specific Employee Project page. The grid lists the Resources 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 Projects 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: KeyThis 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 FileWhen 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).

12Create A Project Page13

Create A Project DescriptionThe Client, Project Name and Project Manager are already tied together in the T2 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.

14Time and Percentage Update Subpage15

Time and Percentage Update Subpage Description1: Title BarThis simply lists the Client, Project Name and Resource Name that is currently being modified. It is listed so that the user doesnt have to scroll to the top of the page if he/she forgets.2: Date, Rate and PercentageHere 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 Resources 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 ListingsHere 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.

16The Update A Project Page17

Update Project Page Description1: Project FieldsThe fields Client, Project Name and Project Manager are tied together in the T2 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 Projects information.2: Add ResourceThis 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 CloseClicking 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 ProjectClicking 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 ListThis list will contain all the Resources assigned to the Project. Clicking Remove will remove the Resources assignment to the Project. Clicking Edit will cause the Time and Percentage Update sub-page to be displayed below. 6: Time and Percentage Update AreaThis 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.

18The All Projects Page19

All Projects Page Description1: Filter CriteriaThe user may enter any criteria he/she wishes to filter by. Pushing the Filter button regenerates the Project Grid below.2: Project GridThis 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: KeyThis 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 FileWhen 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).

20The Employee Page21

Employee Page Description1: ReturnThis 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 FilterA 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 ListWhen 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 Project. 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 AreaThis 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. 22Use CasesLoginLogoutUse Case Name:LoginScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders and Interests:Zirous Inc. Wants only authenticated users to access RATS.Zirous Manager Wants to be able to login.Preconditions:N/ASuccess Guarantee:Zirous Manager is logged in.Main Success Scenario:User navigates to RATS login page.User enters username and password.User selects login.System authenticates User.User is redirected to RATS home page.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.4a. System unable to authenticate user.System displays friendly login error message.Return to Step 2.Use Case Name:LogoutScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders and Interests:Zirous Inc. Wants users to logout to prevent unwanted access.Zirous Manager Wants to exit system.Preconditions:User logged in.Success Guarantee:User is successfully logged out.Main Success Scenario:User selects log out.System logs out user.System displays logout confirmation.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.23Use Cases Cont.Create A ProjectAssign Employees To ProjectUse Case Name:Create ProjectScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders and Interests:Zirous Inc. Wants to be able to track projects.Zirous Manager Wants to be able to create projects to track the status.Preconditions:User logged in.User is viewing the Create Project page.Success Guarantee:A new project is created.Main Success Scenario:User selects Client [Required]Users enter the Program Name [Optional]Users selects a Project from that Client [Required]Users enters a description of the Project [Optional]User selects a Project Manager. [Required]User sets the Project Status [Required]Users enters the Budget [Optional]Users selects a Start Date [Required]Users selects an End Date [Optional]Users hits SaveNew Project is saved to Database.Extensions:*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 Save1. If all required fields are not set, Systems display message prompting user to fill out all required fields.10a. System encounters error saving to Database.System rolls back save to Database.Use Case Name:Assign Employees to ProjectScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders and Interests: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 PageSuccess Guarantee:Employees are successfully assigned to target project.Main Success Scenario:User selects Project.System redirects user to Update Project Page.System populates Project Information.User selects Employee to Add.User selects Add Resource.System displays Add Resource To Project section of Update Project Page.User enters Start Date, End Date, Hourly Rate and Allocation Percentage for Employee.Users selects Save Time PeriodSystem adds time period and clears input fields.User repeats steps 4 through 10 until all desired Employees have been added.Users selects SaveSystem saves unsaved Employee(s) assignment to the Project.System removes the Add Resource To Project section of the Update Project Page.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.7-9a. User selects Close1. System removes the Add Resource To Project section of the Update Project Page.5a. User selects Add Like1. User selects another Employee2. System adds First employee to project with same time settings as second employee.3. User continues at step 10.9a. System encounters error saving to Database.System rolls back save to Database.24Use Cases Cont.Remove Employee From ProjectUpdate ProjectUse Case Name:Remove Employees from ProjectScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders and Interests: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:User selects Project.System redirects user to Project Details page.System populates Project Details page.User selects Remove next to desired EmployeeSystem Removes Employee from the Project.User repeats steps 4-5 until satisfied.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.8a. System encounters error saving to Database.System rolls back save to Database.Use Case Name:Update ProjectScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders and Interests: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:User selects Project to Update.System populates Project Details.User modifies Project information.User selects Save.System saves altered Project data.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.5a. System encounters error saving to Database.System rolls back save to Database.System informs user of saving error.System logs error.25Use Cases Cont.Remove ProjectEdit EmployeeUse Case Name:Remove ProjectScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders 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.Preconditions:User logged in.User on the All Projects Page.Success Guarantee:Information about the Project is successfully altered.Main Success Scenario:User selects a project.System redirects user to Project Details page.User selects Remove.System displays a popup confirmation. User selects Ok.System completely removes project from RATS database.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.6a. System encounters error removing project from Database.System rolls back changes to database.System informs user of removing error.System logs error.Use Case Name:Edit EmployeeScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders and Interests: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.Preconditions:User logged in.User on the All Employees page.Success Guarantee:Information about employee successfully altered.Main Success Scenario:User selects Employee.System redirects user to Employee Details pageSystem populates Employee Details page.User modifies Employee informationUser selects save.System saves altered employee data.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.6b. System encounters error saving to Database.System rolls back save to Database.System informs user of saving error.System logs error.26Use Cases Cont.Generate Project Status ReportGenerate Resource Allocation ReportUse Case Name:Generate Project Status ReportScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders 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.Preconditions:User logged inUser is viewing All Projects pageSuccess Guarantee:Report is generated for user to view or save.Main Success Scenario: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.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.Use Case Name:Generate Resource Allocation ReportScope:RATSLevel:UserPrimary Actor:Zirous ManagerStakeholders 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 the Home page.Success Guarantee:Report is generated for user to view or save.Main Success Scenario: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.Extensions:*a. System Error: 1. System displays friendly error message.2. System logs error.27User PrivilegesManagerEmployeeSince 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.

28Class Diagram29

Database Schema30

Software SpecificationsTechnologyVersionDescriptionJAVA1.6The Programming language the application will be coded and compiled in.OC4J10.1.3This is the server side application that serves the JSP pages and handles the incoming connections and handles the sessions and other web server tasks.Struts2.1.6This technology is responsible for separating the view and controller from the model.Toplink 10.1.3.1This is an object relation tool that translates database tables into programming objects.Oracle XE Database 10A database application that will store information in tables and be able to query information on those tables.AJAXA 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 Ant1.7.1A technology that defines the build process for a Java project. It is used to simplify building and deployment.JUnit4A unit testing technology for JAVA. Allows for the creation of test methods to test various aspects of a JAVA application.dJunitA code coverage tool. Works in conjunction with JUnit to show how much of the JAVA source code was covered during the unit tests.31Test PlanMain method of testing will be Unit TestingJUnitTest the boundaries of values and methodsEnsure individual methods workUsing DJUnit as a code coverage tool.User Acceptance Testing with Zirous Inc.Integration Testing with Production Environment at Zirous Inc.

32Questions?33