Question: Help Desk Ticketing System Prototype Client Requirements The client would like a Help Desk ticketing system prototype developed. The Help Desk ticketing system should handle

Help Desk Ticketing System Prototype

Client Requirements

The client would like a Help Desk ticketing system prototype developed.

The Help Desk ticketing system should handle tickets from internal customers only.

Tickets will be requested for assistance from the Help Desk by staff members of the organisation.

Requirements of the Help Desk Ticketing System

Tickets:

Tickets can be submitted by providing all of the following information:

Staff ID,

Ticket creator name,

Contact email

Description of the issue

Internal Tickets ticket number should be assigned automatically using the counter static field plus 2000.

All information must be provided as input while submitting the ticket.

Responding to tickets:

If the tickets description of the issue contains the words Password Change, the new password should be generated following the rule,

The first two characters of the staffID, followed by the first three characters of the ticket creator name.

Hint: (can be useful to consider: split(), join(), string operations)

There should be an option, after the ticket has been submitted, to respond to a ticket by providing a feedback response.

Default response can be set as Not Yet Provided.

Statistics:

There should be a way to keep track of:

The number of tickets submitted

The number of resolved tickets

The Number of open tickets

A way to display those statistics to the console.

If the staff member has submitted the Password change request, after the new password is generated and the tickets response has been updated, the ticket should close, with the number of closed tickets increased and the number of open tickets reduced by 1. Tickets status should be changed to Closed.

Once a member of the IT department provides the response to a ticket, the ticket should close, with the number of closed tickets increased and the number of open tickets reduced by 1. Tickets status should be changed to Closed.

There should be an option for the IT department to reopen the ticket. At this point the number of open tickets should be increased and the number of closed tickets should be reduced by 1. Tickets status should be changed to Reopened

Displaying the ticket:

There should be a way to display the ticket information:

Ticket number,

Name of the tickets creator,

StaffID,

Email address,

Description of the issue,

Response from the IT department and ticket status (open, closed or reopened).

The output format is shown in the examples at the end of Technical Requirements section.

Technical Requirements

The senior developer has provided you with the following technical requirements for the project.

The Ticket class should contain common ticket information in the Ticket class.

The Ticket class should also have method allowing the staff to submit ticket and the IT team to respond to the tickets, specifically resolve, reopen and provide a response to the ticket.

The Ticket class should contain a method for resolving password change requests. As well as calling the method that would generate the new password, it should set up a response for the ticket and change the ticket status to closed.

There should be a method to print information for all the ticket objects.

Hint: research and use List

The TicketStats method in Ticket class should contain information on ticket statistics and shall be able to return the statistics information.

The main class, containing the Main method.

Create at least one instance of submitting tickets and include at least one ticket with the request of Password change.

After the tickets are created, display ticket statistics.

Resolve some of the tickets, then display the ticket information and ticket statistics. o Reopen some of the resolved tickets, then display the ticket information and ticket statistics.

The example output is provided below:

Displaying Ticket Statistics

Tickets Created: 3

Tickets Resolved: 1

Tickets To Solve: 2

Printing Tickets:

Ticket Number: 2001

Ticket Creator: Inna

Staff ID: INNAM

Email Address: inna@whitecliffe.co.nz

Description: My monitor stopped working

Response: Not Yet Provided

Ticket Status: Open

Ticket Number: 2002

Ticket Creator: Maria

Staff ID: MARIAH

Email Address: maria@whitecliffe.co.nz

Description: Request for a videocamera to conduct webinars

Response: Not Yet Provided

Ticket Status: Open

Ticket Number: 2003

Ticket Creator: John

Staff ID: JOHNS

Email Address: john@whitecliffe.co.nz

Description: Password change

Response: New password generated: JOJoh

Ticket Status: Closed

Displaying Ticket Statistics

Tickets Created: 3

Tickets Resolved: 2

Tickets To Solve: 1

Printing Tickets:

Ticket Number: 2001

Ticket Creator: Inna

Staff ID: INNAM

Email Address: inna@whitecliffe.co.nz

Description: My monitor stopped working

Response: The monitor has been replaced.

Ticket Status: Closed

Ticket Number: 2002

Ticket Creator: Maria

Staff ID: MARIAH

Email Address: maria@whitecliffe.co.nz

Description: Request for a videocamera to conduct webinars

Response: Not Yet Provided

Ticket Status: Open

Submission Checklist

Task Evidence Required
1 Software_Project Python Code file
2 ReadMe file with instructions
3 Word/PDF file with the details of Software Development Lifecycle stages during the development of the project
4 Instructions required to display your software project

class Ticket: def __init__(self, staffID, name, email, description): self.staffID = staffID self.name = name self.email = email self.description = description self.response = "Not Yet Provided" self.status = "Open" def __str__(self): return f"Ticket Number: {self.ticketNumber} Name: {self.name} Staff ID: {self.staffID} Email: {self.email} Description: {self.description} Response: {self.response} Status: {self.status}" class HelpDesk: ticketNumber = 2000 openTickets = 0 closedTickets = 0 def __init__(self): self.tickets = [] def submitTicket(self, staffID, name, email, description): newTicket = Ticket(staffID, name, email, description) self.tickets.append(newTicket) newTicket.ticketNumber = HelpDesk.ticketNumber HelpDesk.ticketNumber += 1 HelpDesk.openTickets += 1 if "Password Change" in description: newTicket.response = f"New Password: {staffID[:2]}{name[:3]}" HelpDesk.closedTickets += 1 HelpDesk.openTickets -= 1 newTicket.status = "Closed" return newTicket def respondToTicket(self, ticketNumber, response): for ticket in self.tickets: if ticket.ticketNumber == ticketNumber: ticket.response = response HelpDesk.closedTickets += 1 HelpDesk.openTickets -= 1 ticket.status = "Closed" def reopenTicket(self, ticketNumber): for ticket in self.tickets: if ticket.ticketNumber == ticketNumber: ticket.status = "Reopened" HelpDesk.openTickets += 1 HelpDesk.closedTickets -= 1 def displayTicket(self, ticketNumber): for ticket in self.tickets: if ticket.ticketNumber == ticketNumber: print(ticket) def displayStatistics(self): print(f"Number of tickets submitted: {HelpDesk.ticketNumber - 2000} Number of open tickets: {HelpDesk.openTickets} Number of closed tickets: {HelpDesk.closedTickets}") def main(): helpDesk = HelpDesk() helpDesk.submitTicket("123456", "John Smith", "johnsmith@hotmail.com", "Password Change") helpDesk.respondToTicket(2001, "Your issue has been resolved") helpDesk.respondToTicket(2002, "Your issue has been resolved") helpDesk.respondToTicket(2003, "Your issue has been resolved") helpDesk.displayStatistics() helpDesk.displayTicket(2001) helpDesk.displayTicket(2002) helpDesk.displayTicket(2003) helpDesk.displayStatistics() main()

Thank you for your response. Actually i am unable to run this program. It is showing error in line 10. can you please correct it. and 2(readme file with instructions),3(SDLC), and 4(Instructions required to display your software project) points are missing. Can you please elaborate these ones as well.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related General Management Questions!