Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na

Transkript

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na
Fakulta informatiky a statistiky
Informační systémy a technologie
NÁSTROJE PRO VÝVOJ APLIKACÍ
V ZÁVISLOSTI NA PLATFORMĚ A JEJICH
VAZBA NA CASE
Členové týmu:
2
xname
Jméno a příjmení
xpucv02
Vladimír Pucholt
xtump13
Pavel Tůma
xdrad07
Dušan Drábik
xhano06
Ondřej Hanák
xsrnm03
Srnský Martin
3
OBSAH
1
2
3
Úvod.......................................................................................................................................... 6
1.1
Cíl práce ............................................................................................................................. 6
1.2
Charakter práce ................................................................................................................. 6
1.3
Přístup ke zpracování práce ................................................................................................ 6
Definice základních pojmů ......................................................................................................... 7
2.1
IDE ..................................................................................................................................... 7
2.2
CASE .................................................................................................................................. 7
2.3
Platforma ........................................................................................................................... 7
Teoretická úvaha o spolupráci IDE a CASE .................................................................................. 8
3.1
3.1.1
Tvorba modelu a jeho implementace.......................................................................... 8
3.1.2
Prostředek komunikace ............................................................................................ 10
3.2
4
Jak by měla spolupráce fungovat? .................................................................................... 12
Nástroje pro vývoj aplikací v závislosti na platformě................................................................. 15
4.1
5
Proč BY IDE a CASE vůbec měly spolupracovat? .................................................................. 8
Java.................................................................................................................................. 15
4.1.1
Netbeans .................................................................................................................. 15
4.1.2
Eclipse ...................................................................................................................... 17
4.1.3
Rational Requirements Composer ............................................................................ 18
4.1.4
Rational Team Concert ............................................................................................. 22
.NET Framework ...................................................................................................................... 34
5.1
Architektura .NET Framework .......................................................................................... 34
5.2
Common Language Runtime (CLR).................................................................................... 35
5.3
Řízený a neřízený kód ....................................................................................................... 35
5.4
Intermediate language (IL) ............................................................................................... 35
5.5
Typový systém (CTS)......................................................................................................... 35
4
6
7
5.6
Automatická správa paměti .............................................................................................. 35
5.7
Knihovny .......................................................................................................................... 36
5.8
Události ........................................................................................................................... 36
5.9
NET Compact Framework ................................................................................................. 36
5.10
Shrnutí ............................................................................................................................. 37
Visual Studio ............................................................................................................................ 38
6.1
Projekty ........................................................................................................................... 38
6.2
Editace ............................................................................................................................. 39
6.3
Nástroje ........................................................................................................................... 40
6.4
Nápověda a dokumentace................................................................................................ 41
6.5
Visual Studio Express........................................................................................................ 42
6.6
Visual Web Developer ...................................................................................................... 44
6.7
Shrnutí ............................................................................................................................. 44
Visual Studio a vazba na CASE nástroje .................................................................................... 45
7.1
Možnosti integrace Visual Studia a CASE nástrojů............................................................. 45
7.2
Visual Studio a UML ......................................................................................................... 47
7.3
Visual Studio a vybrané CASE nástroje .............................................................................. 48
7.3.1
Microsoft Visio ......................................................................................................... 49
7.3.2
SyBase(SAP) Power Designer .................................................................................... 51
7.3.3
Altova UModel ......................................................................................................... 53
7.4
Shrnutí ............................................................................................................................. 55
8
Závěr ....................................................................................................................................... 56
9
Zdroje ...................................................................................................................................... 57
5
1
ÚVOD
V dnešní době si již neumíme představit vývoj softwaru bez použití nástrojů. Nástroje
používáme od plánování softwaru, návrhu a kreslení diagramů až po programování, testování a
kontrolu [BECK, 2003]. S používáním nástrojů je také spojena úspěšnost projektů vývoje softwaru.
Má-li být projekt vývoje softwaru úspěšný, nestačí jen nástroj, ale zaleží na mnoha dalších faktorech.
1.1
CÍL PRÁCE
Cílem této práce je popsat vybrané nástroje pro vývoj softwarových aplikací v závislosti na
platformě. Dalším cílem, který si náš tým vytyčil, je prozkoumat u těchto nástrojů vazbu na CASE.
Čtenář se díky této práci seznámí s některými CASE nástroji daných platforem a zjistí, jak se od sebe
liší a jakým způsobem napomáhají vývoji softwaru.
1.2
CHARAKTER PRÁCE
Práce je rozdělena do několika částí. V úvodu vysvětlujeme základní pojmy důležité pro
charakter této práce.
1.3
PŘÍSTUP KE ZPRACOVÁNÍ PRÁCE
Při psaní této práce jsme se snažili, aby co nejlépe korespondovala s pracemi již vytvořenými.
Vzhledem k tomu, že tyto práce jsou k dispozici na http://www.panrepa.org/CASE/, předpokládáme,
že čtenář, který čte naši práci, má přístup i k pracím předešlým. Pokud tedy například usoudíme, že
nějaký pojem, který by měl být podrobně vysvětlen, už popsán byl, vysvětlíme ho jen velmi stručně a
případně odkážeme na některou z minulých prací. Podrobněji bychom se chtěli věnovat především
věcem, které zatím příliš vysvětleny nebyly.
6
2
DEFINICE ZÁKLADNÍCH POJMŮ
Definovat pojmy týkající se dané problematiky není primární cíl této práce, ovšem samotný
název naší práce „Nástroje pro vývoj aplikací a jejich vazba na CASE v závislosti na platformě“
obsahuje 3 základní pojmy, které je třeba vymezit. Proto je zde tato kapitola věnována definici
důležitých pojmů.
2.1
IDE
IDE znamená „Integrated Development Environment“, což by bylo možné přeložit jako
integrované vývojové prostředí. Jednoduše bychom mohli IDE definovat jako software, pomocí
kterého lze napsat zdrojový kód mnohem jednoduššeji než pokud je kód psaný v poznámkovém
bloku. Podrobnější informace o tom, k čemu všemu lze IDE využít, se objevily například v pracích
„Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na CASE“ ze zimního semestru
2009 nebo „Nástroje pro vývoj aplikací a jejich vazba na CASE“ z jara 2010.
2.2
CASE
CASE neboli „Computer Aided Software Engineering“ jsou nástroje, které mají pomáhat při
vývoji aplikací, a to zejména tvorbou různých modelů a UML diagramů. Tvorba modelů je hlavním
účelem většiny CASE nástrojů, ale pomoci vývoji aplikací lze i jinými způsoby, což je předvedeno
zejména v kapitole týkající se Javy. Opět nebudeme uvádět podrobnější popis toho, co CASE vlastně
je, neboť to už mnohokrát bylo řečeno – například v obou pracích zmíněných v odstavci „IDE“, ale
také ve spoustě dalších prací, neboť CASE je ústřední téma celého předmětu.
2.3
PLATFORMA
Tento pojem nemůžeme přejít pouhým odkazem na předchozí práce. Není to z toho důvodu,
že by v předchozích pracích vysvětlen nebyl, ale protože tento pojem lze chápat různě. Wikipedie
definuje platformu jako „skupinu technických prostředků v informatice a výpočetní technice, které
mluvčí (obecně producent softwarových řešení) používá nebo nabízí jako základ pro další vývoj“. To
ovšem znamená, že platforma může být operační systém nebo například programovací jazyk. Díky
těmto rozdílným pojetím jsou předchozí práce na toto téma poměrně pestré a nám se nabízelo
mnoho možností, jak je nějak doplnit. Nakonec jsme se zaměřili na platformy Java a .NET. Tyto
platformy se sice již v předchozích pracích objevily, ale žádná z nich se nezaměřila přímo na tyto dvě,
7
proto si myslíme, že přehled IDE a CASE nástrojů srovnaný podle těchto dvou velmi populárních
platforem může být přínosný.
3
TEORETICKÁ ÚVAHA O SPOLUPRÁCI IDE A CASE
3.1
PROČ BY IDE A CASE VŮBEC MĚLY SP OLUPRACOVAT?
V předchozích pracích se mnohokrát objevily definice CASE, IDE a základní způsoby jejich
spolupráce. V žádné z nich jsme však nenarazili na odpověď na otázku „proč vůbec spolupracovat?“
Že je tato spolupráce velmi užitečná, si už uvědomilo jistě mnoho lidí, jak je patrné z toho, kolik CASE
a IDE tuto spolupráci podporuje. Tato práce se pokusí předvést, jak může konkrétně funkcionalita
CASE nástrojů týkající se modelování pomoci při vývoji aplikací.
3.1.1 TVORBA MODELU A JEHO IMPLEMENTACE
Case nástroje se zabývají především vytvářením různých modelů. IDE se zabývají především
tvorbou zdrojového kódu. Vytvoření modelu je práce analytika a jeho implementace práce
programátora. CASE nástroje a IDE tedy podporují rozdílné činnosti, které u větších projektů ani
nemusí mít na starost jeden člověk. Avšak tyto činnosti spolu velmi úzce souvisí, a proto by měly
CASE nástroje a IDE být nějakým způsobem propojeny. Zvlášť u menších projektů může být
modelování vnímáno jako něco navíc, něco co zdržuje programátory od toho, aby konečně začali
tvořit něco hmatatelného, ne jenom pěkné barevné obrázky. Avšak i aplikace, jejichž
naprogramování vypadá poměrně nenáročně, může být nakonec velmi komplikovaná, pokud se
začne programovat bez zamyšlení, jak by měla fungovat a jaké funkce obsahovat. K zjištění toho
všeho modelování dobře poslouží a pro vývojáře bude jedině dobře, pokud nástroje použité pro
vytvoření modelu a pro jeho implementaci nebudou fungovat nezávisle na sobě, ale budou se
různými funkcemi podporovat.
Důležitost propojení modelu a vývoje aplikace je možno vypozorovat i z různých metodik pro
vyvíjení softwaru. V prakticky každé má model své pevné místo. Jako příklad lze uvést třeba
metodiku MMDIS [VOŘÍŠEK,1997], která se zabývá vývojem a provozem informačních systémů.
Metodika se skládá ze šesti fází:

Úvodní studie

Globální analýza a návrh
8

Detailní analýza a návrh

Implementace

Zavádění

Provoz a údržba
Za povšimnutí stojí určitě to, že zde jsou 3 fáze, které se týkají především analýz a vytváření
modelů, a teprve poté nastává samotné naťukání kódu v nějakém vývojovém prostředí. Informační
systém je samozřejmě velmi specifická aplikace, která svou složitostí mnohonásobně převyšuje
jednodušší aplikace, a je zde proto na modelování kladen větší důraz než jinde, ale i u jednodušších
aplikací je modelování důležité.
Ještě zřetelněji ilustruje důležitost modelu během vývoje aplikace tento obrázek metodiky RUP:
[RUP, 2010]
3-1 -Průběh vývoje podle metodiky RUP (zdroj: [RUP, 2010])
Na obrázku jsou znázorněny jednotlivé činnosti, kterými je třeba se během projektu zabývat
na svislé ose. Na vodorovné ose jsou potom jednotlivé fáze projektu. Při použití této metodiky
probíhá většinou modelování jeho implementace zároveň. To je především díky tzv. iterativnímu
vývoji, který se snaží o časté vydávání spustitelných verzí. Samozřejmě, první verze jsou chudé, co se
týče funkcionality, důležité je však, že to, co bylo implementováno dobře, funguje. Po vydání verze je
9
třeba vytvoření zpřesňujících modelů, jejich implementace a vydání další verze. Vyvíjení softwaru
pomocí této metodiky si přímo říká o použití CASE nástroje, který je dobře propojen s vývojovým
prostředím.
Metodika MMDIS je určena k vývoji informačních systémů, které jsou mnohem složitější, než
běžné aplikace a metodika RUP je zas určena spíše k vývoji větších aplikací. Existuje však také
spousta lehkých metodik, které se hodí k vývoji menších aplikací. U těchto metodik nebývá tak
podrobně popsáno, co přesně v jakém kroku dělat, spíše jsou to jen taková obecná doporučení, jak
postupovat během vývoje. Avšak i v těchto lehkých metodikách má modelování své místo, což
dokazuje, že není dobré ho zanedbávat ani u vývoje menších aplikací.
Například metodika Feature driven development používá doménové objektové modelování,
které zahrnuje UML class diagram, který má podchytit nejdůležitější vztahy v budoucí aplikaci.
Existuje dokonce metodika nazvaná agilní modelování, která se zabývá přímo tím, jak požívat modely
během vývoje malých aplikací tak, aby byly k užitku, a nikoli ke škodě. Při použití této metodiky by
mělo během vývoje dosaženo toho, že modely budou jednoduché, jejich tvorba nebude zabírat příliš
mnoho času a budou dostatečně podrobné na to, aby ukázaly vše podstatné.
3.1.2 PROSTŘEDEK KOMUNIKACE
U softwaru vyvíjeného na zakázku obvykle programátor nebude aplikaci, kterou vytváří,
nikdy používat. Aplikace je vyvíjena pro zákazníka, který daný software potřebuje, avšak obvykle není
schopen ho sám naprogramovat. (Pod pojmy programátor a zákazník se v tomto případě nemusí
skrývat jedna osoba. Obě strany můžou být také velká mezinárodní společnost.) Potřebuje ale
programátorovi nějakým způsobem sdělit, co od něj vlastně potřebuje a jakým způsobem by měla
výsledná aplikace fungovat. Programátor zase potřebuje nějakým způsobem komunikovat se
zákazníkem, například dodat mu nějaký zpřesňující návrh, nebo pokud si to myslí, sdělit zákazníkovi,
že by bylo vhodné přidat další funkce. Je třeba myslet na to, že i když zákazník nedokázal správně
nadefinovat funkcionalitu, kterou opravdu potřebuje, je dobré snažit se mu tuto funkcionalitu dodat.
Pokud zákazník nedostane to, co potřebuje, může se příště obrátit na někoho jiného, kdo mu dodá
užitečnou aplikaci, i pokud nedovede úplně přesně vyjádřit, co vlastně chce. Právě model je dobrým
prostředkem komunikace. Ačkoli se zákazník pravděpodobně ve zdrojovém kódu nevyzná, dobře
vytvořený model by měl pochopit. Komunikace pomocí modelu v průběhu projektu může být velmi
užitečná. Ze začátku může programátor zákazníkovi předvést, jak bude aplikace fungovat před tím,
než bude muset vůbec začít s programováním. Je tak daleko větší šance, že zákazník zjistí, že by
vlastně chtěl, aby aplikace fungovala trochu jinak, dřív, než budou v projektu utopeny velké finanční
10
prostředky. V dalších fázích potom může být pomocí modelu ukázán dopad navrhovaných změn.
Také může model posloužit třeba k tomu, aby bylo zákazníkovi vysvětleno, jak vlastně aplikace
funguje, a zákazník tak nedostal jen jakousi černou skříňku. Pochopení aplikace může pomoci
například tomu, že zákazník bude vědět, jak přesně zadat vstupy, aby nedocházelo k nesprávným
výstupům.
Pokud byl tedy vytvořen model, který měl demonstrovat nějaký aspekt aplikace, bude jedině
dobře, když bude moct být část kódu vytvořena automaticky za pomoci tohoto modelu.
Pochopitelně může nastat i opačný případ, kdy část kódu již bude hotova a bude potřeba vytvořit
nějaké grafické přehledné vyjádření tohoto kódu.
Potřeba komunikace je také mezi jednotlivými programátory projektového týmu. Tady je sice
pravděpodobné, že všichni budou rozumět všem částem kódu, ale přesto může být modelování
často užitečné. Například při tvorbě nové verze je lepší nejdřív udělat model, který může celý
projektový tým prodiskutovat, případně upravit, a až poté ho implementovat, než když budou
jednotliví členové týmu své návrhy demonstrovat přímo případnou změnou kódu. Zvlášť pokud bude
existovat způsob, jak z modelu části kódu dopsat. Nikdo pak nebude mít pocit, že tvorbou modelu se
vlastně nic nevytváří.
11
Jako příklad, kdy model může dobře posloužit jako prostředek komunikace, by se dal uvést
třeba sequence diagram.
3-2 Sequence diagram (zdroj: [BUS, 2010])
Tento diagram zachycuje, jakým způsobem si jednotlivé objekty mezi sebou vyměňují zprávy.
Například diagram nahoře ukazuje zasílání zpráv během přihlašování k webové aplikaci. To, co je
zakresleno na tomto diagramu, by šlo vyčíst i ze zdrojového kódu, pokud člověk ovládá programovací
jazyk, ve kterém je aplikace napsaná. Naproti tomu tento graf je schopen interpretovat i člověk,
který nemá s programováním zkušenosti. Pokud je aplikace vyvíjena pro programování neznalého
zákazníka, je možné mu na sekvenčním diagramu poměrně přesně ukázat, jak bude aplikace
fungovat. Poté co bude zákazník se sekvenčním diagramem spokojen, lze v případě dobré spolupráce
mezi CASE nástrojem a IDE rovnou z tohoto diagramu vytvořit základ kódu, což ušetří spoustu práce.
Stejně jako semence diagram, můžou sloužit ke komunikaci i další diagramy. Například use-case
diagram při diskuzi nad potřebnou funkcionalitou a jejími případnými změnami.
3.2
JAK BY MĚLA SPOLUPRÁCE FUNGOVAT?
12
V předchozí části byly osvětleny důvody, proč by tato spolupráce vůbec měla existovat. Další
část se bude zabývat tím, jak může tato spolupráce fungovat. Jak bylo zmíněno dříve, tvorba modelu
pomocí CASE nástroje by měla předcházet jeho implementaci v určitém vývojovém prostředí.
V ideálním případě, když je model navržen opravdu dobře, stačí programátorovi pouze mechanické
přepsání modelu do kódu. Takový ideální případ sice málokdy nastane, ale přesto ve většině případů
tráví programátor mnoho času činnostmi, které nevyžadují rozsáhlou myšlenkovou aktivitu, tedy
činnostmi, které by mohl klidně zvládnout stroj. Tady je právě prostor pro spolupráci. Pokud bude
model vytvořen dobře a podle jistých pravidel, která budou dodržována, mělo by být možné, aby byl
tento model nějakým způsobem automaticky převeden do zdrojového kódu. Tento převod může
fungovat oboustranně. To znamená, že stejně jako je možno z modelů získat zdrojový kód, tak i ze
zdrojového kódu může být získán model.
Další příklad ukáže jeden ze způsobů, jak je možno z určitého diagramu získávat kód. Na
následujícím obrázku je tzv. class diagram [BUCHALCEVOVÁ,2007+, který zachycuje strukturu tříd
v aplikaci a vztahy mezi jednotlivými třídami.
3-3 Ukázaka class diagramu
Tento class diagram ukazuje část návrhu aplikace, která bude spravovat účty jednotlivých
klientů banky. Vytvoření tohoto diagramu stálo analytiky jistě určité úsilí, které je třeba co nejlépe
zužitkovat, což znamená snažit se, aby tento digram pokud možno co nejvíc usnadnil programátorům
práci.
13
Pokud má CASE nástroj dostatečnou funkcionalitu, je možno získat z tohoto diagramu
definice jednotlivých tříd, jejich atributů a jejich metod. Také je možno rovnou vytvořit přístupové
metody k jednotlivým atributům. S implementací jednotlivých metod sice už diagram nepomůže, ale
důležité je to, že prakticky nebude nutné jednu práci dělat vícekrát.
14
4
NÁSTROJE PRO VÝVOJ A PLIKACÍ V ZÁVISLOSTI NA PLATFORMĚ
Pro naši práci jsme vybrali dvě nejpoužívanější a nejrozšířenější platformy, Javu a .Net.
4.1
JAVA
Dle [Java, 2010] je platforma Java počítačová platforma zastřešující různé varianty
použití programovacího jazyka.
Platforma Java zastřešuje následující dílčí platformy:

JavaCard – pro aplikace provozované v rámci tzv. „chytrých“ karet (např. platební a kreditní
karty atp.),

Java ME – pro aplikace provozované na mobilních zařízeních (mobilní telefony, PDA, atp.),

Java SE – aplikace provozované na stolních počítačích,

Java EE – aplikace pro podnikové a rozsáhlé informační systémy.
Jednotlivé dílčí platformy sdílejí společné koncepty, kterými jsou:

syntaxe jazyka Java,

virtuální stroj Javy – Java Virtual Machine (JVM),

obdobné API standardních knihoven funkcí.
V následujících podkapitolách popisujeme nástroje, které podporují a napomáhají vývoji
softwarových aplikací. V Kapitolách 4.1.1 a 4.1.2 okrajově zmiňujeme nástroje NetBeans a Eclipse,
protože již byly více než podrobně zmíněny v pracích předchozích. V kapitolách 4.1.3 a 4.1.4
popisujeme nástroje IBM řady Rational, protože se jedná o moderní nástroje pro podporu vývoje
aplikací, které se dají integrovat s nástroji NetBeans, Eclipse a dalšími. Popis těchto nástrojů vidíme
jako velký přínos tohoto dokumentu, jelikož nebyl ještě zpracován či popsán v předchozích pracích.
4.1.1 NETBEANS
NetBeans IDE je bezplatné, open-source vývojové prostředí pro softwarové vývojáře.
Vzhledem k tomu, že je kompletně naprogramováno pomocí programovacího jazyka Java, je
nezávislé na platformě a lze jej tedy provozovat na mnoha odlišných operačních systémech jako
15
Microsoft Windows, Linux, Solaris a MacOS. NetBeans IDE poskytuje vývojářům veškeré nástroje,
které potřebují pro tvorbu profesionálních, na platformě nezávislých aplikací.
NetBeans jsou vývojovým prostředím pro programovací jazyk Java. Vzhledem k tomu, že je
Java rozdělena do tří edic, tj. J2SE, J2ME a J2EE, lze pomocí NetBeans vytvářet aplikace desktopové,
enterprise aplikace, webové aplikace či aplikace pro mobilní zařízení. [Pitka, 2007]
Níže uvedená ukázka NetBeans, včetně popisu [Pitka, 2007], názorně ukazuje hlavní
možnosti a rozmístění komponent v tomto prostředí.
Obrázek 4-1
1. Hlavní menu aplikace – pomocí hlavního menu je možno přistupovat k veškeré funkcionalitě
aplikace. Některé nově nainstalované moduly mohou přidat další položky do menu a naopak při
odebrání modulu jsou položky menu odebrány.
2. Nástrojová lišta (toolbar) – obsahuje volby, které uživatel využívá často. Položky v nástrojové liště
je možno libovolně nastavovat pomocí menu View – Toolbars.
3. Okno pro práci se soubory – okno obsahuje tři záložky: Projects, Files a Runtime.
4. Navigátor
16
5. Output
6. Welcome obrazovka – tato obrazovka slouží jako počáteční bod při spuštění NetBeans. Obsahuje
množství voleb, které můžete po spuštění provést. Okno je rozděleno do následujících částí:
6.1. Skupina Getting started – obsahuje odkazy na nejrůznější dokumenty, které mohou pomoci
vývojářům v začátcích práce s NetBeans. Také jsou zde odkazy na dokumenty „What’s new“, tedy
novou funkcionalitu této verze NetBeans.
6.2. Skupina Sample projects – slouží k rychlému vyvolání okna New Project s výběrem tzv. sample
projects, tedy vzorových projektů. Jsou uvedeny odkazy na vytvoření vzorové obecné aplikace,
webové aplikace, enterprise aplikace, pluginu k NetBeans a odkaz na Java BluePrints Solutions.
6.3. Skupina Articles & News – obsahuje aktuální informace týkající se NetBeans. Jsou zde odkazy na
nejnovější články na www.netbeans.org. Tato skupina vyžaduje přístup k Internetu, aby mohla načíst
informace o článcích.
6.4. Skupina Blogs – obsahuje aktuální informace z vybraných blogů týkajících se NetBeans. Opět je
vyžadován přístup k Internetu pro načtení informací.
6.5. Zatrhávací tlačítko Show on Startup – pokud je zatržené, zobrazí se Welcome obrazovka při
každém spuštění NetBeans.
4.1.2 ECLIPSE
Dle [Eclipse, 2010] je Eclipse opensource vývojová platforma, která je pro většinu lidí známa
jako vývojové prostředí (IDE) určené pro programování v jazyce Java. Flexibilní návrh této platformy
dovoluje rozšířit seznam podporovaných programovacích jazyků za pomoci pluginů, například
o C++ nebo PHP. Právě pluginy umožňují toto vývojové prostředí rozšířit například o návrh UML, či
zápis HTML nebo XML.
Oproti ostatním vývojovým prostředím v Javě, jako například Netbeans, je filozofie Eclipse
úzce svázána právě s rozšiřitelností pomocí pluginů. V základní verzi obsahuje Eclipse pouze
integrované prostředky pro vývoj standardní Javy jako kompilátor, debugger atd., ale neobsahuje
například nástroj pro vizuální návrh grafických uživatelských rozhraní desktopových aplikací
nebo aplikační server – všechna taková rozšíření je potřeba dodat formou pluginů. Z tohoto důvodu
přímo pod křídly Eclipse vznikly takzvané subprojekty, které zastřešují rozšíření pro jednotlivé oblasti
softwarového vývoje v Javě. Tyto subprojekty usnadňují integraci potřebných rozšíření do
samotného vývojové ho prostředí. Eclipse je v současnosti nejpopulárnější IDE pro Javu.
17
Obrázek 4-2
Projekt Eclipse (Eclipse 1.0) vznikl uvolněním kódu IBM pod EPL licencí. Hodnota tohoto
příspěvku open source se odhaduje na 40 miliónu dolarů. Pro účely tohoto projektu byl vyvinut
grafický frameworkSWT. Výhodou SWT je nativní vzhled aplikací na každé platformě, kde je SWT
portován (SWT využívá nativního kódu operačního systému). Naproti tomu konkurenční
framework Swing využívá pouze služby JVM, což umožňuje lepší portovatelnost (omezenou pouze
dostupností Javy pro danou platformu).
Eclipse ve verzi 3.0 adaptoval na široce podporovaný standard OSGi R4 (Eclipse project
Equinox), čímž získal na atraktivnosti jako vývojová platforma. Technologie balíčků (OSGI bundle ~
Eclipse plugin) umožňuje snadnou rozšířitelnost produktů. Výhodou této architektury je dynamické
nahrávání pluginů až v okamžiku potřeby, čímž se minimalizují systémové nároky i čas potřebný pro
start aplikace.
4.1.3 RATIONAL REQUIREMENTS COMPOSER
18
Kvalitu projektu určuje úroveň splnění požadavků klienta. Rational requirements composer
umožňuje vtáhnout zainteresované strany (zákazníka) tím způsobem, že jsou součástí projektu. Díky
tomuto nástroji můžou vývojáři a zákazník vzájemně spolupracovat na definování a ověřování
správnosti požadavků. Výstupy pak budou umožňovat přesně to, co si zákazník přeje. Mnoho druhů
artefaktů je třeba vyjádřit požadavky v souvisejícím organizačním kontextu a omezeních, tyto
artefakty jsou však vytvořeny v různých nástrojích a datových formátech. Může se jednat
například o: tabulky, prezentace, grafy, nebo nahrávky z webových konferencí. Rational
requirements composer nabízí způsob, jak spojovat tyto "informace", propojovat je s odkazy a
atributy. Tento nástroj umožňuje spojit obě zainteresované strany do jednoho týmu. Na obrázku 4-3
vidíme, jakým způsobem se dají vytvářet, editovat a komentovat vytvořené use case a ostatní
artefakty.
Obrázek 4-3: Initial review of baseline use case (zdroj: [RRC, 2010])
Projektový tým definuje, čeho je potřeba dosáhnout. Rational requirements composer
pomáhá týmu se přirozeně pohybovat od nestrukturovaných myšlenek vyjádřených v prezentacích
a neoficiálních dokumentech k dokumentům strukturovaným, s přesně definovanými požadavky.
Vyjádřenými jako scénáře, případy užití, deklarativní požadavky a pracovní položky. Rational
19
requirements composer obsahuje editory pro případy užití, návrhy uživatelského rozhraní a
storyboardy1, procesy, rich text dokumenty, a integrované slovníky. Autoři dokumentů (analytici a
další) mají všechny tyto editory k dispozici, s podobnými uživatelskými rozhraními, využívající
společné úložiště.
Obrázek 4-4: Ukázka dashboardu (zdroj: [RRC, 2010])
Uživatelská rozhraní poskytují způsob, jak vyjádřit uživatelské scénáře intuitivně, stejně jako
filmoví producenti využívají storyboardy ke komunikaci. Rational requirements composer používá
webový klient, který umožňuje snadný přístup pro zainteresované strany a příležitostným uživatelům
prohlížet, hodnotit, komentovat a schvalovat požadavky artefakty a soubory artefaktů. Na obrázku 44 je vidět dashboard, který umožňuje uživateli kontrolu nad projekty, v kterých je zainteresován.
Dále má přehled o průběhu projektu, průběhu jednotlivých etap a úrovně splnění deklarovaných
požadavků.
4.1.3.1 MODELOVÁNÍ V RRC
1
Storyboard je sekvence obrázků vytvořená za účelem previzualizace výsledného díla
20
Tento nástroj umožňuje modelování různých procesů, diagramů a dalších. Za pomoci BPMN
2.0, či BPEL RRC je tak robustní nástroj, že už není potřeba ho integrovat s nástroji pro modelování,
ale pokud je potřeba integrovat z důvodů, které tento nástroj nenabízí, je naproti snadné jej
integrovat s jinými nástroji. Především však s nástroji od Rational. Je schopen ke každé činnosti, která
je v business procesu znázorněna přiřadit člena týmu, který za ni zodpovídá, a zároveň k této činnosti
přidat zdroje a dokumenty, které můžou tomuto pracovníkovi pomoci s vytvářením užitné vlastnosti.
Na obrázku 4-5 je vidět diagram s posloupnostmi jednotlivých činností. V případě, že chci
k jednotlivým činnostem přidat odkaz na vnější zdroj či chci poukázat na novou skutečnost, můžu
použít link, který pracovník uvidí okamžitě, při změně činnosti, za kterou zodpovídá, protože ho
systém upozorní e-mailem či jinak. Pokud se analytik zodpovědný za modelování rozhodne změnit
posloupnost činností, či změní nějakou entitu v diagramu, okamžitě se o ní dozvědí všichni
pracovníci, kteří mají tyto činnosti na starosti. Díky archivaci změn jsou schopni nahlédnout do
historie a tyto změny vidět.
Obrázek 4-5: BPM
Mezi další možnosti modelování v Rational Requirements Composer patří například Use Case
diagramy. Tento robustní nástroj umožňuje vytvořené modely propojovat s jinými, tak aby byla
zachována konzistence v úvodní analytické části projektu. Na obrázku 4-6 je vidět Use case diagram a
způsob, jakým je vytvářen. Tím, že se diagramy a modely vytváří přímo v tomto nástroji, není třeba,
aby byl někam ukládán a dále vkládán nějakými způsoby do RRC. Modelování mimo tento nástroj by
přineslo do projektu větší míru chaotičnosti a menší míru integrace a propojitelnosti jednotlivých
komponent mezi sebou. Kdykoliv by se změnily požadavky nebo by si analytik uvědomil chybu, bylo
21
by třeba opět vytvářet či předělávat model, diagram v externím nástroji a to by přineslo velké
zdržení a komplikace. V případě RRC je možné provést změny bez větších starostí, protože změna se
projeví ve všech komponentách napříč celým projektem. Okamžitě budou všichni účastníci
informováni a budou schopni si vyhledat předešlou verzi díky správě verzí a sledování změn.
Obrázek 4-6: Use case diagram
Rational requirements composer umožňuje spolupráci s Rational Team Concert, který si
představíme v příští kapitole. Vývojáři a testeři tak mohou využívat podobné vlastnosti, které jim
nabízí oba tyto nástroje řady Rational.
4.1.4 RATIONAL TEAM CONCERT
Rational Team Concert (dále RTC) je softwarový nástroj pro týmovou práci na projektech.
RTC je vytvořený společností IBM kategorie Rational. První verze RTC 1.0 se objevila na trhu
v polovině roku 2008. Poslední verzí, která se objevila na trhu v polovině dubna 2010, je RTC 3.0.
22
Hlavním cílem tohoto nástroje je usnadnit a zefektivnit práci na projektech, kde jsou
jednotliví členové týmu geograficky distribuováni a tudíž nemůže probíhat osobní komunikace.
Nástroj nabízí možnosti řízení a správy projektu, podporu procesů a aktivit spojených s budováním
softwaru. Dále nabízí využívání metodik, umožňuje dodržování stanovených standardů a norem.
Velkým přínosem je transparentnost a dohled nad projektem a prací v reálném čase a reporting
současného stavu projektu. [RTC, 2010]
Při podrobnějším popisu funkcionalit a vlastností vycházíme ze serveru jazz.net [Jazz, 2010].
Rozdělili jsme je tedy do pododstavců, které charakterizují RTC.
PŘIZPŮSOBITELNOST PROCESŮ
Projekty vývoje softwaru se od sebe velice liší. Způsoby, jak postupovat při vývoji, závisí na
mnoha faktorech. Z těchto důvodů není možné nalézt univerzální proces, který by fungoval na všech
projektech. Proto je důležité, aby nástroje pro vývoj softwaru umožňovaly konfiguraci a přizpůsobení
procesů pro specifické potřeby projektu. [FOWLER, 2009]
RTC přizpůsobení a konfigurací procesů dle potřeb projektu umožňuje. Dále umožňuje
vytváření, či exportování nových šablon procesů. RTC zlepšuje produktivitu týmů a kvalitu práce
(produktů) tím, že umožňuje týmům používání nejlepších praktik obsažených v metodikách. Týmy si
tyto praktiky mohou přizpůsobit svým potřebám či vytvořit nové. RTC využívá těchto informací
k automatické detekci porušení procesů a praktik ve chvíli, kdy se nedodržují.
TÝMOVÉ POVĚDOMÍ
V RTC jsou uloženy informace o projektovém týmu, jeho vnitřní organizaci a artefaktech, na
kterých pracují. To velice zjednodušuje přístup uživatelů k informacím nebo operacím spojených
s týmem. Každý projekt má definované své procesy, v jejichž rámci lze upravovat týmy a jejich práva
tak, aby odpovídaly potřebám projektu. Týmová organizace může být spravována buď
prostřednictvím webového rozhraní, nebo některého z klientů zobrazených na obrázku 4-2.
Pro každý druh projektu jsou předdefinovány určité role, které jsou přiřazovány jednotlivým
členům týmu, jak je vidět na obrázku 4-3. Podle potřeby je možné definovat nové role a přidělovat je
členům týmu. Při koordinaci práce na projektu je důležité stanovit pracovní prostředí uživatelů.
Členové týmu mohou být v různých časových pásmech, proto je důležité nastavit pracovní dobu.
Díky tomu se lépe odhaduje a plánuje práce na projektu.
23
Obrázek 4-7: Předdefinované role procesu pro OpenUP
Dalším přínosem RTC je komunikace mezi členy týmu. Je několik možností, jak může probíhat
komunikace v rámci RTC. Členové týmů mezi sebou mohou interaktivně komunikovat nebo si posílat
příspěvky a komentovat práci svého kolegy. Klient RTC pro Eclipse nabízí 3 druhy poskytovatele
instant messagingu2: Google talk, Sametime ve dvou verzích a Jabber. Na obrázku 4-4 je vidět
probíhající komunikace. Nespornou výhodou je možnost používání odkazů na pracovní položky
(obrázek 4-4).
2
"Instant messaging je internetová služba umožňující svým uživatelům sledovat, kteří jejich přátelé jsou právě
připojeni, a dle potřeb jim posílat zprávy, chatovat, přeposílat soubory mezi uživateli a i jinak komunikovat."
[PROCHAZKA, 2010]
24
Obrázek 4-8: Ukázka komunikace v Eclipse(zdroj: [Team Aware,2010])
SLEDOVÁNÍ PRACOVNÍCH POLOŽEK
Pracovní položky jsou základním mechanismem v RTC pro sledování vývoje úkolů a
workflow3. Kromě pracovních položek jsou důležité další vazby mezi RTC artefakty4 (např. buildy,
pracovní položky a změna sestavy) jako poskytování podpory pro integraci s ostatními produkty. RTC
umožňuje vytvářet nové typy pracovních položek nebo upravovat stávající typy pracovních položek
s cílem podpořit dosažení cílů, na kterých tým pracuje. Na obrázku 4-5 vidíme u každého uživatele
stav jeho práce v rámci projektu. Zelená barva znázorňuje, že je vše v pořádku a splněno.
Nepřiřazené nové pracovní položky se dají myší přesunout na ukazatel průběhu (progress bar) 5 práce
uživatelů a tím je snadno přiřadit.
3
Workflow znamená automatizaci celého podnikového procesu nebo jeho části, během kterého jsou dokumenty, informace, nebo úkoly
předávány od jednoho účastníka procesu ke druhému podle sady procedurálních pravidel tak, aby se dosáhlo nebo přispělo k plnění
celkových, resp. globálních cílů. Přeloženo z [WfMC, 1996]
4
Artefakt je výstup, který je vytvářen v průběhu procesu vývoje softwaru. *BUCHALCEVOVÁ,2009+
5
Progress bar je prvek, který se používá ke znázornění průběhu déle trvající práce.
25
Obrázek 4-9: Přehled odvedené práce v rámci týmu (zdroj: *Team aware,2010+)
AGILNÍ PLÁNOVÁNÍ
RTC komponenta agilní plánování poskytuje nástroje pro asistenci při plánování a provádění
iterací při vývoji. Poskytuje nástroje pro vytváření plánů iterace, vytváření individuálních plánů pro
vývojáře, sledování vývoje v průběhu iterace a rozložení práce pro vývojáře. Plány jsou přístupné
všem členům týmu a mohou být dynamicky pozměňovány v průběhu iterací tak, aby reflektovaly
aktuální potřeby týmů.
Plány se v RTC člení podle časových os. V RTC je možné upravit časovou osu dle potřeb
projektu nebo definovat svou vlastní osu. Struktura časové osy se liší dle použité metodiky. Na
obrázku 4-6 je znázorněna základní časová osa projektu dle metodiky OpenUP. Modrá šipka ukazuje,
která fáze projektu je aktuální.
Obrázek 4-10: Časová osa projektu dle OpenUP
Plán lze vytvořit vzhledem k celému projektu, fázi a iteraci. K tomuto plánu je pak možno
přidělit pracovní položky, které se mají vykonat. To napomáhá v přehledu o dění na projektu a jeho
26
vývoji. Na obrázku 4-7 je znázorněn plán, ve kterém vidíme pracovní položky každého uživatele,
které se mají udělat (To Do), pracovní položky, na kterých se v současnosti pracuje (In Progress) a
pracovní položky hotové (Done). Na každý plán se lze dívat pomocí několika pohledů (například
podle uživatelů, plánovaného času apod.), které jsou znázorněny v pravé části obrázku 4-7.
Obrázek 4-11: Plán iterace (zdroj:*Agile Planning,2010+)
PLYNULÉ BUILDY
Komponenta týmových buildů poskytuje informace o buildech, kontrolu a sledování pro tým
(obrázek 4-8). Členové týmu mohou sledovat vývoj buildu, různá upozornění a výsledky aktuálních
buildů, vyžadovat a sledovat buildy k dalším artefaktům, jako jsou změny sestav a pracovních
položek.
27
Obrázek 4-12: Přehled Buildů (zdroj: [Build, 2010])
Dále je možné sledovat, jaké buildy proběhly, kolik obsahovaly pracovních položek a souborů
(obrázek 4-9) a další statistiky (Například: Kolik práce odvedli jednotliví uživatelé). S buildy je spojena
změna sad (Change sets), díky které je možné ve výsledcích buildů sledovat změny, které proběhly,
kolik zahrnovaly pracovních položek apod. (obrázek 4-9).
Obrázek 4-13: Souhrn o proběhlém buildu(zdroj: *Build,2010+)
TRANSPARENTNOST
RTC komponenta týmové reporty a webové dashboardy pomáhá udržet přehled o stavu
a zdraví projektu. Dashboardy poskytují přehledný pohled na dotazy na pracovní položky, události
28
a další položky důležité pro porozumění vývoje projektu. Například ve formě grafu typu burndown6,
což je graf využívaný v metodice Scrum [LARMAN, 2004]. Na obrázku 4-10 jsou uvedeny příklady
možných pohledů (viewlet), což jsou dotazy na používané položky (Například: Pracovní položky),
které nám zobrazují různé statistiky pomocí grafů. V tomto případě ukazuje horní graf poměr
otevřených pracovních položek k/ke zavřeným a dolní koláčový graf, který ukazuje rozdělení
pracovních položek mezi uživatele.
Obrázek 4-14: Dashboard(zdroj: [Build,2010])
Reporty poskytují historický i aktuální vývoj buildů, pracovních položek a dalších položek, se
kterými tým pracuje. Reporty se dají z RTC vyexportovat, například do formátů PDF, PostScript, Excel,
Word a PowerPoint.
ADMINISTRACE
Jazz team server poskytuje webové uživatelské rozhraní pro nastavení, konfiguraci
a administraci serveru. Konfigurace serveru může být pozměněna a uložena autorizovaným
6
Burndown je graf zobrazující množství práce, které zbývá dodělat v rámci aktuální iterace. [COHN, 2004]
29
administrátorem webovým prohlížečem v mnoha instancích bez vyžadování restartu serveru.
Administrátoři mohou zobrazit klíčové statistiky a podívat se, které žádosti se v současnosti
vykonávají.
Webové rozhraní také poskytuje možnost jednoduchého nastavení serveru pomocí
průvodce, který ukáže nastavení základních konfiguračních nastavení, jako jsou konfigurace
databáze, e-mailové upozornění, uživatelské nastavení a LDAP integrace. Tohoto průvodce jsme
vyzkoušeli pro rychlé nastavení serveru a práci s RTC.
INTEGRACE
RTC je možné integrovat také s ostatními produkty řady Rational, jako jsou Rational Quality
Manager, Rational ClearQuest a Rational ClearCase. Integrace s Rational Quality Manager a Rational
ClearQuest je součástí aplikace pro spolupráci a řízení životního cyklu (C/ALM), které obsahuje také
Rational Requirements Composer. Dále spolupracuje s produkty řady IBM Lotus (Například: IBM
Lotus quickr, IBM Lotus notes a IBM Lotus Connection). Celý seznam produktů, které se s RTC dají
integrovat nebo s ním spolupracují je dostupný na webových stránkách jazz.net. [Integrations, 2010]
WEBOVÝ KLIENT
Jednou z možností, jak se připojit k RTC, je webový klient, který nabízí mnoho možností práce
s projekty, od vytváření projektu až po práci s pracovními položkami.
Webový klient umožňuje konfiguraci serveru (nastavení ukládání souborů, možnost
nastavení SMTP serveru po zasílání zpráv a další), správu uživatelů, projektů a šablon procesů,
zobrazování statistik a grafů formou dashboardů a reportů. Tyto možnosti jsou spojené pouze
s právy administrátora, který může přes webové rozhraní vytvořit projekt, týmy, uživatele, pracovní
položky, nastavit oprávnění, přidělit role a další možnosti, jejichž popsání se věnují scénáře případů
užití pro webového klienta (kapitola 3). Administrátorem vytvořený uživatel může také přistupovat
k RTC přes webové rozhraní, má však omezené možnosti dle nastavených práv a licencí pro přístup.
ECLIPSE KLIENT
Pro vývojáře je nástroj Eclipse jednou z možností, jak spolupracovat na projektu pomocí RTC.
Mezi další nástroje, se kterými RTC spolupracuje přes klienta, patří například Visual Studio. Pokud
uživatel (vývojář) nástroj Eclipse již vlastní, je možné klienta doinstalovat. V případě, že Eclipse
nevlastní, je možné si jej nainstalovat s už integrovaným klientem.
30
Klient vkládá do nástroje Eclipse nové funkcionality, které umožňují pracovat týmově
v reálném čase na projektu. Na obrázku 4-11 (vlevo: nástroj Eclipse s klientem RTC; vpravo: nástroj
Eclipse bez klienta RTC) je vidět, že klient RTC nabízí více možností pro teamovou spolupráci.
Například hlídání změn, připojení k úložišti, týmovou organizaci, týmové artefakty a další možnosti,
které klasický Eclipse neobsahuje.
Obrázek 4-15: Rozdíly nástroje Eclipse s klientem a bez klienta čeho
POHLED TEAM ARTIFACTS
Pomocí tohoto pohledu, či záložky je možné sledovat všechny artefakty, které souvisejí
s projektem, na kterém tým vývojářů pracuje. Nacházejí se zde projekty, ke kterým je uživatel
připojen, dále pracovní plocha (Repository workspace), týmové oblasti uživatele (My team areas),
jeho pracovní položky a dále (Obrázek 4-12).
31
Obrázek 4-16: Team artifacts
V tomto pohledu je možné vytvářet nové plány, pracovní položky, přiřazovat je uživatelům
a dotazovat se na ně.
POHLED PENDING CHANGES
Tento pohled je spojen se změnou sestav (Change sets), který poskytuje informace
o uskutečněných změnách. Obrázek 4-13 ukazuje změnu ve tříde Class.java. Uživatel tuto změnu
může okomentovat, přijmout, odmítnout či sdílet.
Obrázek 4-17: Změna zdrojové kódu
ZÁLOŽKA WORK ITEMS
Záložka work items zobrazuje pracovní položky, které jsou výsledkem dotazu. Obrázek 4-14
ukazuje výsledek dotazu, které pracovní položky jsou otevřené a určené přihlášenému uživateli.
Jednotlivé atributy (ID, Stav, Souhrn, Vlastník a další) pracovních položek se dají přidat či naopak
odstranit podle potřeby. Uživatel může například zobrazit, do jaké části plánu pracovní položka patří.
32
Obrázek 4-18: Záložka Work Item
33
5
5.1
.NET FRAMEWORK
ARCHITEKTURA .NET FRAMEWORK
V současné době představuje .NET Framework základ pro vývoj aplikací pro platformu Windows.
Tvoří jej, kromě velkého množství knihoven, kompletní běhové prostředí pro spouštění a provoz
aplikací. Framework poskytuje objektově orientované nástroje pro vývoj moderních, uživatelsky
orientovaných aplikací.[Wikipedie, 2010]
Integrované knihovny umožňují programátorům odklonit se od řešení stále stejných rutinních
činností a zaměřit se na funkčnost svých výtvorů. Prostředí pro běh kódu si samo spravuje paměť, je
typově bezpečné a snaží se eliminovat rozdíly mezi vývojem aplikací pracujících lokálně a třeba
webových služeb.[Šimeček, 2010+
Obrázek 5-1 - Architektura .NET Framework
Dvě velmi podstatné součásti jádra jsou CLR (neboli Common Language Runtime) a BCL (Base Class
Library). *Šimeček, 2010+
34
5.2
COMMON LANGUAGE RUNTIME (CLR)
CLR je základní běhové prostředí pro spouštění řízeného kódu. Implementuje „centrální“ typový
systém a kompletně se stará o běh programu. Mezi službami, které obsahuje, jsou: automatická
správa paměti (Garbage Collector), podsystém výjimek reagujících na chyby a pády, integrace
s Win32 a COM, JIT kompilace, podpora 64bitové architektury atp.
5.3
ŘÍZENÝ A NEŘÍZENÝ KÓD
V textu se často vyskytuje pojem řízený kód (managed code). Jedná se o zdrojový kód napsaný ve
vyšším jazyce (C#, VB.NET, C++…) a následně zkompilovaný do binárního formátu (ve formě tzv.
sestavení, anglicky assembly), který zpracovává CLR. Takový kód těží z vlastností rozhraní .NET
Framework, protože není nutné programátorsky dále řešit správu paměti nebo například typovou
bezpečnost. Opakem je pak kód neřízený (unmanaged code). (Wikimedia Foundation, 2010)
5.4
INTERMEDIATE LANGUAGE (IL)
IL (celým názvem Common Intermediate Language – CIL, dříve známý jako MSIL) je jazyk nezávislý na
procesoru a platformě, do kterého jsou kompilovány všechny řízené jazyky. CLR při spuštění
programu vezme metadata vytvořená překladačem, vyhodnotí je, vytáhne z nich IL kód a spustí jej.
Nikoliv přímo, ale po tzv. JIT (Just In Time – právě včas) kompilaci do nativního kódu architektury.
Název JIT vychází z toho, že kompilace probíhá za běhu, až ve chvíli, kdy je kód vyžadován. Zároveň je
zaručen překlad do instrukční sady stroje, na kterém běží. *Šimeček, 2010+
5.5
TYPOVÝ SYSTÉM (CTS)
V rámci CLR se jakýkoliv kód spouští v rámci pevně daného typového standardu Common Type
System (CTS). Ten představuje rozhraní mezi řízeným kódem a samotným běhovým prostředím.
Navíc předkládá sadu pravidel, která musí kód splňovat, aby byl označen za typově bezpečný (a jako
takový vyhýbající se problémům s pamětí). Díky CLR pak nezáleží na konkrétním jazyku, podstatné je,
že jakýkoliv kód je kompilován do stejné sady konstruktů.
CLR je silně typové prostředí. Bez ohledu na to, v jakém jazyce je program tvořen, zda je statický (C#,
Java, Haskell, F# apod.) či dynamický (VB, Python, Perl, Ruby a další), překladač si nakonec vždy musí
poradit s datovými typy na nejnižší úrovni. Všechny typy v .NET jsou objektové. Základem je třída
System.Object. *Šimeček, 2010+
5.6
AUTOMATICKÁ SPRÁVA PAMĚTI
35
.NET obsahuje podsystém Garbage Collector, který se stará o správu paměti programu a snaží se
chytře získávat volné místo. Pokud na objekt neexistují žádné aktivní reference, GC rozhodne, že je
bezpečné jej odstranit, provede to a v druhé fázi paměťovou haldu zkompaktní (po uvolněných
objektech totiž zůstalo nežádoucí prázdné místo uvnitř haldy). (Wikimedia Foundation, 2010)
5.7
KNIHOVNY
Posunem od Win32 vzniklo .NET API. Tvoří jej sada základních knihoven Base Class Library (BCL),
které obsahují např. třídy pro práci s kolekcemi, vstupy a výstupy, síťováním apod. Zároveň
představují základ pro další nadstavby. Mezi ty patří knihovny pro práci s daty (ADO.NET), zpracování
XML dokumentů nebo formuláře (Windows Forms).
Od verze 3.0 jsou součástí také: [MCorp, 2010]

Windows Presentation Foundation (WPF) pro vývoj uživatelského rozhraní,

Windows Communication Foundation (WCF) coby unifikovaný komunikační model mezi
programovacími rozhraními,

Workflow
Foundation
(WF)
pro
komplexní
správu
vývoje
včetně
oddělení
aplikační prezentační vrstvy,

5.8
Windows CardSpace ke správě identit na webu.
UDÁLOSTI
Většina .NET aplikací je řízená událostmi (event-driven) – aplikace tráví čas čekáním na události,
které by mohla zpracovat. Může to být vykreslení okna ve Windows Forms nebo třeba načtení
stránky v ASP.NET. Na rozdíl od procedurálních aplikací je posloupnost kódu určována až za chodu.
*Šimeček, 2010+
5.9
NET COMPACT FRAMEWORK
Compact Framework je „prostředí nezávislé na hardware, které umožňuje běh řízených aplikací na
zařízeních s omezenými zdroji.“ [MCorp, 2010] Jedná se o podmnožinu rozhraní .NET Framework,
kde každá aplikace běží uvnitř vlastní aplikační domény a spouští vlastní instanci CLR. Framework
zajišťuje, že všechny využité zdroje se po ukončení aplikace uvolní.
Technologie je optimalizována tak, že v případě nedostatku paměti odstraňuje datové struktury
nepoužívané právě běžícím programem. Pokud ani to nestačí, čistě aplikaci ukončí a uvolní všechny
36
zdroje – nikdy by se tak nemělo stát, že Compact Framework spadne kvůli nedostatku paměti.
*Šimeček, 2010+
5.10 SHRNUTÍ
Hlavní silou technologie .NET je nezávislost na programovacím jazyce. Protože všechny řízené
programy jsou překládány pro CLR do IL, mohou být zdrojové kódy jedné aplikace tvořeny různými
jazyky – není problém zvolit pro konkrétní úlohu jazyk, který nejvíce vyhovuje. Díky Garbage
Collectoru také odpadají starosti o paměť. Destruktory sice existují, ale není třeba je volat přímo.
*Šimeček, 2010+ Architektura .NET tak programátorům dává do ruky mocný nástroj, jak rychle a
efektivně vytvářet plnohodnotné aplikace.
37
6
VISUAL STUDIO
První pokus společnosti Microsoft o vytvoření jednotného prostředí pro vývoj aplikací se objevil
v roce 1997, ale až v roce 2002 (spolu s uvedením technologie .NET) vyšlo Visual Studio .NET –
předek dnešního komplexního IDE.
Obrázek 6-1 - Úvodní obrazovka MS Visual Studio 2008
V současné době Visual Studio pokrývá a zjednodušuje celý proces vývoje softwaru od návrhu až po
nasazení. Obsahuje pokročilé nástroje pro testování, tvorbu prototypů, ladění, automatizaci apod.
[Microsoft, 2010]
6.1
PROJEKTY
Základem každého projektu ve Visual Studiu je soubor řešení (solution) s příponou SLN, který
obsahuje informace o projektech a další konfigurační volby. Jednotlivé projekty jsou pak soubory
XML s informacemi o sestavení, soubory se zdrojovým kódem a případné další zdroje (obrázky,
databáze…). Výstupem řešení může být jedna nebo několik aplikací (popřípadě knihoven).
38
Obrázek 6-2 - Solution Explorer
Z hlediska kompatibility platí, že projekt vytvořený ve starší verzi Visual Studia lze otevřít v novější,
ale nikoliv naopak. [Šimeček, 2010]
6.2
EDITACE
Prostředí poskytuje vše, co vývojář potřebuje pro tvorbu aplikací a je možné jej velmi rozsáhle
přizpůsobovat.
Ve vizuálním editoru lze mimo jiné tvořit aplikace Windows Forms, WPF, Silverlight, ASP.NET, vlastní
ovládací prvky a další… Je k dispozici panel s komponentami, z něhož lze přetahovat prvky, z kterých
se aplikace sestavuje. Visual Studio automaticky na pozadí generuje patřičný kód.
V editoru kódu se upravují soubory se zdrojovým kódem všech možných typů. Obarvování syntaxe
a napovídání názvů funguje inteligentně v závislosti na právě otevřeném kódu – C#, Visual Basic .NET
nebo třeba soubory XML mají svá specifická klíčová slova a elementy. Kromě toho obsahuje Visual
Studio spoustu drobných vylepšení pro zápis programů, která vývojářům zjednodušují život.
[Šimeček, 2010]
39
Obrázek 6-3 - Editor kódu
6.3
NÁSTROJE
K odstraňování logických chyb, které se nedají odchytit při kompilaci, slouží integrovaný debugger.
Můžeme nastavit zastavení programu v konkrétním místě, krokovat jej, prohlížet aktuální obsah
paměti a paměťových registrů, měnit hodnoty proměnných, sledovat průběh volání atd.
Obrázek 6-4 - Vložený breakpoint v editoru kódu
V nejnovější verzi (2010) byla značně zjednodušena instalace rozšíření vytvořených třetími stranami.
Visual Studio obsahuje nástroj Extension Manager, který se připojuje na online galerii rozšíření
a umožňuje z ní doplňky přímo stahovat. Všechny pluginy musí projít schválením společnosti
Microsoft, než se v repositáři objeví. [Šimeček, 2010]
40
6.4
NÁPOVĚDA A DOKUMENTACE
Spolu s celým prostředím je možné nainstalovat knihovnu MSDN. Zkratka MSDN znamená Microsoft
Developer Network a neoznačuje tedy jenom knihovny nápovědy pro Visual Studio, ale také snahu
společnosti Microsoft vycházet vstříc programátorům a testerům při řešení potíží či sebevzdělávání.
[Wikipedia, 2010]
Obrázek 6-5 - Nápověda MSDN
41
6.5
VISUAL STUDIO EXPRESS
Visual Studio Express je zvláštní edice vývojářského IDE, která je na rozdíl od Visual Studia k dispozici
zdarma. Jednotlivými produkty jsou Visual Basic Express, Visual C# Express, Visual C++ Express, Visual
Web Developer Express a SQL Server Express.
42
Oproti plnému Visual Studiu chybí následující součásti: [MCorp, 2010]

oficiální dokumentace na MSDN,

podpora rozšiřitelnosti (add-inů, maker, průvodců…),

nástroj Dotfuscator pro ztížení dekompilace kódu,

nástroj Spy++ pro sledování procesů, oken, vláken a zpráv systému,

integrace Team Exploreru pro použití s Team Serverem,

nástroj Class Designer,

pokročilý refaktoring,

pokročilé nástroje pro ladění,

podpora vývoje pro mobilní zařízení (Windows Mobile),

nástroj Server Explorer,

vývoj pro Office,

nástroje pro testování jednotek.
Obrázek 6-6 - Visual C# 2010 Express
43
6.6
VISUAL WEB DEVELOPER
Tento produkt je obdobou projektu typu webové aplikace ASP.NET, který obsahuje Visual Studio.
Slouží tedy k tvorbě aplikací ASP.NET a umožňuje stránky vytvářet jak pomocí vizuálního návrháře,
tak psaním směsi HTML a ASP.NET kódu. Zároveň se dají editovat soubory s kódem na pozadí (v
jazycích Visual Basic nebo C#).
Základem je vývoj pro ASP.NET 3.5, ale nechybí možnost aplikaci zacílit na konkrétní nižší verzi.
Součástí nástroje je také integrovaný webový server, na kterém se dá právě tvořená aplikace přímo
testovat bez nutnosti mít aktivní IIS (nebo jiný plnohodnotný webový server). [Šimeček, 2010]
Obrázek 6-7 - Visual Web Developer 2010 Express
6.7
SHRNUTÍ
Visual Studio je univerzální nástroj, který pokryje kompletní vývoj softwarového produktu. Prostředí
je vybaveno spoustou detailů, které nenápadně zpříjemňují práci. Při práci s jinými IDE pak člověk
tyto drobné funkčnosti velice rychle začne postrádat.
44
Samozřejmě je vhodnější pro specifické úkoly, jako například návrh rozhraní v jazyce XAML, použít
nástroje pro ně určené. Nad rozhraním .NET Framework ovšem mnoho takových úkolů neexistuje.
[Šimeček, 2010]
7
VISUAL STUDIO A VAZBA NA CASE NÁSTROJE
V současnosti je již v podstatě nezbytností každého vývojového prostředí, aby podporoval integraci
s modelovacími nástroji. Nejinak je tomu v případě Visual Studia, které poskytuje možnost integrace
s většinou běžně používaných CASE nástrojů na trhu. To umožňuje analytikům a vývojářům
zefektivnit celý proces návrhu informačního systému a zajistit konzistenci návrhu a výsledného
řešení.
Kvalitní nástroje CASE dnes nabízí kompletní funkcionalitu k podpoře tohoto procesu. Její analýzou
se již zabývalo mnoho prací na toto téma, a proto nemá smysl zde vše uvádět znovu. Pro přehlednost
uveďme alespoň výčet jednotlivých funkcí:
7.1

tvorba konceptuálního a fyzického datového modelu

objektové modelování

procesní modelování

kontrolní mechanismy

porovnávání modelů

generování výsledného zdrojového kódu

podpora spolupráce při vývoji

automatická tvorba dokumentace

reengineering

podpora návrhu vícerozměrných schémat

vytváření datových slovníků

podpora životního cyklu návrhu

správa požadavků
MOŽNOSTI INTEGRACE VISUAL STUDIA A CASE NÁSTROJŮ
Visual Studio, jakožto hlavní IDE pro platformu .NET samozřejmě podporuje možnost integrace
s drtivou většinou běžně dostupných CASE nástrojů. Existuje několik možností, jak integraci provést.
45
První z nich je nainstalování rozšiřujícího modulu přímo do Visual Studia. Tento model integrace je
využíván hlavně v případě robustních nástrojů. Uživatel pak může vytvářet vybrané modely přímo
v rámci Studia a tyto modely jsou pak automaticky synchronizovány s navrhovaným kódem
a podobně. Využití této možnosti ilustrují následující obrázky ukazující propojení Visual Studia a
Power Designeru:
Obrázek 7-1 - Vytvoření modelu k již existujícímu projektu. Zdroj: *Sybase, 2010+
46
Obrázek 7-2 - Vytvoření nového PD modelu přímo v prostředí MS Visual Studia. Zdroj: [Sybase, 2010]
Další možností je vytvoření modelů přímo v CASE nástroji a jejich následné manuální nahrání do IDE.
Hlavní problém této varianty, časté především u méně komplexních nástrojů, je nutná manuální
synchronizace a problematická a často nemožná zpětná úprava modelů podle již existujícího kódu
(reengeneering).
7.2
VISUAL STUDIO A UML
Pro vývojáře a analytiky, kterým pro potřeby analýzy a návrhu informačního systému stačí pouze
základní modely zahrnuté v rámci notace UML, nabízí Visual Studio od verze 2010 ještě jednu
možnost, a sice přímou podporu zmíněných modelů. Vývojáři a analytici tak mají možnost vytvářet
UML modely přímo v prostředí Visual Studia. Bohužel se nejedná o plnou podporu specifikace UML
2.0, která jak známo definuje 13 diagramů. Aktuální verze Visual Studia podporuje následujících pět:

Activity diagram

Component diagram

Class diagram

Sequence diagram

Use case diagram
V novém Visual Studiu bude možné generovat jak diagramy z existujícího kódu (reverse engineering),
tak kód z diagramů (Code Generation). Nejedná se však o takzvaný Round-trip engineering, který
spočívá v tom, že kód a příslušné diagramy jsou konzistentní. Čili změny v jednom se neustále
47
promítají do druhého. Toto nebylo záměrem Microsoft vývojářů a Reverse Engineering i Code
Generation jsou spíše jednorázovou záležitostí. *Šťastný, 2010]
Z výše zmíněného je jasné, že podporou těchto diagramů nemůže Visual Studio konkurovat
komplexním CASE nástrojům. To však zjevně ani nebyl cíl, jde spíše o zjednodušení práce vývojářů,
kterým dané modely mohou ušetřit práci následným automatickým generováním kódu. Stejně tak
tato funkcionalita pomůže vývojářům ve firmách, které se z nějakého důvodu rozhodnou
neinvestovat do pořízení CASE nástrojů.
Velmi užitečným se zajisté prokáže také „Architecture Explorer“, který umožňuje vizualizovat vztahy
mezi jednotlivými třídami / jmennými prostory / assemblies a efektivně tak pomáhá proniknout do
tajů cizího kódu a rychle se v něm zorientovat. *Šťastný, 2010]
Obrázek 7-3 - Tvorba Sequence diagramu přímo v prostředí Visual Studia. Zdroj: *Šťastný, 2010]
7.3
VISUAL STUDIO A VYBRANÉ CASE NÁSTROJE
Nyní se pojďme podrobněji podívat na vybrané CASE nástroje, jejich funkcionalitu a možnosti
integrace s Visual Studiem. Vzhledem k faktu, že Visual Studio je komerční produkt, zaměříme se
v naší analýze hlavně na komerční nástroje, open-source produkty nyní (ač možná trochu
48
neoprávněně) zůstanou v pozadí. Na trhu je v současnosti celá řada komerčních CASE nástrojů, pro
naši analýzu jsme vycházeli z produktů dostupných na českém trhu, které jsou integrovatelné s MS
Visual Studiem. Vycházeli jsme rovněž z prací našich kolegů s předchozích semestrů, kteří se zabývali
právě CASE nástroji dostupnými na českém trhu. Vzhledem k počtu takových produktů
a omezenému rozsahu této práce, zmíníme jen produkty splňující následující kritéria:

Dostupnost na českém trhu

Integrovatelnost MS Visual Studiem

Existence trial verze zdarma

Produkt je běžně používaný v kombinaci s Visual Studiem a rozšířený na českém trhu (v
tomto bodě jsme vycházeli z analýz z předchozích prací)
Dle zmíněných kritérií jsme do výběru zahrnuli následující produkty, které dle našeho názoru nejlépe
odpovídají výše zmíněným kritériím:

Microsoft Visio

SyBase(SAP) Power Designer

Oracle Designer

Enterprise Architect

Rational Software Modeler

IDS Sheer Aris Design Platform

Altova UModel
S ohledem na rozsah práce jsme se rozhodli zhodnotit možnosti integrace u třech produktů. Jedná se
o Microsoft Visio, SyBase(SAP) PowerDesigner a Altova Umodel. Všechny tři si teď podrobněji
představíme a zhodnotíme jejich možnosti integrace s Visual Studiem.
7.3.1 MICROSOFT VISIO
Základní informace o produktu
Aktuální verze:
Microsoft
Office
Visio
2010
(14.0.4760.1000) / 15 Červen 2010;
Výrobce:
Microsoft
Cena:
Standard edition: 249.99$
49
Professional edition: 559.99$
Premium edition: 999.99$
Systémové nároky:
OS Windows XP with Service Pack (SP) 3
(32-bit) a novější, CPU 500MHz, 256MB
RAM, 2GB místa na disku
Podporované platformy:
Microsoft Windows
Podporovaná verze UML:
2.0

Use case diagram

Sequence diagram

Collaboration diagram

State chart diagram

Activity diagram

Structure diagram
Další podporované diagramy:

Business process diagram
(využitelné při analýze a návrhu IS)

Data flow diagram

Workflow diagram

ERD
Podporované UML diagramy:
Možnost integrace s IDE:
MS Visual Studio
Týmový vývoj:
Ne (pouze s použitím MS SharePoint)
Visio je modelovací nástroj společnosti Microsoft, která produkt získala převzetím firmy Visio
Corporation v roce 2000 a od té doby pravidelně vydává nové verze zahrnuté do balíku MS Office.
Visio podporuje celou řadu typů modelů, od modelů použitelných pro návrh IS (viz tabulka), přes
technické modely až po modely podporující řízení podniku, např. Cause-effect diagram, Audit
diagram apod. Kromě možnosti integrace s MS Visual Studiem, o které ještě bude řeč, nabízí Visio
také možnost propojení s MS SQL Serverem, konkrétně s Analysis services, které se používají pro
analýzu dat v rámci business inteligence. Ve Visiu je tak možno vytvořit dynamické modely
vybraných dat, které jsou přímo napojeny a datové kostky uložené na serveru.
7.3.1.1 INTEGRACE MS VISIO A MS VISUAL STUDIO
Ke spolupráci obou produktů není potřeba instalace žádného pluginu, stačí mít nainstalované oba
produkty. Visio podporuje reverse engineering a visual studio na oplátku umí vytvořit kód z modelů
50
vytvořených ve Visiu. V případě zpětné tvorby modelů dle již vytvořeného kódu obsahuje Visual
Studio přímo v menu, pod záložkou Project možnost zpětné analýzy ve Visual Studiu. Obdobně, jen
v opačném směru, funguje tvorba kódu z vytvořených modelů z Visia.
Spolupráce obou programů je jednoduchá a velice přehledná. Na druhou stranu vzhledem k faktu, že
se jedná o produkty jedné společnosti, bychom očekávali vyšší míru provázání obou produktů (např.
automatické aktualizace modelů dle kódu a opačně, jednotné úložiště), tak aby Visio mohlo
konkurovat dalším předním CASE nástrojům na trhu. Možná by se měl Microsoft místo na přímou
podporu UML ve Visual Studiu zaměřit spíš na možnosti integrace s MS Visio a vytvořit tak efektivní
nástroj pro analytiky a vývojáře.
7.3.2 SYBASE(SAP) POWER DESIGNER
Základní informace o produktu
Aktuální verze:
PowerDesigner 15.2
Výrobce:
SyBase(SAP, společnost SyBase byla
v květnu letošního roku odkoupena a je
tak součástí společnosti SAP)
Cena:
3000$ - 7500$ (neoficiální čísla, výrobce
oficiální na svých stránkách neuvádí)
Systémové nároky:
CPU 1,5 GHz, 1 GB RAM, 500MB místa
na disku
Podporované platformy:
Microsoft Windows
Podporovaná verze UML:
2.0
Podporované UML diagramy:

všechny
Další podporované diagramy:

Business process diagram
(využitelné při analýze a návrhu IS)

Data flow diagram

Workflow diagram

ERD

Diagramy
pro
datové
modelování (na principu tří
architektur)

Mnoho dalších
51
Možnost integrace s IDE:
MS Visual Studio, Eclipse, PowerBuilder
Týmový vývoj:
Ano
PowerDesigner je jeden z nejkomplexnějších nástrojů, který je v současnosti na trhu dostupný. Po
dlouhé roky ho vyvíjela společnost Sybase, která byla v létě letošního roku převzata další významnou
firmou na trhu, a sice firmou SAP. PowerDesigner podporuje všechny diagramy v rámci notace UML
2.0, rovněž podporuje datové modelování a princip tří architektur s možností automatického
vygenerování SQL skriptu na vytvoření namodelované databáze v příslušném databázovém systému
(podporována je drtivá většina databázových systémů na trhu). Podporuje integraci s Visual Studiem,
Eclipse a PowerBuilderem, u všech zmíněných je podporován obousměrný engineering.
7.3.2.1 INTEGRACE POWERDESIGNER A MS VISUAL STUDIO
Jak již bylo zmíněno, PowerDesigner podporuje integraci s Visual Studiem prostřednictvím
přídavného modulu, po jehož nainstalování je možné vytvářet potřebné modely a automaticky je
synchronizovat s kódem. Podpora reengineeringu již také byla zmíněna, stejně jako možnost
týmového vývoje.
Pro analytiky a vývojáře je tak dle našeho názoru PowerDesigner jedním z nejlepších nástrojů, který
umožní zefektivnit celý proces návrhu informačního systému. Dané kvalitě ovšem odpovídá i cena
licencí, která se v případě vývojářské firmy může vyšplhat i přes stovky tisíc korun.
52
Obrázek 7- 4 - Model propojení PowerDesigneru a Visual Studio. Zdroj: [Sybase, 2010]
7.3.3 ALTOVA UMODEL
Základní informace o produktu
Aktuální verze:
UModel v2011
Výrobce:
Altova
Cena:
Systémové nároky:

Edice Professional – 119 Eur

Edice Enterprise – 199 Eur

(sleva při nákupu více licencí)
CPU 800 MHz, 64 MB RAM, 50 MB
místa na disku
Podporované platformy:
Microsoft Windows
Podporovaná verze UML:
2.0
Podporované UML diagramy:

všechny
Další podporované diagramy:

Business process diagram
(využitelné při analýze a návrhu IS)

Diagram pro modelování XML
53
schémat
Možnost integrace s IDE:
MS Visual Studio, Eclipse
Týmový vývoj:
Ano
UModel je produkt společnosti Altova, známou hlavně díky svému produktu XMLSpy. UModel je
vyvíjen od roku 1998, jedná se o komplexní produkt, který je svou cenou zajímavou alternativou k
ostatním produktům s podobně obsáhlou funkcionalitou, ovšem s řádově vyšší cenou. Produkt
rovněž podporuje všechny diagramy v rámci notace UML 2.0, podporuje automatickou tvorbu kódu
z diagramů, a to pro jazyky C#, Java a Visual Basic, z těchto jazyků rovněž podporuje reverse
engineering. Příjemně překvapí i automatická tvorba dokumentace.
7.3.3.1 INTEGRACE UMODEL A MS VISUAL STUDIO
Altova UModel podporuje možnost integrace jak s Visual Studiem, tak i s Eclipse. Postup integrace je
v podstatě totožný jako v případě PowerDesigneru, po nainstalování příslušného pluginu je možné
pracovat s diagramy z UModelu přímo v rozhraní Visual studia, což zjednoduší celý postup při návrhu
a tvorbě informačního systému. Celý proces integrace je velice jednoduchý, naistalování trvá jen pár
minut. Stejně tak vlastní práce v rámci Visual Studia je pak intuitivní. Jak vypadá rozhraní po
integraci, pak ukazuje následující obrázek.
54
Obrázek 7- 5 - Rozhraní Visual Studia s integrovaným pluginem UModel. Zdroj: [Altova, 2010]
7.4
SHRNUTÍ
Visual Studio je v dnešní době suverénně nejpoužívanější IDE pro vývoj aplikací na platformě .NET.
Proto je samozřejmostí, že nabízí celou řadu možností integrace s CASE nástroji. Pokud bychom měli
hodnotit tři námi analyzované nástroje, budeme těžko hledat nějakého „vítěze“. Dle našeho názoru
je každý produkt určen pro jinou cílovou skupinu. Integrace s Visual Studiem byla ve všech případech
bezproblémová, rozdíly ovšem určitě najdeme ve funkcionalitě. Ve funkcionalitě v oblasti analýzy a
návrhu IS přeci jen Visio lehce zaostává, ať už tím, že nepodporuje veškeré diagramy v rámci UML,
nebo i forma integrace nám připadá nejméně efektivní pro spolupráci analytiků a vývojářů.
Visio tyto nedostatky řeší přítomností diagramů pro modelování i jiných oblastí, než jen návrh IS, což
je asi i hlavní důvod, proč si ho zákazníci kupují. Z čistě technického pohledu na možnosti integrace
s Visual Studiem a vůbec podpoře celého procesu analýzy, návrhu a vývoje informačního systému
pak musíme lehce vyzdvihnout PowerDesigner a Umodel.
55
8
ZÁVĚR
Cílem této práce bylo ukázat jak jsou u Javy a .NETu vývojová prostředí provázána s CASE nástroji.
Práce není vyčerpávající přehled CASE nástrojů, což by vzhledem k rozsahu ani nebylo možné. Zato
však dobře doplňuje předchozí práce a například CASE nástroje popsané v kapitole o Javě se objevují
v pracích k tomuto předmětu poprvé.
V úvodní kapitole bylo vysvětleno, že spolupráce CASE nástrojů a prostředí pro vývoj aplikací je
poměrně důležitá. Předchozí kapitoly této práce dokazují, že tvůrci softwaru o této skutečnosti
dobře vědí a snaží se, aby CASE a IDE byly dobře integrované. Je sympatické, že lze často integrovat i
IDE s CASE nástrojem od jiné společnosti, jak dokazuje třeba příklad MS Visual Studia a Power
Designeru. Samozřejmě pokud je CASE i IDE od jedné společnost,i je to jednodušší a v takovém
případě často není ani třeba instalace pluginu.
V úvodu bylo také zmíněno, že ačkoli podpora modelování a tvorby UML diagramů je většinou hlavní
funkcionalita CASE nástrojů, vývoj aplikací může být podpořen jinými způsoby. Jak je možné toho
dosáhnout, je vidět v kapitole týkající se Javy v části RRC a RTC. Tyto nástroje dobře reagují na
potřebu komunikace, která byla v úvodu zmíněna, a poskytují velmi účinné prostředky, jak ji učinit
ještě efektivnější.
56
9
ZDROJE
[Build,2010]
Jazz.net community web site. Build v RTC [Online] 2008. [Citace 22. listopad
2010]. Dostupné z
http://jazz.net/projects/rational-team-concert/features/build
[BUCHALCEVO
Buchalcevová Alena, Pavlíček Luboš, Pavlíčková Jarmila. 2007. Základy
VÁ,2007]
softwarového inženýrství: materiály ke cvičení Praha: Nakladatelství Oeconomica,
2007. ISBN: 978-80-245-1270-9.
[BUCHALCEVO
Buchalcevová, Alena. 2009. Metodiky budování informačních systémů. Praha:
VÁ,2009+
Nakladatelství Oeconomica, 2009. ISBN: 978-80-245-1540-3.
[BUS, 2010]
Modernanalytyst.com, článek Business Analyst Articles: Business Analysis &
Systems
Analysis,
[Online]
[Citace
2.
prosinec
2010]
Dostupné
z
http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/Article
View/articleId/353/Enterprise-Architect-for-Business-Analysts.aspx
[COHN, 2004]
Cohn, Mike. 2004. User stories applied: for agile software development.
Addison-Wesley, 2005. ISBN 9780321205681
[FOWLER, 2009] Fowler,
Martin.
2009.
Destilované
UML.
Grada
Publishing
a.s.
ISBN:
9788024720623.
[Jazz, 2010].
Jazz.net community web site. Funkcionality RTC [Online] 2008. [Citace 22. listopad
2010+. Dostupné z
http://jazz.net/projects/rational-team-concert/features/
[LARMAN,
Larman, Craig. 2004. Agile and iterative development: a manager's guide. Addison-
2004]
Wesley, 2004. ISBN: 9780131111554.
[Pitka, 2007]
Pitka, Lukáš. 2007. Vývojové prostředí NetBeans. Bakalářská práce Zdroj VŠE, 2007
57
[PROCHAZKA,
Procházka, David. Hledáme na internetu v rekordním čase, aneb, Jak se nebát najít
2010
na netu rychle a dobře to, co skutečně hledáte. Grada Publishing a.s., 2007. ISBN
9788024714714
[RRC, 2010]
Jazz.net community web site. Rational Requirements Composer [Online] 2008.
[Citace 22. listopad 2010+. Dostupné z
http://jazz.net/projects/rational-requirements-composer/
[RTC, 2010]
IBM Rational team concert. Popis produktu RTC. [Online] 2008. [Citace 22. listopad
2010+. Dostupné z
http://www-142.ibm.com/software/products/cz/cs/rtc-express/
[RUP, 2010]
Electronics Research Administration, Rup Fundamentals Presentation . [Online]
[Citace
02.
prosinec2010+.
Dostupné
z
http://era.nih.gov/docs/rup_fundamentals.htm
[Team
Jazz.net community web site. Týmové povědomí v RTC *Online+ 2008. *Citace 22.
aware,2010]
listopad 2010+. Dostupné z
http://jazz.net/projects/rational-team-concert/features/team-aware
[VOŘÍŠEK,1997] Voříšek, Jiří. 1997 Strategické řízení informačního systému a systémová integrace,
Management Press, 1997. ISBN 80-85943-40-9
[WfMC, 1996]
Workflow management coalition. Workflow An Introduction Rob Allen [online]
1996. [Citace 29. listopad 2010+. Dostupné z http://www.wfmc.org/Downloaddocument/Workflow-An-Introduction-Rob-Allen.html
[Java, 2010]
Platforma Java. *Online+ 2010. *Citace 1. listopad 2010+ Dostupné
z
http://cs.wikipedia.org/w/index.php?title=Platforma_Java&oldid=5887495
[Eclipse, 2010]
Platforma Eclipse. *Online+ 2010. *Citace 1. listopad 2010+ Dostupné z
http://cs.wikipedia.org/w/index.php?title=Eclipse_(v%C3%BDvojov%C3%A9_prost
%C5%99ed%C3%AD)&oldid=6115817
[Microsoft,
Micosoft .NET Framework [Online] 2010. *Citace 15. listopad 2010+ Dostupné z
2010]
58
http://www.microsoft.com/net/
[Šimeček, 2010] Šimeček Martin. 2010. Technologie společnosti Microsoft pro vývoj softwarových
aplikací. Bakalářská práce Zdroj VŠCHT
[MCorp, 2010]
Visual Studio 2008 Product Comparison [Online] 2010. [Citace 15. listopad 2010]
Dostupné
z
http://www.microsoft.com/downloads/details.aspx?FamilyID=727BCFB0-B57547AB-9FD8-4EE067BB3A37&displaylang=en
[Šťastný, 2010]
Šťastný Ondřej – blog [Online] 2010. [Citace 15. listopad 2010] dostupné z
http://www.ondrejstastny.cz/Blog/Post/Visual-Studio-2010
[Sybase, 2010]
Sybase infocenter [Online] 2010. [Citace 15. listopad 2010] dostupné z
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc3809
3.1520/doc/html/rad1232025253934.html
[Altova, 2010]
Altova Umodel integration [Online] 2010 [Citace 15. listopad 2010] dostupné z
http://www.altova.com/umodel/uml-with-visual-studio.html
[Visio, 2010]
Visio UML modely [Online] 2010 [Citace 15. listopad 2010] dostupné z
http://office.microsoft.com/cs-cz/visio-help/CH001026669.aspx
[Wikipedia,
2010]
.NET Framework [Online] 2010 [Citace 15. listopad 2010] dostupné z
http://en.wikipedia.org/wiki/.NET_Framework
59

Podobné dokumenty

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

Nástroje pro vývoj aplikací a jejich vazba na CASE v této fázi skryté nebo dosud neurčené. Tento model reflektuje „business“ požadavky zákazníka a pomáhá přesně popsat to, co se od systému očekává. Proto musí být nezávislý na technickém zpracování ...

Více

Celý článek... - Ing. Ondřej Šlapák

Celý článek... - Ing. Ondřej Šlapák polotovary) vytváří produkt tak, že svým průběhem zvyšují hodnotu toho, co má být právě konečným produktem. Takovému sledu činností se říká proces (viz též Příloha 1 – Definice pojmů). Zásadní však...

Více

Vysoká škola ekonomická v Praze Metodika pro výběr a nasazení

Vysoká škola ekonomická v Praze Metodika pro výběr a nasazení aktuálně řešila. Stávající metodiky jsou již zastaralé a nevyhovují, neboť byly vytvořeny v určité fázi technologického vývoje, která je dnes již překonaná. Při psaní práce budu vycházet převážně z...

Více

Přehled CASE nástrojů na tuzemském trhu

Přehled CASE nástrojů na tuzemském trhu Funkčnost ...................................................................................................................................... 86 Hodnocení ..........................................

Více

informační systémy 2

informační systémy 2 (jmenovitě Scrum, XP či Feature driven development) k vývoji software, stávají se alternativou k vodopádovému způsobu vývoje. Budeme je nazývat přístupy spíše než metodiky, jelikož se nejedná o met...

Více

4IT_450 Přehled CASE nástrojů na tuzemském trhu

4IT_450 Přehled CASE nástrojů na tuzemském trhu Case. Poslední notací je notace BPMN, která narozdíl od předešlých dvou dokáže zachytit předávání zpráv mezi procesy a tak umožnit jejich vzájemnou synchronizaci. BPMN je notace standardizovaná spo...

Více

analýza a přínosy pro zvýšení účinnosti řízení

analýza a přínosy pro zvýšení účinnosti řízení je ztělesněna směrem zvaným řízení vztahů se zákazníky - Customer Relationship Management (CRM). Od deváté dekády XX. století představuje tato orientace nový příslib zdokonalení procesů, zejména ob...

Více

CASE pro podporu databází

CASE pro podporu databází Největším z nich co se týče nabízených funkcí a typů modelů je bezesporu komplexní a integrované vývojové prostředí Oracle Developer Suite, jehož nejnovější verze je 10g (10.1.2.0.2). Jedná se o ba...

Více