Microsoft přivedl novou verzi Visia na trh se sloganem „Dejte myšlenkám přesný tvar“. Není to ale pouze obchodní trik pro nalákání zákazníků?
Základní informace
Nejprve je ale nutné říct, co to vlastně Visio je. Pokud řeknu, že se
jedná o kreslítko všech možných tvarů, které se navíc dá propojit
s databází, nebudu daleko od pravdy. Pomocí předdefinovaných tvarů je
možné vytvářet všeliké obrazce od rozmístění stolů ve vaší
kanceláři až po složitý návrh datových struktur pomocí UML. Ale
nepředbíhejme.
Instalace produktu je přímočará a bezproblémová s jedním velkým
„ale“ , kterým je aktivace produktu (v podstatě to znamená, že ačkoliv
jste legálními uživateli, musíte projít ponižujícím procesem, na jehož
konci je možnost produkt používat).
Pracujeme s Visiem
Ještě, než začnete, je potřeba určit alespoň přibližně, co hodláte
kreslit. Na výběr je ze 14 kategorií, z nich každá obsahuje několik
šablon. Nejde ale o šablonu v tom smyslu, že je již něco předkresleno,
ale o jakousi knihovnu tvarů (též nazývaných objekty), které můžete na
plátno přetahovat pomocí myši.
Po výběru šablony se již můžete realizovat. Na levé straně máte
seznam všech tvarů, jež můžete umístit na plátno typicky zabírající
zbývající pracovní plochu. Nikde není řečeno, že musíte používat
pouze tvary z dané šablony. Naopak si můžete do již otevřené šablony
přidat další nebo tvary například přetahovat z jiného otevřeného okna
(Visio je MDI aplikace).
Se všemi tvary (jen namátkou vybírám plány budov, elektrotechnická
schémata, grafy, organizační diagramy, softwarové struktury, topologie
sítí) lze provádět několik základních operací jako je jejich spojování
do skupiny, rotovat je, měnit barvu a velikost, popisovat je a další. Kromě
toho je možné pomocí tzv. kolektorů tyto tvary spojovat a tvořit tím
větší celek (jako příklad lze uvést spojení počítačů do sítě).
Síla Visia ovšem nespočívá pouze ve tvarech, které jsou v rámci
dodávky software, ale můžete si nakreslit libovolné další množství
tvarů, které potřebujete. Můžete vycházet buďto z již nakreslených a
pouze je pozměnit nebo začít na zelené louce. K dispozici máte nejenom
linku, obdélník, elipsu, ale i různé křivky, kotvící body a další. Na
všechny tvary lze aplikovat množinové operace jako jsou průnik, sjednocení
apod., čímž lze dosáhnout opravdu komplexních zobrazení. A pokud ani to
vám nepřipadne dostatečné, lze pomocí VBA (Visual Basic for Applications)
dělat hotové zázraky – jen pro představu: dejme tomu, že si děláte
obálku. V případě, že se zadá obec, automaticky se například
z databáze doplní PSČ. Nebo zadáte jméno a z databáze se doplní celá
adresa případně se podle státu určí nominální hodnota známky. Nebo
v případě, že není splněna nějaká podmínka, tak objektu automaticky
změnit barvu… Vše závisí na konkrétním požadavku (a na
znalostech VBA).
Pokud například kreslíte plánek vaší kanceláře s umístěním
jednotlivých pracovníků, pak není problém mít tato data uložená
v databázi a spolupracovat s ní. Podobně lze nakreslit i organizační
diagramy. Ty lze nechat vygenerovat pomocí průvodce, kterému se řekne,
z jakého datového zdroje má brát informace, co určuje vztah podřízenosti
a co vše se má zobrazit. Zbytek je již proveden automaticky.
Občas se stává, že za vámi někdo přijde a chce vidět výsledek vaší
práce. Ačkoliv nemáte nic hotového, šéf to většinou nepozná, pokud mu
to donesete na stříbrném podnose. I na to Visio myslí a dokáže vašemu
polotovaru dodat pěkný vzhled pozadím, které bude platné pro všechny
stránky dokumentu. Podobně na pozadí lze umístit tvary, které jsou sice
vidět na jednotlivých stránkách, ale pochopitelně s nimi nelze
manipulovat.
Visio pro vývojáře
Microsoft se netají tím, že Visio je určeno i vývojářům (a teď
nemyslím ty, kteří budou programovat chování nových tvarů). Pojďme se
podívat, jak je na to připraveno. Novinkou ve verzi 2002 je možnost
použití notace UML. Můžete modelovat diagramy užití, diagramy stavů či
třeba diagram tříd. Má to ovšem jeden háček (spíše harpunu).
Představte si, že jste dva týdny strávili nad objektovým modelem nové
aplikace a rozhodnete se konečně k tomu nejdůležitějšímu, tedy
vygenerovat zdrojový kód s deklaracemi těchto tříd. Jenže i kdyby jste
strávili další dva týdny hledáním, jak to provést, nenajdete to. Visio je
naprosto hloupé kreslítko, které tuto činnost neumí.
Datový model patří k další „chloubě“ Visia. Můžete použít
jednu ze tří nabízených notací a kreslit entity s relacemi, co hrdlo
ráčí. Jenže je tu problém. Chcete model například pro Oracle či SQL
Server? Máte smůlu. Buďto použijete portabilní datové typy a nebo typy
z Accessu. Ovšem ta pravá sranda, kdy se budete moci smíchy potrhat, nastane
v případě generování SQL skriptu. Ono totiž – podobně jako
u UML – nic generovat nejde. Visio jako CASE nástroj? Zapomeňte. A nic
naplat, že lze pomocí zpětného inženýrství (reverse engeneering) vložit
již existující model z databáze.
Ovšem vývojář nejen databázemi je živ. Pro své milované uživatele
musí většinou vytvořit nějaké to uživatelské prostředí. I ve Visiu si
můžete natahat na plátno tlačítka, menu a další ovládací prvky, ale
opět, k čemu to je dobré, když není sil, které by vygenerovaly něco, co
by se dalo přeložit. Navíc, když například v Delphi vytvořím dialog,
proč bych jej ještě patlal ve Visiu? Kvůli dokumentaci? Ale prosím vás,
vždyť od toho je klávesa PrintScreen, která je na každé slušné
klávesnici.
A takto můžeme pokračovat dál a dál: datové struktury, COM objekty
apod. Pokud teď namítáte, že o tomto Visio není, že má sloužit pouze ke
kreslení, pak lze souhlasit pouze do té doby, než se podíváme na cenu
produktu, která je vzhledem k možnostem neskutečně vysoká. Ono totiž ani
vlastní kreslení není takové, jak se na první pohled může zdát
(popíši dále).
Visio je součástí rodiny Office XP a tedy podobně jako s jinými
produkty lze i Visio ovládat z jiných aplikací pomocí OLE Automation.
Můžete si tak připravit speciální tvary a aplikaci, která bude tyto tvary
využívat v jednodušším prostředí kde nebude nutné uživatele
učit Visio.
Problémy
S Visiem jsem často sváděl boj na život a smrt. Uvedu jednoduchý
příklad. V mnoha nástrojích, které se mi dostaly do ruky, je možné
spojovací šipky a pod. ukotvit na libovolné místo objektu, nebo alespoň na
jeho obvod. Nikoliv ovšem ve Visiu. Tam lze kotvit pouze na kotvící body,
které tam milostivě tvůrce tvaru vloží. Pokud chcete ukotvení na
libovolném místě, jde to, ale strávíte spoustu času programováním ve VBA
a navíc bude potřeba takto upravit každý tvar, u kterého požadovanou
vlastnost potřebujete.
V některých případech lze s tvary pracovat tak omezeně, že tužka
s papírem jsou skvělou elektronickou pomůckou. Opět příklad: modelování
trasy metra (nebo silnice) je naprostá katastrofa, protože nelze například
od ruky nakreslit trasu s tím, že by následně Visio doplnilo těmi
správnými tvary dle křivky. Nebo aby třeba umožňovalo již dodané tvary
ohýbat. Navíc, když si nakreslenou trasu chcete posunou, pak je nutné
posunovat prvním vloženým tvarem, jinak se vše rozpojí. A to nemluvím
o tom, že stanice je potřeba s trasou „slepit“ funkcí Group, jinak oba
dělají, že se neznají.
Závěr
Když jsem jednou od Visia odběhl, sedl si k němu pokročilý uživatel
Visia neznaje, že si něco nakreslí. Většinu kroků zvládl celkem
v pohodě, prostředí je intuitivní, ale velmi brzy narazil na omezení
tvarů: tu nešel vložit text, tu nešlo něco provést podle
představy apod.
Nejsem tedy sám, kdo si myslí, že myšlenkám pomocí Visia přesný tvar
rozhodně nedáte. Naopak, mozek často bude muset dělat složité kotrmelce,
aby z něj alespoň vyždímal to nejnutnější. Že to odvádí od seriózní
práce, je zřejmé.
Nechci říkat, že Visio je nepoužitelné. Jsou situace, kdy dokáže
udělat opravdu velký kus práce a není potřeba se za ni stydět. Ovšem jsou
i takové situace, kdy je Visio naprosto nepoužitelné nebo jeho použití je
dvojnásobná práce (hlavně pro vývojáře). Nechť si proto každý sám
posoudí, zda mu kvůli pár obrázkům stojí za to obětovat tak velký obnos
za Visio.
Obrázky
| S Visiem si můžete kreslit například plánky měst. |
|
| Nebo zjistit datový model v databázi (ovšem případné změny zpět
nepromítnete). |
|
| Pomocí průvodce vytvoříte jednoduše organizační diagram. |
|
| I takovouhle blbost lze nakreslit. |
|
Plusy, mínusy, závěr
Plusy
- Lze definovat vlastní tvary
- Výběr dat z datové množiny
Mínusy
- Jenom kreslítko
- Občas složité modelování tvarů
- Kostrbaté propojování
Závěr
- Kreslící nástroj bez lokalizace s možností definovat
vlastní tvary.
Kontakt
Tento článek byl napsán pro časopis Softwarové noviny 2/2002.
Upozornění: tento text neprošel redakční úpravou, takže je
tak, jak byl napsán včetně případných chyb. Žádná část tohoto
článku nesmí být použita bez předchozího souhlasu autora.
Seznam mých dalších článků je v tomto přehledu.