緊急度と重要度に基づく優先度の計算
ITIL の定義によると、インシデントの優先度は、緊急度と重要度の合計から 1 を引いた数値です。
優先度 = 緊急度 + 重要度 -1
簡単な演算を実行する方法については、既に説明しています (属性の同時追加を参照)。この方法で、緊急度と重要度の数値に基づいて優先度の数値を決定する計算を設計できます。「緊急度」、「重要度」、および「優先度」というインシデントの 3 つの属性を作成し、次の計算を「優先度」属性に追加します。
import System
static def GetAttributeValue(Incident):
Value = Incident._Urgency + Incident._Severity – 1
return Value
「緊急度」、「重要度」、および「優先度」を [インシデント] ウィンドウに追加できます。計算により、優先度の数値が決定されます。
ただし、これらの属性を変更し、異なる名前の値を含む順序付けされたリストを使用できます。「高」、「中」、および「低」(ランクは 3 ~ 1) という「緊急度」と「重要度」を作成し、「優先度 1」(最高優先度、ランク 5) から「優先度 5」(最低優先度、ランク 1) までの 5 つの「優先度」を作成できます。
重要度 |
名前 |
ランク |
---|---|---|
|
高 |
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
この例では、インシデント管理モジュールで提供されているランク付けされたオブジェクト「インシデント緊急度」と「重要度」を使用し、インシデント管理モジュールで作成される新しいランク付けされた属性「計算された優先度」の値を決定するランクを計算します。
この計算には、3 つのステップがあります。
- 新しいランク付けされたオブジェクトを作成し、インシデントに関連付け、入力します。ここでは属性作成ウィザードを使用せずに、命名規約に準拠することをお勧めします。
- 新しいランク付けされたオブジェクトに計算を追加します。
- [インシデント] ウィンドウにコントロールを追加します。
新しいランク付けされたオブジェクトを作成するには:
- オブジェクト デザイナーで、[ビジネス オブジェクト] ツリーから [インシデント管理] モジュールをクリックし、[処理] リストで [新しいビジネス オブジェクト] をクリックします。
[動作選択] メッセージ ボックスが表示され、動作を指定するかどうかを確認します。 - [はい] をクリックします。
[動作選択] ダイアログが表示されます。 - [利用可能な項目] リストで、[ランク付け (作成のみ)]、
の順にクリックします。
[ランク付け (作成のみ)] が [選択された項目] リストに移動します。 - [OK] をクリックします。
新しいビジネス オブジェクトが作成されます。 - [プロパティ] グリッドで計算された優先度のタイトルを入力し、
をクリックします。
「名前」属性を作成するかどうかを確認します。 - [はい] をクリックします。
「計算された優先度」オブジェクトが保存されます。オブジェクト名は「_CalculatedPriority」です。この名前は、後の手順で使用します。また、「ランク」属性も追加されています。ここで、このオブジェクトを「インシデント」オブジェクトに関連付ける必要があります。 - [ビジネス オブジェクト] ツリーで、「計算された優先度」オブジェクトを「インシデント」オブジェクトにドラッグします。
「計算された優先度」から関連付けられたインシデントのすべてのインスタンスにアクセスできるかどうかを確認します。 - [いいえ] をクリックします。
関係が作成されます。インシデントの [属性] ツリーに、計算された優先度が表示されます。
-
をクリックします。
オブジェクトが保存されます。ここで、オブジェクトのウィンドウを作成し、管理コンポーネントを使用して値を作成する必要があります。 - ウィンドウ マネージャで、インシデント管理\計算された優先度の新しいウィンドウを作成し、名前のみを追加します。
- 管理コンポーネントで、[順序付けされたリスト] ツリーを表示し、5 つの計算された優先度の値を作成します。
ここで、必要な計算を「インシデント」オブジェクトの「計算された優先度」属性に追加できます。この計算は、必要な値を順序付けされたリストの「計算された優先度」から読み取ります。
計算を追加するには:
- オブジェクト デザイナーで、[インシデント管理\インシデント] オブジェクトを開き、[計算された優先度] をクリックします。
- 計算された優先度 の [プロパティ] グリッドで、[計算タイプ] を [保存前] に設定します。
[計算された優先度の式の編集] ダイアログが表示されます。 - [エディタ] ボックスで、計算を次のように変更します。
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] に設定し、ウィンドウを保存します。
インシデントを登録し、[インシデント緊急度] フィールドと [重要度] フィールドを入力すると、[計算された優先度] フィールドには適切な値が自動的に入力されます。