ソフトウェアアーキテクチャ博物館AtMuseum
失敗パターン解説


そもそも設計していない

説明

静的な構造の欠如

「一筆書き」や「クローン」は、動くコード断片の手順を書いているだけで、設計はなされていません。

 

動的な構造の欠如

「末広がり」や「裏取引」、イベントとフラグで順次処理をしているだけで、設計はなされていません。

推定原因

フローチャートをそのまま実装

処理の流れをそのままプログラミングしてしまう。(一筆書き)

典型的にはmain関数で全体シナリオをプログラミングしてしまう場合。

C言語の教科書ではmain関数で、C言語の文法を習得しますが、そのサンプルコードをまねしただけでは一筆書きになってしまいます。

また、似たような処理があると、コード断片をコピーして貼り付けることになってしまいします。(クローンツール

タイミングチャートをそのまま実装

何らかのイベントで制御スレッドが始まって、条件によってフラグを作り、後段でそのフラグで条件判断する末広がり構造です。

また、場当たり的な条件判断フラグを作ることで、フラグの関係が暗黙になってしまいます。

 

ポイント

解法

フローチャートからモジュール構造化へ

処理の流れではなく、機能分割(責務分割)して、構造図を作りましょう。

タイミングチャートからタスク構造化へ

制御スレッドの流れではなく、周期実行の単位にタスクで括り、タスクが並行動作するように作りましょう。