SitePoint Sponsor

User Tag List

Page 1 of 3 123 LastLast
Results 1 to 25 of 67
  1. #1
    _ silver trophy ses5909's Avatar
    Join Date
    Jul 2003
    Location
    NoVa
    Posts
    5,466
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    How many people use UML?

    I'm curious as to how many people actually use UML. For me, it really depends on the size and type of application. Sometimes i can picture things pretty clearly in my mind and I may end up doing a rough Class diagram if that. Other times, I need a bit of help and I will also do an Activity and Sequence diagram. That is about all i do though.

    I remember doing a ton of them in school: Use Case, State, Collaboration, etc., but I just don't take the time to do those anymore.

    I also haven't taken the time to learn all of the differences between UML and UML 2 so I probbaly do things the old-school way.
    Sara

  2. #2
    SitePoint Guru
    Join Date
    Aug 2005
    Posts
    986
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't use UML, but I do draw some freestyle diagrams sometimes.

  3. #3
    ☆★☆★ silver trophy vgarcia's Avatar
    Join Date
    Jan 2002
    Location
    in transition
    Posts
    21,235
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    I don't use UML, or any "formal" process really. I sketch out what I need from the database and interface and work backwards from there. About the only time I draw something resembling a class diagram is if I'm doing a low-level object (i.e. a data abstraction layer), but I don't do it for models that represent DB tables easily because the database diagram can be my guide and I hate repeating paperwork

  4. #4
    SitePoint Guru
    Join Date
    Nov 2002
    Posts
    841
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    After spending some time with Rational Rose and trying to integrate diagraming with UML into the development process, I've really unimpressed with UML and especially with the tools used to create it.

    UML is great for communicating a quick concept. It works well in a textbook, or on a white-board or a notepad. The problem with integrating it into your development process with a tool is that it grows and takes over. People spend hours polishing diagrams to make them look just right. Diagrams which don't matter all that much.

    The diagrams really don't capture that much information. So, the dream of having an experienced senior programmer create diagrams and "toss them over the wall" to a team of programmers is just that, a dream. Creating the diagrams may help the experienced programmer understand what he wants, but the information is not actually contained in the diagram when he is done. It is in his head.

    Creating UML diagrams is no more an act of programming than diagraming sentences is an act of writing.

    UML diagrams are helpful as a low fidelity exploratory or communication tool in some situations, but when they become high fidelity, mandated, permanent artifacts, or worse, deliverables, then they become productivity sinkholes.

  5. #5
    SitePoint Addict
    Join Date
    Mar 2004
    Location
    Grand Junction, CO
    Posts
    292
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I use NML (napkin modeling language) all the time, and when my needs get very complex I use the extended NPML (notebook paper modeling language).

  6. #6
    SitePoint Author silver trophybronze trophy
    wwb_99's Avatar
    Join Date
    May 2003
    Location
    Washington, DC
    Posts
    10,653
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by pergesu
    I use NML (napkin modeling language) all the time, and when my needs get very complex I use the extended NPML (notebook paper modeling language).
    I tend to use the extended version--CNML (cocktail napkin modeling language).

    That said, I don't really use much formal UML, but I am a big fan of putting together visio diagrams of processes, workflows and how different parts of an application interact.

  7. #7
    simple tester McGruff's Avatar
    Join Date
    Sep 2003
    Location
    Glasgow
    Posts
    1,690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I might knock up a diagram (using Freehand rather than a UML app) as part of the documentation if it helps to explain how a group of classes interact. Not often though. As Selkirk said it's another thing to maintain. I'd also see it as a bit of a smell: did I miss a simpler design which doesn't need illustration?

  8. #8
    SitePoint Wizard
    Join Date
    Jul 2004
    Location
    Minneapolis, MN
    Posts
    1,924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I do use UML, although I tend to just draw it out on some paper. However, I tend to only use Use-Case and Activity though. They are done really, really fast just so I can quickly get any idea I have down on paper. Most of the time they just sit in the project's manilla folder and I never use them, however writing it down allows me to remember easier.

    On my computer, I wll sometimes use FreeMind (http://freemind.sourceforge.net/wiki....php/Main_Page) to map something out quickly.

  9. #9
    _ silver trophy ses5909's Avatar
    Join Date
    Jul 2003
    Location
    NoVa
    Posts
    5,466
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    I agree with that comment about the diagrams becoming another piece to update when things change. I've never been good about doing that at all for any kind of diagram. I use the diagrams to get my head wrapped around what i need to do.
    Sara

  10. #10
    ✯✯✯ silver trophybronze trophy php_daemon's Avatar
    Join Date
    Mar 2006
    Posts
    5,284
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    The use of UML diagrams is useful to initiate the development, roughtly describing the model of application. Though things always start to change in the process of development, thus the extra work of updating the diagrams is getting redundant.

    That being said, I use UML just in the begining -- in the process of project documentation. The later change of it is unneseccary to me unless it's critical. Furthermore, when I work alone, I use UML only to ease my brainwork.
    Saul

  11. #11
    SitePoint Wizard Young Twig's Avatar
    Join Date
    Dec 2003
    Location
    Albany, New York
    Posts
    1,355
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I like to keep it all in my head.

  12. #12
    SitePoint Enthusiast
    Join Date
    Jan 2004
    Location
    Edinburgh, Scotland
    Posts
    90
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So those of you that DO use UML; what tools do you use?
    Throw away your Calculator -
    get instant results from www.calcResult.com

  13. #13
    _ silver trophy ses5909's Avatar
    Join Date
    Jul 2003
    Location
    NoVa
    Posts
    5,466
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    Quote Originally Posted by omnicity
    So those of you that DO use UML; what tools do you use?
    Alot of times I just do it with paper and pencil. If the project requires it, I will use Visio. I used Rational Rose a few years ago and there was a Rational "plugin" that worked with .net that was very nice. Not sure if its still around.
    Sara

  14. #14
    Non-Member
    Join Date
    Jan 2003
    Posts
    5,748
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I use sequence diagrams mostly on a whiteboard as a means to gain a better or clearer insight into the problem, but no more than that - like Selkirk, for the most part I see little benifit in the real world - and certainly not using any software tools.

    But just how detrimental is it, not to have UML experience, to your career is the question I would be asking instead... Having a foundamental understanding of UML is more important than what tools you would be using no?

  15. #15
    ✯✯✯ silver trophybronze trophy php_daemon's Avatar
    Join Date
    Mar 2006
    Posts
    5,284
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    I use Visio.

    Quote Originally Posted by Dr Livingston
    I use sequence diagrams mostly on a whiteboard as a means to gain a better or clearer insight into the problem, but no more than that - like Selkirk, for the most part I see little benifit in the real world - and certainly not using any software tools.

    But just how detrimental is it, not to have UML experience, to your career is the question I would be asking instead... Having a foundamental understanding of UML is more important than what tools you would be using no?
    It's not detrimental not to have UML experience if you work alone. You can use whatever or use nothing to describe your project for yourself. I find it a bit risky to keep all in my head -- it's always easier to see how it works, how can you improve it when you have all on the paper. But then again, maybe it's just me.

    If you work in a team, in order for others to understand you, you have to follow the standards -- UML in most cases.

    So it depends on a particular case, how imprtant it is.
    Saul

  16. #16
    SitePoint Guru
    Join Date
    Sep 2004
    Location
    NY, USA
    Posts
    712
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I like to use Visio when planning a new application. Diagramming everything out - objects, collections, logic flow etc. - to me is a big time saver in the long run. I wouldn't bother writing one line of code without first having a very clear vision of the end result. Sometimes it is so helpful that typing out code is basically a non-factor - rather it's just going through the motions to go from diagram to working application, if you know what I mean.

    That said, I don't actually know UML, which was the topic. I use drag and drop in visio and I make the tool work for me... but I can't say I know or use UML in the proper sense. But I can map out objects, enums, collections, and their relationships, their scope, and indicate types for all members and methods. It makes me see and think a bit differently (in a good way) than just planning stuff out in my head.

    The point about the diagram being one more thing to maintain is an interesting one, and something I deal with whenever I use them. At first the diagram is key, I keep it open constantly and refer to it. Then there is a development period where I might make tweaks to either the app or the diagram and update both accordingly. But inevitably the diagram becomes no longer needed, and brushed aside.

  17. #17
    Put your best practices away. The New Guy's Avatar
    Join Date
    Sep 2002
    Location
    Canada
    Posts
    2,087
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    I don't really use it formally, but I have done it just to kind of get another look at the thing.
    "A nerd who gets contacts
    and a trendy hair cut is still a nerd"

    - Stephen Colbert on Apple Users

  18. #18
    Programming Since 1978 silver trophybronze trophy felgall's Avatar
    Join Date
    Sep 2005
    Location
    Sydney, NSW, Australia
    Posts
    16,875
    Mentioned
    25 Post(s)
    Tagged
    1 Thread(s)
    From the answers so far I assume that all (or most) work alone and not as a part of a development team. Once you get two or more people working on a project the need for a way of documenting things in a standard way becomes far more important than for one person working alone.

    A single programmer can try to keep track in their head (for small projects) or use whatever format they like to document things (for larger projects). Once you add a second programmer then the documentation needs to be in writing so that both can read it and it needs to be in a format that both understand. Using a predefined standard for the documentation avoids later disagreements on what a particular notation was supposed to mean.

    Personally I use whatever documentation I need to get the job done. When working with others I document everything using the agreed standards and if it is an OO development then that means UML.
    Stephen J Chapman

    javascriptexample.net, Book Reviews, follow me on Twitter
    HTML Help, CSS Help, JavaScript Help, PHP/mySQL Help, blog
    <input name="html5" type="text" required pattern="^$">

  19. #19
    SitePoint Wizard
    Join Date
    Jul 2004
    Location
    Minneapolis, MN
    Posts
    1,924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So those of you that DO use UML; what tools do you use?
    Pencil and paper for sure. All the software for it on OSX sucks.

    One thing I like about use-case diagrams is that I can easily show them to clients and they understand it. This way we can sort of make sure that we are on the same page. We could do this with dialogue or text, but an drawing of some kind makes it much easier to comprehend.

    However, I tend to use activity diagrams for myself only as it is information that the client really does not care about.

  20. #20
    SitePoint Enthusiast giorgio_c's Avatar
    Join Date
    Jun 2005
    Location
    Australia
    Posts
    31
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I work mainly alone but being able to visualize ideas, with my unformal use of UML, helps me a lot. I also use it sometimes, when I'm learning something new.
    I use a relatively old version of this software: http://www.pacestar.com/uml/index.html
    which IMO has the great benefit of being just a drawing tool.
    A few years ago, I got very frustrated with Rational rose and even with UML in Visio due to the formality they were forcing you so the tool being able to generate some crappy code (java).
    Said that, I'm curios to see what more modern tools (possibly in the open source area) are able to achieve in this direction. I sometimes read a bit about them, but havent tried them out. I'm talking of tools like this: http://argouml.tigris.org/
    Does anybody here has used it?

  21. #21
    SitePoint Member
    Join Date
    Jun 2006
    Location
    Calgary, AB
    Posts
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Almost every day

    I use UML quite a bit since I am involved with a lot of larger projects involving a lot of process. It's flexible, easy to understand, and even for most parts (diagrams and use cases) it's easy to convey requirements to business owners and managers.

  22. #22
    SitePoint Guru dbevfat's Avatar
    Join Date
    Dec 2004
    Location
    ljubljana, slovenia
    Posts
    684
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've tried Dia and ArgoUML. Both are sufficient for what I need, but I'm not an advanced user. I only sketch a few sequence diagrams, abstract relationships and sometimes a few use cases per project. Lately I've drawn more using these tools than paper. It has that undo-quality that I miss on a paper .

  23. #23
    eschew sesquipedalians silver trophy sweatje's Avatar
    Join Date
    Jun 2003
    Location
    Iowa, USA
    Posts
    3,749
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I used UML in my book, for the reasons many others have listed before. In practice, I will sometimes sketch out a class diagram or sequence chart, but they rarely make it beyond the whiteboard or a piece of scrap paper. With refactoring, I don't think any hand generated diagram would hold its value long enough to merit the time it took to make it.
    Jason Sweat ZCE - jsweat_php@yahoo.com
    Book: PHP Patterns
    Good Stuff: SimpleTest PHPUnit FireFox ADOdb YUI
    Detestable (adjective): software that isn't testable.

  24. #24
    SitePoint Guru CompiledMonkey's Avatar
    Join Date
    Sep 2002
    Location
    Richmond, VA
    Posts
    975
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is a subject that has come up quite often at work lately. We generally don't do much in the way of formal UML outside of a very detailed ERD. As far as class diagrams, statecharts, and use cases go; not so much. I personally think it's harmful to be on either extreme. Too much bogs down projects while too little can lead to inadequate end results. So the holy grail is finding the middle ground where you can be successful with regards to the bottom line of finishing a quality project, yet properly documenting what you're going to do from the start. If I could find that spot, I'd be a happy geek.

    For those that don't do much with UML, what size projects are we talking about here? 1-5k, 10-50k, 100-500k, 1m+?

  25. #25
    ☆★☆★ silver trophy vgarcia's Avatar
    Join Date
    Jan 2002
    Location
    in transition
    Posts
    21,235
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    Quote Originally Posted by CompiledMonkey
    For those that don't do much with UML, what size projects are we talking about here? 1-5k, 10-50k, 100-500k, 1m+?
    My most recent app is on the small end of that, with about 1/3 of it being unit tests (I'm trying to get into test driven development). There's about 50 lines of handwritten scrawl for my designing

    edit: I'm working alone if that makes a difference.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •