Analysis and Design for Functional Programming
- by edalorzo
How do you deal with analysis and design phases when you plan to develop a system using a functional programming language like Haskell?
My background is in imperative/object-oriented programming languages, and therefore, I am used to use case analysis and the use of UML to document the design of program. But the thing is that UML is inherently related to the object-oriented way of doing software.
And I am intrigued about what would be the best way to develop documentation and define software designs for a system that is going to be developed using functional programming.
Would you still use use case analysis or perhaps structured analysis and design instead?
How do software architects define the high-level design of the system so that developers follow it?
What do you show to you clients or to new developers when you are supposed to present a design of the solution?
How do you document a picture of the whole thing without having first to write it all?
Is there anything comparable to UML in the functional world?