Umbrello UML Modeller is a UML diagram tool that supports us in the software development process. Especially during the analysis and design phases of this process, Umbrello UML Modeller helps us to get a high quality product. UML can also be used to document our software designs to help us and our fellow developers. Having a good model of our software is the best way to communicate with other developers working on the project and with our customers. A good model is extremely important for medium and big-size projects, but it is also very useful for small ones. Even if we are working on a small one man project we will benefit from a good model because it will give us an overview that will help us code things right the first time.
UML is the diagramming language used to describing such models. We can represent our ideas in UML using different types of diagrams. Umbrello UML Modeller supports the following types:
Class Diagram - Class Diagrams show the different classes that make up a system and how they relate to each other. Class Diagrams are said to be “static” diagrams because they show the classes, along with their methods and attributes as well as the static relationships between them: which classes “know” about which classes or which classes “are part” of another class, but do not show the method calls between them.
Umbrello UML Modeller showing a Class Diagram
Sequence Diagram - Sequence Diagrams show the message exchange (i.e. method call) between several Objects in a specific time-delimited situation. Objects are instances of classes. Sequence Diagrams put special emphasis in the order and the times in which the messages to the objects are sent. In Sequence Diagrams objects are represented through vertical dashed lines, with the name of the Object on the top. The time axis is also vertical, increasing downwards, so that messages are sent from one Object to another in the form of arrows with the operation and parameters name.
Umbrello UML Modeller showing a Sequence Diagram
Collaboration Diagram - Collaboration Diagrams show the interactions occurring between the objects participating in a specific situation. This is more or less the same information shown by Sequence Diagrams but there the emphasis is put on how the interactions occur in time while the Collaboration Diagrams put the relationships between the objects and their topology in the foreground. In Collaboration Diagrams messages sent from one object to another are represented by arrows, showing the message name, parameters, and the sequence of the message. Collaboration Diagrams are especially well suited to showing a specific program flow or situation and are one of the best diagram types to quickly demonstrate or explain one process in the program logic.
Use Case Diagram - Use Case Diagrams describe the relationships and dependencies between a group of Use Cases and the Actors participating in the process. It is important to notice that Use Case Diagrams are not suited to represent the design, and cannot describe the internals of a system. Use Case Diagrams are meant to facilitate the communication with the future users of the system, and with the customer, and are especially helpful to determine the required features the system is to have. Use Case Diagrams tell, what the system should do but do not and cannot specify how this is to be achieved.
Umbrello UML Modeller showing a Use Case Diagram
State Diagram - State Diagrams show the different states of an Object during its life and the stimuli that cause the Object to change its state. State Diagrams view Objects as state machines or finite automates that can be in one of a set of finite states and that can change its state via one of a finite set of stimuli.
Umbrello UML Modeller showing a State Diagram
Activity Diagram - Activity Diagrams describe the sequence of activities in a system with the help of Activities. Activity Diagrams are a special form of State Diagrams that only (or mostly) contains Activities.
Umbrello UML Modeller showing an Activity Diagram
Deployment Diagram - Deployment diagrams show the runtime component instances and their associations. They include Nodes which are physical resources, typically a single computer. They also show interfaces and objects (class instances).
Umbrello UML Modeller showing a Deployment Diagram