abstract zirous inc. is a growing company and they need a new way to track who their employees...

1
SOFTWARE DESIGN Resource Allocation Tracking System TEAM MEMBERS: Tyler Lamb, Kirk Olson, James Woestman FACULTY ADVISOR: Dr. Tien Nguyen CLIENT: Zirous Inc. ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue from managers getting overloaded from tracking all of their employees an application will be developed that will allow for quick and easy tracking of employee projects. For accessibly, the application will be developed as a website so that it can be accessed via the Internet. The application will be using the model-view-controller architecture that is common to many web applications. Employee and project information will be stored in a database that the web front end will access and render the information to the end user. Many of the technologies and programming languages in this application were chosen by Zirous Inc to be used in the application. The Resource Allocation Tracking System (or RATS) will be tested mainly using unit testing. This allows for individual points of functionality to be tested and verified for INTRODUCTION 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. 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 in Zirous Inc. continues to grow. An 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. REQUIREMENTS SUMMARY The RATS application will be a tool that will allow Zirous Inc. the chance to continue expanding by allowing managers to be able to much more effectively track their employees and projects in a easy to use fashion. The current system is difficult to maintain and as the company grows, the effort required to maintain the system goes up drastically. RATS will integrate with the current systems in use by Zirous Inc. and be able to interact with them seamlessly. PROJECT TIMELINE TESTING All unit testing will be done be done in our local development environment. Unit Testing was the main form testing used for this software application. Unit testing is the concept of isolating a single method or class and testing the functionality of that object. To perform these tests we used the JUnit testing framework. Unit testing also allows for regression testing for when new functionality is added to the software to ensure the original functionality remains intact. After the software has been developed, we will conduct a User Acceptance Testing session with Zirous Inc. Zirous Inc. will use RATS for a short period of time in a contained setting. We will take feedback from this session to improve the software and resolve any defects found. An example JUNIT Test Case TECHNICAL DETAILS To develop the RATS application, it will utilize a 3 stage development process. For the development environment each team member will have a local Apache server and connect to a centralized database server. Once the application is ready to be tested by Zirous Inc. it will be deployed to a quality assurance or staging environment. After the entire development cycle has been completed the RATS application will be deployed to a production environment which is where the application will be used exclusively by Zirous Inc. RATS utilizes the Struts2 Model-View-Controller Framework. Incoming requests are routed to the Struct2 Action Handling Framework. It decides which Action object shall handle the request. The Action will interface with the model to save and load information from the various databases to complete its unit of work. Once the action has completed, the Action Handling Framework forwards the data to an appropriate JSP view. The JSP is rendered as HTML and displayed to the user. The Action object doesn’t know where its data came from, nor where it goes after it is done. In this manner the separation of concerns in maintained. •Provide a web interface that allows managers to view project and resource information • Resource Utilization Overview • Project Overview • Personnel Overview • Provide a web interface to allow Managers to modify personnel and project information • Add new personnel to a project • Edit personnel attributes • Edit project attribute • Update project progress • Provide printable reports • Resource Availability Report • Client Program/Project Report •Interface with T2 database to retrieve project information • Interface with Sugar database to retrieve project information • RATS must use Zirous’ existing LDAP lookup for secure user authentication • RATS must be able to be accessed from any location with internet access • RATS must be able to scale as Zirous grows in size • RATS must be easier to use than the current spreadsheet solution • RATS must be able to handle multiple concurrent users using the system • The web interface must be responsive to user input • RATS must be developed in a manner that makes it easy to maintain and improve in the future The “Create A Project” Page

Upload: albert-hutchinson

Post on 26-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ABSTRACT Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue

SOFTWARE DESIGN

Resource Allocation Tracking SystemTEAM MEMBERS: Tyler Lamb, Kirk Olson, James Woestman FACULTY ADVISOR: Dr. Tien Nguyen CLIENT: Zirous Inc.

ABSTRACT

Zirous Inc. is a growing company and they need a new way to track who their employees working on various different projects. To solve the issue from managers getting overloaded from tracking all of their employees an application will be developed that will allow for quick and easy tracking of employee projects. For accessibly, the application will be developed as a website so that it can be accessed via the Internet.

The application will be using the model-view-controller architecture that is common to many web applications. Employee and project information will be stored in a database that the web front end will access and render the information to the end user. Many of the technologies and programming languages in this application were chosen by Zirous Inc to be used in the application.

The Resource Allocation Tracking System (or RATS) will be tested mainly using unit testing. This allows for individual points of functionality to be tested and verified for correctness and completeness. These unit tests, as well as the source code, will be delivered to Zirous Inc. so in the future if they wish to expand upon the application they may and be able to perform tests to ensure all the functionality is retained.

INTRODUCTION

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. 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 in Zirous Inc. continues to grow. An 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.

REQUIREMENTS

SUMMARY

The RATS application will be a tool that will allow Zirous Inc. the chance to continue expanding by allowing managers to be able to much more effectively track their employees and projects in a easy to use fashion. The current system is difficult to maintain and as the company grows, the effort required to maintain the system goes up drastically. RATS will integrate with the current systems in use by Zirous Inc. and be able to interact with them seamlessly.

PROJECT TIMELINE

TESTING

All unit testing will be done be done in our local development environment.

Unit Testing was the main form testing used for this software application. Unit testing is the concept of isolating a single method or class and testing the functionality of that object. To perform these tests we used the JUnit testing framework. Unit testing also allows for regression testing for when new functionality is added to the software to ensure the original functionality remains intact.

After the software has been developed, we will conduct a User Acceptance Testing session with Zirous Inc. Zirous Inc. will use RATS for a short period of time in a contained setting. We will take feedback from this session to improve the software and resolve any defects found.

An example JUNIT Test Case

TECHNICAL DETAILS

To develop the RATS application, it will utilize a 3 stage development process. For the development environment each team member will have a local Apache server and connect to a centralized database server. Once the application is ready to be tested by Zirous Inc. it will be deployed to a quality assurance or staging environment. After the entire development cycle has been completed the RATS application will be deployed to a production environment which is where the application will be used exclusively by Zirous Inc.

RATS utilizes the Struts2 Model-View-Controller Framework. Incoming requests are routed to the Struct2 Action Handling Framework. It decides which Action object shall handle the request. The Action will interface with the model to save and load information from the various databases to complete its unit of work. Once the action has completed, the Action Handling Framework forwards the data to an appropriate JSP view. The JSP is rendered as HTML and displayed to the user. The Action object doesn’t know where its data came from, nor where it goes after it is done. In this manner the separation of concerns in maintained.

•Provide a web interface that allows managers to view project and resource information• Resource Utilization Overview• Project Overview• Personnel Overview

• Provide a web interface to allow Managers to modify personnel and project information• Add new personnel to a project• Edit personnel attributes• Edit project attribute• Update project progress

• Provide printable reports• Resource Availability Report• Client Program/Project Report

•Interface with T2 database to retrieve project information• Interface with Sugar database to retrieve project information• RATS must use Zirous’ existing LDAP lookup for secure user authentication• RATS must be able to be accessed from any location with internet access• RATS must be able to scale as Zirous grows in size• RATS must be easier to use than the current spreadsheet solution• RATS must be able to handle multiple concurrent users using the system• The web interface must be responsive to user input• RATS must be developed in a manner that makes it easy to maintain and improve in the future

The “Create A Project” Page