Do You Model?

An interesting discussion with a co-worker today related to the release of Together.NET. We were discussing why we weren't really interested and realized that neither of us thought about code in UML. Rather we thought about code as components with services. Personally I used to think about code in UML, but about 3 years ago I just kind of stopped.

Interestingly I do think about databases in ER diagrams. I believe that the difference is that my ER diagrams directly map to the structure data in the database and the relationships between the tables. Whereas in UML I have to look at several diagrams to understand the behavior.

Therein lies the difference. My database diagrams are structure only, but my code is behavior with structure and really I don't need to see all the gory details about my code, just the high level i.e. components.

Do you model? Do you think in models? How does it advance your creation of working software?

4 Comments

  • I used Together extensively when I designed J2EE based apps in a large development team...however...the theory that it is faster and creates better apps by using that model is just not true (in my experience).

    What is does do is let the process be more transparent - so if you have a huge development team who otherwise don't communicate all that much, then, yes it is valuable. For quick, small projects such as the ones I currently work on, it is simply overkill.

  • I have a vision....





    a diagram like a visio flowchart that is based on the .Net CodeDOM model....



    one model, a GUI that shows the flow and loop / branch structure, a top-lelvel "Class / Type / UML " thing with the list of publics and so on....



    the GUI shows a "Block" as a "BLOCK"



    so that if a While Loop has 50-60 lines in it I just see While (Cond) -- BLOCK

    and I can click on BLOCK to see the details

    and I can set a Level Of Detail that controlls how much the display is visualy drilling down past the current level....



    like an interactive exploding diagram of my code...



    and when you debug.... you can "Desk Check" the "Flow Chart" visualy :-)



    IMHO we are able to do it now.... just need time and cash to write the VS plugin :-)

  • If Visio's UML integration didn't suck or XDE wasn't ungodly expensive, maybe I would. I believe very strongly in good design, but I find working with Visio to be very painful (at least for UML... database diagrams aren't too bad in Visio, since I get a two way sync). I'd rather use a piece of paper for my diagrams and hand code my interfaces.

  • Supposedly Microsoft is moving to Model-Driven Architecture, with roundtrip engineering, in future versions of VS.NET. If so, I would definitely model more in UML. Right now, though, Visio is indeed to painful to use with UML, except for reverse engineering to satisfy the documentation nazis.

Comments have been disabled for this content.