See Part 1 - Architecture and Design
Once I have answered my list of high-level questions, I'll review all the documentation written to this point. I may throw in a Visio diagram or two. I recently had someone ask me what my favorite UML tool was. I had to say “Visio“. UML has its place (class diagrams), but I try to stay away from the “stick figure“ Use Case diagrams. I've tried to do 'state diagrams', but I've always found a better way to communicate that information. To be perfectly honest, I'm not even sure what the difference is between several of the UML diagrams (Activity, Collaboration, etc.).
I'm a fan of old-fashioned flow charts, but I'll occasionally throw in a DFD and some class diagrams. Like I said in my previous post, it's all about moderation. If I don't need a specific document or diagram, I don't do it. I don't like processes that lay down the law on which types of diagrams and/or documents you need to write.
I also use Visio for database diagrams, but I'll get into that in my next post.