DEV Community

Discussion on: Do developers still need UML?

Collapse
 
rainerwinkler profile image
Rainer Winkler • Edited

Hi Rafael,
my answer for developers is yes. I think we need tools that enable us to automatically generate and update visualizations of the code we work with. Doing this work by hand needs to much time and leads to too much errors.
We also need techniques to handle such diagrams as typical applications contain very many objects.
I find diagrams that show dependencies very helpful, but I did neither found the correct diagram for this in UML nor a tool I can use. Especially as I work with SAP ABAP.
After I learned from the Moose platform (moosetechnology.org/), I developed an extractor and a Software Exploration tool for everyday usage in my project, SAP2Moose and Moose2Model. The second can also be used for other languages. Generating a new diagram or updating an old diagram to changed coding takes currently a few minutes. This is much faster than for diagrams I made by hand, I often spend days for such diagrams.
After one year of development I use this tools now for a year in my concrete work as developer (not as architect). Before, I often felt lost in the coding and lost a lot of time searching or trying to remember where I am or where I was. This happens now much less of the time and especially in cases when I cannot use this tools.
There are not many Software Exploration Tools in active development currently, but I see a lot of potential in developing and using such tools, as they will become better and better over time.
Another example of a Software Exploration Tool is Sourcetrail, it can be used for Java, C and C++.
My impression is, that all this tools do not restrict themself to use UML for their diagrams. My impression is, that UML is powerful to design new software. But software exploration tools aim to support developers during their work in real code. Code which may be well developed, but too often this is not the case. I have the impression, that there is yet not enough understanding of how diagrams for this use cases should be made. I also see no urgent need for a standardization here, adding a legend should be enough for now.
Best regards,
Rainer
PS I evaluate currently to enhance the tool to be added to Eclipse and plan to keep it open for all languages

Collapse
 
rafalpienkowski profile image
Rafal Pienkowski

Thanks for your advice. I'll look closer to that tool in the nearest future.