What is UML
UML diagrams are draws to help you visualize your project structure. its used to communicate a software design among team members,
so its easy to understand how system conponents interact in a drawings and diagrams; rather than reading someone code.
Most of UML diagrams are high-level representation of code, and not concerned with implementation details.
Best way to use UML, is up to you
You can use UML in two different ways, as forward engineering or reverse engineering
- Forward engineering, when you draw your system UML diagrams before coding, this is called forward engineering. as you will follow your UML design in the coding phase
- Reverse engineering, when you have a code, and to translate it to UML diagrams for easy understanding and communication with the team members. here you do the process in reverse order
How people use UML
In software community, people use UML with different perspective, there are three main perspectives on how to use UML
- Sketch
- you do informal sketches, that depict the whole system, and omit details, this is the common method
- Blueprint
- you dig into more details of the design, in this methods, its handled to software deigner who will convert the system concept into easy small components in UML diagram that developers can follow. software designer may be a more experienced developers or a specialized one in software design.
- The difference between sketchy and blueprint UML diagrams is blurry. and could go between those perspective. so its not easy to look at UML diagram and say "this is a sketch diagram" or "i am sure this is a blueprint diagram".
- Programming language
- not a common method of using UML, where it use UML as programming language. and it has its own UML compiler. however this approach is not practical most of the time
Some of common UML diagrams
- class diagram
- sequence diagram
- use cases
- state diagram
- activity diagram (or flow chart)
and we have uncommon as well
- communication diagram
- packages diagram
- timing diagram
So that's it for UML, in the coming posts i will dig into more details of common UML diagrams, and show some snapshots of "Day Player app" UML diagrams to see the UML concepts in actions.
Salam,
M.Aleem
