DFDモデル お勧めできない例(その3)
前回に引き続き、DFDのアンチパターン紹介第三段です。
今回お見せするモデルは、Interface誌連載第7回のコラム用に当初書いたものでした。が...、共著者とレビューの結果、没ネタにしました。そのモデルがこれです。
さて、これはどこが問題か...
まず、目につくのは真ん中にデータフローの集中しているプロセスがあるところです。
入出力を制御する足回りのプロセスを置いて、変換処理部分は一つのプロセスにまとめてしまっている。これは、分析不足に多くみられる例です。
プログラムが複雑化して、絡み合ってしまうのは、複数の変換部(ここでは =機能)が同じデータを使用していたり、出力するために振る舞いによって必要なデータが変わったりするからです。つまりは、この真ん中の変換部が複雑化していきます。なので、このハリネズミ型の症状が現れたら要注意!
その中は、肝心な変換部が分析されておらず、その中にはたくさんの役割が隠されているでしょう。
もうひとつ、この図で軽く注意をしてほしいのが、”メイン”部という名称です。
プログラムを作っていると、『メイン関数があり...』 から考え始めてしまいます。でも、システムの担う役割で考えたときに、”メイン”って何ですか??よ~っく考えてみましょう。
それぞれの役割分担が解るように、分析により分割・階層化を考えているのに、TOPレベルに何しているかわからないプロセスがドーンと構えているって、とっても変です。このところ続けて言っている ”WHAT” でちゃんと考え直してみましょう。
※ 関連記事: Interface 2011年6月号
« DFDモデル お勧めできない例(その2) | トップページ | 「静的×動的視点で分析する」を書いてみました »
「ソフトウェア開発」カテゴリの記事
- 状態遷移のAction設計してます?(2011.08.04)
- 状態って、どうやって抽出します?(2011.07.04)
- コード解析にDFDを使う?(2011.06.21)
- ソフトウェアには”遊び”がない(2011.05.31)
- 「静的×動的視点で分析する」を書いてみました(2011.05.24)
「Interface記事」カテゴリの記事
- 状態遷移のAction設計してます?(2011.08.04)
- 状態って、どうやって抽出します?(2011.07.04)
- コード解析にDFDを使う?(2011.06.21)
- 「静的×動的視点で分析する」を書いてみました(2011.05.24)
- DFDモデル お勧めできない例(その3)(2011.05.17)
「構造化分析・設計」カテゴリの記事
- 状態遷移のAction設計してます?(2011.08.04)
- 状態って、どうやって抽出します?(2011.07.04)
- 「静的×動的視点で分析する」を書いてみました(2011.05.24)
- DFDモデル お勧めできない例(その3)(2011.05.17)
- DFDモデル お勧めできない例(その2)(2011.05.09)
この記事へのコメントは終了しました。
コメント