Difference between revisions of "Diagrams"
(→SysML) |
(→Tools) |
||
(22 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
==Tutorials and Software== | ==Tutorials and Software== | ||
− | 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". | + | 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.. |
− | === | + | ===Tools=== |
− | + | '''[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]. | + | |
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 | 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 | ||
Line 16: | Line 14: | ||
</source> | </source> | ||
− | + | 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. | |
− | + | Another free tool for Windows, Mac and Linux is '''[[https://www.modelio.org/ 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 [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=== | ||
− | Block diagrams can be made in any | + | Block diagrams can be made in any text editor or drawing program like [https://www.libreoffice.org/ Libre Office] Writer or Draw. |
− | Dia | + | Again '''Dia''' proves to be a useful tool. |
===Flow Charts=== | ===Flow Charts=== | ||
Line 36: | Line 47: | ||
Flow charts are often used as a method of illustrating a flow in a piece of software. Find over at [https://www.tutorialspoint.com/basics_of_computer_science/basics_of_computer_science_algorithm_flowchart.htm Tutorialspoint] a brief introduction to flow charts. | Flow charts are often used as a method of illustrating a flow in a piece of software. Find over at [https://www.tutorialspoint.com/basics_of_computer_science/basics_of_computer_science_algorithm_flowchart.htm Tutorialspoint] a brief introduction to flow charts. | ||
− | Dia is a useful tool for drawing flow charts. | + | '''Dia''' is a useful tool for drawing flow charts. |
+ | |||
+ | ===Flow Chart=== | ||
+ | |||
+ | [[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), handy when exporting a diagram to e.g. png format'' | ||
+ | |||
+ | ===Class Diagram=== | ||
+ | |||
+ | [[File:Class Diagram in Dia.png | 450 px]] | ||
+ | |||
+ | ''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=== | ||
+ | |||
+ | [[File:Detailed Class Diagram in Dia.png | 550 px]] | ||
+ | |||
+ | ''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=== | ||
+ | |||
+ | [[File:Deployment Diagram in Dia.png | 575 px]] | ||
+ | |||
+ | ''An example of a Deployment Diagram - in this case only one platform to deploy on.'' | ||
+ | |||
+ | ===Statechart Diagram=== | ||
+ | |||
+ | [[File:Statechart in Dia.png | 550 px]] | ||
+ | |||
+ | ''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=== | ||
+ | |||
+ | [[File:Sequence Diagram in Dia.png | 550 px]] | ||
+ | |||
+ | '' An example of a Sequence Diagram.'' | ||
+ | |||
+ | Note: The dotted line indicates a time shift. |
Latest revision as of 16:30, 12 January 2020
In EUDP we generally uses UML and SysML diagrams.
Contents
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
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
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.
Deployment Diagram
An example of a Deployment Diagram - in this case only one platform to deploy on.
Statechart Diagram
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
An example of a Sequence Diagram.
Note: The dotted line indicates a time shift.