Haskell のような関数型プログラミング言語を使用してシステムを開発する場合、分析と設計のフェーズをどのように処理しますか?
私のバックグラウンドは命令型/オブジェクト指向プログラミング言語であるため、ユースケース分析と UML を使用してプログラムの設計を文書化することに慣れています。しかし、問題は、UML が本質的にオブジェクト指向のソフトウェアのやり方に関連しているということです。
また、関数型プログラミングを使用して開発される予定のシステムのドキュメントを開発し、ソフトウェア設計を定義するための最良の方法について、私は興味をそそられます。
- 代わりに、ユースケース分析またはおそらく構造化された分析と設計を引き続き使用しますか?
- ソフトウェア アーキテクトは、システムの高レベル設計をどのように定義して、開発者がそれに従うようにしますか?
- ソリューションの設計を提示することになっているときに、クライアントまたは新しい開発者に何を示しますか?
- 最初にすべてを書かずに、全体像をどのように文書化しますか?
- 関数の世界でUMLに匹敵するものはありますか?