Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

UML - productivity booster or waste of time?

Options
  • 13-12-2009 8:25pm
    #1
    Closed Accounts Posts: 4,564 ✭✭✭


    I am doing UML in College at the moment, and I am failing to see it's
    actual importance. I work on Open Source when I have the time, and
    normally the code itself, plus some documentation tends to be good
    enough. I am biased, because most stuff I do is procedural C/Perl.

    My question to coders here: Do you use UML modelling methods?
    It all seems a bit ott. Are there any other universally adopted methods?

    So far, I feel it's just a more politically correct method of presenting
    programming work to non technical people. Is UML even worth doing
    unless you conform 100% to the criteria set by it's creators?


Comments

  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    Depends on your project and who your stakeholders are. UML can be overkill for many projects and so what is more common place is that certain subsets of UML (such as use cases, interaction diagrams, etc) will often be used. In it's most formal sense, UML is typically only used in it's entirety in critical systems - where bugs are really not an option.

    It is important in so far as in a project you will have several stakeholders, each with their own ideas and other than needing a formal approach to accurately define the requirements, you will want to consider all possible scenarios that may arise. I've seen companies go bust when this was not done and they instead just 'got stuck in'.

    Another approach I have found that is used, employs prototyping as a tool in the design process, although still using methods borrowed from UML.


  • Registered Users Posts: 7,334 ✭✭✭jmcc


    Very, very few people can program like Mozart wrote music. That's why UML is an essential tool. From an engineering point of view, the more tools you can use and have access to, the better. When you are working with more than one person on a project - everyone has to be able to understand what is going on and what they have to do. UML is, perhaps, one one way of making this easier.

    Regards...jmcc


  • Registered Users Posts: 2,119 ✭✭✭p


    UML, and an awful ot of topics taught in college are often incredibly useless to you when you first learn them. When you're writing small-medium programs, and it's only a one-man team, and you can actually keep the whole thing in your brain, it's pretty much an academic excercise.

    However, many of these things will come back to you in a few years, and will be incredibly useful when working on larger teams, or largers projects, or maybe projects that have a lifetime of years, not weeks. So stick with stuff like this, have a little faith, it'll most likely be useful to you someday. :)


  • Subscribers Posts: 16,568 ✭✭✭✭copacetic


    very important, especially on big projects where the software may only be a part of the solution. Or different part of the system are designed and tested in different locations. Something needs to pull it all together into an overall solution. Every scenario has to be worked out in advance so that all the various teams are working on a proper integrated solution, not seperate systems that don't work together. When this happens it can take longer to to work out why and fix it than it did to code it in the first place. Most of it spent with each team blaming everyone else.


  • Closed Accounts Posts: 9,183 ✭✭✭dvpower


    jmcc wrote: »
    Very, very few people can program like Mozart wrote music. That's why UML is an essential tool. From an engineering point of view, the more tools you can use and have access to, the better. When you are working with more than one person on a project - everyone has to be able to understand what is going on and what they have to do. UML is, perhaps, one one way of making this easier.

    The everyone understanding stuff is the sticking point.
    The whole purpose of tools like UML are to aid communication. If UML adds to this then its doing its job. But if some people on the team don't understand what UML is trying to tell them, then its not much use.

    And UML can be quite involved. There a pile of nice big books and lots of courses you can do. So its difficult to expect a deep level of knowledge from everyone (and its not like UML is very widely used).

    So, I'd say, its important to know the basics of UML but when you start asking yourself questions like "Do I need to fill in the diamond to show composition or is that aggregation?" then I think, for most purposes, you need to take a step back and ask yourself why are you using UML in the first place.


  • Advertisement
  • Closed Accounts Posts: 4,564 ✭✭✭Naikon


    Interesting posts. Still find it a bit zzzzz in comparison to actual Algorithm planning
    and implementation. I am no super guru but this stuff will probably help me in more
    ways then I think in the future. We will have to wait and see...


  • Closed Accounts Posts: 4,564 ✭✭✭Naikon


    The class diagramming techniques are actually pretty
    damn useful I have to admit.


Advertisement