UML Notation - A Quick UML Guide
What Is UML?
UML stands for Unified Modeling Language. UML diagrams and models were originally designed for object-oriented paradigm, but they are also useful in many other areas as process modeling, service modeling, component, and interface modeling. UML is not a silver bullet for every problem as it was believed in the beginning but it has an important place in software development. It's not just for big upfront design, it is also useful for module design and partial system analyses.
UML Diagram Types
The UML models are expressed graphically in the form of diagrams. There are 14 types of UML diagrams. The can be divided into two main groups - structure diagrams and behavior diagrams. The behavior diagrams include a subgroup of interaction diagrams.
Structure Diagrams in UML
- Class Diagram
- Object Diagram
- Component Diagram
- Composite Structure Diagram
- Deployment Diagram
- Package Diagram
- Profile Diagram
Behavior Diagrams in UML
Interaction Diagrams in UML
When to Use UML?
UML may be useful in many cases however you should not use it by force. It should be your helper, not an obstacle you should overcome. UML is a visual modeling language that provides a rich semantics. It is useful especially for:- complex software system architecture
- software component design
- software interfaces
- service architecture
- process design
- process analysis
UML can be used for modeling:
- structure
- behavior
- interactions
UML in Software Development Process
UML has its irreplaceable place in various parts of the software development process. As a well-known aphorism says - a picture is worth a thousand words. The diagrams are those pictures. But why UML? You can also use your own drawings. In specific scenarios, it may be better but the main advantage of UML is that the boxes, lines, and shapes have a specific meaning, so they are less ambiguous than custom diagrams.
You can use UML for:
- ommunication of new component design
- rainstorming about software architecture, processes, states of entities or a system
- ocumentation
- ource code parts generation
- nalyzing existing code
What Views Can Be Modeled using UML?
Diagrams of UML notation can provide various views on the modeled system:
- User view
- Structural view
- Behavioral view
- Implementation view
- Environmental view
Who Can Benefit from UML?
Various user roles may come into contact with UML and benefit from it. UML is mostly used by:
- analysts - to analyze system structure and processes
- software architects - to design software solutions
- developers - to build solutions, to generate parts of code
- customers - to read the specification
What Are the Alternatives to UML?
UML notation unified a lot of the previous modeling and diagramming notations into 14 standardized structure and behavior diagrams. UML diagrams have many uses. They are also areas where you can use other alternative notations (which may be even better for the given use case):
- E-R diagrams for data and database modeling
- BPMN for business process modeling
- CMMN for dynamic and difficult-to-predict processes
- Flowcharts for simple workflow diagrams
UML Tools
The tool for UML may be UML diagramming tools and UML modeling tools. The diagramming (non-modeling) tools are good for drawing simple UML diagrams, sketches, and idea illustrations. The modeling tools provide more features for complex system models - e.g. diagram generation from code, source code, and script generation from diagrams and models. They are usually harder to use.
Software Ideas Modeler is a UML tool that combines the benefits from both areas. It is easy to use as simple diagramming tools and it provides advanced features.
UML Tutorials
- Class Diagram (UML)
- Use Case Diagram (UML)
- Sequence Diagram (UML)
- Activity Diagram (UML)
- Communication Diagram (UML)
- State Machine Diagram (UML)
- Object Diagram (UML)
- Package Diagram (UML)
- Component Diagram (UML)
- Deployment Diagram (UML)
- Composite Structure Diagram (UML)
- Interaction Overview Diagram (UML)
- Timing Diagram (UML)
- Profile Diagram (UML)
- UML Abstract Class - Using Abstract Modifier
- Set Attribute Type Using Drag & Drop
- Adding Attributes by Association Roles
- Edit Visibility For Multiple Attributes/Operations
- Set Enumeration Item as Default Value of Attribute
- Object as a Default Value (UML Diagramming)
- Add Constructor to UML Class
- What is UML used for?
- Regex to State Machine Diagram
- Code Generation - Turn Your Diagram to Code
- Advanced Use Case Analysis
- What Is the Difference Between UML Aggregation and Composition?
- UML Notation
- UML Arrows - Know UML Relationship Types
UML Diagram Examples
- UML Class Diagram Overview (UML Class Diagram)
- Hotel Room Booking System Use Cases (UML Use Case Diagram)
- Computer (UML Composite Structure Diagram)
- Book Reading Lifecycle (UML State Machine Diagram)
- Restaurant Orders (UML Use Case Diagram)
- Restaurant Orders (UML Class Diagram)
- Adapter Design Pattern (UML Class Diagram)
- Linked Lists (UML Class Diagrams)
- Decorator Design Pattern (UML Diagrams)
- DMS - Document Management System (Project, Diagrams)
- Logger (Model of Extensible Logging Module)
- Command Stack (Diagram)
- Spaceflight Phases State Machine Diagram (UML Example)
- Life Insurance System (UML Diagrams)
- Car States (UML State Machine Diagram)
- ATM Withdrawal (UML Sequence Diagram)
- Nervous System (UML Class Diagram)
- Haematopoiesis - Immune System (UML Class Diagram)
New Comment