私は過去数学期にいくつかのソフトウェア設計コースを受講してきましたが、多くの形式論にはメリットがあると思いますが、プログラム自体については何も教えてくれないように感じます。
- プログラムが何ができるかを説明しているとしても、ユースケースの仕様からはプログラムがどのように動作するかはわかりません。
- 品質要件が含まれていても、要件ドキュメントからユーザーエクスペリエンスについて何も伝えることはできません。
- シーケンス図は、ソフトウェアがコールスタックとしてどのように機能するかをよく説明していますが、非常に制限されており、システム全体の非常に部分的なビューを提供します。
- クラス図は、システムがどのように構築されているかを説明するのに最適ですが、ソフトウェアが何である必要があるのかを理解するのにまったく役に立ちません。
この形式主義のどこが一番重要なのでしょうか。プログラムがどのように見え、動作し、どのような経験をするのでしょうか。それを元に設計するほうが理にかなっていますか?プロトタイプを介してプログラムがどのように機能するかを理解し、それを実際に実装するために努力するほうがよいのではないでしょうか。
私はおそらく理論家から工学を教えられていることに苦しんでいることを知っていますが、私は尋ねる必要があります、彼らは業界でこれを行うのですか?人々は、プログラムが何に準拠すべきかではなく、プログラムが実際に何であるかをどのように理解しますか?人々はたくさんプロトタイプを作っていますか、それともほとんどがUMLなどの正式なツールを使用していますか?