フローチャートの弱点とアクティビティ図
先ほど説明した通り、フローチャートは標準的な描き方もあります。しかし、実際には描く人がそれぞれ工夫して描いていることが多いです。何をどう表現するかは仲間内でなんとなく共有されているもの。しかし後から加わった人や外の人にはわかりにくいということに。
また昔のコンピューターは処理を順番に実行するのが普通です。フローチャートもそれに合わせて順番に並べて描きます。しかし、技術の進歩でコンピューターも同時並行で作業をするように。例えば、人間でも何かをしながら別のことをすることがありますよね。そのような同時に並行して何かをするという表現はフローチャートにはなかったのです。そんな弱点を解消したのがアクティビティ図になります。
フローチャートとアクティビティ図の違いと使い分け
image by iStockphoto
アクティビティ図はUMLで使う図のひとつ。そのため、フローチャートとアクティビティ図のどちらを使うのかは単独で考えるよりは、設計作業でUMLを使うかどうか。UMLを使うのであれば必然的にフローチャートではなくアクティビティ図を描きます。
どちらも処理の流れを表現する
何度も繰り返して説明していますが、フローチャートとアクティビティ図は目的は同じ。描き方は似ている点もありますし、違う点もあります。プログラムの中で行うことの順番や内容を図にしてわかりやすくしたものです。そのためどちらも同じように使うことができます。
その流れについても、プログラム全体を描くこともあれば、とくに難しい部分だけを描くことも。何で描くかだけでなく、どこを描くのかも重要です。
アクティビティ図はフローチャートでは難しい表現も可能
フローチャートは単純にやることを順番に描いたもの。例えば、自動販売機ではお客がお金を入れて商品を選択すると購入できますよね。これをフローチャートにすると、お客のやることと自動販売機のやることがごちゃごちゃに。アクティビティ図ではこのような場合も分けて描くことが可能です。
実は分けて描くこと自体はフローチャートでも工夫すればできます。ただ、そのような場合はこうしましょうという標準的な決まりがありません。そのため、工夫して書いてもそれをどう読み取って欲しいかの説明が必要。アクティビティ図ではこのような場合はこう描くという決まりがあります。だから、誰でも誤解なく伝わるわけです。
どちらがよい?フローチャートとアクティビティ図の使い分け
フローチャートとアクティビティ図はどう使い分ければ良いでしょう。UMLを使う場合はアクティビティ図を使うべき。では、使わない場合はフローチャートにすべきでしょうか。使い分けの決め手はそれをどのくらいの人数で利用するのか。
多くの人数で誤解のないように情報共有するためであれば、描く内容がきっちり決まっているアクティビティ図が便利。描き方が決まっているので誤解なく多くの人に伝わります。一方、自分だけで使う場合や、少人数の場合、描き方に工夫ができるフローチャートを適切に使った方が伝わることも。使い分けが面倒であれば、UMLやアクティビティ図に統一してしまう方が楽ですが、UMLを知らない人にもなんとなく伝わるのはフローチャート。相手や目的で使い分ける必要があります。
\次のページで「ふわっとしたフローチャートと厳密なアクティビティ図」を解説!/




