Social Networks

An issue tracking system (also ITS, trouble ticket system, support ticket or incident ticket system) is a computer software package that manages and maintains lists of issues, as needed by an organization. Issue tracking systems are commonly used in an organization’s customer support call center to create, update, and resolve reported customer issues, or even issues reported by that organization’s other employees.

An issue tracking system often also contains a knowledge base containing information on each customer, resolutions to common problems, and other such data.

An issue tracking system is similar to a “bugtracker”, and often, a software company will sell both, and some bugtrackers are capable of being used as an issue tracking system, and vice versa. Consistent use of an issue or bug tracking system is considered one of the “hallmarks of a good software team”

This tutorial describes how to plan, design for an example Issue Tracking application.

Plan and Design an Issue Tracking Application

Topics in this section include:

Planning and Project Analysis

Effective project management is the key to completing any project on time and within budget. Within every project there are always multiple issues that need to be tracked, prioritized, and managed.

In this business scenario, MRVL Company has several projects that must be completed on time for the company to be profitable. Any missed project deadline will result in lost revenue. The company’s project leads use various methods to track issues, including manually recording statuses in notebooks, organizing issues in text documents, and categorizing issues by using spreadsheets.

By creating a hosted application in Oracle Application Express, project leads can easily record and track issues in one central location. This approach offers each project lead access to just the data they need and makes it easier for management to determine if critical issues are being addressed.

Planning and Project Analysis

Before beginning development on an Oracle Application Express application, you first need to define application requirements. Then, you use the defined requirements to design a database and an outline that describes how the user interface accepts and presents data.

For this business scenario, the project leads establish requirements that define the information that must be tracked, security requirements, data management functions, and how to present data to users.

Topics in this section include:

Gather the Necessary Data

Currently, each project lead tracks information slightly differently. Together, everyone agrees that the application should include the following information:

  • Summary of the issue
  • Detailed description of the issue
  • Who identified the issue
  • The date on which the issue was identified
  • Which project the issue is related to
  • Who the issue is assigned to
  • A current status of the issue
  • Priority of the issue
  • Target resolution date
  • Actual resolution date
  • Progress report
  • Resolution summary

Define Security Requirements

Because the project leads are concerned about everyone having access to all the information, they agree upon the following access rules:

  • Each team member and project lead is only assigned to one project at a time
  • Each team member and project lead must be assigned to a project
  • Managers are never assigned to a specific project
  • Only managers can define and maintain projects and people
  • Everyone can enter new issues
  • Once assigned, only the person assigned or a project lead can change data about the issue
  • Management needs views that summarize the data without access to specific issue details

Select Data Management Functions

Next, the project leads determine how information will be entered into the system. For this project, users must be able to:

  • Create issues
  • Assign issues
  • Edit issues
  • Create projects
  • Maintain projects
  • Create people
  • Maintain people information
  • Maintain project assignments

Select Data Presentation Functions

Once the data is entered into the application, users need to view the data. The team decides that users must be able to view the following:

  • All issues by project
  • Open issues by project
  • Overdue issues, by project and for all
  • Recently opened issues
  • Unassigned issues
  • Summary of issues by project, for managers
  • Resolved issues by month identified
  • Issue resolution dates displayed on a calendar
  • Days to Resolve Issues by person

Define Special Function Requirements

Finally, the project leads determine that the application must support the following special functions:

  • Notify people when an issue is assigned to them
  • Notify the project lead when any issue becomes overdue

 

Designing the Database Objects

Once you have defined the database requirements, the next step is to turn these requirements into a database design and an outline that describes how the user interface accepts and presents data. In this step you need to think about how information should be organized in the tables in the underlying database.

  • Projects tracks all current projects
  • People contains information about who can be assigned to handle issues
  • Issues tracks all information about an issue, including the project to which it is related and the person assigned to the issue

In addition to the tables, you also need to create additional database objects, such as sequences and triggers, to support the tables. System generated primary keys will be used for all tables so that all the data can be edited without executing a cascade update.

The data model designed for this exercise will look like below figure.

ui-data-issuetracking-model

The most common issue tracking system’s design is relatively simple. A database is the main storage repository for all data. These data are managed by the business logic layer of the application. This layer gives the underlying raw data more structure and meaning, preparing it for human consumption.

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed Tags:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>