Вычисление приоритета из данных срочности и серьезности
ITIL определяет приоритет события, как сумму данных серьезности и срочности за вычетом единицы:
Приоритет = Срочность + Серьезность - 1
Мы уже рассматривали, как упростить арифметические вычисления (см. раздел Совместное добавление атрибутов) и теперь можем создавать вычисления для определения числовых значений приоритета на основании числовых значений срочности и серьезности. Создайте три числовых атрибута инцидента с именами Срочность, Серьезность и Приоритет, а затем добавьте следующее вычисление для атрибута Приоритет:
import System
static def GetAttributeValue(Incident):
Value = Incident._Urgency + Incident._Severity – 1
return Value
Затем можно добавить срочность, серьезность и приоритет в окно события и вычисление начнет определять числовое значение приоритета.
Однако вы можете изменять эти атрибуты для использования упорядоченных списков, содержащих значения, имеющие иные имена. Вы можете меть срочности и серьезности с именами "Высокая", "Средняя" и " Низкая" (с рангом от 3 до 1) и пять приоритетов с именами от "Приоритет 1" (наивысший приоритет имеет ранг 5) до "Приоритет 5" (низший приоритет имеет ранг 1):
Серьезность |
Имя |
Ранг |
---|---|---|
|
Высокая |
3 |
|
Средняя |
2 |
|
Низкая |
1 |
Срочность |
Имя |
Ранг |
---|---|---|
|
Высокая |
3 |
|
Средняя |
2 |
|
Низкая |
1 |
Приоритет |
Имя |
Ранг |
---|---|---|
|
Приоритет 1 |
5 |
|
Приоритет 2 |
4 |
|
Приоритет 3 |
3 |
|
Приоритет 4 |
2 |
|
Приоритет 5 |
1 |
Затем определяется приоритет, исходя из значений срочности и серьезности и в соответствии со следующей таблицей:
|
Серьезность |
|||
---|---|---|---|---|
Высокая |
Средняя |
Низкая |
||
Срочность |
Высокая |
Приоритет 1 |
Приоритет 2 |
Приоритет 3 |
Средняя |
Приоритет 2 |
Приоритет 3 |
Приоритет 4 |
|
Низкая |
Приоритет 3 |
Приоритет 4 |
Приоритет 5 |
Например:
Серьезность средняя = ранг 2
Срочность низкая = ранг 1
Поэтому ранг приоритета = 2 + 1 - 1 = 2
и ранг приоритета 2 = приоритет 4
В этом примере используются объекты с рангами срочности инцидента и серьезности, которые представлены в модуле управления инцидентами для вычисления ранга, который будет необходим для определения значения нового атрибута с рангом и именем Вычисленный приоритет, который был создан в модуле управления инцидентами.
Для этого вычисления необходимы три действия:
- Создайте новый объект с рангом, родственный этому инциденту, и заполните его. Для этого не рекомендуется использовать мастер создания атрибутов, который имеет ограниченные возможности именования.
- Добавьте вычисление для нового объекта с рангом.
- Добавьте параметры в окно инцидента.
Для создания нового объекта с рангом:
- В Дизайнере объектов щелкните модуль управления инцидентами в дереве бизнес-объектов, а затем выберите Новый бизнес-объект в списке Действия.
Отобразится поле сообщения выбора действия с запросом указать действие. - Нажмите Да.
Появится диалог выбора действия. - В списке доступных элементов выберите С рангом (только создание), а затем щелкните
.
Элемент "С рангом" (только создание) переместится в список выбранных элементов. - Нажмите OK.
Новый бизнес-объект будет создан. - На панели Свойства введите Заголовок для элемента Вычисленный приоритет, а затем щелкните
.
У вас будет запрошено, нужно ли создать атрибут "Имя". - Нажмите Да.
Объект "Вычисленный приоритет" будет сохранен. Запомните его имя "_Вычисленный приоритет" - мы будем использовать его далее. Также обратите внимание, что добавлен атрибут "Ранг". Теперь нужно связать это объект с объектом "Инцидент". - В дереве Бизнес-объекты переместите объект Вычисленный приоритет в объект Инцидент.
У вас будет запрошено, если вам нужен доступ ко всем родственным экземплярам инцидента для вычисленного приоритета. - Щелкните Нет.
Взаимосвязь создана. В дереве "Атрибуты" для инцидента появится Вычисленный приоритет.
- Нажмите
.
Объект будет сохранен. Теперь нужно создать окно для объекта и установить значения, используя компонент администрирования. - В диспетчере окон создайте новое окно для Управление инцидентами\Вычисленный приоритет, добавив имя.
- В компоненте администрирования отобразите дерево Упорядоченные списки, а затем создайте пять значений для вычисленного приоритета.
Теперь можно добавить необходимое вычисление в атрибут "Вычисленный приоритет" для объекта "Инцидент". Это вычисление считывает требуемое значение из упорядоченного списка "Вычисленный приоритет".
Для добавления вычисления:
- В дизайнере объектов откройте объект Управление инцидентами\Инцидент, а затем щелкните Вычисленный приоритет.
- На панели Свойства для элемента Вычисленный приоритет установите Тип вычисления в значение BeforeSave.
Для атрибута "Вычисленный приоритет" появится диалог изменения формулы. - В поле редактора измените вычисление на:
import System
static def GetAttributeValue(Incident):
if Incident._IncidentUrgency == null:
return null
if Incident.Severity == null:
return null
Value = Incident._IncidentUrgency.Rank + Incident.Severity.Rank - 1
return Incident.GetRankedObject("IncidentManagement._CalculatedPriority", Value)
- Щелкните Тест синтаксиса для подтверждения того, что структура вычисления не содержит ошибок, а затем щелкните OK.
Вычисление будет добавлено в атрибут. - Нажмите
.
Изменения будут сохранены.
Строки if... и return null устанавливают значение вычисленного свойства в null (не заполнено), если не заполнены списки Серьезность или Срочность - в противном случае останется неизменным ранее вычисленное значение для вычисленного приоритета.
Последняя строка return Incident.GetRankedObject("IncidentManagement._CalculatedPriority", Value) возвращает имя вычисленного приоритета, которое соответствует рангу вычисленного значения.
Последнее действие – это добавление параметров в окно инцидента.
Для добавления параметров в окно:
- В диспетчере окон откройте окно инциденты и добавьте поля Срочность инцидента, Серьезность и Вычисленный приоритет.
- На панели Свойства для Срочность инцидента и Серьезность установите параметр С вычислением при изменении в значение True.
Во время регистрации инцидента и заполнения полей Срочность инцидента и Серьезность поле Вычисленный приоритет заполняется автоматически соответствующим значением.