Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How important are UML diagrams at your work?
10 points by dacilselig on Oct 17, 2012 | hide | past | favorite | 8 comments
Hi everyone,

Currently I'm a University student in North America. I got into a conversation with a friend of mine, where he said that UML diagrams don't serve much purpose when you start working at a company. However I believe that there is a rational behind learning it otherwise we wouldn't.

So my question to HN......Do you use UML diagrams at work? And if so, which ones (Sequential, Use Case,Domain model....)?




I have seen class and sequence diagrams used on a few occasions. The others, never. My teams at Microsoft years ago were getting into statecharts (state machines made clearer with a few extra features, e.g., events which happen on any transition between groups of states) but not the UML notation for them that has apparently popped up. I have the impression these are more common in consulting shops which charge by the hour for reams of waterfall design docs which only roughly describe the actual software written as an afterthought. Even though the way we typically improvise software design is blatantly stupid, this stuff doesn't seem to be the solution.


I'm a unversity student in Europe, and most things we learn make exactly zero sense. I stopped assuming rationality when it comes to CS education a long time ago. Yesterday we had to implement adding two numbers over SOAP.

With that said, UML is not really used in small companies much, but when you feel a diagram would make it easier to understand a concept, chances are you're going to either draw UML or reinvent it poorly.


> Yesterday we had to implement adding two numbers over SOAP.

To be honest this actually sounds like a very useful exercise. I mean SOAP sucks, but SOAP, XML, and web-APIs are highly relevant to many jobs. Just being able to do simple things in SOAP (like add numbers) seems like it would be useful to a lot of students.

PS - I agree that UML is useless.


Well, fortunately I've seen the XML terror coming from SOAP and WSDL, but in the class we had to use drag & drop wizards to create the service. How relevant is that.

Probably the intention is good, but the execution is dangerously discouraging and very very much out of sync with the industry.


I work in industry and teach SE part-time at one of the world's top universities.

Yes, we teach UML because it is the most widely used modeling language. It features many profiles for specific domains and there is a range of tools to choose from.

Embedded systems, avionics, motor vehicle, telecommunications systems are heavily modeled using UML and related techniques. Industrial control systems less so, but there are areas where they are being used more and more. In the commercial applications space, there is much advances to be made.

The use of modeling is a core feature of most engineering disciplines but only recently becoming a part of software engineering methodologies. A crashed program is easier to recover from than a bridge that crashes into the water or a microwave tower that comes crashing down in the first big winds. So the demand for modeling is going to take a while to become a "must have" in SE.

So if you want to work at the next Facebook then UML is probably not going to be important. But if you want to work at Boeing then you'll be needing it.


Just to add to this, I work on an enterprise sized project and we use UML all the time! Its not Boeing, but its a large code base and things get complicated fast. We make class diagrams for all of our large features. If there is complex workflows, we usually make a sequence diagram or some sort of state diagram, depends on the developer. It helps with estimating and helps flush out requirements. I can't image working without UML diagrams.

I`ve also done class diagrams for smaller projects when refactoring. It makes it easier to explain to coworkers what logic needs to go where.


I do not want to say that UML is totally useless, but honestly, I did not even meet one single programmer who were using it. UML may be useful for things other than CS.


In normal practice uml diagrams are not created. To put it bluntly, in many environments it would be a waste. Many people in the business world equate software development to sending an email or using excel. How do you explain a complex system or process diagram to them? All they understand is that there was a meeting so the software should be done in a day or so.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: