@Radivis (Michael Hrenka) posted a new topic, subject "How useful is UML nowadays?". It read:

   I'm kinda conflicted at the moment, because I hear conflicting statements about the value of UML and related modelling approaches to software engineering.
    
    en.wikipedia.org
    
    ### Unified Modeling Language
    
    The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally motivated by the desire to standardize the disparate notational systems and approaches to software design. It was developed by Grady Booch, Ivar Jacobson and James Rumbaugh at Rational Software in 1994–1995, with further development led by them through ...
    
    I basically see three different use cases for UML:
    
      1. Roughly model the architecture of the software system you want to build. A graphical representation of agents, classes, objects, and other stuff seems to be good for that. The question is whether you actually need UML for that, instead of just drawing diagrams intuitively.
      2. Communication between different stakeholders, like coders, software architects, managers, marketers, shareholders, (customers?), and so on. UML seems to be a good idea to bring some standardization into the game, but many argue that it's a bit too over-engineered to fulfil that purpose effectively.
      3. Automatic code creation – ideally across different platforms and programming languages. About 5 years ago this seems to have been perfected with fUML and ALF, but this approach failed to see wide, or even significant, adoption. Model based engineering seems to work for some companies, but those aren't primarily software companies.
    
    
    
    What's your take on the value of UML for these use cases? I would be especially interested in replies from @notatroll, @Macius_Szczur, @Ken_Carroll, @HoverHell, @guillefix, @Darklight, and others with coding experience.

So @Moriarty (Professor J. Moriarty) replied

    I don't have a use for UML. Smalltalk has http://www.moosetechnology.org . Visualizing code is good. I couldn't design software by planning so much out beforehand though. It has to be organic for me. I don't know exactly what kind of structure I will need until I start playing around. When you get a feel for the stuff you need, then you can refactor to make it more tidy and abstract and reusable.
    
    As for (2), I have no idea what or why you'd want to communicate between stakeholders.
    
    For (3), dunno. Not sure how UML helps. http://book.seaside.st/book/advanced/magritte comes to mind.

To which @Radivis (Michael Hrenka) replied

    I have considered using UML, because I find the possibility of a platform independent abstract architecture intriguing. My reputation economy system Quantified Prestige is just a general system that could be implemented on any platform. So, I thought that making some abstract UML-like diagrams to visualise the system would help people to understand the system and translate it into the language and framework of their choice. I don't think that it would be the best if there was a single platform that QP was run upon. This means, that my use case is rather a combination of 1 and 2.
    
    There's also an issue called
    
    en.wikipedia.org
    
    ### Object-relational impedance mismatch
    
    The object-relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being served by an application program (or multiple application programs) written in an object-oriented programming language or style, particularly because objects or class definitions must be mapped to database tables defined by a relational schema. The term object-relational impedance mismatch is derived from the electrica...
    
    which bothers me. It's confusing that there are two different ways of talking about collections of data: Objects and (database) tables. I would prefer abstracting from that distinction and at first only make some UML-like diagrams for abstract collections of data. My “professional training” lies in the area mathematics. I'm most comfortable with highly abstract stuff.
    
    Would it be ok to use “psuedo-UML” diagrams? Would it be better to use correct UML and focus on the object layer?

@Shalin_Siriwaradhana (Shalin Siriwaradhana) replied

    UML tools are valuable if and only if they are updated. The latest uML version is ver(2.5.1) and Creately is one of the web based tool that support many UML diagrams.


{'source': 'discourse', 'url': 'https://forum.fractalfuture.net/t/how-useful-is-uml-nowadays/640', 'title': 'How useful is UML nowadays?', 'views': 3481, 'has_accepted_answer': False, 'word_count': 584, 'like_count': 2, 'reply_count': 1, 'participant_count': 3, 'posts': 4, 'tags': '', 'author': '@Radivis (Michael Hrenka)', 'participants': '@Radivis (Michael Hrenka), @Moriarty (Professor J. Moriarty), @Shalin_Siriwaradhana (Shalin Siriwaradhana)', 'image_url': [None], 'created_at': '2015-11-25T17:43:11.762Z', 'last_posted_at': '2018-05-16T10:07:36.604Z'}