ステートマシン図と遷移パス抽出

Enterprise Architectで作成したステートマシン図は、「遷移パス抽出アドイン」を利用して内容を検証できます。このアドインと、ステートマシン図に関するさまざまな機能と組み合わせて利用することで、設計を効率よく行い、また設計品質を向上させることができます。

実行方法

アドインをインストール後、「アドイン・拡張」リボン内の「アドイン」パネルにある「ウィンドウ」ボタンを押し、状態遷移パス抽出アドインの画面を開いてください。ステートマシン図を表示した状態で実行ボタン(緑色の矢印ボタン)を押してください。以下のような設定画面が表示されます。

条件の設定

条件の設定画面からは、以下の設定ができます。

開始要素
遷移を開始する状態を指定します。
終了要素
遷移を終了する状態を指定します。
遷移数
遷移する回数を指定します。例えば、「2」を指定した場合、遷移開始となる状態から、2回遷移した先の状態が最終状態になります。遷移数は1から7の間の数値が指定できます。
指定値のみ
この項目のチェックを外した場合には、例えば指定状態から1回遷移後、遷移先がないような場合に遷移数「2」の結果に含まれるようになります。
状態の最大到達回数
それぞれの状態について、最大の到達回数を指定します。例えば、最大到達回数に「1」を指定した場合には、状態A→状態B→状態A のように同じ状態に2回到達するパスは抽出対象外となります。
遷移の最大到達回数
それぞれの遷移について、最大の到達回数を指定します。例えば、最大到達回数に「1」を指定した場合には、状態A→状態B→状態C→状態A→状態B のように同じ遷移(この例では状態A→状態B)に2回到達するパスは抽出対象外となります。
トリガの最大発行回数
それぞれのトリガについて、最大の発行回数を指定します。例えば、最大発行回数に「1」を指定した場合には、同じトリガを2回以上発行する必要があるパスは抽出対象外となります。
類似のパスを除外しない
抽出したパスの一部が、別のパスの内容と重複する場合でも、その内容を探索結果に含めます。
開始疑似状態も状態として扱う
開始疑似状態(黒丸)は、通常は1つの状態としては考慮しません。この項目にチェックを入れると、状態要素と同じように扱い、開始疑似状態からの遷移は1回の遷移としてカウントします。なお、「開始要素」として開始疑似状態を指定した場合には、この項目の設定にかかわらず、1つの状態として扱います。
状態遷移表の「無視」(I)を結果に含める
状態とトリガの状態遷移表で、セルに「I]の文字(Ignore:無視)を設定している場合に、そのセルに該当するトリガを発行可能として扱い、抽出結果に含めます。(トリガは発行されるが、前後の状態は同じ)
抽出パスの最大長
対象のモデルに、状態A→状態B→状態Aのように循環する遷移がある場合には、抽出パスの長さが無限になってしまう場合があります。そのため、抽出パスの長さが一定値を超えた場合には、抽出処理を中断します。この値は、その判断条件となる値を変えることができます。

抽出結果の一覧

実行すると、以下のように抽出結果が一覧で表示されます。

この一覧内の項目をクリックすると、ステートマシン図内で遷移パスを確認できます。濃い赤が起点となる状態で、薄い赤が経由する状態です。経由する遷移も赤色で表示されます。この一覧に表示された結果をクリックして遷移結果を確認し、意図しない遷移や考慮が必要な遷移がないかどうか、確認していきます。

なお、履歴要素がある場合にも対応していますが、深い履歴要素には対応していません。通常の履歴要素(浅い履歴)と同じ扱いとなります。

抽出結果を別形式で保存

実行した内容は、CSV形式やExcel形式で保存できます。あるいは、要素の「テスト項目」として保存することもできます。保存する際には、一覧の中から対象を指定できます。ボタンですべての項目にチェックを入れ、ボタンですべての項目のチェックを外せます。

このようにして出力した内容は、実際のアプリケーションのテスト項目としても活用できます。

テスト項目書の生成

「テスト項目書形式」での生成を実行すると、対象のステートマシン図の内容からテスト項目書のような内容で生成します。

出力対象モデル:

生成結果:

(この画像は、イベント・ガードの内容を表示するE列およびF列を非表示にしています)

このテスト手順については、「トリガ」要素のノート欄に記述します。例えば、「ログイン」のトリガ要素のノート欄には以下のような記載があります。

このように、「テスト項目書の生成」の場合には、トリガ要素のノート欄に記載してある内容がExcelに出力されます。ガード条件による分岐がある場合には、ノート欄で「[はい]」のように、[と]の文字で囲って条件を明示し、その条件に該当する操作を記載して下さい。ガード条件による分岐がない場合には、条件の明示は不要です。ノート欄の内容が全てExcelに出力されます。

要素のテスト項目として出力する場合

「選択要素のテスト項目として追加」以下の項目を選択した場合には、実行時に選択されている要素のテスト項目として出力します。すでにテスト項目がある場合、既存の内容を削除するかどうかの確認のメッセージが表示されます。過去に出力した内容の同期(上書き・差し替え)はできません。

遷移パス抽出アドインのインストール・利用方法

遷移パス抽出アドインを利用するには、以下のリンクからアドインのファイルをダウンロードして下さい。インストール方法はこちらをご覧下さい
addin_STMTest.zip

Excelは、2016・2019で動作確認しています。また、このアドインは動作期間限定アドインです。

利用例については、PDFドキュメント「ステートマシン図の整合性確保 マニュアル」をご覧ください。

Microsoft Edgeブラウザをご利用の方へ
アドインのZIPファイルをダウンロードすると、Microsoft Defender SmartScreen機能によりダウンロードができない(ように見える)場合があります。この場合には、こちらのページに記載の手順で回避をお願いします