設計書としてのUML
2003年5月28日
長年にわたり、エンジニアリングの影響を受けたソフトウェアプロセスは、設計を別のグループに引き渡してコードを作成できる方法を探してきました。これは、橋の建設に青写真が使用されるのと同様に、貴重な高額なソフトウェア設計者が青写真に集中し、多くの安価なコーダーが建設に集中できるようにするためです。
その結果、UmlAsBlueprintは完全性に焦点を当てたUmlModeです。フォワードエンジニアリングでは、青写真は、プログラマーがコード化できるように詳細な設計を構築することが仕事である設計者によって開発されるという考えに基づいています。思考をほとんど必要としない単純明快な活動としてプログラミングが続くように、その設計はすべての設計上の意思決定が示され、十分に完成している必要があります。設計者はプログラマーと同じ人物である場合がありますが、通常、設計者はプログラマーチームの設計を行う上級開発者です。
リバースエンジニアリングでは、青写真には紙のドキュメントまたは対話形式のグラフィカルブラウザのいずれかの方法で、コードに関する詳細情報を伝えることを目的とします。青写真には、開発者が理解しやすいグラフィカル形式ですべてのクラスの詳細を表示できます。
青写真には、タスクに必要な詳細を処理するために、スケッチよりもはるかに高度なツールが必要です。特別なCASE(コンピュータ支援ソフトウェアエンジニアリング)ツールがこのカテゴリーに分類されます(ただし、CASEという用語は汚い言葉になっており、ベンダーは今ではそれを回避しようとしています)。フォワードエンジニアリングツールはダイアグラム描画を支援し、リポジトリを使用して情報を保持します。リバースエンジニアリングツールはソースコードを読み取ってリポジトリに解釈し、ダイアグラムを生成します。このようなフォワードエンジニアリングとリバースエンジニアリングの両方ができるツールはラウンドトリップツールと呼ばれます。
一部のツールはソースコード自体をリポジトリとして使用し、コード上のグラフィックビューポートとしてダイアグラムを使用します。これらはプログラミングにより密接に関連しており、多くの場合、プログラミングエディターと直接統合されます。これらをトリプレスツールと呼ぶのもいいかもしれません。