In EUDP we generally uses UML and SysML diagrams.
Tutorials and Software
For Tutorials Please use your favourite search engine to search for "Tutorial UML" or "Tutorial SysML" if what is described below is fulfilling your needs..
If you are running Linux you'll just have to install it from the repositories provided by your specific distribution. E.g. in Centos execute
]$ sudo yum install dia
A useful and mature tool is [Papyrus], which supports SysML and UML. Papyrus is Eclipse based, so it'll run on all platforms providing Java.
Another free tool for Windows, Mac and Linux is [Modelio], which also supports both SysML and UML diagrams.
If you are running KDE as your desktop kdesk-umbrello may also be a useful choice for you. If you are running on top of Gnome just search for umbrello
Over at Tutorialspoint you can find excellent tutorials in general and also for UML.
If you prefer video tutorial here is a few examples of video tutorials:
- This playlist provides a comprehensive tutorial for UML [].
- This is a 77 items long tutorial on UML - very comprenhensive. []
- And finally this is the word from the horses own mouth on SysML []
Find below a few examples of diagram types prepared in Dia
Note: The diagrams may look a little bit different depending on the tool at hand, when preparing the diagrams as the different tools put more or less effort in the looks of the different shapes. But basically one should be able to determine the diagram type by looking at it.
Block diagrams can be made in any text editor or drawing program like Libre Office Writer or Draw.
Again Dia proves to be a useful tool.
Flow charts are often used as a method of illustrating a flow in a piece of software. Find over at Tutorialspoint a brief introduction to flow charts.
Dia is a useful tool for drawing flow charts.
An example of a Flow chart made in Dia - here with all drawing objects selected (Ctrl+A), handy when exporting a diagram to e.g. png format
An example of a Class Diagram in Dia - in this diagram the Attributes and Operations are not shown.
This can represent the first basic Block or Class Diagram before details are known.
Detailed Class Diagram
An example of a Class Diagram with Attributes and Operations filled in and visible
Note: One can abstract from classes and use the classes as blocks, because a block shall be described with its responsibility (attributes) and functionality (Operations). If classes are interpreted as blocks only use lines with arrows.
An example of a Deployment Diagram - in this case only one platform to deploy on.
An example of a Statechart Diagram.
Note: EventExit will trigger a transition from either StateA or StateB to the exit point if it happens. But if the system is in Initial state nothing will happen.
An example of a Sequence Diagram.
Note: The dotted line indicates a time shift.