Skip to content

System Requirements

Dharshan Pillay edited this page Jun 26, 2023 · 10 revisions

Functional Requirements

  • Ticket Creation: The ability of a functional user to create a ticket.

  • Ticket Specification: The ability of a functional user to specify the details of the ticket.

  • Ticket Assignment: The ability of a functional user to assign tickets to a specific user or team based on their relevant expertise, workload, and availability.

  • Ticket Prioritization: The system should allow functional users to set the priority of their tickets, to help support staff prioritize their work and resolve critical issues quickly. Priority can be low, medium or high

  • Ticket Viewing: The ability of any user to view the details of the ticket, when a user clicks on a ticket they will have a full view of the ticket and its necessary details.

  • Ticket Updating: The ability of a functional user to update the specifications and details of the ticket when the need arises, and when these changes are made the users assigned to the ticket are notified.

  • Ticket Tracking: The ability of any user to track the status of each ticket, including which user it was assigned to, its current status, and any notes or updates

  • Ticket Resolution: The ability of a management user to resolve tickets and mark them as done, active or waiting approval .

  • Ticket Collaboration: The ability for functional and technical users to collaborate on tickets with one another, by communicating via internal notes or adding attachments (images, files and pdfs), to ensure that everyone involved is up to date.

  • Ticket History: The system should maintain a history and audit trail of all ticket-related activities, to ensure accountability, compliance, and auditability.

  • User Management: The ability of management users to create, manage and delete user accounts, set roles, and permissions. The ability to create, manage and delete client accounts.

  • User Authentication: The system requires users to authenticate themselves, when an account is created the email linked to the account is sent an authentication email.

  • User Group Assignment: The ability of management users to assign and remove users from their respective groups.

  • User Profile Editing: The ability to edit certain details of a users' profile. Such as name, surname and profile picture

  • User Role Assignment: The ability of management users to assign users' a certain role. Users are able to have multiple roles.

  • Notifications: The ability to notify users when they have been assigned a new ticket, when a ticket's status has been updated or internal notes have been added.

Non-Functional Requirements

  • Performance: The system should be able to handle a high volume of users and requests without having to experience issues like system crashes or slow response times.
  • Reliability: the system should be available 24/7 with little to no downtime.
  • Scalability: the system should be able to handle a growing number of users and requests on the platform.
  • Security: The system should be secure so that the confidentiality of ticket data, user accounts, and communications is not compromised.
  • Usability: the system should be simple and easy to use, it should have an intuitive interface so that the time spent on training or support can be minimized.
  • Maintainability: the system should be easy to maintain, with clear documentation, modular design, and proper coding practices to support any updates or enhancements made in the future.
  • Interoperability: the system should be able to interoperate with other systems such as email or chat.
  • Compliance: the system should comply with relevant industry standards and practices.

Use Case Diagram

UseCases drawio

Class Diagram

classdiagram

Clone this wiki locally