I want my team to model the entire
ASP.NET MVC C# application before we
even tap out one line of code
The problem that I usually find with such an approach is that my understanding of the solution is always incomplete at the beginning. It is only through refinement as work proceeds that I come to a final solution.
Trying to design the entire app up front, before any code (in all but the very simplest of apps) is usually folly.
Do you really believe you can lay out every class and method and data structure in detail in advance?
I just want to know some good modeling
solutions.
As for actual tools to make models, I've tried a few and always end up back at Microsoft Visio.
Of all the products I've tried it seems the most straight forward and, actually, stable (my experience with modeling tools is that they are very buggy). To be fair, I do very little modeling, so take this recommendation with a grain of salt.
EDIT: Actually, I should say that most of my modeling is done on a notepad that sits on my desk. Because I do little modeling, I try to keep it light and to the point. Sketching out a diagram with pen and paper is much more efficient for me than using software.
You may find hand-written diagrams useful to form your ideas, prior to laying them out in a diagramming software.
What type of diagrams should be used
and what would the documentation look
like?
Most of what I model these days are interaction diagrams. Again, I don't do much modeling - just where I really feel the exercise of drawing the model helps cement my understanding.