team members tyler lamb kirk olson james woestman irp presentation client zirous inc. faculty...

Download Team Members Tyler Lamb Kirk Olson James Woestman IRP Presentation Client Zirous Inc. Faculty Advisor Tien Nguyen 1

If you can't read please download the document

Upload: rolf-watson

Post on 08-Jan-2018

214 views

Category:

Documents


0 download

DESCRIPTION

3

TRANSCRIPT

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 isnt 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 1Documentation Design of System Research Setup Development Testing 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 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 Dont 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