| |
|
pragma 
| In article <Xns960BD1CBE9C33ikeathesofaAThotmail@63.105.9.61>, IkeaTheSofa -.- Marcus says...
>
>I'm planning a D application (mostly a learning app.). I've been trying to find a good way to plan how the application will work before I start code writing. I've been reading tutorials on UML. Just wondering what everyone else uses? Do you use UML or something simplier?
I use UML, but mostly for complex class trees. Since I'm a visual thinker, actually seeing the relationships in dense class graphs helps me understand what I'm trying to accomplish; now and especially later. For me, its almost always a design tool and never a documentation one (although I expect to change that habit).
However, I do not use all that UML's grammar provides me, since I find documenting *everything* in UML to detract from a diagram's usefullness. I tend to stick to mostly class diagrams. I sparingly use State and Interaction/Collaboration diagrams to help with clarifying complex interactions, which in my experience are almost exclusively applied to client-server interaction
I've also found that Use Case diagrams help immensely with drafting software with non-trival user-interfaces (anything with a GUI). But again, I tend to use this sparingly; usually when designing software for someone other than me.
<soapbox>
I've found UML to be a genuinely good tool and communication medium. Completed
UML documents do their job well by clearly conveying structure, and complex
relationships. It also excells at lowering the bar for understanding existing
software, provided that one is capable of reading UML.
UML is the closest thing to an industry de-facto standard for visual communication. It gives the author much more confidence that one will understand their diagrams, hence making their documentation more useful. It beats the hell out of reading a separate digram language for every book on your shelf; even Rumbaugh's older works are barely recognizable as UML-like.
The only problems I've had with UML is with systems that go through a *lot* of
state changes, and those with dense user-interfaces. Web Applications are
stacked high on top of those two principles, so my UML diagrams fail to capture
the entire application despite my best efforts. I think this is because UML is
designed to illustrate entity relationships more easily than state dynamism, and
'lifelike' UI diagrams and mockups are strictly forbidden (not abstract enough).
A UML extension to allow both would make jobs like this much easier to
illustrate.
</soapbox>
- EricAnderton at yahoo
|