In my experience most architectural documentation has been ad-hoc at best,and, aside from more structured dead-tree kinds of writing I've yet to see formal UML in actual use, and I've worked with few, if any developers who'd be able to clearly or correctly build UML diagrams - it seems to be used more as a kind of "graphical psuedocode".
Given that, I'm curious as to whether anyone has experience using UML in internal documentation and communicating system function between team members. Is this a tool/mode of communication people really use in the day-to-day? Is it helpful, overspecified? Have you worked in environments where precise UML mattered or was useful?
Because a lot of software is based on object-oriented programming, where developers define types of functions that can be used, class diagrams are the most commonly used type of UML diagram.
The main aim of UML is to define a standard way to visualize the way a system has been designed. It is quite similar to blueprints used in other fields of engineering. UML is not a programming language, it is rather a visual language. We use UML diagrams to portray the behavior and structure of a system.
Class diagrams are the blueprints of your system or subsystem. You can use class diagrams to model the objects that make up the system, to display the relationships between the objects, and to describe what those objects do and the services that they provide. Class diagrams are useful in many stages of system design.
Sequence UML Diagram Sequence diagrams are probably the most important UML diagrams among not only the computer science community but also as design-level models for business application development. Lately, they have become popular in depicting business processes, because of their visually self-explanatory nature.
The UML (The Unified Modeling Language) is flexible. It's not necessary to use "full" UML all the time.
Yes, I've used UML to communicate design. I've used Domain, Class, Activity, Use Case, Sequence and Deployment diagrams for various purposes.
Some of these purposes were beyond the "obvious" use of the diagram. For instance, I've used deployment diagrams to document sets of virtual machines. Since the Node element is a UML "classifier", it can be used with inheritance. I've used this to show how a base virtual machine is specialized. For instance, the base is just Windows Server 2008, but a specialization of that has SQL Server installed, and a specialization of that one is being used as the database server.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With