Tags: Languages, Software Development
The Importance of UML in Object-Oriented Design.
UML stands for Unified Modeling Language and was developed by Grady Booch, Ivar Jacobson, and James Rumbaugh in 1994-1995. The intent was to provide a standard way to visualize the design of a system. Specifically, a system that would be useful and understandable not only for developers but also for business users and any individuals who might find themselves interested. It should also be noted that it is not bound to any programming language, rather, it is sometimes referred to as a blueprint or a design.
Common Ground Needed
Having some kind of framework (blueprint/design) to go off of creates common ground amongst different individuals. Individuals who have different professions and different “business talk,” etc.
In other words, it creates one form of communication that everyone can relate to. When someone starts a new project, all involved people talk in different “languages”. That’s why UML is so important, being that Programmers speak in code, and pretty much no one — but programmers and the like — understand that language.
Similarly, businessmen speak in business values, and various fields have their own slang. Because of this, it can be very hard to understand what the main idea is and the defined goal of software that should be developed.
So in order to solve the initial problem, there needs to be a clear understanding, for everyone involved. In other words, how are we going to create this software in a way that suits how everyone envisions this project’s end result?… Hence UML.
“A picture is worth a thousand words…”
This idiom absolutely describes UML with its graphical representation. As UML evolved and the second version came out, a lot of improvements were made.
As a result of these improvements, we can see that it covers more aspects (including Agile). The total count became 13, and they were able to add 4 new diagrams. They also added the ability to define hierarchy and breakdown a system into the components. The main diagrams are: class, component, deployment, activity, use case, and sequence.
The major benefit of using UML is that all project members, after brief instructions, can “speak” using one unified language. A good approach is to ask experts (business workers) how they will do their tasks without a computer. Amongst the answers to these questions, we can hear actions, objects, etc. Objects turn into models, actions into methods (functions). It is almost all we need for the UML class diagram. And this process will take more time than usual, but it will save more in the future.
And a universally understandable model should absolutely be drawn so that all developers are able to understand. From there, people from business can find some issues with relations between models, bad naming, etc. In such a way, a discussion will lead to better-designed architecture and products. You could say that these diagrams become Rosetta stones for the project.
Splitting the solution into several modules/projects when it becomes too demanding, the benefit is that each UML that describes the module can be implemented in any programming language that fits the most. As a result, nowadays a lot of utils are created to generate code from UML diagrams and vice versa. Taking this into account, creating UML diagrams will yield a positive return on invested time.
Contact us here to receive a free assessment of your custom application!