サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
shikou-sakugo.cocolog-nifty.com
前回に引き続き、DFDのアンチパターン紹介第三段です。 今回お見せするモデルは、Interface誌連載第7回のコラム用に当初書いたものでした。が...、共著者とレビューの結果、没ネタにしました。そのモデルがこれです。 さて、これはどこが問題か... まず、目につくのは真ん中にデータフローの集中しているプロセスがあるところです。 入出力を制御する足回りのプロセスを置いて、変換処理部分は一つのプロセスにまとめてしまっている。これは、分析不足に多くみられる例です。 プログラムが複雑化して、絡み合ってしまうのは、複数の変換部(ここでは =機能)が同じデータを使用していたり、出力するために振る舞いによって必要なデータが変わったりするからです。つまりは、この真ん中の変換部が複雑化していきます。なので、このハリネズミ型の症状が現れたら要注意! その中は、肝心な変換部が分析されておらず、その中にはたくさ
# ゴールデンウィークで、先週更新をサボったので、今週は記事二つUPにしました。 またまた、DFDモデルで見たお勧めできない例です。 今回のモデルは、こちら! 何がお勧めできないポイントかといえば、プロセス間で受け渡しているデータ(青点線で囲んだ所)を見てください。 ”xxx完了” って具合のデータが行き来しています。 WHATでプロセスの分割だけを考えると、こういったデータは出てきません。 プロセスの役割分担を表すのではなく、実行順序を示そうとすると、プロセス間に無理やり何か渡そうとして、このようなデータが出てきます。 DFDでは、プロセスの実行順序は表しません。 あくまでも、各プロセスの役割と、プロセス間のデータの流れだけを表しています。 各プロセスは、その○に流れ込むデータを使って、○から流れ出るデータを出力する処理(役割)が成り立てば、他のプロセスとの実行順序がどうでも、 ”知った
今回のお話は、ちょっと前回のつづきになります。 前回のblog記事:WAHTで考える練習 未だ構造化設計の認知拡充を図る私としては、WHATのモデルとしてDFDによる分析モデルをちょいちょいご紹介しています。UMLが浸透した今となっては、すっかり忘れ去られた表記法かもしれません。でも、丸と矢印だけで、プロセス(処理のかたまり)の関係を表すこの表記法、とってもシンプルで好きなんです。 忘れ去られるのも悲しいので、コレ使いつづけてます。 さて、Interface6月号では、LEDキューブシステム(*1)のDFDによる分析モデルの例を載せました。 (*1) 開発対象物[LEDキューブシステム]の仕様については、こちらあたりをご覧下さい。 過去blog:組込みソフトウェア開発者にとっての要求仕様書 このLEDキューブシステムを分析したコンテキストと、第一階層のDFD0はこんな感じになります。(雑誌
「強いプログラミングを作るテクニックを学ぶ」の連載3回目で、『要求分析の重要さと難しさ』というサブタイトルで、要求仕様の分析について取り上げました。その中で、USDM(*)という仕様書の表記をご紹介しました。 ※ LEDキューブシステムUSDM版仕様書 >> Download : specofledcube_specusdm_v1a.xls このUSDM版仕様書をご覧になった皆さんは、どう思われたでしょう? 私も当初は、ドキュメント形態として重くて面倒だな...と思っていました。その後、いろいろ試す中で、USDMを使うのも悪くないなと思うようになりました。その理由を、3つばかりご紹介しておきます。 【こんな時に、USDM作ってみてよかったと思った】 (1) 仕様理解のために使う 連載本編でもこの方法をご紹介しました。 以前から、仕様書を読んでQ&Aシートを毎回作っていましたが、それでも理解
本ブログをお休みして、かれこれ数ヶ月・・・ あっという間に新年を迎えてしまいました。 その間、Interface誌での連載も終了。記事に連動して、ネタを書いていくつもりが...ブログ書きは全く追いつかずでした(ネタ切れではありません、決して)。 連載は終了しましたが、ポツポツとこちらでまた書いて行きたいと思います。 そんなわけで、ブログをご覧下さった皆様、今年もよろしくお願いいたします。 一ヶ月ブログ更新せずにほったらかしになってしまいました。 ほとんど”やるやる詐欺”ですな。 今日の記事は、前回の「状態って、どうやって抽出します?」の続きにもなります。 状態遷移図で設計した場合、Actionの設計ってどうしています? むかしの私は、状態遷移図に処理の概要だけをちょこっと書き込み、そのまま実装で作りこんでいました。 そうすると、各状態Action同士の関係をコード上で考えることになってしま
このページを最初にブックマークしてみませんか?
『SHIKOU-SAKUGO』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く