Nástroje pro vývoj aplikací a jejich vazba na case

Transkript

Nástroje pro vývoj aplikací a jejich vazba na case
10. 5. 2011
4IT450
NÁSTROJE PRO VÝVOJ APLIKACÍ A JEJICH VAZBA
NA CASE
Adam Rajnoch
Pavlína Chmelová
Václav Jedlička
Jaroslav Jirák
Jaromír Kupka
0
Obsah
Úvod ........................................................................................................................................................ 2
CASE – obecný popis ............................................................................................................................... 3
Nástroje CASE – charakteristika a popis funkcí ....................................................................................... 5
StarUML ............................................................................................................................................... 5
Green ................................................................................................................................................... 7
ArgoUML.............................................................................................................................................. 8
Umbrello ............................................................................................................................................ 10
OpenAmeos ....................................................................................................................................... 11
Violet UML Editor .............................................................................................................................. 13
BoUML ............................................................................................................................................... 15
Dia...................................................................................................................................................... 17
Astah Community .............................................................................................................................. 19
UMLet ................................................................................................................................................ 20
IDE ......................................................................................................................................................... 21
CodeWarrior ...................................................................................................................................... 22
C++ Builder ........................................................................................................................................ 24
Lazarus ............................................................................................................................................... 27
Code::Blocks ...................................................................................................................................... 28
jEdit.................................................................................................................................................... 29
Trendy vývoje nástrojů CASE a IDE ........................................................................................................ 31
Nástroje IDE ....................................................................................................................................... 31
Nástroje CASE .................................................................................................................................... 31
Nástroje CASE jako samostatné aplikace ...................................................................................... 32
Nástroje CASE jako zásuvné moduly IDE ....................................................................................... 32
CASE jako SaaS................................................................................................................................... 32
Gliffy .............................................................................................................................................. 33
Creately ......................................................................................................................................... 34
Závěr ...................................................................................................................................................... 36
Zdroje .................................................................................................................................................... 37
1
Úvod
Tématem této práce je charakteristika a přehled nástrojů CASE ve vazbě na nástroje IDE, tedy
vývojová prostředí. Cílem práce je poskytnout ucelený přehled o dostupném software a
charakterizovat nejdůležitější vlastnosti vybraných aplikací. U každého zástupce bude také uvedena
možnost (je-li podporována) vzájemné integrace s dostupnými vývojovými aplikacemi.
Všechny projekty z minulých let byly shodné svým zaměřením, takže se jejich obsah nijak v zásadě
nelišil. Rádi bychom k této práci přistoupili jinak, a proto volíme užší zaměření tématu práce.
Komerční nástroje CASE a IDE jsou v poměrně aktuálních verzích zastoupeny v několika posledních
projektech tohoto předmětu, tato práce bude proto zaměřena na aplikace, které jsou distribuovány
jako open-source, či pod jinou, neplacenou licencí. Hlavním přínosem této práce je tedy zaměření na
nástroje CASE a IDE, které jsou k dispozici zdarma.
Výběr projektů vychází z analýzy webových stránek soustřeďujících informace o nástrojích CASE a IDE
a z velikosti uživatelské základny.
2
CASE – obecný popis
Anglický termín CASE je zkratkou slov ComputerAided Software (System) Engineering, pokud
bychom ho chtěli přeložit do češtiny, znamená CASE - počítačem podporované softwarové
(systémové) inženýrství nebo vývoj software s využitím počítačové podpory. [Wikipedia 2011]
Všechny výše zmíněné názvy ovšem vyjadřují totéž a to sadu nástrojů a prostředků pro
podporu modelování a automatizaci specifikací požadavků, návrhů, tvorbě analýz,
programování, kódování, údržbě a testování softwarových aplikací a informačních systémů.
Kromě toho umožňují celou řadu dalších funkcí jako je např. reverse engineering (generování
zdrojového kódu z modelu a zpětné vytvoření modelu podle existujícího zdrojového kódu)
nebo synchronizaci mezi modelem a zdrojovým kódem i podporu vytváření dokumentace.
Primárním účelem nástrojů CASE je dosažení vyšší produktivity práce, kvality a efektivnosti,
nižší chybovost, lepší udržovatelnost a přehlednost systému, dále podpora týmové práce a
tvorba přehledné a jasné dokumentace.
Důležité u nástrojů CASE je především vazba na určitou metodiku, která pokrývá více částí
vývoje informačního systému. Jde o komplexní propojení jednotlivých metod, které určují co
je třeba v dané fázi vývoje informačního projektu udělat. Metoda určuje objektivní pravidla
nezbytná pro tvorbu a vývoj aplikací v jedné nebo více fázích tohoto vývoje. V prostředcích
CASE má každá metoda vazbu na určitou kombinaci nástrojů a technik a jejich vzájemnou
kooperaci. Efektivní využití technik je svázáno dodržováním určitých pravidel a postupů.
Techniky jsou vázány na konkrétní nástroj a říkají, jak se dobrat požadovaného cíle.
Nástrojem u produktů CASE je především grafická ilustrace, která umožní znázornit a lépe
pochopit výsledek analýzy. Můžeme sem zařadit různé diagramy, matice, tabulky, propojená
schémata, grafy a další. Právě grafické znázornění netriviálních skutečností a potřeba
aktualizace a neustálých změn již vytvořených diagramů dalo prvotní podnět pro vznik
nástrojů CASE.
Mezi obecné nejdůležitější vlastnosti nástrojů CASE bychom řadili: [Vývoj IS 2005]
Podporované techniky a nástroje
Vazba na metodiku a síla této vazby
Podpora týmové spolupráce
Kvalita a možnosti CASE repository
Vytváření dokumentace
Náročnost na ovládání (uživatelské rozhraní)
Podpora národního prostředí
Náročnost na technické a programové vybavení
Možnosti interface na jiné nástroje CASE
Mezi obecné základní možnosti z hlediska funkcionality řadíme: [Harášek 2010]
Tvorba modelů pomocí přehledných diagramů
Generaci zdrojového kódu na základě vytvořených modelů
Vytváření modelů na základě zdrojového kódu
Sledování konzistence modelů
Synchronizaci zdrojového kódu s modelem
3
Vytváření grafického návrhu uživatelských obrazovek
Podpora refaktoringu
Tvorba dokumentace k modelu
Možnost exportu a importu různých formátů
Další hledisko, které s nástroji CASE souvisí, je rozdělení dle využití nástroje v určité fázi
životního cyklu informačního projektu. Zde řadíme: [Wikipedie 2011]
Pre-CASE (podporuje prvotní činnosti realizované před zahájením vlastního vývoje tj.
tvorbu globální strategie)
Upper-CASE (podporuje činnosti při tvorbě informační strategie a úvodní studie)
Middle-CASE (podporuje analyticko-logickou část návrhu systému ve fázi globálního a
detailního návrhu systému)
Lower-CASE (podporuje implementaci výsledků z analýz i z logické části návrhu)
Post-CASE (podporuje koncové fáze systému - uvedení do provozu, provoz, údržbu a
vyřazení)
Je nutné zmínit, že všechny existující nástroje CASE rozhodně nepokrývají kompletní výčet
výše zmíněných oblastí vývoje informačních systémů. Mohou nabízet různé možnosti i
z hlediska funkcionality. Naše práce se věnuje spíše specializovaným nástrojům, které
pokrývají dílčí části (především Middle-CASE) a jsou na trhu s produkty CASE dostupné
zadarmo. Ovšemže existují daleko komplexnější nástroje, které jsou schopny pojmout daleko
širší oblast. Tyto nástroje jsou schopné rozpracovat velmi široký a všeobecný konceptuální
návrh systému a postupným zpracováním jednotlivých komponent, zpřesňováním návrhu a
provázáním s dalšími pohledy jsou schopné dojít až do konečné fáze, kde může být výsledkem
export návrhu přímo do zdrojového kódu včetně dokumentace pro další zpracování. [Axmann
2010]
Pomocí nástrojů CASE lze produkovat celou řadu dílčích výstupů ve formě diagramů. Zařadit
sem můžeme diagramy podnikových procesů, diagramy návaznosti, entitně-relační diagramy
nebo další datové modely. Bezesporu mezi ty nejznámější výstupy patří UML diagramy, které
jsou mezi softwarovými inženýry, architekty, vývojáři, databázovými experty i dalšími
uživateli velice rozšířené. Zkratka UML plyne z anglických slov Unified Modeling Language.
UML představuje unifikovaný modelovací jazyk pro modelování a návrh softwaru, nejčastěji
je využíván k objektově orientovanému přístupu při analýze, návrhu a popisu programových
systémů. Jazyk UML ve verzi 2.0 nabízí celou řadu možností pro tvorbu diagramů, které jsou
rozděleny do třech základních skupin – strukturní diagramy, diagramy chování a diagramy
interakce.
4
Nástroje CASE – charakteristika a popis funkcí
StarUML
Domovská stránka projektu na adrese: http://staruml.sourceforge.net/en/
Poslední dostupná verze: 5.1.2
StarUML a základní moduly jsou v souladu s podmínkami GNU GPL (General Public Licence všeobecná veřejná licence) a je tak poskytován zcela zdarma. V současnosti běží StarUML pouze na
platformě Windows (Win32) a je kompletně výhradně v angličtině.
Jedná se o open source UML / MDA platformu, která podporuje nejnovější standard UML ve verzi
2.0. StarUML je navržen tak aby poskytoval uživatelům možnost rychlého a snadného vývoje aplikací,
zároveň je flexibilní, snadno rozšiřitelný, spustitelný a volně dostupný. Cílem vývojářů projektu je
vybudovat StarUML modelovací nástroj a také platformu, která je přesvědčivou náhradou jiných
komerčních nástrojů.
Kromě UML disponuje StarUML také technologie MDA (Model Driven Architecture – architektura
řízená modelem), která přináší řadu výhod a zlepšení ve formě podpory úprav proměnných
v softwarových modelovacích nástrojích a snáze tak umožní oddělit business a aplikační logiku od
technologické platformy.
Důraz je kladen také na plug-in architekturu, neboť mnozí uživatelé vyžadují stále více a více funkcí
do softwarových nástrojů modelování. StarUML poskytuje jednoduché možnosti, jak vyvinout
dodatečné moduly pro kompatibilní jazyky (C + +, Delphi, C #, VisualBasic) a snadné je integrovat.
[StarUML 2011]
Důležitým aspektem je snadná použitelnost, přehledný design a celkově user-friendly prostředí.
StarUML poskytuje mnoho funkcí, které tento trend ve vývoji softwaru potvrzují např.: komunikační
dialogové okno, přehledný systém navigace, manipulaci a obsluhu z klávesnice pomocí zkratek,
přehled diagramů, ucelenou nápovědu atd.
Většina zdrojového kódu aplikace StarUML je napsána v Delphi. StarUML je multi-kulturní projekt,
který není vázán na konkrétní programovací jazyk, takže mohou být použity k jeho rozvoji všechny
běžné programovací jazyky.
5
Pro ilustraci jak vypadá tvorba diagramů ve Star UML:
Obr. 1 - Use Case Diagram v modelovacím nástroji StarUML
Obr. 2 – ER diagram v modelovacím nástroji StarUML
6
Do budoucna plánuje Star UML přidávat více a více plug-in modulů a šablon, podporovat více
programovací jazyků, integrovat se s IDE nástroji (VS.NET a Eclipse,…), rozšíření se na více platforem
(. NET, Linux, Mac, ...), lokaci do jiných jazyků a integraci s Open Source produktem ALM Tools
(nástroje pro podporu Application Lifecycle Management – životního cyklu aplikací).
Závěrečný přehled základních vlastnosti StarUML: [StarUML 2011]
Možnost vytváření UML 2.0 diagramů (Use Case Diagram, Class Diagram, Sequence Diagram,
Collaboration Diagram, Statechart Diagram, Activity Diagram, Component Diagram,
Deployment Diagram a Composite Structure Diagram (UML 2.0))
Podpora různých jazyků
Generovaní Microsoft Office dokumentů
Přizpůsobitelné generování kódu
Podpora technologie MDA (Model Driven Archetecture)
Rozšiřitelnost diagramů (možnost nadefinovat si vlastní typ diagramu mimo UML)
Snadné ovládání jednotek a fragmentů
Vysoká kompatibilita
User-friendly prostředí s možností pohodlné editace
Možnosti ověřování správnosti modelu
Podpora vzorů
Green
Domovská stránka projektu na adrese: http://green.sourceforge.net/
Poslední dostupná verze: 3.5.0
Green je probíhající projekt na univerzitě v Buffalu. Jedná se o modelovací editor, který podporuje
softwarové i reverzní inženýrství. Může být použit k vytváření UML diagramů z kódu, nebo pro
generování kódu tak, že nejprve nakreslíte diagram. Změny kódu a diagramů jsou aktualizovány
ihned při každé změně a uživatel tak neustále vidí aktuální informace o modelu.
Green byl původně vyvinut pro pedagogické účely jako nástroj pro podporu výuky vývoje software a
měl cílit na design spíše než syntaktické detaily. Nicméně se s postupem času ukázalo, že Green
může sloužit jako robustní a flexibilní nástroj, který umožní tvorbu diagramů s podporou UML. Green
je založen na možnosti přidání variabilní plug-in modulů do samotného modelovacího nástroje.
Green musí byt integrován do Eclipse a je zaměřen především na round-tripengeneering proces
v reálném čase, což kombinuje možnosti Forward a Reverse Engineering. Green umožňuje vytvářet
(Java) kód z diagramu tříd UML, a to také umožňuje generování diagramu na základě (Java)
kódu.Funkce modelovacího editoru Green jsou jednoduché, vše vychází z kontextového menu, které
umožňuje i export souborů do grafických formátů GIF a JPG. Nástroj Green je zaměřený na statickou
analýzu kódu, což je velmi dobré pro konkrétní účely. [Green 2008]
7
Náhled modelovacího prostředí projektu Green v Eclipse:
Obr. 3 – Green projekt s číselným označením hlavních prvků modelovacího nástroje
ArgoUML
Domovská stránka projektu na adrese:http://argouml.tigris.org/
Poslední dostupná verze: 0.32
ArgoUML je napsán v Javě a je možné ho spustit prakticky na jakékoliv platformě.Jde o Open Source
projekt, který je dostupný zdarma včetně zdrojového kódu aplikace. Na webových stránkách jsou
poprány různé tutoriály, návody a rychlé průvodce instalací tímto modelovacím nástrojem.
ArgoUML je v souladu s OMG UML 1.4 standardem. Kromě toho začal podporovat i UML verze 2.x u
některých diagramů. Nástroj nabízí mnoho pokročilých funkcí pro úpravu diagramů. Podporuje
Forward i Reverse Engineering (import souborů s příponou JAR – zdrojový kód). Navíc umožňuje
implementaci do vývojových prostředí Netbeans, JDeveloper, Visual Studio a Eclipse. [ArgoUML
2011]
ArgoUML nabízí celou řadu funkcí:
Podporuje tvorbu UML diagramů (Class diagram, Statechart diagram, Activity diagram, Use
Case diagram, Collaboration diagram, Deployment diagram (včetně Object a Component
diagram v jednom) a Sequence diagram)
8
Používá UCI, grafický rámec pro úpravu a editaci UML diagramů
Má podporu pro vytváření profilů a distribuci modelů
Využívá XML formát pro výměnu informací mezi nástroji UML. ArgoUML používá standard
XMI jako úsporný mechanismus pro snadnou výměnu dat s jinými nástroji.
Umožňuje export do různých grafických formátů, jako jsou GIF, PNG, PostScript, PGML a SVG
Je dostupný v mnoha světových jazycích, jako jsou americká i britská angličtina,
francouzština, němčina, italština, portugalština, španělština, ruština, norština a čínština. To
umožňuje využívání tohoto nástroje téměř po celém světě.
Screenshoty z aplikace ArgoUML:
Obr. 4 – Stavový diagram v nástroji ArgoUML
9
Obr. 5 – Ukázka Use Case diagramu v nástroji ArgoUML
Umbrello
Domovská stránka projektu na adrese: http://uml.sourceforge.net/index.php
Poslední dostupná verze: 2.0
Umbrello UML Modeller je volně dostupný Open Sourcesoftware pro tvorbu UML diagramů, který je
v souladu s licenci GPL. Aplikace je k dispozici nativně pro Unixové systémy a funguje také pro
Windows i Mac OS. Umbrello zvládá vytváření všech standardních UML typů diagramů. Navíc
podporuje Reverse Engineering a analýzu již napsaného kódu v různých programovacích jazycích (C +
+, IDL, Pascal/Delphi, Ada, Python a Java). Rovněž podporuje import XMI souborů ve formátu XML
10
vygenerovaných pomocí PHP nebo Perlu. Umbrello umožňuje distribuci modelu do DocBook a XHTML
formátu. Tento fakt výrazně napomáhá k podpoře týmové spolupráce mezi více uživateli, neboť
mohou snadno sdílet vytvářené modely pomocí internetu. [Umbrello 2010]
Obr. 6 – Ukázka UML diagramu v multi-platformním nástroji Umbrello UML Modeller
OpenAmeos
Domovská stránka projektu na adrese: http://www.openameos.org/
Poslední dostupná verze: 10.2
OpenAmeos je dostupný jako Open Source software pro operační systémy Linux, Solaris a Windows.
Využívá a podporuje standard UML 2.0 a rovněž technologii MDA (Model Driven Architecture –
architekturu řízenou modelem). Je navržen jako multi-platformní a multi-uživatelské modelovací
prostředí s důrazem na barevnou sémantiku. Šablony pro generování kódu z modelu jsou k dispozici
pro jazyky Java, C + +, C # a Ada95. Podporuje také generování zpráv do formátu HTML a RTF.
[OpenAmos 2011]
11
Použitím současných UML diagramů lze nástroj pro modelování Ameos využít k popisu podnikových
procesů, návrhu architektury SW systémů a znázornění jiných dynamických aspektů modelu. Ameos
nabízí snadný způsob, jak rozšířit standardní notaci UML a přizpůsobit ji uživatelským požadavkům.
Umožňuje také předefinovat stereotypy a označit hodnoty, které musí být definovány v modelu,
podporuje také tvorbu metamodelů a zajišťuje tím, že jsou diagramy snadno použitelné pro celý
projektový tým včetně vygenerované dokumentace. Ameos klade důraz na barevnou vizualizaci
jednotlivých prvků modelu, pro jeho snazší pochopení, čitelnost a rychlejší orientaci.
Využití technologie MDA přináší modelovacímu nástroji Ameos a jeho potencionálním uživatelům
snížení nákladů na vývoj, kvalitnější a lepší návratnost investic, rychlejší využívání nových technologií
a lepší znovu použití již vytvořených modelů. Hlavní myšlenkou je oddělit technické aspekty od core
aspektů v diagramech UML.
Do budoucna plánuje Ameos integraci nástrojů pro formální verifikaci, zvýšenou podporu UML nebo
integraci Open Source databázového sytému, který bude sloužit jako strukturované úložiště a místo
pro sdílení modelů.
Obr. 7 – Náhled uživatelského prostředí v nástroji OpenAmeos
12
Violet UML Editor
Domovská stránka projektu na adrese: http://alexdp.free.fr/violetumleditor/page.php
Poslední dostupná verze: 0.23.0
Violet UML Editor je další z řady moderních, velmi silných modelovacích nástrojů, zaměřujících se na
UML. Je šířen pod licencí GNU (všeobecnou veřejnou licencí), tudíž zcela zdarma a open-source.
Zdrojový kód je tak k dispozici všem uživatelům a může být při dodržení podmínek modifikován a
dále šířen.
Ve své základní verzi implementuje aplikace vytváření a editace těchto druhů diagramů na bázi UML:
diagramy užití (Use-case)
diagramy tříd (Class diagrams)
diagramy objektů (Object diagrams)
stavové diagramy (State Chart)
diagramy aktivity (Activity diagrams)
sekvenční diagramy (Sequence diagrams)
Mezi hlavní přednosti projektu patří především velmi jednoduché a intuitivní ovládání samotné
aplikace (podle autorů je pojmenování VIOLET odvozeno z anglických slov Very Intuitive Object
Layout Editing Tool, volně přeloženo jako „velmi intuitivní modelovací nástroj“). Ukázku rozhraní
aplikace uvádí Obrázek 8.
Obr. 8 - Náhled na uživatelské rozhraní samostatné aplikace Violet UML Editor
13
Projekt Violet nabízí všechny základní a potřebné funkce pro vytváření a editaci výše uvedených
modelů. Nechybí zde možnosti zoomování, práce s historií a krokování, nastavení možností tisku či
export diagramů přímo do formátu obrázku. Možnosti kreslení diagramů jsou rovněž široce
uzpůsobeny především pro pohodlí uživatele. Ten má tak možnost otevřít více dokumentů najednou,
mezi nimiž se lze jednoduše přepínat pomocí lišty se záložkami (Obrázek 9), jak je běžné u
internetových prohlížečů či grafických editorů. Využít lze při kreslení automatické mřížky, k níž jsou
dané prvky přichytávány. Rozhraní umožňuje několikanásobný výběr prvků, sdružování a komplexní
editaci výběru. Pro maximalizaci pohodlí uživatele lze skrýt všechny ovládací panely a ponechat tak
pracovní plochu aplikace pouze pro účely kreslení a editace diagramů. (Obrázek 9)
Obr. 9 - Náhled pracovní plochy aplikace a panelu se záložkami
Projekt Violet UML Editor je distribuován zdarma a jeho jádro je vytvořeno v jazyku Java. Díky tomu
je podporován na všech platformách, které interpretaci tohoto jazyka podporují (Windows, Linux,
MacOS,...). Samotná aplikace nabízí několik možností spuštění a záleží jen na uživateli, který si vybere
a který mu bude nejvíce vyhovovat. Violet UML Editor může být spuštěn několika způsoby: [Violet
2011]
jako samostatná aplikace (spustitelný soubor .exe)
jako applet (spuštění ve webovém prohlížeči pomocí virtuálního stroje - JVM)
přes Java Web Start (jediným kliknutím přímo z webu autora)
jako plug-in v IDE Eclipse
 umožňuje pomocí rozhraní drag‘n’drop pohodlnou manipulaci se všemi prvky
 podporuje přenášení prvků mezi diagramy s automatickým vytvářením
propojení
 podporuje lokální historii Eclipse, obnovu diagramů
 plug-in podporuje verze Eclipse 3.2 a 3.3
14
BoUML
Domovská stránka projektu na adrese: http://bouml.free.fr/
Poslední dostupná verze: 4.23
Projekt BoUML patří k velmi rychlým a spolehlivým nástrojům CASE. Je distribuován zdarma a nabízí
široké možnosti využití při vývoji aplikací. Díky multiplatformnímu jádru může být spuštěn na
operačních systémech Windows, Linux/Unix/Solaris i MacOS a tak si jistě najde početnou
uživatelskou základnu.Aplikace BoUML umožňuje vytváření a editaci všech základních UML diagramů
(UseCase, Class, Sequence, Activity, StateChart, Object diagrams).
Rozhraní aplikace umožňuje přehledné rozdělení pracovní plochy na prohlížeč objektů (Obrázek 10,
vlevo) a plochu pro editaci diagramů (Obrázek 10, vpravo). Editační okno umožňuje otevření několika
oken a jejich libovolné přepínání s možností vytváření propojení mezi různými modely pouhým
přetažením daných prvků.
Obr. 10 - Náhled uživatelského rozhraní aplikace BoUML
Hlavním posláním tohoto projektu je snadná integrace s prostředím programovacích jazyků a přenos
modelovaných struktur do podoby kódu. Toho je dosaženo pomocí přídavných modulů, které jsou
spouštěny. V současné době jsou nabízeny tyto samostatné moduly: [BoUML 2011]
15
C++ generator (reverse, roundtrip)
Java generator, (catalog, reverse, roundtrip)
PHP code generator, (reverse)
Python code generator
Idl code generator
Tyto všechny doplňky slouží jako generátory kódu, což v praxi znamená, že struktura objektů či jiných
prvků v daném diagramu je převedena do podoby zdrojového kódu uvedeného jazyka. U prvních tří
zástupců je možné využít tzv. reverse, při níž je proces opačný a ze zdrojového kódu jsou tvořeny
UML modely. Položka roundtrip znamená, že je proces tvorby kódu a opačně udržován v neustálé
konzistenci. Modul pro jazyk JAVA navíc umožňuje import katalogu tříd přímo do prostředí BoUML a
následnou práci s těmito třídami bez nutnosti složitého procesu importování (viz Obrázek 11).
Obr. 11 - Okno pro jednoduchou správu importovaných tříd v jazyce Java
Mezi další přednosti, které odlišují tento projekt od ostatních, zdarma dostupných nástrojů, patří
přítomnost tzv. Project Control modulu. Tento modul slouží pro správu úložišť souborů a
management přístupu k souborům. Uživatelé tak mohou zajistit, že nebude soubor upravován
několika lidmi najednou a je tak zajištěna konzistence a aktuálnost souborů a jejich verzí.
Kód programu je otevřený modifikacím a aplikace samotná nativně podporuje různé možnosti
rozšíření, např. pro využití s jinými programovacími jazyky.
16
Dia
Domovská stránka projektu na adrese: http://projects.gnome.org/dia/
Poslední dostupná verze: 0.97.1
Dia je nástroj CASE, který je svým vzhledem a funkcionalitou inspirován komerční aplikací Visio od
společnosti Microsoft. Je distribuován zdarma v rámci GPL licence. Program je možné spustit na
různých operačních systémech, jako je Windows, Linux, Unix či MacOS.
Projekt Dia podporuje širokou škálu UML modelů (Class, Object, StateChart, UseCase diagramy,...).
Aplikace v základní verzi nepodporuje automatické generování kódu, soustředí se však na pohodlné
vytváření a snadnou editaci všech UML diagramů. K tomu je uzpůsobeno uživatelské rozhraní a
rozvržení pracovní plochy editoru (Obrázek 12). V levé části můžeme nalézt panel s možností úprav,
výběru a přidání tvarů do stávajícího modelu. Pravá část pak slouží jako hlavní kreslící plocha a
podporuje rovněž zobrazení otevřených diagramů pomocí záložek. Panel editace nabízí všechny
standardní možnosti pro úpravu modelu (výběr, změnu tvaru, přesun, propojení, zoom...)
Obr. 12 - Náhled na rozhraní aplikace Dia s otevřeným diagramem
17
Je však vhodné upozornit, že tento projekt není zaměřen pouze na modelování UML diagramů.
Umožňuje import datových sad modelů pro další oblasti, jako např. zapojení elektrických obvodů či
chemická schémata. Aplikace však samozřejmě umožňuje vkládání a editaci všech standardních prvků
uvedených UML diagramů. Nepochybným přínosem je pak možnost vytvoření vlastního prvku (jeho
vizuální podoby a funkce) pomocí definice v souboru formátu XML a jeho grafické nadstavby SVG.
Všechny prvky je možné spravovat (prohlížet, importovat, editovat) v přehledném okně správce
objektů (viz Obrázek 13).
Obr. 13 - Okno správce prvků a objektů
Aplikace v základní verzi neobsahuje moduly pro generování zdrojového kódu. Umožňují to však
externí pluginy, pro jejichž import je aplikace nativně vybavena a jejichž správu lze efektivně řídit
přímo přes okno v rozhraní programu. V současné době jsou v poslední verzi dostupné moduly pro
jazyky Python, C++, Pascal a Java. [Dia 2011]
18
Astah Community
Domovská stránka projektu: http://astah.change-vision.com/en/product/astah-community.html
Poslední dostupná verze: 6.4
Astah je novou verzí projektu JUDE, který vycházel v dřívějších letech. Nyní je tento produkt posunut
do sféry placených, profesionálních programů. Autoři však nabízejí také verzi Community, která je
šířena zdarma a je ochuzena o konkrétní, placené funkce. Stále jde však o vynikající nástroj CASE pro
podporu modelování dle standardu UML 2.0.
Astah ve všech verzích podporuje spuštění na operačních systémech Windows, Linux i MacOS a tak
pokrývá téměř celou uživatelskou základnu. Placené verze programu používají svůj vlastní formát
.asta, který však není podporován ve verzi neplacené.
Tato verze podporuje vytváření a editaci všech typů modelů UML (Class, UseCase, Sequence, Activity,
Communication, Statechart, Component, Deployment, Composite Structure, Object a Package
diagramy). Možnost exportu nabízí pouze do obrázkových formátů, tudíž je vyloučena následná
editace modelů v některém z jiných editorů.
Pracovní plocha aplikace disponuje přehledným uživatelským rozhraním, tradičně rozděleným na část
s ovládacími panely a část editační (viz Obrázek 14).
Obr. 14 - Náhled aplikace Astah Community a editovaný Class Diagram
19
UMLet
Domovská stránka projektu na adrese: http://www.umlet.com/
Poslední dostupná verze: 11.2
UMLet je dalším z multiplatformních nástrojů CASE, které jsou šířeny zdarma jako open-source
projekt. Umožňuje editovat modely podle nejnovějších standardů UML 2.0 a usnadňuje práci díky
přehlednému a jednoduchému uživatelskému rozhraní. Systém návrhu podporuje metodu drag and
drop a přidávání prvků do diagramu je tak velmi snadné. Zároveň však může velmi dobře posloužit i
zkušeným uživatelům, kteří preferují textové rozhraní před grafickým. Zadávání prvků a objektů je
totiž možné i textovým zápisem. Aplikace umožňuje definování nových prvků pomocí jazyka Java.
Obr. 15 - Náhled okna aplikace UMLet
UMLet podporuje export vytvořených modelů do mnoha různých formátů, jako je SVG, JPG, EPS nebo
PDF.
Spustit program UMLet je možné dvěma způsoby. Prvním je samostatná aplikace, běžící na všech
dostupných operačních systémech. Druhým způsobem je integrace do vývojového prostředí Eclipse
v podobě externího plug-inu. [UMLet 2011]
20
IDE
IDE je zkratkou z anglického Integrated Development Environment neboli vývojové prostředí.
Vývojové prostředí je software usnadňující práci programátorů, většinou zaměřené na jeden
konkrétní jazyk. Nicméně existují vícejazyková vývojová prostředí, jako je například NetBeans, Eclipse,
Microsoft Visual Studio a jiné. Vývojové prostředí obsahuje editor zdrojového kódu, kompilátor,
případně interpret a většinou také debugger. Některá prostředí obsahují systémy pro rychlý vývoj
aplikací (zvaný RAD), který slouží pro vizuální návrh grafického uživatelského rozhraní. Pokud se jedná
o nástroj pro objektově orientované programování, může obsahovat také object browser. [Wikidot
2011]
Editor zdrojového kódu – zdrojový kód je označení zápisu text počítačového programu v některém
programovacím jazyku. Tento zdrojový kód je uložen v jednom nebo více textových souborech. Editor
zdrojového kódu může být obyčejný textový editor, specializovaný program nebo může být součástí
IDE. [Wikipedia 2011 - 1]
Kompilátor – též překladač, slouží pro překlad algoritmů zapsaných ve vyšším programovacím jazyce
do strojového kódu. [Wikipedia 2011 - 2]
Interpret – program, který umožňuje přímo vykonávat zápis jiného programu v jeho zdrojovém kódu
ve zvoleném programovacím jazyku. Program proto není potřeba převádět do strojového kódu
cílového procesoru, jako je tomu v případě překladače. [Wikipedia 2011 - 3]
Debugger – program, který se používá pro nalezení chyb v jiných programech. Zdrojový kód laděného
programu je možné většinou zobrazit, takže je ihned možné vidět místo, kde se objevila chyba.
[Wikipedia 2011 - 4]
Object browser – nástroj, který umožňuje uživateli zkoumat komponenty zapojené do softwarového
balíku. Object browser obvykle zobrazuje hierarchii komponent, vlastnosti a události spojené
s objekty a další související informace. Dále také poskytuje rozhraní pro interakci s objekty.
[Wikipedia 2011 - 5]
Vývojová prostředí jsou navržena tak, aby zvýšila produktivitu práce programátora pomocí
provázaných komponent s podobným uživatelským rozhraním. IDE obvykle představují samostatný
program, v němž probíhá celý vývoj aplikací. Tento program poskytuje mnoho nástrojů pro vývoj,
úpravu, překlad a ladění softwaru. Cílem IDE je shrnout schopnosti nástrojů programovacího jazyka
do takové ucelené podoby, která teoreticky snižuje čas potřebný k porozumění jazyku a zvyšuje
produktivitu vývojáře. IDE je ale ze své podstaty komplikovaným softwarem, tudíž se zvýšená
produktivita projeví až po získání zkušeností s určitým programem. [Wikidot 2011]
21
CodeWarrior
CodeWarrior je IDE pro operační systémy Macintosh, Microsoft Windows, Linux, Solaris a vestavěné
systémy. Je vyvíjen společností Freescale Semiconductor, dříve dceřiná společnost Motoroly, která se
v roce 2004 osamostatnila a pokračuje ve vývoji nových verzí. Existují specializované verze pro Sony
PlayStation 2, Nintendo GameCube, Nintendo DS, Palm OS a Symbian OS. Toto IDE se soustředí na
nástroje pro jazyk C a C++, ale zahrnuje také Pascal, Object Pascal, Objective-C a Java kompilátory.
Vestavěný systém – jednoúčelový systém, ve kterém je řídící počítač zcela zabudován do zařízení,
které ovládá. Na rozdíl od osobních počítačů, jsou zabudované počítače většinou jednoúčelové,
určené pro předem definované činnosti. PDA, MDA a „chytré” mobilní telefony jsou také označovány
jako vestavěná zařízení. [Wikipedia 2011 - 6]
Původní CodeWarrior byl vyvinut společností Metrowerks. První verze byla určena pro počítače
Macintosh. CodeWarrior byl rychlejší než Macintosh Programmers Workshop (MPW) od společnosti
Apple. V srpnu 2005 byl stále rychlejší než originální Applovské GCC (GNU Compiler Collection)
založené na vývojových nástrojích Xcode. CodeWarrior byl klíčovým úspěchem společnosti Apple při
přechodu strojové architektury procesoru 68K na procesor PowerPC, protože poskytl kompletní a
solidní překladač. Konkurenční nástroje mu většinou nemohly konkurovat. Poté, co byla společnost
Metrowerks v roce 1999 koupena Motorolou, začala věnovat méně pozornosti překladačům pro
stolní počítače a začala se více věnovat vestavěným systémům. 29. července 2005 společnost
oznámila, že končí s vývojem CodeWarrior pro systémy Mac. [Wikipedia 2011 - 7]
CodeWarrior je nabízen v těchto 6 variantách [Freescale 2011]:
Evalution Editions – Volně stažitelná verze na omezenou dobu, která slouží k seznámení se
s prostředím CodeWarrior
Special Edition – Plně funkční verze, která je ke stažení zdarma. Omezena velikostí kódu, ale ne
časově.
Standard Edition – Plně funkční verze CodeWarrior Development Studio s neomezenou délkou kódu.
Professional Edition – Rozšíření standardní edic, která obsahuje pokročilé funkce pro procesorové
experty, uživatelskou analýzu a pokrytí kódu.
Linux Application Edition – Poskytuje přístup k procesorovým prvkům, jako jsou registry a cache a
zpracovává všechny MMU překlady.
Linux Platform Edition – Inkluzivní sada nástrojů pro vývoj Linuxu. Běžící na OS Linux, může být
nasazen a laděn Linux uboot, jádro a ovladače, dále umožňuje vytváření, zavádění a ladění Linux
aplikací
22
Obr. 16 – Hlavní obrazovka programu CodeWarrior
23
C++ Builder
C++ Builder je grafické integrované vývojové prostředí typu RAD. Je vyvíjen firmou CodeGear, která je
jako dceřiná společnost firmy Embarcadero Technologies zaměřena na vývoj programů
v programovacím jazyce C++. C++ Builder kombinuje VCL (Visual Component Library) a IDE napsané
v Deplhi s kompilátorem pro C++. Při vývoji získává nová rozšíření nejprve Deplhi a následně se tyto
rozšíření dostávají i do C++ Builderu. Většina komponent vyvinutá v Deplhi může být bez úprav
použita v C++ Builder, avšak v opačném případě to není možné.
VCL – framework založený na vizuálních komponentách určený pro vývoj aplikací pod Microsoft
Windows[Wikipedia 2011 - 8]
C++Builder byl původně zaměřen na platformu Microsoft Windows. Pozdější verze připojili Borland
CLX – platformu založenou na knihovně Qt, která podporuje Windows i Linux. V roce 2005 Borland
vydal Borland Developer Studio 2006 zahrnující Borland C++Builder 2006, který poskytuje lepší
správu konfigurace a opravu chyb. Borland Developer Studio 2006 je jediný balík obsahující Delphi,
C++Builder a C# Builder. V roce 2007 Borland vydal C++Builder 2007, poskytující plnou API podporu
pro Windows Vista, navýšenou o ANSI C++ shodu, která má pětkrát větší in-IDE vestavěný výkon, dále
podporu pro MSBuild, DBX4 databázovou architekturu a „VCL pro Web“, který podporuje AJAX.
C++Builder 2009 byl vydán v srpnu 2008, přičemž nejvýznamnějším vylepšením patří podpora
Unicode v celém VCL a RTL, brzké schválení C++0x standardu, plná ITE (Integrovaný překladatelské
prostředí) podpora, přirozené Ribbon komponenty a začlenění Boost C++ knihoven. Budoucí verze
CodeGear C++Builderu má podporovat 64bitovou architekturu x86-64 a vytvářet kód x86-64 Native.
Nejnovější verze nese označení C++ Bulider XE.
Rok
1997
1998
1999
2000
2002
2003
2005
2007
2008
2009
2010
Verze
1
3
4
5
6
X
2006
2007
2009
2010
XE
Programování v C++Builderu je z velké části založeno na použití komponent. Komponenta je malý
program (balíček funkcí), který vykonává určitou činnost (například zobrazuje text nebo obrázky,
přehrává multimédia, komunikuje s databází, zprostředkovává FTP přenos, atd…). Velkou předností
C++Builderu proti některým konkurenčním produktům jsou knihovny komponent, které jsou jejich
součástí (např. VCL, CLX, …). Dodávané komponenty významně usnadňují tvorbu aplikací. Další
komponenty lze stáhnout z internetu (některé jsou zadarmo, některé se musí koupit). V C++Builderu
lze vytvářet vlastní komponenty. C++Builder je vydáván v různých verzích s rozdílnými znaky a
odlišnou cenou: Personal, Professional, Enterprise a Architect. [Wikipedia 2011 - 9]
24
C++ Builder XE je rozdělen do čtyř variant, lišících se vlastnostmi a cenou. Nabízené varianty jsou:
[Embarcadero 2011]
C++ Builder XE Starter - je skvělým způsobem jak začít s vizuálním vývojem aplikacív jazyku C++ pro
Windows. C++ Builder XE Starter zahrnuje efektivní IDE s editorem kódu, kompilátor a integrovaný
debugger, obousměrný vizuální designer k rychlému vývoji, stovky vizuálních komponent a InterBase
Express pro připojení k databázi InterBase. V rámci jedné podnikové sítě je možné provozovat
maximálně pět licencí C++ Builder Starter. Zisk z prodeje produktů vytvořených v těchto nástrojích
nesmí přesáhnout 1000 USD za rok, v opačném případě je nutné přejít na některou z edicí
Professional, Enterprise nebo Architect. Cena jedné licence pro C++ Builder XE Starter je 4960 Kč bez
DPH.
C++ Builder XE Professional - je určen pro vytváření vysoce výkonných Windows desktop aplikací,
touch-screen aplikací a aplikace pro pracovní stanice s nebo bez návazností na lokální databáze.
Varianta Professional je silnou kombinací ANSIC++, VCL a malých a rychlých "singleexe" aplikací, které
jsou obzvláště vhodné pro vývojáře C++, kteří potřebují sestavit a udržovat "balík" Windows GUI
aplikací. Professional obsahuje tyto funkce:
C++ Bdb Express lokální databázové připojení k Inter Base a MySQL
Rozšířené kódovací nástroje včetně Code Insight, refaktoring, nástroje příkazového řádku,
formátovač kódu, Class Explorer, integraci Subversion, jednotkové testování a překladatelské
nástroje
Další přibalené nástroje včetně AQtime Developer, Beyond Compare Differ, Raize Code Site
Express, IP*Works, TeeChart, Rave Reports, Install Awareagly FX grafické knihovny
Pokročilé ladící pohledy a ladění multi-threaded aplikací
Cloud computing integraci s Amazon EC2 a Windows Azure
XML, webové služby a pokročilé COM / DCOM
Rozšířená sada VCL komponent a zdrojový kód VCL
UML vizualizaci, poskytující vizuální reprezentaci zdrojového kódu pro snazší pochopení
C++ Builder XE Enterprise - je určen pro vývojáře C++ a tvorbu aplikacích orientovaných klient/server
a multi-tier, cloud, GUI a webových aplikací, které bezproblémově pracují se širokou škálou
databázových serverů a datových zdrojů. Podpora vysokého výkonu heterogenních databázových
serverů je ideální pro multi-vendor scénáře databázových serverů, nebo budování aplikací na klíč,
které umí pracovat se širokou škálou databázových serverů. Varianta Enterprise obsahuje vše z edice
Professional plus následující pro tvorbu klient /server a multi-tier databázových a webových aplikací:
Databázové server připojení k InterBase, Firebird, MySQL, Microsoft SQL Server, Oracle, DB2,
Informix, Sybase ASE a SQL Anywhere
DataSnap k vytváření multi-tier klientských aplikací
Final Builder Embarcadero Edition a nástroje příkazového řádku pro tvorbu automatizaci
VCL pro Web Standard bez omezení souběžných připojení
Plné možnosti obousměrného UML modelování s mnoho typy diagramů, synchronizaci mezi
kódem a modelem, generování dokumentace, a návrhových vzorů
25
C++ Builder XE Architect - je určen pro vývojáře C + + a týmy zabývající se datově náročnými klientserver aplikacemi, cloudem, GUI a webovými aplikacemi zapojených do velkých nebo složitých
systémů podnikových databází. Varianta Architect kombinuje datově řízený rychlý vývoj aplikací a
heterogenní vysokorychlostní přístup k datům s bohatým vizuálním modelováním dat, které pomáhá
vývojářům pochopit, navrhnout, a získat nejvyšší přidanou hodnotu ze stávajících firemních databází
a datových struktur. Architect obsahuje vše z edice Enterprise plus výkonný databázové modelování a
konstrukční možnosti:
Reverse-engineer, analýza a optimalizace databáze
Automatické generování kódů databáze z modelů od forward engineeringu
Vytváření logických a fyzických modelů na základě informací získaných z databází a
skriptovacích souborů
Práce s velmi přehlednými diagramy
Pokročilé porovnávání a slučování, obousměrné porovnání a sloučení modelu a databázové
struktury
Obr. 17 – Hlavní obrazovka programu C++ Builder
26
Lazarus
Lazarus je vývojové prostředí, které slouží k vývoji aplikací v jazyku Pascal a Object Pascal.
Nejužívanějším IDE podporující jazyk Pascal je produkt Delphi, ten je ale komerční. V praxi se Lazarus
příliš od zmiňovaného Delphi neliší a dá se říci, že kdo umí pracovat s Delphi, nebude mít problém
s Lazarusem. Mottem projektu Lazarus je „Write once, compile anywhere!“ (Napiš jednou, zkompiluj
všude!), což vystihuje hlavní myšlenku tohoto IDE. [Wikipedia 2011 - 11]
Hlavní předností IDE Lazarus je – kromě toho, že je šířen jako svobodný software – jeho
multiplatformita. Jak popisují zkušení uživatelé, není problém spustit a pracovat s Lazarusem
v prostředí MS Windows, v různých distribucích Linuxu, FreeBSD či Mac OS X. [Lazarus 2011]
Na oficiálních stránkách projektu Lazarus (lazarus.freepascal.org) jsou vystaveny programy, které jsou
v něm vytvořeny.
Dostupné aktuální verze rozdělené dle platformy: [Sourceforge 2011]
Lazarus Linux x86_64 RPM
Lazarus Linux amd64 DEB
Lazarus Linux i386 DEB
Lazarus Linux i386 RPM
Lazarus Linux SRC RPM
Lazarus Mac OS X i386
Lazarus Mac OS X powerpc
Lazarus Windows 32 bits
Lazarus Windows 64 bits
27
Obr. 18 – Hlavní obrazovka programu Lazarus
Code::Blocks
IDE Code::Blocks vzniklo v roce 2004, kdy spatřila světlo světa první verze. Zpočátku však nešlo o příliš
stabilní IDE. První stabilní verzí se dá nazvat verze 8.02 z roku 2008, v současné době je aktuální verze
10.05 z června 2010. Tato verze je mezi uživateli velmi kvitována, protože přináší spoustu oprav a
vylepšení z minulé verze.
Code::Blocks je vývojové prostředí určené pro jazyk C a C++. Jedná se o svobodný software, který lze
dále rozšiřovat a libovolně konfigurovat. V porovnání s podobnými, ale placenými programy, je na
podobné úrovni díky mnoha zajímavým funkcím a možnostem. Code:Blocks je multiplatformní
prostředí – vedle oficiálních verzí pro Windows, Linux a Mac OS X se podařilo uživatelům zprovoznit
jej také pod FreeBSD.
Code::Blocks podporuje využití více překladačů – např. GCC/MinGW, Microsoft Visual C++, Borland
C++ a další. Textový editor umožňuje zvýrazňování syntaxe, dokončování kódu, class browser, či
skrývání části kódu. Už tak bohaté možnosti, které skrývá základní verze, lze rozšířit pomocí pluginů,
mezi něž patří např. automatické verzování, statistika kódu, využití ladícího nástroje Valgrind, a další.
[Wikipedia 2011 – 12]
Překladač nabízí podporu pro kompilaci v: [Zaachi 2011]
GNU GCC (vč. G77) (Linux)
MinGW GCC (incl. G77) (Win32) MinGW, GCC (vč. G77) (Win32)
MSP430 GCC (Win32, Linux, BSD) MSP430 GCC (Win32, Linux, BSD)
TriCore GCC (Win32, Linux) TriCore GCC (Win32, Linux)
PowerPC GCC (Win32, Linux) PowerPC GCC (Win32, Linux)
28
Apple GCC (Xcode) (Mac OS X) Apple GCC (Xcode) (Mac OS X)
Microsoft Visual C++ Toolkit 2003 (Win32) Microsoft Visual C + + Toolkit 2003 (Win32)
Microsoft Visual C++ 2005 (Win32) Microsoft Visual C + + 2005 (Win32)
Borland's C++ Compiler 5.5 (Win32) Borland v C + + 5.5 (Win32)
DigitalMars C/C++ (Win32) DigitalMars C / C + + (Win32)
OpenWatcom (Win32) OpenWatcom (Win32)
Intel C++ compiler (Win32) Intel C + + kompilátor (Win32)
Small Device C Compiler (SDCC) Small Device C Compiler (SDCC)
Digital Mars D (Win32, Linux) Digital Mars D (Win32, Linux)
GDC D Compiler GDC D kompilátor
Obr. 19 – Hlavní obrazovka programu Code Blocks
jEdit
Program jEdit je textový editor napsaný – jak už napovídá úvodní písmenko“j“ – v nejrozšířenějším
programovacím jazyce – Java. Podporuje zvýraznění syntaxe více než 130 různých programovacích
jazyků, kódů a schémat značkovacích jazyků jako HTML a XML. Primárně je určený pro programátory
a tvůrce webových stránek. Aktuální verze 4.3.2 pochází z května roku 2010. [Wikipedia 2011 - 10]
29
jEdit lze používat napříč platformami – Windows, Unix, Mac OS X, OS/2, VMS, Linux, Solaris. Své
uživatele si získal také tím, že se jedná o open-source, tudíž bezplatný software. Jeho další předností
je možnost doinstalování více než 150 pluginů, které dále rozšiřují jeho funkcionalitu (např.
ProjectViewer, XML, ErrorList, JDiffPlugin, SideKick a další). [Interval 2011]
V dnešní době narazíte na internetu na spoustu kvalitních textových editorů, ovšem jEdit lze
považovat podle uživatelských recenzí za jeden z nejlepších svého druhu, a to právě díky jeho
vlastnostem a možnostem, které uživatelům nabízí. [LinuxExpres 2011]
Obr. 20 – Hlavní obrazovka programu jEdit
30
Trendy vývoje nástrojů CASE a IDE
Nyní bychom se v rámci naší práce chtěli zaměřit na vývojové trendy nástrojů CASE a IDE. V současné
době se na trhu s nástroji CASE a IDE objevují 4 nejsilnější vývojové trendy, a to:
nezávislost vývojového prostředí na nástrojích CASE
modulárnost IDE
potřeba integrace nástrojů CASE a IDE
nástroje CASE jako Saas
Nástroje IDE
V současné době najdeme na trhu širokou nabídku různých nástrojů IDE od velkého množství
společností či nadací. Trh je již tak nasycený, že došlo k poměrně velkému snížení cen těchto
nástrojů. Dokonce toto snížení došlo až do takové fáze, že většina firem nabízí aspoň základní verzi a
to zcela zdarma.
Důležitým bodem vývoje nástrojů IDE je tzv. modulární architektura. Znamená to, že každý
programátor si může takovýto nástroj přizpůsobit svým požadavkům. Do nástroje IDE si přidá pouze
takové funkce, které jsou pro něj důležité, a které používá. Tento prvek je důležitým krokem při
integraci všech potřebných nástrojů do jednoho prostředí. Tedy integraci nástrojů IDE a CASE. Tato
tendence se na dnešním trhu stále prohlubuje. Potřeba integrace je stále silnější.
Co je to vůbec integrace nástrojů IDE a CASE? Každý programátor potřebuje ke své práci několik
oddělených nástrojů jako je systém pro psaní dokumentace, speciální programy jako např.
databázoví klienti, verzovací systémy, grafické modelovací nástroje a další. V současné době se na
trhu objevuje požadavek na to, aby programátor měl jeden univerzální nástroj. Znamená to tedy, že
dané nástroje je třeba integrovat do jednoho vývojového prostředí a to tak, aby ho vývojář již
nemusel opouštět.
Jedním ze známých nástrojů IDE je MS Visual Studio. Je zřejmé, že tento nástroj pochází od
společnosti Microsoft, která do něj zakomponovala podporu všech jeho platforem jako je např. .NET,
C#, MS Visual Basic a další. Nicméně podařilo se jim přidat podporu pro další známé platformy jako
Java, C, C++ a další. V dnešní době je již možno pomocí Visual Studio vytvářet aplikace nejen pro
operační systém Microsoft Windows, ale i pro mobilní Windows Mobile a pro konzole Xbox360.
Obsahuje však i určitá omezení a to je zejména uzavřenost kódu a to, že daný nástroj je schopen
běhu pouze na operačním systému Microsoft Windows. Ovšem na druhou stranu má i několik výhod.
Jako hlavní výhodu bych uvedla jeho modulárnost, která umožňuje integraci s většinou dnes
používaných verzovacích systémů. Společnost Microsoft na tento produkt nabízí několik různých
variant licencí – ať už jsou to licence placení (tedy pro komerční vývoj), či licence zdarma např. pro
studenty či jako zkušební verze.
Nástroje CASE
V současné době se na trhu pohybují 2 skupiny nástrojů CASE. První skupina jsou nástroje, které jsou
samostatnými aplikacemi a druhou skupinou jsou nástroje, které jsou zásuvnými moduly do různých
vývojových prostředí.
31
Nástroje CASE jako samostatné aplikace
Samostatné nástroje CASE jsou v dnešní době již pomalu na ústupu. Mají několik společných znaků a
to, že nejsou závislé na jiných vývojářských nástrojích, dále je nutné je instalovat a tudíž se vývojář
musí naučit s novou aplikací a asi největším problémem je práce v týmu.
Co se týče nezávislosti na vývojářských nástrojích, tak lze říci, že se jedná o poměrně velký problém.
Protože pokud pracujeme v takovém nástroji, tak není možné spolupracovat s jinými programy.
Znamená to tedy, že nastává problém s kompatibilitou.
Dalším problémem je práce v týmu. Většina dnešních samostatných aplikací CASE nepodporuje
nějaké univerzální síťové úložiště pro komunikaci. Je zde tedy problém s verzováním. Podpora
verzování v nástrojích CASE je velice slabá a samostatné nástroje CASE podporují jen velmi omezený
počet verzovacích systémů.
Posledním problémem je instalace a učení s novým nástrojem. Vývojář je vlastně donucen zakoupit si
licenci na takovýto systém, musí si ho nainstalovat, a protože v něm nemá žádné zkušenosti, musí se
naučit pracovat s celým systémem. Zvyšuje to tedy náklady na vývojáře. *Švimberský 2010+
Nástroje CASE jako zásuvné moduly IDE
Jak již bylo řečeno výše, je dnes nutné integrovat nástroje CASE a IDE do jedné univerzální aplikace,
která vývojářovi zjednoduší práci. Na trhu se tedy čím dál více objevují moduly CASE, které umožňují
rozšiřovat funkcionalitu nástrojů IDE o UML modelování. Příkladem produktu je Eclipse.
Eclipse je nástroj, do kterého je možné přidat různé moduly pro UML modelování. Těchto zásuvných
modulů je již na trhu velké množství. Zásuvné moduly tak poskytují poměrně dobrou podporu
návrhu s pomocí UML modelování. O Eclipse jsme se v naší práci zmiňovali již dříve.
Na trhu se již objevili nástroje CASE, které podporují všechna vývojová prostředí. Nicméně
problémem je nekvalitní podpora nejnovějších standardů. A pokud již najdeme kvalitní nástroj, je
problémem vysoká cena. Díky tomu jsou ještě velké mezery na trhu s těmito nástroji a je zde
poměrně velký prostor pro vývoj nových kvalitních nástrojů, které budou splňovat požadavky trhu.
*Švimberský 2010+
CASE jako SaaS
Poměrně novým trendem na trhu jsou tzv. web-based aplikace. Jinak řečeno software poskytovaný
jako služba. Tento trend se objevuje zejména u malých a středních firem, které potřebují snížit své
náklady na správu a údržbu serverů a aplikací.
Jako hlavní výhody Saas bychom uvedli:
Snížení finančních nákladů – Společnost nemusí platit za koupi, zprovoznění a údržbu
serveru. Sníží se náklady na pracovníky, kteří by server museli spravovat apod.
Snížení personálních zdrojů – Jak již bylo řečeno výše. Odpadá tady potřeba držet si člověka,
který bude spravovat a starat se o servery a dané aplikace a služby.
Rychlost nasazení – Zprovoznění serveru jako takového včetně potřebných aplikací trvá
většinou měsíce. V případě použití SaaS jsou potřebné aplikace zprovozněny v rámci několika
dní.
32
Doba trvání upgradu – Pokud chceme upgradovat systém na serveru, musí dojít k jeho
výpadku. V případě SaaS se upgrade dělám při chodu.
Problémy s kompatibilitou – Zaměstnanci ve firmě mohou pracovat s různými operačními
systémy, které nemusí být kompatibilní s potřebnou aplikací. V použití SaaS se tento problém
stírá, protože pracovníci se k aplikaci připojují většinou pomocí internetového prohlížeče,
který odstraní problém s kompatibilitou
Je tedy jasně vidět, že pro malé a střední firmy může být použití SaaS podstatně výhodnější než
použití standardních desktopových aplikací. Jediným problémem je, že dnešní aplikace provozované
jako SaaS mají zatím často podstatně menší funkcionalitu než aplikace desktopové.
Příkladem nástrojů CASE, které jsou používané jako SaaS jsou Gliffy a Creately.
Gliffy
Tento nástroj je používán jako webová aplikace. Uživatel se k němu připojuje pomocí internetového
prohlížeče. Tím jsou odstraněny veškeré problémy s kompatibilitou. Tento produkt umožňuje tvorbu
následujících diagramů: [Gliffy 2011]
Venn diagrams
Flowchart
Network diagrams
Class diagram
Sequence Diagram
Use Case Diagram
Package Diagram
Deployment Diagram
Entity Relationschip Diagram
BPMN Diagrams
Celé uživatelské rozhraní je vytvořeno pomocí technologie Flash. Práce s nástrojem je velice
pohodlná a intuitivní. Cena licence se odvíjí od počtu uživatelů a dále se platí za každou aktualizaci.
33
Obr. 21 – Hlavní obrazovka aplikace Gliffy
Creately
Tento nástroj je také používán jako webová aplikace. Uživatel se k němu opět připojuje pomocí
internetového prohlížeče. Pro uživatelské rozhraní opět byla použita technologie Flash.
Podporuje následující diagramy:
Flowchart
Network diagrams
Class diagram
Sequence Diagram
Use Case Diagram
Package Diagram
Deployment Diagram
Entity Relationschip Diagram
BPMN Diagrams
Jak můžeme vidět, tak podpora diagramů je podobná jako u Gliffy, nicméně je zde možnost týmové
spolupráce. Jediné co chybí je podpora aplikačního programového rozhraní. Práce s nástrojem
Creately je opět velice jednoduchá a intuitivní. Cena se odvíjí od počtu uživatelů. Nicméně se jedná o
levnější nástroj než v předchozím případě. Pokud bychom ovšem měli oba dva programy porovnat,
tak Gliffy je podstatně propracovanější a tomu zřejmě odpovídá i cena. [Creately 2011]
34
Obr. 22 – Hlavní obrazovka aplikace Creately
Pokud bychom ovšem měli porovnat desktopové CASE produkty a CASE jako Saas, můžeme
konstatovat, že je zde obrovský prostor pro vylepšování a vytváření nových produktů. Nástroje CASE,
které jsou dostupné jako SaaS jsou ještě poměrně dost omezená a musí ujít ještě velký kus cesty, aby
dokázaly nahradit běžné desktopové aplikace.
35
Závěr
Z výše uvedeného přehledu můžeme vidět, že open-sourcové nástroje CASE a IDE se stále více
rozvíjejí a mají velice dobře nakročeno k tomu, aby dokázaly konkurovat placeným produktům.
V některých případech již ke přímé konkurenci dochází. Je to zejména z toho důvodu, že na podpoře
a vývoji takovýchto nástrojů se podílí široká veřejnost a tyto nástroje mají tak kvalitní základ.
Co se týče budoucího rozvoje, tak dle našeho názoru se stále více budou prosazovat nástroje formou
SaaS, protože uživatelům nabízejí mnoho výhod. Nástroje formou Saas se budou stále rozvíjet a
časem dosáhnout stejné kvality jako desktopové aplikace. Ovšem s velkými výhodami, a to zejména
snížením nákladů, vysokou kompatibilitou a rychlostí nasazení. Desktopové aplikace se tedy dostanou
na ústup.
36
Zdroje
[ArgoUML 2011] ArgoUML,[online]. Dostupné z: http://argouml.tigris.org/ [cit. 3. 4. 2011]
*Astah2011+ Astah Community, *online+. Dostupné z: http://astah.changevision.com/en/product/astah-community.html [cit. 4. 4. 2011]
*Axmann 2010+ Axmann Ondřej, Hemala David, Mošnička Radek, Vrbka Jan. Nástroje pro
vývoj aplikací a jejich vazba na CASE *online+. *s.l.+, 23.4.2011. 45 s. Semestrální práce.
Vysoká škola ekonomická
*BoUML 2011+ BoUML, *online+. Dostupné z: http://bouml.free.fr [cit. 1. 4. 2011]
[Creately 2011] Creately, [online]. Dostupné z: http://creately.com/[cit. 15. 4. 2011]
*Dia 2011+ Dia, *online+. Dostupné z: http://projects.gnome.org/dia/ [cit. 2. 4. 2011]
*Embarcadero 2011+ Embarcadero, C++ Builder, *online+. Dostupné z:
http://www.embarcadero.com/products/cbuilder [cit. 21.4.2011]
*Gliffy 2011+ Gliffy, *online+. Dostupné z: http://www.gliffy.com/[cit. 15. 4. 2011]
[Green 2008] Green project, [online]. Dostupné z: http://green.sourceforge.net/ [cit. 3. 4.
2011]
*Harášek 2010+ HARÁŠEK, Luboš. a spol. Nástroje pro vývoj aplikací a jejich vazba na CASE.
*s.l.+, 2010. 41 s. Semestrální práce. Vysoká škola ekonomická v Praze.
*Interval 2011+ Interval.cz, *online+. jEdit, editor schopný nejen nahradit PSPad. Dostupné z:
http://interval.cz/clanky/jedit-editor-schopny-nejen-nahradit-pspad/[cit. 22. 4. 2011]
*Lazarus 2011+ Nebuď lazar, buď Lazarus, *online+. Dostupné z:
http://www.linuxexpres.cz/blog/nebud-lazar-bud-lazarus[cit. 23. 4. 2011]
*LinuxExpres 2011+ jEdit, *online+. Dostupné z: http://www.linuxexpres.cz/software/sikovnyeditor-jedit[cit. 22. 4. 2011]
[OpenAmos 2011] OpenAmos, [online]. Dostupné z: http://www.openameos.org/ [cit. 4. 4.
2011]
[Sourceforge 2011] Lazarus, *online+. Dostupné z:
http://sourceforge.net/projects/lazarus/files/[cit. 23. 4. 2011]
[StarUML 2011] StarUML, *online+. Dostupné z: http://staruml.sourceforge.net/en/ [cit. 4. 4.
2011]
*Švimberský 2010+ ŠVIMBERSKÝ, Ota. Vývojové prostředí budoucnosti aneb integrace CASE
nástroje do vývojového prostředí. *cit. 15. 4. 2011+. Dostupný z:
https://dip.felk.cvut.cz/browse/pdfcache/svimbota_2010dipl.pdf
[Umbrello 2010] Umbrello, [online]. Dostupné z: http://uml.sourceforge.net/index.php [cit.
5. 4. 2011]
*UMLet 2011+ UMLET, *online+. Dostupné z: http://www.umlet.com/ [cit. 4. 4. 2011]
*Violet 2011+ Violet UML Editor, *online+. Dostupný z:
http://alexdp.free.fr/violetumleditor/page.php [cit. 1. 4. 2011]
*Vývoj IS 2005+ CHLAPEK, Dušan; ŘEPA, Václav; STANOVSKÁ, Iva. Vývoj informačních systémů.
Praha : Oeconomica, nakladatelství VŠE, 2005. 161 s. ISBN 80-245-0977-6.
[Wikidot 2011+ Programování, *online+. Dostupné z: http://ari.wikidot.com/programovani
[cit. 19.4.2011]
[Wikipedia 2011] CASE nástroje, [online]. Dostupné z:
http://cs.wikipedia.org/wiki/CASE_n%C3%A1stroje[cit. 15. 4. 2011]
37
[Wikipedia 2011 -1+ Textový editor, *online+. Dostupné z:
http://cs.wikipedia.org/wiki/Textov%C3%BD_editor [cit. 19.4.2011]
[Wikipedia 2011 - 2+ Překladač, *online+. Dostupné z:
http://cs.wikipedia.org/wiki/P%C5%99eklada%C4%8D [cit. 19.4.2011]
[Wikipedia 2011 - 3] Interpret, *online+. Dostupné z:
http://cs.wikipedia.org/wiki/Interpret_%28software%29 [cit. 19.4.2011]
[Wikipedia 2011 - 4+ Debugger, *online+. Dostupné z: http://cs.wikipedia.org/wiki/Debugger
[cit. 19.4.2011]
[Wikipedia 2011 - 5+ Object browser, *online+. Dostupné z:
http://en.wikipedia.org/wiki/Object_browser [cit. 19.4.2011]
[Wikipedia 2011 - 6+ Vestavěný systém, *online+. Dostupné z:
http://cs.wikipedia.org/wiki/Embedded_syst%C3%A9m [cit. 20.4.2011]
[Wikipedia 2011 - 7] CodeWarrior, *online+. Dostupné z:
http://cs.wikipedia.org/wiki/CodeWarrior [cit. 20.4.2011]
*Freescale 2011+ Freescale, CodeWarrior, *online+. Dostupné z:
http://www.freescale.com/webapp/sps/site/learning_summary.jsp?code=LRNGCTR_CW [cit.
20.4.2011]
[Wikipedia 2011 - 8+ VCL, *online+. Dostupné z: http://cs.wikipedia.org/wiki/VCL [cit.
21.4.2011]
[Wikipedia 2011 - 9+ C++ Builder, *online+. Dostupné z:
http://cs.wikipedia.org/wiki/C%2B%2BBuilder [cit. 21.4.2011]
[Wikipedia 2011 – 10+ jEdit, *online+. Dostupné z: http://cs.wikipedia.org/wiki/JEdit[cit. 22. 4.
2011]
[Wikipedia 2011 - 11+ Lazarus, *online+. Dostupné z: http://cs.wikipedia.org/wiki/Lazarus [cit.
23. 4. 2011]
[Wikipedia 2011 - 12+ Code Blocks, *online+. Dostupné z:
http://cs.wikipedia.org/wiki/Code::Blocks[cit. 23. 4. 2011]
[Zaachi 2011] Code Blocks, *online+. Dostupné z: http://www.zaachi.com/cs/items/codeblocks.html[cit. 23. 4. 2011]
38

Podobné dokumenty

FORMICA 4.2

FORMICA 4.2 právě otevřeli, byla co největší podobnost s editorem plošných spojů. Desky plošných spojů a schemata ovšem nejsou totéž, a tak ani práce s oběma programy není stejná. Přesto však jsou oba vystavěn...

Více

FORMICA 4.2

FORMICA 4.2 1.2.7 K čemu jsou návěští . . . . . . . . . . . . . 1.2.8 Ukládejte na disk . . . . . . . . . . . . . . . 1.3 Ne všechno se podaří na první pokus . . . . . . . . 1.3.1 Zacházení s jediným prvkem . ...

Více

Nástroje pro vývoj aplikací a jejich vazba na CASE

Nástroje pro vývoj aplikací a jejich vazba na CASE V teoretickém základu je nutno nejprve definovat termín CASE, jedná se o zkratku slov computeraided software engineering. Obsah této zkratky vystihuje nejlépe definice: „CASE is the use of computer...

Více

Souhrnná metodika pro implementaci algoritmu pro stanovení

Souhrnná metodika pro implementaci algoritmu pro stanovení vlastního vozidla jednoho z řešitelů, především z oblasti Prahy 8, Prahy 9 a Prahy 6. Pro podrobnější a složitější charakter dopravy v posuzované oblasti vzniklo v průběhu řešení projektu několik z...

Více

Academic Earth

Academic Earth umožňuje extrahovat text z obrázku a přeměnit jej na textový dokument, který lze dále upravovat. Pokud chcete pracovat s textem z obrázku, nemusíte jej celý opisovat. Stačí jej naskenovat a pomocí ...

Více

File

File komunikace, projektový a team management, plánování zpřístupnění informací v cizích jazycích, vzdělávací aktivity

Více

Přehled CASE na trhu

Přehled CASE na trhu Uživatelské rozhraní ............................................................................................................................ 103 Podpora ze strany výrobce ........................

Více

Využití modelovacích nástrojů pro řízení IS/ICT ve firmě

Využití modelovacích nástrojů pro řízení IS/ICT ve firmě zaznamenávají závislosti mezi jednotlivými prvky, takže je možné snadno a rychle najít, kde všude bude potřeba provést změnu. Změna se nemusí týkat pouze kódu aplikace, ale i činností uživatele, kt...

Více

Nástroje pro vývoj aplikací a jejich vazba na CASE

Nástroje pro vývoj aplikací a jejich vazba na CASE který je využívá. Důležitým faktorem u vývojových prostředí je, že jsou plně orientované na jeden programovací jazyk (C++, JAVA atd.), a tím nabízejí spoustu užitečných funkcí. Jedná se zejména o p...

Více

Open Source Programování

Open Source Programování 1984 – German StarDivision (Lüneburg), Marco Börries StarWriter (Zilog Z80 CP/M) 1994 – StarOffice, do verze 4.2 založeny na přenositelné C++  knihovně StarView 1999 – Sun Microsystems za US$73.5 m...

Více