Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Krátké doporučení pro tvorbu akademických prací
Vývojové (a relační) diagramy a obrázky
Pavel Pačes, 2010, Verze 1
1
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Obsah Předmluva ............................................................................................................................................... 2 Seznam změn........................................................................................................................................... 2 Úvod ........................................................................................................................................................ 3 Software pro tvorbu vývojových diagramů ............................................................................................. 4 Symboly ................................................................................................................................................... 5 Barevné zvýraznění diagramu ............................................................................................................. 6 Příklady .................................................................................................................................................... 7 Vývojový diagram uživatelského programu ........................................................................................ 7 Vývojový diagram programu pro mikrokontrolér ............................................................................... 7 Blokové schéma zapojení měřicího pracoviště ................................................................................... 9 Komunikační diagram ........................................................................................................................ 11 Automaticky generovaný diagram závislostí ..................................................................................... 11 Art ...................................................................................................................................................... 13 Bibliografie ............................................................................................................................................ 13
Předmluva Tento dokument vznikl zásluhou jednoho studenta, který v blíže nespecifikovaném časovém okamžiku prohlásil, že neví, jak se kreslí vývojové diagramy. Vzápětí po jeho přiznání následovalo zadání úkolu, a to vytvořit krátký referát (1) ohledně vývojových diagramů. Na základě tohoto zadání pak vznikl jednostránkový dokument popisující tvary používané pro vývojové diagramy. Bohužel mě tento dokument neuspokojil a na základě zkušeností s dalšími studenty dokument dále rozvíjím.
Seznam změn 1. 1. 2010
2
První verze dokumentu
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Úvod Vývojové diagramy se používají pro grafické přiblížení funkce algoritmu, který někde začíná a po vykonání užitečné funkce skončí. V současné době se vývojovým diagramem popisuje hlavně software, ale v zásadě je možné využít vývojový diagram pro přiblížení sekvence kroků jakékoliv lidské nebo uměle vytvořené činnosti. Složitost algoritmu může přesahovat možnosti zobrazení poskytovaných finálním nosičem informace – stránkou referátu, bakalářské nebo diplomové práce. Proto je vhodné se zamyslet nad tím, co by měl vývojový diagram čtenáři přiblížit a v jakém stupni detailu popisovaný algoritmus vykreslit. V zásadě je možné cokoliv vyjádřit následujícím, velmi jednoduchým, obrázkem.
a) MS Paint
Úvod
Start
Stať
Algoritmus
Závěr
Konec
b) MS Visio
c) MS Visio
d) Open Office Draw
Obrázek 1 Obecný vývojový diagram pro veškerou lidskou činnost.
Kreslení vývojových diagramů a obecně obrázků je časově náročná operace, která může u jedinců bez uměleckých vloh vyvolávat nápory beznaděje. V technickém světě se bohužel bez obrázků a vývojových diagramů neobejdeme, protože podle známého klišé „jeden obrázek vydá za tisíc slov“ bude vedoucí práce trvat na tom, aby byla popisovaná funkce řádně nakreslena. V některých případech nebude vývojový diagram vytvořený v různých kreslících nástrojích a představený na obrázku 1 vyhovovat a celou funkci algoritmu bude třeba rozepsat pomocí bloků podprogramů, rozhodování, atd. V případě dokumentování závislostí software1 je nejlepší možností využívat programy, které umí vygenerovat grafický popis na základě kódu, který je v práci vyvíjen. V případě zdrojového kódu je možné využít například funkce nástroje Doxygen (2), nebo přímo využít diagram závislostí (3) poskytovaný vývojovým prostředím, například Microsoft Visual Studio (4), dostupné v rámci (5),(6). Obecně je lepší kreslit vývojové diagramy ve speciálním programu, nebo v souboru určeném pouze pro vývojový diagram a výslednou kresbu do dokumentu textové práce vkládat jako jeden objekt. Autor práce si tím ušetří značné problémy při pozdějším zalomení a změnách dokumentu.
1
V literatuře označované jako „relations diagram“
3
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Software pro tvorbu vývojových diagramů V okamžiku, kdy musíme začít kreslit vývojový diagram ručně2, je v zásadě možné využít jakýkoliv software, např. mspaint. ALE! Protože by výsledná práce měla zaujmout profesionálním vzhledem, je výhodnější vyzkoušet si několik produktů a vybrat si ten, který poskytuje nejvíce výhodných vlastností. Tyto vlastnosti mohou být silně subjektivní, ale vyplatí se dívat po následujících funkcích: Vektorový editor s možností uložení rozpracované práce. Možnost zarovnání objektů do mřížky, která pak umožňuje kreslit přesně stejné tvary. Někteří lidé dokáží podvědomě rozlišit malé rozdíly ve velikosti jednotlivých částí diagramu a v případě, že je diagram vykreslen lehce nesouměrně, tak mají z kresby „divný“ pocit. Konektory, které umožňují přilepit propojovací čáry k jednotlivým objektům vývojového diagramu. Výhodná je také možnost přidávat přípojná místa k objektům. Knihovna předdefinovaných tvarů, která usnadní a urychlí kreslení vývojového diagramu. Export výsledku do různých grafických formátů, které poté využijete ve vašem sázecím programu. Podpora vrstev, která umožňuje nakreslit části diagramu v různých vrstvách a program následně umožňuje těmto vrstvám přiřazovat vlastnosti. Například tvary vývojového diagramu budou ve vrstvě A a texty popisující jednotlivé bloky ve vrstvě B. Některé návody doporučují přidávat textové popisky grafům a obrázkům až ve výsledném dokumentu. V případě použití vrstev je možné vývojový diagram navrhnout tak, aby všechny texty pasovaly na svá místa. Následně vypnout zobrazení vrstvy s textem vývojový diagram použít a v textovém editoru doplnit o popisky. Následující seznam software je seřazen podle autorových preferencí s krátkým popisem jeho vlastností. Microsoft Visio Programový balík MS Visio3 poskytuje celkem vyvážený soubor vlastností, které uspokojí požadavky na kreslení obrázků pro bakalářské i diplomové práce. Software nabízí možnosti exportu i do takových formátů jako je eps, který je poté možné využít pro generování dokumentace ve formátu pdf pomocí nástroje Doxygen. Open Office Draw Draw je součástí volně dostupného balíku Open Office. Uživateli nabízí komfort jednoduchého ovládání a při správném nastavení se dá dosáhnout i pěkného vzhledu výsledné kresby. Nevýhodou je problematický export obrázku do dalších formátů, který dosahuje střídavé kvality zobrazení (zkoušeno na verzi 3.0). Microsoft Word (a podobně Open Office Writer) Textové editory jako MS Word a OO Writer umožňují přímo do textu vkládat jednoduché obrazce, ze kterých je možné vytvořit vývojový diagram. Infarktové situace ovšem nastávají v případě, že je nutné provést úpravy v textu, které zapříčiní posuny odstavců a přestránkování dokumentu. Pak záleží na tom, k jakému objektu jsou vložené obrazce ukotveny. V nejhorší variantě je část obrazce ukotvena k odstavci a druhá část ke stránce.
2 3
Někdy je možné využít funkce automatického generování vývojového diagramu. Pro studenty a nekomerční využití je softwarový balík přístupný studentům v rámci MSDN Academic Alliance.
4
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky V tomto případě se posunují obě části diagramu jiným způsobem a je třeba v dokumentu provádět nové úpravy.
Konektory
Předdefinované tvary
Podpora vrstev
Možnosti Exportu
Celkové hodnocení
MS Visio Open Office Draw MS Word (OO Writer)
Zarovnání do mřížky
Tabulka 1 Porovnání softwarových balíků
Další software: SmartDraw: http://www.smartdraw.com/, Windows.
Symboly Existuje mnoho možností, jak vyjádřit souvislosti popisovaného algoritmu. Jednou takovou možností je využít obrazce nabízené prostředím MS Visio v nabídce: Soubor Obrazce Obrazce základních vývojových diagramů. Jedná se o obecně uznávané tvary (7), jejichž základní význam je uveden v tabulce 2. Tabulka 2 Porovnání softwarových balíků
Tvar
Význam Terminátor – Jedná se o prvek, kterým vývojový diagram začíná, nebo končí. Akční prvek reprezentuje akci, která je v tomto kroku prováděna. Blok rozhodnutí umožňuje rozvětvit vývojový diagram. Funkční blok (sub process) většinou reprezentuje další vývojový diagram. Konektor propojuje aktuální vývojový diagram s jeho pokračováním na další stránce. Operace s daty – čtení/zápis dat, jedná se o automatický vstup/výstup v diagramu (rovnoběžník = parallelogram) Ruční vstup dat.
5
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Barevné zvýraznění diagramu Proto, aby obrázek diagramu působil přitažlivěji, je možné zvolit barevné zvýraznění některých jeho částí. Barevnost diagramu by si autor měl velmi dobře promyslet a v celé práci pak dodržovat jedno barevné schéma. Barvy by měly mít spíše pastelový nádech a barevné schéma může být následující: Vývojový diagram barevně zvýrazňuje jen jeho podstatné bloky, které jsou dále popsané v textu práce. Všechny vývojové diagramy mají každý použitý tvar odlišený svou barvou (tj. start, konec, podmínky, volání procedur, atd.).
6
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Příklady V následující části jsou uvedeny příklady vývojových diagramů a některých jejich chyb.
Vývojový diagram uživatelského programu Příkladem nešťastně řešeného vývojového diagramu je obrázek 2. Bloky jsou sice barevně odlišeny, ale není patrné, kde digram začíná. Autor zvolil také vlastní tvary jednotlivých prvků, takže orientace v diagramu není intuitivní a navíc diagram plyne snad do všech směrů (shora dolů, zdola nahoru, zprava doleva a zleva doprava). V diagramu chybí vyobrazení výsledků logických podmínek rozhodování znázorněných algoritmů. Navíc některé bloky končí ve vzduchoprázdnu (jako např. „Inicializace oken“).
Obrázek 2 Vývojový diagram vizualizačního software (8).
Vývojový diagram programu pro mikrokontrolér Blokové schéma programu pro mikrokotrolér začíná vždy po zapnutí napájení a pokračuje přes inicializační část k hlavní smyčce programu. Další funkce, které je třeba zobrazit jsou rutiny přerušení.
7
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Obrázek 3 Ilustrace hlavní smyčky programu mikrokontroléru a funkce přerušení (9).
8
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Electronic Part
Mechanical Part
PWR Driver PWR Driver
PWR
Switching Power Suply and LDOs CAN bus
PCA 250
CAN TTL
Position Feedback
ARM LPC2129 SPI
JTAG (Debug Interface)
Engine
Gear Box
MEM.
Speed Input
Oscilator
Obrázek 4 Ilustrace elektromechanického propojení.
TEDS data Start
Read ADC
Sensor
Raw data 0 ÷ 1024
Analogue value
Read OK? Signal Validation Block
?
End
Angle
Actuator
Calc error Calc reg. value
?
Regulator value in range?
0 ÷ 100 % of max. power 50 %
Adjust Value
10 %
Apply Value End
Obrázek 5 Ilustrace funkce regulačního algoritm.
Blokové schéma zapojení měřicího pracoviště V následujícím schématu je znázorněno zapojení měřicího pracoviště, kde jsou jednotlivé přístroje připojené k datové sběrnici. Jedná se o jednoduchý obrázek, kde bych přidal pouze kuličku pro propojení bloků MSCAN1 k průběžnému vedení.
9
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Obrázek 6 Zapojení měřicího pracoviště (10).
Následující schéma ukazuje komplikovanější měřicí pracoviště, které obsahuje několik základních orámovaných bloků: celkové pracoviště, výpočetní systém s naznačeným SW vybavením a teplotně stabilizovanou komoru, která obsahuje popisovaný experiment. CAN Bus
USB2CAN Converter
PC CT
RS232
MATLAB USB2GPIB Converter
IT
Vacuum Pump
Temperature Chamber Constant Pressure
Druck DPI145
ADC1
IVD Pressure Regulator
Power Supply
S1a
S1b
SPI2CAN Converter
IIC2CAN Converter
MB
HCR
ADC2
……..
Sna
Snb
Vacuum 3x115V 400Hz
=27V
Voltage Stabilizer
Temperature sensor PT100
±12V
GPIB
Power Supply
Support Platform (power distribution, signal wiring)
±5V
Agilent 34097A Agilent 34401
Obrázek 7 Zapojení měřicího pracoviště (11).
10
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Komunikační diagram Komunikační diagram se nejlépe ilustruje jako posloupnost kroků v čase.
Slave
Command ;
Response ;
ArmServo
Control System
Master
Obrázek 8 Ilustrace komuznikačního protokolu.
Automaticky generovaný diagram závislostí V některých případech se k ilustraci závislostí jednotlivých bloků např. SW vybavení dá použít relační diagram tak, jak je zobrazený na následujícím obrázku.
11
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Obrázek 9 Ilustrace diagramu závislostí jednotlivých zdrojových souborů vygenerovaných toolem Doxygen.
12
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky
Art b
c
d
a e
f
g
h Obrázek 10 Artwork.
Bibliografie 1. Popelka, Jan. Vývojové diagramy. Referát. Praha : Jan Popelka, 2009. 2. van Heesch, Dimitri. Doxygen - Source code documentation generator tool. [Online] http://www.doxygen.org. 3. Syque. Relations diagram. [Online] http://syque.com/quality_tools/toolbook/Relation/relation.htm. 4. Microsoft. Microsoft Visual Studio. [Online] http://www.microsoft.com/cze/msdn/produkty/vstudio/default.mspx. 5. —. Microsoft Developer Network Academic Alliance. [Online] http://www.microsoft.com/cze/education/licence/msdn_academic_alliance/default.mspx.
13
Pavel Pačes, 2010, Verze 1
Krátké doporučení pro tvorbu akademických prací: Vývojové (a relační) diagramy a obrázky 6. Microsoft Corporation. MSDNAA Overview. Microsoft MSDN Academic Alliance Program. [Online] [Citace: 12. 01 2010.] http://msdn.microsoft.com/en-us/academic/default.aspx. 7. Syque. Flowchart. [Online] http://syque.com/quality tools/toolbook/Flowchart/flowchart.htm. 8. Hájek, Miroslav. Návrh a implementace softwaru pro vizualizaci telemetrických dat pro malý proudový motor. Praha : ČVUT, 2008. Diplomová práce. 9. Pačes, Pavel. Vícekanálový D/A převodník. Zpracované úlohy z předmětu Prakrita z mikroprocesorové techniky. Praha : Pačes Pavel, 2003. 10. Petera, Martin. Implementace driveru LinCAN pro PowerPC a porovnání se systémem Socket CAN. Praha : ČVUT, 2010. Diplomová práce. 11. Pačes, Pavel a et_al. Sensors of Air Data Computers - Usability and Environmental Effects. Brno : Univerzita obrany, 2009. stránky 401-409, ICMT'09 - Proceedings of the International Conference on Military Technologies. ISBN 978-80-7231-649-6.
14
Pavel Pačes, 2010, Verze 1