in reply to Planning your software before writing

Hay ho one can of worms opened ;-) Software design is a very passionate argument and one that I cannot do justice to here so I will simply point you at the two techniques I use most frequently.

Jackson Structured Programming (JSP), a mature yet simple (and so useful) method for showing program flow. I use this to produce a road map for subsections of an application. I believe it is talked about in code complete McConnell (A good book to have, even if it does not cover JSP, I am -pretty- sure it does) I had a quick look and found a cobol esq view of JSP Although it is cobol based it does describe the method well.

UML, this is in vogue atm as an OO modeling language, however as I have said before OO is only a way to understand a problem. There is no reason an OO design -has- to yeild an OO solution. As you mention flow charts I have assumed that you are writting nonOO code. Do not eliminate UML as a modeling language you will not regret learning it. UML allows whole system modeling. It defines a number of diagrams from use case (that allow you to capture and present user requirements) to sequence diagrams that show the calling flow (they model a similar attribute as JSP). Take a look at For UML related resources . There are CASE tools to help you write UML Together , to be honest not appropriate for perl projects it is slow and tightly coupled to java/C++ a better option would be dia a gtk tool that really rocks.

If you want more references or more specific suggestsions then post again I have lots and lots ;-)


  • Comment on Re: Planning your software before writing