IRP Presentation - Senior Design

hopeacceptableΛογισμικό & κατασκευή λογ/κού

28 Οκτ 2013 (πριν από 3 χρόνια και 11 μήνες)

78 εμφανίσεις

Team Members

Tyler Lamb

Kirk Olson

James
Woestman

IRP

Presentation


Client

Zirous Inc.


Faculty Advisor

Tien

Nguyen


1

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


Solution


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.

2

3


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.

4

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.



5

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.



6


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.


7


RATS Application


RATS Source Code


Documentation


Design Document


User Manual


JavaDocs

8


Properly configured
OC4J

Server


Hibernate


Apache
Struts2


JAVA


Oracle
XE

Database


9

Spring 09

Fall 09

10

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

11


Learning Curve of New Technologies


Communication with Client


Integration with
T2

and Sugar Databases



Integration with Zirous’ System


Scope Creep


Loss of Team member

12


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
Struts
2

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
Struts
2

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.

13

Technology

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.

14


Input


Existing Databases


T2

(project information)


Sugar (employee information)


User created input from HTML Forms


Output


HTML


Excel files



15

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.


16


JUnit

unit testing


Tests methods individually


Boundaries of values


djUnit


Code coverage


Integration testing


User Acceptance testing


Ongoing

17


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

18

19


Consists of JSP pages.


Has no knowledge of where parameters came
from.


Only knows how to display information to
user.

20


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.

21


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

22

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.



23


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

24


25