AxiZ沖縄ブログ

エンジニア育成学校【AxiZ沖縄】のブログです。

もっと図を描こう

私は自分でプログラミングするときや、プログラミングを教える時、
よく図を描きます。
全体像を把握するためや、処理の流れのイメージするために図を使用します。
図を描くことは、頭の中を整理できたり、描かないと気づけなかったことに気づけたりと、 いろいろなメリットがあります。

ですがプログラミングを学習している人や、仕事でプログラミングをしている人でも 図を描い描く人は意外と少なく、なぜ図を描かないのか不思議に思うこともよくあります。

フローチャート

実際、エンジニアの仕事内容を補助するための図はいろいろあります。
よく使われるのはフローチャートでしょうか。
プログラミングの処理の流れを表現するのにも使われますし、
業務フローを表現する際にも使用できます。

UML

さらにプログラミングに特化したものでいうとUMLが有名です。
UMLの中にもいろいろな図がありますが、 よく使用されているのは「クラス図」「シーケンス図」「ユースケース図」あたりでしょうか。
私が最もよく使用するのはクラス図です。
おそらく世間的にもUMLで最も使用されているのはクラス図ではないかと思われます。
特にオブジェクト指向言語で開発されている既存システムのクラス構造を把握する場合に非常に役に立ちます。
シーケンス図はクラス間の処理の流れを把握する場合に有効です。
ユースケース図はシステムの機能要件を洗い出す場合に有効です。

ER図

DBのテーブル間の関連を表すのにはER図が有名です。
DB設計をする際にはER図は必須です。

画面遷移図

Web系のシステムを作成するのであれば、画面間の遷移が一目でわかる画面遷移図があると 開発やテストをする際に状況を把握しやすくて便利です。

マインドマップ・ロジックツリー

プログラミングとは直接関係ありませんが、思考を整理するための図もあります。
使いやすいのはマインドマップやロジックツリーでしょうか。
イデアを出したり、原因分析や対策案を考えたりするときに有効です。

図を描くことでみえるもの

少し話は逸れますが 数学ガール の中で、主人公の「僕」は図を描かないことが弱点だとミルカさんに指摘されます。
「僕」は数式をいじるのが好きなのですが、時々混乱して状況が見えなくなります。
その時、図を描くことで今まで見えなかった構造が見えることがあります。
数学と聞くと、どうしても数式を用いた計算のイメージが強いですが、図を描くことで本質が見えることがあるのです。

プログラミングも同様ではないでしょうか。
プログラムと聞くと、プログラミング言語で難しいプログラムをひたすら書いているイメージが強いですが 図を描くことで複雑だった構造や処理の流れを整理することができます。

図を描くことで、学習や仕事に役立てていきましょう。

おまけ

f:id:axizoki:20190210171321p:plain