<HOME

ユースケース図を描いてみよう30分


ユースケース図は、プログラムが実現する要件を可視化するUML図です。

主に要求分析において、機能が実現すべき要件を明確に定義するために使用されます。

  • 次のようなアプリを作成することを想定します。

    アプリを起動すると、ボタンを含むUIを表示します。

    アプリのUI内のボタンを押すと、ダイアログを表示します。

  • 上記の要求に対してユースケース図を描いた場合の例は次のようになります。

    • : ユースケース

      ユースケースを表現します。

      機能が実現すべきアクションを記述します。

    • : パッケージ

      ユースケースなどのモデル要素をまとめる場合に使用します。

      アプリや、アプリ内の機能単位で要素をパッケージングするのによく使用されます。

    • : アクター

      ユースケースに関わる登場人物を表現します。

      プログラムに関わる人やモノ、プログラムと連携するシステムなどを表現するのに用いられるケースが多いです。

    • : 関連

      関連するモデル要素を線でつなぎます。

      実線で表現します。


      場合によって先端に矢印や×をつけることがあります。

      矢印は処理の順序を示すものではありません。誘導可能性を示しています。

      矢印は誘導可能、×は誘導不可能を表現します。

      例えば、(A)→(B)の場合、AからBの誘導が可能であり、BからAへの誘導が可能かどうかは未定となります。

    • : 依存

      要素間の依存関係を示します。

      片方の先端に矢印をもつ点線で表現します。

      例えば、(A)→(B)の場合、Aの要素はBに依存していることを示しています。


      図のケースでは、「ボタンをクリックする」は、「ボタンを表示する」が存在しないと実現できないため、その要素に依存していることを示しています。

    • <<include>> : 包含

      依存の一つで、モデル要素が別の要素を含んでいることを示しています。

      依存の一つなので、要素間の線は、片方の先端に矢印をもつ点線で表現します。

      例えば、(A)→(B)の場合、Aの要素はBを含んでいることを示しています。


      図のケースでは、「ボタンを表示する」は、「UIを表示する」に含まれていることを示しています。

  • UML図を描くためのツールは、次のようなものがあります。

    • astah* community

      フリーで利用可能です。

      ただし、商用利用する場合はバージョン6.9以前のものを利用する必要があります。

      主要なUML図を作成するのに十分な機能を備えています。

    • astah* professional

      有償です。

      astah* communityの機能に加えて、クラス図からスケルトンコードを出力する等の便利な機能が追加されています。

    • AmaterasUML

      フリーで利用可能です。

      EclipseにPluginで追加することで利用できます。

    • EA(Enterprise Architect)

      有償です。

    • PlantUML

      フリーで利用可能です。

      テキストでUML図を作成します。