When used right, UML can be an excellent tool to express our ideas in a clear and standardized way. With over a dozen diagrams and a ton of different visual symbols, UML can be overwhelming. However, you can get pretty far by understanding and using the most common types of diagrams. Besides, knowing a lot of UML doesn't necessarily make you a better object-oriented developer. Actually, it might increase your chances of getting lost in the details - instead of addressing the real problem at hand. I can't count how many times I've seen developers arguing over nitty-gritty UML [...]
Sequence diagrams describe a specific scenario and not all the interactions that happen between the objects that form a system. When we draw a sequence diagram, we represent a snapshot of a given part of the live, working system. Instead of having a huge sequence diagram describing every interaction between the objects, we create several targeted ones. It's like performing a cardiac CT-scan instead of scanning the entire body. If we're only interested in the heart and its blood vessels, why should we examine the entire body? If you want to find out more about UML and object-orientation, check [...]
What does the following diagram describe? Click here if you want to get started with Object-Oriented Design and UML.
I want to share my thoughts on learning and using UML. The latest UML 2.5.1 specification is 754 pages long. I firmly believe that nobody on this planet needs to know all that stuff to design software systems efficiently. UML is a perfect candidate for the 80/20 rule (aka Pareto law): 20% UML is sufficient in 80% of the cases. Knowing *some UML* is better than getting lost in the nitty-gritty details of visual artifacts. Going down the UML rabbit hole can easily lead to unnecessary complications and to what I fear the most: "analysis paralysis." In my "UML and Object-Oriented [...]
Woohoo! Udemy features my courses in their UML and Software Development category! My featured UML course
Study Object-Oriented Design and learn how to draw UML diagrams to avoid humiliation during job interviews or design meetings. Explore the fundamental concepts behind modern, object-oriented software design best practices. Learn how to work with UML to approach software development more efficiently. Throughout the course, we go through several examples to familiarize yourself with software design and UML. Plus, I walk you through a case study to review all the steps of designing a real software system from start to finish. Click here to enroll for just $9.99 Enroll for just $9.99 Topics include: Understanding software development methodologies Choosing [...]