「SADT の痕跡はもうほとんど見られない」 : キーワードは「事実上」です。「結束」や「カップリング」などの「現代的な」概念は、ほとんどが SADT [Edward Yourdon-Larry L.Contantine] から来ています。現代のソフトウェア文献から古い SADT 文献への興味深い参照もあります。たとえば、Kent Beck は、彼の実装パターンの本の参考文献セクションで次のように述べています。
エドワード・ユアダンとラリー・コンスタンティン、ストラクチャード・デザイン、...、1979年。
この本は、ソフトウェア設計の物理法則に相当するものを提示し、開発の経済学に関する議論の根拠を示しています。[Kent Beck、Implementation Patterns]
その本の中で、ユアダンとコンスタンティンは次のように述べています。
構造化設計は、システムのコンポーネントとそれらのコンポーネント間の相互関係を可能な限り最良の方法で設計する技術です。
Meilir Page-Jones は次のように述べています。
- 構造化設計では、ツール、特にグラフィック ツールを使用して、システムを容易に理解できるようにします。[ Meilir Page-Jones - 構造化システム設計の実践ガイド]
そして今日のソフトウェア開発における私たちの目標は同じです... :-)
なぜ世界は SADT を放棄したのか?
まあ、私たちはファッション業界よりも多くの変化を遂げています:-)。
私たちが現在構築しているシステムと制約は、20 年以上前とは異なります。機能の複雑さがあまり問題にならない、より「データ指向」のシステムを開発し始めると、構造図とデータ フロー ダイアグラムのような SADT プラクティスは、一部のシステムでは効率が「失われる」と思います。方法論と表現。
しかし、実体関係 (ER) ダイアグラムとデータ ディクショナリの概念はまだ生きています。
Yourdon の興味深い視点については、彼のブログをチェックしてください: Watching “agile”...
興味深いことに、Yourdon は今でも構造化デザイン マテリアルについて更新しています。チェック:
最新の構造化分析
SADTに取って代わったものは何ですか?
うーん...オブジェクト指向システムの場合..
私たちのシステムで最良のコンポーネントとそれらの相互接続を見つけるための責任主導の設計[結束と結合が依然として重要である]があるとします。UML は一般に、それらのコンポーネントと関係を見つけるための優れた視覚的思考ツールを提供します。
そして今、私たちはソフトウェア開発が実験的な活動であることを理解しています。進化的な要件を備えた反復的かつ段階的な開発を行う必要があります。
成功のための「領収書」のように従うことができる魔法の「方法」はないようです。
モデリング全般:
ダイアグラム - モデルは単なる思考ツールです。
システム全体を UML やその他の表記法で紙の上に設計するのは現実的ではありません。実際、実際のモデルは実行およびテスト可能な「ソース コード」です。
MDA(Model Driven Architecture) のように、モデルから実行可能なコードを自動的に生成しようとする試みがいくつかあります。そのため、システムをモデル化するだけで、すべてが自動的に生成されます。しかし、これも現実的ではないことに気付きました。今のところ、一部のツール ベンダーが販売するのは夢の話です。現在、より実用的で現実的なドメイン固有言語に焦点を当てています。