DoG Ticket Trouble Ticket Web App By: David, Gabe, Trevor Group 4.

Post on 03-Jan-2016

216 views 2 download

Tags:

Transcript of DoG Ticket Trouble Ticket Web App By: David, Gabe, Trevor Group 4.

DoG Ticket

Trouble Ticket Web AppBy: David, Gabe, Trevor

Group 4

Product Definition

Introduction

• The DGT ticketing system is providing a simple solution to report, track and resolve computer related issues to students, teachers and faculty at the K-8 Chandler School located in Pasadena California.

Problem Description

• The primary business problems that are to be solved are:– To provide end users with a radically simplified method to

submit support requests to the support department.– To provide the technical support department with an

ongoing record of all support requests entered by end users.

– At this time the application will be used solely between users and the technical support department for the purpose of submitting trouble tickets. There are no plans to expand or extend the use of this application into other departments or for other purposes.

Rapid Prototype

• The System Overview (fig 1) is a level-0 DFD of the entire system. – On the left we have end users (represented by the student using a

computer) and on the right, a technical support staff member. – DoG Ticket is their primary mechanism for dealing with trouble

tickets. End users submit tickets to DoG Ticket and Technical Support Staff read those tickets and act based upon their contents.

– Continued on next slide…..

Rapid Prototype (cont.)

• The System Overview (fig 1) is a level-0 DFD of the entire system. – Likewise, both end users and technical support staff receive

updates and can make minor changes to tickets (hence the bi-directional arrows).

– DoG Ticket is being served by an Apache web server which in turn is being driven by data stored in a MySQL database.

Project Specification

Feasibility Analysis

• Are we on the right track?– Short answer, yes– Working code, essentially “on design”– Chandler School IT Department has reviewed and

is content with progress– Milestones have not slipped too far to jeopardize

project.

Feasibility Analysis

• Project Timeline (remaining)

Feasibility Analysis

• Problems/Risks– Difficult to coordinate during “off” hours• 3 team members all in fact-paced IT jobs• Geographically spread out

– “Look and feel” needs to be refined– Documentation process needs to be refined• Project binder needs to be updated• Consistent design needs to be chosen• Milestone review w/ make-up work

Overview of Planned Product

• Basic Requirements:– Chandler School (Trevor is IT Director) is in need of a

simple web-based trouble-ticket system. Commercial products are too cumbersome for their needs.

– Must be web-based and browser-independent– Must use free software

• Design Issues– LAMP Stack– Added Stronger Authentication

System Analysis

• 1st Level DFD (zoom on next slide)

System Analysis• Each process follows this data flow • Expand Further as system is refined

Project Design

Architecture Design

• The DGT ticketing system is designed as a client/server system whereby the client is any web browser that follows standards set by the World Wide Web Consortium. This means that that the system can be accessed by most of today's web enabled devices enabling access from potentially anywhere. The server runs the Linux operating system and uses an Apache web server to serve the web pages with the use of a server side scripting parser that interprets PHP code.

Module Interface Specifications

• The interface into the system is via a web browser client. The events that take place are completely user driven. Once authenticated, depending on the users level of access, several things can happen:– The user can log in to create a ticket– The user can log in to view an existing ticket– The user can log in to close/reopen a ticket– The user can log in to view all open tickets

Interface Example

• The first interface into the system is the Login page. This provides a secure gateway into the ticketing system.

Interface Example 2• The following page allows the user to do one of two things: 1) view an existing

ticket and 2) Create a new ticket. To view an existing ticket, the user enters the ticket number in a text box and clicks submit. The resulting page is a review page which displays to the user the Ticket ID, username on ticket, Problem description and ticket status. To create a ticket, the user selects “new Ticket” and enters comments into the Problem Description message box and then clicks submit. The resulting page will also show a review of the ticket.

Interface Example 2 (cont)

• The resulting page will also show a review of the ticket…..

Interface Example 3• If the user is an admin, they can access the admin page which

shows a complete list of all tickets in the system in a table. The admin user can quickly see which tickets are still open, when they were opened and also view a brief description.

Algorithm for important module• All of the modules are important; however, the entry form is the

form that will receive focus here:

• $_GET[“password”] && $_GET[“username”]– If set with matching entries in the database, will log user into the main

form.• mysql_connect(“HOST”,”aputickets”,”PASSWORD_REMOVED”);

– function connects to database and prepares the system for future queries

• mysql_query(“SELECT userid FROM users where password = $password)– if variable $password matches to userid then the user will be

authenticated otherwise access will be denied.

Algorithm for important module (cont)

• setcookie(“user”, userid, time()+3600– This function places a cookie on the users machine and calls it “user”.

It is associated to the domain where the ticketing system exists.– The value of the cookie is set to the userid– The cookie allows the user to continuously access the site for a period

of time specified in the cookie– The cookie currently expires after 1 hour.

• mysql_query( "SELECT username from users where userid = (SELECT userid FROM tickets where ticketno = $ticket_number )”)– This function will allow the user to retrieve a ticket only if the user

created the ticket• mysql_query( "INSERT INTO tickets VALUES ('','${user}','$

{description}','1',NOW(),'')" )– This function will create a new ticket in the database.

Miscellaneous

Successful experience to share

• It is very satisfying to go from an idea to coming close to an actual system. Being able to collaborate on this project and produce the ticketing system even with the limited time allotted and the varying schedules of the team members is a significant milestone for all those involved.

Legacy lesson to take

• Managing the limited resources and setting clear expectations on the work to be done and by whom is critical in meeting timelines keep the project moving forward. Beyond resource allocation managing time is critical due to the fact that the members meet face to face once a week. Constant communication is necessary to keep team members updated and on track with their responsibilities.

Re-design and Reflection

• The collaborators all drew from their experiences and were able to fill an actual need. IT administrators at Chandler School dealt with technical issues via an email system. By implementing the DGT ticketing system requests are documented and end users will be able to log in to the system and get updates on their reported issues at any time while on the School's network.