Table of Contents

Definitions

Problem Statement

Concept Sketch

System Block Diagram

System Description

RATS Front-End Application:

RATS Web Server:

RATS Database:

Operating Environment

End-User Environment

Host Environment

User Interface Description

Top Zone

Left Zone

Content Zone

Functional Requirements

Non-Functional Requirements

Market and Literature Survey

Deliverables

RATS Application

Documentation

Work Plan

Work Breakdown Structure

Documentation

Design of System

Research of Technologies

Setup

Development

Testing

Hours Breakdown

Resource Requirements

Project Schedule

February 2009 – May 2009

August 2009 – December 2009

Risks

Learning Curve of New Technologies:

Communication with Client:

Integration with T2 and Sugar Databases:

Integration with Zirous’ System

Scope Creep

Project Summary

Definitions

RATS / Resource Application Tracking System
Sugar / Project Information Database
T2 / Time Tracking Database
User / End-user using the system. A Zirous Inc. Manager
Zirous Incorporated / Client Company. Oracle Consulting Partner.

Problem Statement

Zirous Inc. needs an application to track their numerous projects and the personnel that works on them. This application must allow easy updating and reporting of resource allocations. The application needs to allow staff to create a profile for each employee which includes their schedule. A web-interface is needed to allow employee managers and project managers to enter new projects and allot time for an employee on the project. These managers would also be able to run reports on a calendar, project and employee basis in order to monitor the assigned allocations. Also, the application will need to display a status for each employee that will allow users to quickly identify that employee’s capacity.

Concept Sketch

System Block Diagram

System Description

The RATS system is completely software based and will be implemented on Zirous’ already existing computer/networking system.

RATS Front-End Application:

The front end will be created using Java and AJAX technologies. It will be completely web based so that users can log in from virtually anywhere with an internet connection and utilize the system.

RATS Web Server:

The web server will be an Oracle Application web server which will utilize OC 4 J. This web server will connect with the front end using Apache Struts2. Hibernate will be used in order for RATS to utilize its own database as well as those of T2 and Sugar. This web server will operate on Zirous’ network once the project is complete.

RATS Database:

The RATS database will be an Oracle XE Database. It will contain all the information for each user, resource (employee) and project.

Operating Environment

End-User Environment

The end users will be the Managers at Zirous Inc. Due to the nature of the project, RATS must be accessible from a web-browser connected to the Internet. Currently, the browsers with the largest market shares are Microsoft Internet Explorer, Mozilla Firefox, Safari and Chrome. Zirous has specified that RATS need work only in Microsoft Internet Explorer and Mozilla Firefox.

The specific operating system of the computer that IE or Firefox is running on is irrelevant. The computer only needs to be able to run IE or Firefox.

Host Environment

The end product will require an Oracle Application web-server and an Oracle XE database. These are tools widely used in web development and they have been chosen by Zirous. Since the end goal is to deliver the working product to Zirous, the Oracle Application web-server and Oracle XE database will be located on Zirous property.

User Interface Description

The user interface for the system will be a simple web layout. It shall consist of 3 different zones.

Top Zone

The top zone will contain a rectangular image to brand the website. This zone will serve no functional purpose, and the goal of it is to make the layout of the site look better.

Left Zone

The left zone will be used to contain the navigation links of the website. Links will be listed in a vertical fashion. From any web page, the navigation links in this zone will allow access to any other page on the site.

Content Zone

The content zone of the site shall be to the right of the left zone, and underneath the top zone. It will be responsible for displaying the contents of the page. The content within this zone will be changed the most out of any of the zones.

Functional Requirements

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.
FR01.4:Report Generation.

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.
FR03.3:Practice Area Manager.

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.

Non-Functional Requirements

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:

  • Java
  • Oracle XE
  • Oracle Application/ OC 4 J
  • Apache Struts2
  • Hibernate
  • Apache Ant
  • AJAX

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.

Market and Literature Survey

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 wantsan 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.

Deliverables

RATS Application

  1. RATS Source Code

The RATS Source code will be the complete source code for the entire application. This will include the code that was used to build the application that will also be delivered.

  1. Integrated with Zirous’ computer system

The RATS application will be setup and tested within the production environment. This will ensure maximum usability for Zirous Inc.

Documentation

  1. Design Document
  2. Database Design

This will be a graphical document that will show the different tables of the RATS database and how they relate to each other.

  1. Explanation of Integration with T2 and Sugar

This will be a document that explains how the RATS application obtains its information from Sugar and T2 down to a technical level so that it will be easy to modify the way RATS interacts with T2 and Sugar in the future.

  1. Web GUI Design

This will be a document that explains and depict the layout of all the web forms contained within the RATS application.

  1. UML Diagrams

These diagrams will depict the different classes and objects and how they relate to each other. It will also show specific variables and methods of each class and show how those methods and variables interact with other classes.

  1. User Manual

The user manual will be a document that explains how to use the RATS application and cover all normal functionality that the application should provide. This will be step-by-step directions so that anyone will be able to look through the manual and understand how to use the RATS application.

  1. JavaDocs

The Javadocs will be included because they will help to understand the source code. They are included because as part of any project in Java, they are essentially part of the code. These will help with in the future if Zirous Inc. wishes to expand the applications

Work Plan

Work Breakdown Structure

There are six main pieces of work that must be broken down for this project.

  1. Documentation
  2. Design Of System
  3. Research of Technologies
  4. Setup of Development and Production Environment
  5. Development
  6. Testing

The first three pieces of work will take place in the first semester (Spring 09) and the last three pieces of work will take place in the second semester (Fall 09) of this project. On average we plan to work for two hours a day, per person.

Documentation

Task / Duration / Start / Finish
Final Project Plan Report / 8 days / 2/18/09 / 2/27/09
Draft Design: Presentation / 9 days / 3/31/09 / 4/10/09
Final Design Report / 10 days / 4/13/09 / 4/24/09
Bound (Plan and Design) Report / 6 days / 4/27/09 / 5/4/09

Design of System

Task / Duration / Start / Finish
Interface Design / 14 days / 3/2/09 / 3/19/09
Report Design / 14 days / 3/2/09 / 3/19/09
Database Design / 21 days / 3/2/09 / 3/30/09

Research of Technologies

Task / Duration / Start / Finish
Oracle Application Server/ OC 4 J / 62 days / 2/12/09 / 5/8/09
Apache Struts2 / 62 days / 2/12/09 / 5/8/09
AJAX / 62 days / 2/12/09 / 5/8/09
Hibernate / 62 days / 2/12/09 / 5/8/09
JSP / 62 days / 2/12/09 / 5/8/09

Setup

Task / Duration / Start / Finish
Setup Development Environment / 5 days / 8/17/09 / 8/21/09
Setup Production Environment / 14 days / 11/12/09 / 12/1/09

Development

Task / Duration / Start / Finish
Interface with Sugar / 14 days / 8/24/09 / 9/10/09
Interface with T2 / 14 days / 8/24/09 / 9/10/09
Web Forms / 28 days / 9/11/09 / 10/20/09
Report Generation / 21 days / 8/24/09 / 9/21/09

Testing

Task / Duration / Start / Finish
Unit Testing / 14 days / 10/21/09 / 11/9/09
Acceptance Testing / 14 days / 10/21/09 / 11/9/09
Integration Testing / 7 days / 12/2/09 / 12/10/09

Hours Breakdown

Task / Tyler
Lamb / Kirk
Olson / Ben
Petersen / James
Woestman / Totals
1 / Documentation / 50.75 / 50.75 / 50.75 / 50.75 / 203
2 / Design of System / 50.75 / 50.75 / 50.75 / 50.75 / 203
3 / Research / 101.5 / 101.5 / 101.5 / 101.5 / 406
4 / Setup / 25 / 25 / 25 / 25 / 100
5 / Development / 128 / 128 / 128 / 128 / 512
6 / Testing / 50 / 50 / 50 / 50 / 200
406 / 406 / 406 / 406 / 1624

Resource Requirements

There are few physical requirements for this project because it is purely software based. However, the major item that we need to accomplish this project is a server to store the database and to host the web pages. It is definitely needed for deployment, and either the same server or another one is needed which we will have constant access to for development so that we can test our code. These servers must be an Oracle Application server and an Oracle Database XE server. They must also include the ability to use Hibernate, Apache Struts2, and JAVA as these are tools which Zirous wants the system to be built with.

Project Schedule

February 2009 – May 2009

August 2009 – December 2009

1

Risks

Learning Curve of New Technologies:

Zirous Inc. would like to have the applications utilize the following technologies: Java, Oracle Database XE, Oracle Application/ OC 4 J, Apache Struts2, Hibernate, Apache Ant and AJAX. None of our group members have experience with Oracle Database XE, Hibernate, Oracle Application/ OC 4 J. These technologies in particular will need to be studied and worked with in order for our team to be comfortable working with. With the exception of Java, there isn’t a technology that all of our group members are proficient in. Each group member will need to spend time with the technologies foreign to them.

Communication with Client:

Our client, Zirous Inc., is located in West Des Moines, while the RATS team is located in Ames, IA. Also our team is comprised of students and our schedules do not allow us very many opportunities to visit Zirous Inc. during business hours, especially with the travel time. A lot of communication will have to be done with email, which is made easier since this is a software project and we will not be developing any hardware. Also, one of Zirous’ employees assigned to oversee this project, Luke Wenz, currently lives in Ames, IA and we will be able to meet with him face to face throughout this project.

Integration with T2 and Sugar Databases:

The RATS system must work with information from two systems that Zirous Inc currently uses: T2 and Sugar. T2 is used to collect information about current projects and their assigned resources and Sugar is used to collect information about future projects that Zirous Inc may or may not acquire. Our team as well as the Zirous employee’s assigned to this project are not sure exactly how T2 and Sugar utilize their databases. Until we find out we will not know what needs to be done or how long it will take to integrate RATS with these two databases. In order to reduce this risk we will be researching this area early, even though the actual integration won’t happen until later in the project.

Integration with Zirous’ System

Once RATS is completed it will need to be integrated into Zirous’ computer system. We are unfamiliar with Zirous’ computer set-up and currently not sure of how to integrate RATS into it. Similar to our approach with the integration with T2 and Sugar’s databases we will be researching this area early even though the actual integration won’t happen until later in the project.

Scope Creep

Zirous is discussing additional features that could be implemented but have not come to a final conclusion yet. For example, one of the additional features that could be added is the ability to track each users skill set. This risk can be mitigated by disallowing any additional changes after the design document has been completed and approved. If the project does finish ahead of schedule this could be changed.

Project Summary

Zirous is a growing company and needs a flexible solution to manage their employee workload. RATS will be a custom and easy to use application to solve this problem. This is an excellent alternative to the current excel spreadsheet that will be able to adjust automatically to the needs of Zirous. Since RATS will be able to integrate with the existing T2 and Sugar databases it will eliminate the need to manually enter information about projects and resources, allowing managers to spend their time on more productive activities.

1