Difference between revisions of "Diagrams"

From EUDP
Jump to: navigation, search
(Class Diagram)
(Tools)
 
(11 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
For Tutorials Please use your favourite search engine to search for [https://duckduckgo.com/?q=tutorial+uml&t=ffsb&ia=web "Tutorial UML"] or "Tutorial SysML" if what is described below is fulfilling your needs..  
 
For Tutorials Please use your favourite search engine to search for [https://duckduckgo.com/?q=tutorial+uml&t=ffsb&ia=web "Tutorial UML"] or "Tutorial SysML" if what is described below is fulfilling your needs..  
  
===UML===
+
===Tools===
 
+
Over at Tutorialspoint you can find excellent tutorials in general and also for [https://www.tutorialspoint.com/uml/index.htm UML].
+
  
 
'''[https://sourceforge.net/projects/dia-installer/?source=directory Dia]''' is a rather simple, yet effective, tool for creating diagrams. Binaries are provided for major operating systems over at [https://sourceforge.net/projects/dia-installer/?source=directory Dia downloads page].  
 
'''[https://sourceforge.net/projects/dia-installer/?source=directory Dia]''' is a rather simple, yet effective, tool for creating diagrams. Binaries are provided for major operating systems over at [https://sourceforge.net/projects/dia-installer/?source=directory Dia downloads page].  
Line 16: Line 14:
 
</source>
 
</source>
  
Another free tool in most Linux'es is '''Modelio''', which also supports UML diagrams.
+
A useful and mature tool is '''[[https://www.eclipse.org/papyrus/ Papyrus]]''', which supports SysML and UML. Papyrus is Eclipse based, so it'll run on all platforms providing Java.
  
If you are running KDE as tour desktop '''kdesk-umbrello''' may also be a useful choice for you. If you are running on top of Gnome just search for '''umbrello'''
+
Another free tool for Windows, Mac and Linux is '''[[https://www.modelio.org/  Modelio]]''', which also supports both SysML and UML diagrams.
  
===SysML===
+
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'''
  
For SysML it is a bit harder to locate on-line resources suitable for self study.
+
===Tutorials===
  
Eclipse hosts Papyrus, which is a SysML and UML drawing tool of high quality, but maybe not that easy to get familiar with. There is a [https://wiki.eclipse.org/Papyrus-RT/User/User_Guide/Getting_Started guide] in the project space on Eclipse.org, which can be used for getting started with SysML and UML Diagrams. Downloads are located in the same project space.
+
Over at Tutorialspoint you can find excellent tutorials in general and also for [https://www.tutorialspoint.com/uml/index.htm UML].  
 +
 
 +
If you prefer video tutorial here is a few examples of video tutorials:
 +
* This playlist provides a comprehensive tutorial for UML [[https://www.youtube.com/playlist?list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc]].
 +
 
 +
* This is a 77 items long tutorial on UML - very comprenhensive. [[https://www.youtube.com/playlist?list=PLWPirh4EWFpF9Gbnu4_DdF4ITHSN6MSsk]]
 +
 
 +
* And finally this is the word from the horses own mouth on SysML [[https://www.youtube.com/watch?v=998UznK9ogY]]
 +
 
 +
==Examples==
 +
 
 +
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===
 
===Block Diagrams===
Line 37: Line 48:
  
 
'''Dia''' is a useful tool for drawing flow charts.
 
'''Dia''' is a useful tool for drawing flow charts.
 
==Examples==
 
 
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.
 
  
 
===Flow Chart===
 
===Flow Chart===
Line 48: Line 53:
 
[[File:Flow chart in Dia.png | 350 px]]
 
[[File:Flow chart in Dia.png | 350 px]]
  
''An example of a Flow chart made in Dia - here with all drawing objects selected (Ctrl+A)''
+
''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''
  
 
===Class Diagram===
 
===Class Diagram===
Line 63: Line 68:
  
 
''An example of a Class Diagram with Attributes and Operations filled in and visible''
 
''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.
  
 
===Deployment Diagram===
 
===Deployment Diagram===
Line 76: Line 83:
 
''An example of a Statechart Diagram.''
 
''An example of a Statechart Diagram.''
  
Note: '''EventExit''' will trigger a transition from either states to the exit point if it happens.
+
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.
  
 
===Sequence Diagram===
 
===Sequence Diagram===

Latest revision as of 16:30, 12 January 2020

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..

Tools

Dia is a rather simple, yet effective, tool for creating diagrams. Binaries are provided for major operating systems over at Dia downloads page.

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

Tutorials

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 [[1]].
  • This is a 77 items long tutorial on UML - very comprenhensive. [[2]]
  • And finally this is the word from the horses own mouth on SysML [[3]]

Examples

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

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

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.

Flow Chart

Flow chart in Dia.png

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

Class Diagram

Class Diagram in Dia.png

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

Detailed Class Diagram in Dia.png

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.

Deployment Diagram

Deployment Diagram in Dia.png

An example of a Deployment Diagram - in this case only one platform to deploy on.

Statechart Diagram

Statechart in Dia.png

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.

Sequence Diagram

Sequence Diagram in Dia.png

An example of a Sequence Diagram.

Note: The dotted line indicates a time shift.