POUŽITÍ CASE VE VÝVOJÁŘSKÉ FIRMĚ Zpracovali: Houžvička Jakub Kalina Tomáš Klimko Jozef Kvapil Hynek Datum: 11/2010
Abstrakt Práce se zabývá využitím CASE (Computer Aided System Engineering) nástrojů ve vývojářské firmě. V naší práci analyzujeme nástroje, které bychom doporučili pro tuto činnost. Abstract This paper is concerned with usage of CASE (Computer Aided Systém Engineering) tools in some developer company. In our work we analysed tools, which we afford to recommend for mentioned usage. Klíčová slova CASE, Computer Aided System Engineering, Microsoft Visio, PowerDesigner, Enterprise Architect, SaaS, PHP Keywords CASE, Computer Aided System Engineering, Microsoft Visio, PowerDesigner, Enterprise Architect, SaaS, PHP 2
Obsah Obsah... 3 1) Úvod... 5 1.1) Cíle práce... 5 2) CASE... 6 2.1) Klasifikace nástrojů CASE... 6 2.2) Komponenty nástrojů CASE... 7 2.3) Metodiky vývoje software... 8 2.4) Používané typy diagramů... 8 2.4.1) Diagramy UML... 8 3) Postup výběru vhodného software... 10 4) Trendy v Case a SaaS... 12 4.1) Gliffy... 12 4.2) Creately... 13 5) Trh nástrojů CASE a jejich porovnání... 15 5.1) Komerční produkty... 15 5.1.1) PowerDesigner 15.3 Enterprise Architecture... 15 5.1.2) Microsoft Visio 2010... 19 5.1.3) Enterprise Architect 8... 21 5.2) Nekomerční produkty... 25 5.2.1) ArgoUML... 25 5.2.2) StarUML... 26 5.2.3) BOUML... 28 5.2.4) Umbrello... 29 5.2.5) UMLet... 30 6) Vývoj a správa aplikace v PHP/MySQL... 32 6.1) Základní informace o Knižní databázi... 33 6.2) Modelování a příprava na vývoj nové aplikace... 33 6.2.1) Vytváření databázového modelu... 35 6.2.2) Generování SQL kódu... 37 6.2.3) Generování a úprava diagramu tříd... 38 6.2.4) Generování zdrojového kódu aplikace... 40 3
6.2.5) Generování dokumentace... 41 6.3) Vytváření modelu z hotové aplikace... 41 6.4) Převod modelu z Visual Paradigm do Netbeans... 42 6.5) Vytváření prototypu grafického návrhu aplikace... 44 6.6) Vytváření konceptuálního modelu architektury aplikace... 46 7) Závěr... 47 8) Zdroje... 48 9) Rejstřík obrázků... 50 10) Rejstřík tabulek... 51 4
1) Úvod Informační technologie jsou dnes jednou z nejrychleji se rozvíjejících oblastí na trhu. Ruku v ruce s vývojem technologického vybavení jako jsou například procesory a paměti probíhá rychlý vývoj v oblasti software. Dnes už není efektivní psát nějaký počítačový program na koleně. Vznikají velké projekty, do popředí se stále častěji dostává doba potřebná k danému vývoji. Právě postupem času vzniklo velké množství programů a softwarových nástrojů, které mají za úkol vývojářům pomoci, usnadnit, zpřehlednit a hlavně zrychlit vývoj nějakého druhu software. Zkratka CASE je označením Computer Aided Sofware Engineering, v českém překladu počítačem podporované softwarové inženýrství. Klíčovým prvkem CASE je interaktivní podpora vývoje softwaru za pomoci počítačových technologií. Realizace vlastnosti CASE v programu se nazývá jako nástroj CASE. A právě nástroje CASE jsou hlavním obsahem této práce. 1.1) Cíle práce Cílem této práce je seznámit čtenáře se samotným pojmem CASE a dále nástroji, které jsou vhodné pro použití ve firmách zabývajících se vývojem software. Práci jsme podle cílů rozdělili do několika částí, které se zaobírají těmito tématy: Postup výběru vhodného software pro danou firmu podle předem určených kritérií Představení nástrojů na vývoj software a popsání jejich možností Trendy nástrojů CASE v oblasti SaaS Propojení mezi aplikacemi na CASE pro vývoj a vývojovými programy, generování zdrojového a SQL kódu databáze Případová studie použití nástrojů CASE v praxi na webové projekty 5
2) CASE Jak jsem zmínil již v úvodu, zkratka CASE je označením Computer Aided Sofware Engineering, v českém překladu počítačem podporované softwarové inženýrství. Někdy se daná zkratka interpretuje jako computer aided system engineering. Je to způsobeno přesahem působností nejen na vývoj software. Mezi základní funkčnosti CASE patří (14): Tvorba modelu informačních systémů pomocí diagramů vede k lepší srozumitelnosti systému pro člověka Reverzní inženýrství zpětné vytvoření modelu již existujícího zdrojového kódu Generování zdrojového kódu z modelu zrychluje a zjednodušuje vývoj Vytváření dokumentace z vytvořeného modelu Dalších vlastností, které podporují nástroje CASE, existuje mnohem více. Samotné nástroje jsou neustále zdokonalovány a dále vyvíjeny. Speciální vlastnosti budou zmíněny u konkrétních popisů jednotlivých nástrojů. Mezi hlavní přínosy, které využití nástrojů CASE přináší, patří (13): Vyšší produktivity práce Snadnější údržba a vývoj výsledného produktu Kvalitnější dokumentace Nižší chybovost Efektivnější koordinace práce na projektu Možnost více zapojit uživatele na vývoji produktu 2.1) Klasifikace nástrojů CASE Jak je uvedeno již výše, existuje dnes velké množství nástrojů. Jednotlivé nástroje se ale mírně liší, a to podle toho, pro jakou část životního cyklu projektu jsou určeny. Podle životního cyklu projektu můžeme nástroje CASE rozdělit do následujících skupin (15): Pre CASE podporují tvorbu globální strategie. Upper CASE podporují plánování, specifikaci požadavků, modelování organizace podniku a globální analýzu IS. Hlavním úkolem nástroje je analýza organizace, zachycení procesů v organizaci, definice klíčových informačních toků a dokumentace zjištěných požadavků. Middle CASE podporují podrobnou specifikaci požadavků a vlastní návrh systému. Tato třída nástrojů CASE je nejúspěšnější. Používají se pro podrobnou specifikaci požadavků, návrh systému, dokumentaci a vizualizaci systému. Použité metody a nástroje jsou DFD včetně podrobného popisu procesů, datových úložišť, podrobné ERD, pro OOAN diagramy tříd, instancí, přechodové diagramy apod. Dále nástroje CASE této kategorie obsahují systém správy dokumentů a konfigurace, systém pro vyhodnocování metrik, vývoj prototypů, návrh rozhraní. Mohou obsahovat také generátory obrazovkových formulářů a tiskových sestav a 6
také generátory (kostry) definic dat. Tento druh CASE je jádrem komerčně dodávaných CASE systémů. Lower CASE obsahují nástroje pro podporu kódování, testování, údržby a reverzního inženýrství. Integrovány jsou nástroje, jako jsou generátory kódu (mohou generovat jen kostru nebo až 75 procent výsledného kódu, kde programátor doplňuje většinou jen detaily). Dále pak jde o prostředky pro reverse engineering (rekonstrukce dokumentace a modelů z existujícího SW), prostředky pro sledování a vyhodnocení metrik, prostředky plánování a zjištění kvality SW (sběr informací o průběhu testování, vyhodnocení výsledků testů, řízení testování), pro správu konfigurace, prostředky sledování a vyhodnocování práce systému. Funkce nástrojů CASE této kategorie se často překrývají s funkcemi obecných vývojových prostředí. Post CASE podporuje organizační činnosti (zavedení, údržbu a rozvoj IS). Obrázek 1: Pokrytí životního cyklu produktu nástroji CASE (15) 2.2) Komponenty nástrojů CASE Nástroje CASE již dnes neobsahují pouze jednu funkcionalitu, ale snaží být víceúčelovými produkty. Dnes jde nejčastěji o komplexní sadu nástrojů, tzv. workbench. Jak jsem již zmínil výše, jako komplexní balík se skládá z více komponent, které by mohly fungovat i samostatně, ale jako celek přináší mnohem vyšší užitnou hodnotu. Mezi důležité komponenty tedy patří (15): Konzistentní grafické ovládací prostředí (podle zásad tvorby GUI) jednotný vzhled obrazovek, popisků, tlačítek, jednotné ovládání, použití symbolických ikon apod. Centrální databáze pro uchování informací o všech objektech IS (tímto způsobem se zaručí, že informace je použitelná v libovolném dalším kroku projektování) Prostředky verifikace konzistentnosti dat a podpora normalizace dat 7
Textový editor pro popis jednotlivých objektů pro účely technické a uživatelské dokumentace systému, možnost jejího přímého generování ze systému Možnost rychlého návrhu uživatelských obrazovek včetně simulace vstupů a výstupů (je vyžadováno pro prototyping) generátor zdrojových programů (pro případy častého znovupoužití daného kódu) export / import dat pro práci s modely a dokumentací, které byly vytvořeny v jiných programech nebo jsou v jiných programech dále využívány a zpracovávány 2.3) Metodiky vývoje software Důležitou vlastností nástrojů CASE je podpora jednotlivých vývojových metodik. Metodika představuje v obecném smyslu souhrn metod a postupů pro realizaci určitého úkolu. Metodika definuje principy, procesy, praktiky, role, techniky, nástroje a produkty používané při vývoji, údržbě a provozu informačního systému, a to jak z hlediska softwarově inženýrského, tak z hlediska řízení. Nebudu zde uvádět popisy konkrétních metodik, ty si může čtenář v případě potřeby sám vyhledat. Ono se totiž konkrétně nedá říci, že nějaký nástroj CASE je určen pro nějakou metodiku a jinou nepodporuje. Nástroje CASE mají určité vlastnosti a při použití s určitými metodikami z nich můžeme vytěžit více. Základní dělení metodik je na agilní (lehké) a rigorozní (těžké). Rigorozní metodiky jsou podrobné, určují velké množství formalit, používají direktivní řízení, předpokládají opakovatelnost procesů. Patří tam například metodika RUP, OPEN, OOSP a další. Agilní metodiky naproti tomu více odpovídají dnešní době, nesnaží se změny potlačovat, ale využívají jich. Patří mezi ně například: Adaptive Software Development, Extrémní programování, SCRUM metodika a další. Pro nástroje CASE jsou důležité právě konkrétní vlastnosti, které se následně dají použít při vývoji. To znamená například, jak snadné je udělat změnu v části modelu vytvořeném dříve a jestli se změna promítne do navazujících částí. Dále třeba na jaké úrovni podporuje nástroj týmovou spolupráci například v rámci jedné místnosti nebo v rámci více států. Jestli se dají při vývoji použít pohledy z více dimenzí a další vlastnosti. Je samozřejmě jasné, že nástroj CASE nemůže podporovat perfektně veškeré metodiky, to už z principu protichůdnosti jednotlivých metodik nejde. V ideálním případě by měl být upravitelný pro použití s různými metodikami. 2.4) Používané typy diagramů Jak už bylo uvedeno dříve, jedním ze základních požadavků na nástroje CASE je tvorba diagramů pro modelování určitých procesů. Pro modelování a tvorbu diagramů se používají modelovací jazyky. Standardním jazykem pro modelování informačních systémů se stal jazyk UML. Mezi další notace patří například BPMN (Business Process Modeling Notation) pro tvorbu diagramu podnikových procesů. 2.4.1) Diagramy UML Existuje velké množství UML diagramů. Typy jednotlivých diagramů se člení na diagramy struktury, diagramy chování a diagramy interakcí (16). 8
Diagramy struktury popisují systém staticky z hlediska objektů, atributů, funkcí a vztahů o Class diagram (Diagram tříd) popisuje strukturu tříd, jejich atributů a vztahů o Object diagram (Diagram objektů) nabízí úplný či částečný pohled na instance tříd, konkrétní objekty a hodnoty jejich atributů, existující v systému v určitém čase o Composite Structure Diagram (Diagram vnitřní struktury) popisuje vnitřní strukturu třídy a možné interakce přes různé části, porty, konektory o Profile Diagram (Diagram profilu) umožňuje definovat vlastní stereotypy, značky a omezení, vytvořený profil lze aplikovat na balíček o Component Diagram (Diagram komponent) vyobrazuje rozložení systému na jednotlivé komponenty, jejich propojení do vyšších celků a softwarových systémů o Deployment Diagram (Diagram nasazení) slouží k modelování rozmístění prvků systému do uzlů, často hardwarových prostředků o Package Diagram (Diagram balíčků) zobrazuje vazby mezi balíčky tvořícími model Diagramy chování jsou zaměřeny na dynamickou povahu systému z hlediska spolupráce objektů a změnu jejich vnitřních stavů o Use Case Diagram (Diagram případu užití) zobrazuje funkcionalitu poskytovanou systémem z hlediska uživatelů, jejich cílů a způsobu použití systému o State Diagram (Stavový diagram) popisuje přechody vnitřních stavů entit nebo také podnikových procesů o Activity Diagram (Diagram činností) reprezentuje přesun řízení mezi prvky systému v podobě následnosti podnikatelských činností, nebo činností systému Diagramy interakcí zdůrazňují toky dat a přesun řídící funkce mezi prvky systému o Communication Diagram (Diagram komunikace) zobrazuje sekvenci zpráv mezi objekty či částmi systému a popisuje tím jejich interakce kombinuje informace z diagramu tříd, případů užití a sekvenčního diagramu, popisuje tak zároveň strukturu i dynamické chování systému o Sequence Diagram (diagram sekvencí) ukazuje posloupnost zpráv zasílaných mezi objekty a životní cyklus objektu v závislosti na zprávách o Interaction Overview Diagram (Přehled interakcí) druh diagramu činností, v němž uzly reprezentují diagramy interakcí 9
3) Postup výběru vhodného software Společnosti, jejichž hlavní činností je vývoj software, by měli využívat nástroje pro podporu celého životního cyklu software od analýzy požadavků zákazníka až po podporu, správu a tvorbu nových funkcí. Čím má společnost více zaměstnanců, kteří se vývojem zaobírají, tím by měli být jejich firemní procesy sofistikovanější a využívat maximálně potenciálu informačních technologií na jejich zefektivnění, jelikož s počtem osob roste přínos těchto nástrojů. Pro spolupráci více lidí jsou velmi vhodné nástroje takzvané Enterprise Social Software nebo někdy také Groupware, které umožňují řídit spolupráci v reálném čase. Velkým hráčem na tomto poli je například projekt CubeTree 1, který získal mnoho ocenění, nebo poměrně nový projekt Google wave, ten byl ale ze strany Googlu z důvodu menšího zájmu odstaven na vedlejší kolej. Tato skupina je spíše komunikačním nástrojem všeobecně než nástrojem přímo podporující vývoj aplikací. Softwarové nástroje CASE by firma měla vybírat velmi obezřetně, jelikož není příliš snadné přejít na jiný nástroj nebo skupinu nástrojů, aniž by to společnost nestálo přinejmenším nemalé časové nebo finanční prostředky. Společnost by měla při výběru nástroje CASE zohlednit svou strategii a své cíle, respektive pokusit se uvažovat v současném i budoucím hledisku a zohlednit následujících faktory: Budoucnost nástroje CASE o Vzhledem k tomu, že výběr nástroje CASE ovlivní fungování společnosti na delší dobu, je důležité zohlednit pozadí nástroje a jeho budoucí vývoj neboli společnost, která stojí za jeho vývojem a komunitu, která nástroj využívá. Velikost společnosti o Dalším faktorem může být počet zaměstnanců, kteří budou s nástrojem CASE pracovat. Komplexnost nástroje o o Zda daný nástroj pokrývá komplexně požadovanou funkcionalitu nebo do jaké míry je schopen spolupracovat s ostatními nástroji, které pokryjí zbylou požadovanou funkcionalitu. Modifikovatelnost a modularita nástroje je také dosti důležitá, jelikož umožňuje společnosti si vytvořit vlastní podobu nástroje v balíčkovém řešení se všemi potřebnými funkcemi. Metodika vývoje 1 https://www.cubetree.com/ 10
o Neopomenout zohlednit metodiku vývoje, jelikož ta do velké míry ovlivňuje práci s podporovanými nástroji a časovými prodlevami mezi jejich využíváním. Například v poslední době u mladých lidí oblíbená metodika takzvaného maratonového vývoje, kterou lze stručně hovorově popsat jako dokud to nebude, nejdeme od toho. Tam se způsob využití nástrojů CASE bude částečně odlišitovat od agilních a diametrálně od rigorózních metodik. Obtížnost osvojení o Společnost by měla zohlednit to do jaké míry je nástroj intuitivní. To znamená především kvalitu uživatelského rozhraní a kolik času zabere školení a osvojení práce s tímto nástrojem. Kvalita generovaného kódu o Tento faktor by neměl tvořit zanedbatelnou část při výběru, jelikož některé programy obvykle generují zbytečně obsáhlý kód, který může zapříčinit výkonnostní problémy speciálně u webových aplikací. Dalším problémem může být přehlednost nebo čitelnost generovaného kódu pro následnou úpravu a správu. Finance o Finance při pořizování jakéhokoliv nástroje představují velmi významné kritérium. Zde je důležité zvážení Open Source a placeného software s ohledem na budoucnost nástroje CASE (viz. 1. bod). Dále je vhodné přihlédnout také k nákladům spojených nejen s pořízením nástroje, ale hlavně s jeho podporou. Zaměření společnosti o Pokud společnost vyvíjí balíčkové produkty nebo dokonce neustále rozvíjí jeden produkt, tak se využití podpůrných nástrojů bude jistě lišit od společnosti, která musí spravovat velké množství odlišných projektů. Pokud se specializuje například na tvorbu software na míru. Používané technologie o Pokud se společnost specializuje na práci nad jedním jazykem či databázovým systémem. Určitě by toto kritérium mělo mít velkou váhu a jistě by bylo vhodné pokusit se najít nástroje specializované na danou či dané technologie nebo dokonce nástroje od tvůrců této technologie. Pokud ovšem společnost pracuje s více technologiemi, měla by se pokusit nástroje CASE hledat s ohledem na to, aby vhodně pokrýval všechny používané technologie. Softwarové společnosti by měli při výběru nástroje CASE postupovat velmi důkladně a měli by zohlednit při nejmenším všechny výše uvedené kriteria a podle svého uvážení jim přiřadit váhy a vybrat tak nástroj, který bude v současnosti, ale hlavně i v budoucnosti spolehlivou a efektivní podporou jejich firemních procesů a zkvalitnění finálních produktů. 11
4) Trendy v Case a SaaS V poslední době se hojně přechází z desktopových aplikací na web based aplikace, neboli Software jako služba (tzn. SaaS) a to především u menších a středních společností. Hlavním důvodem je snížení nákladů, kdy tzn. In house řešení stojí společnost mnoho finančních a personálních zdrojů na správu vlastních serverů. Dalším důvodem může být rychlost nasazení, kde u SaaS je to zpravidla v řádu dnů a u In house řešení se doba implementace pohybuje v řádu měsíců. Dalším velmi důležitým faktem je hlavně platba a doba trvání upgrade u in house řešení v SaaS jsou většinou aktualizace prováděny za běhu a bez poplatků. Dalšími důvody může být například spolupráce zaměstnanců používající různé operační systémy jako například MAC OS a Windows OS. Práce v internetovém prohlížeči eliminuje problémy kompatibility. Z výše uvedených důvodů může být pro menší a střední společnosti SaaS model nástrojů CASE jako vhodné řešení hlavně z pohledů finančních a časových nákladů. Ovšem je nutné poznamenat, že jejich komplexita a funkcionalita je na mnohem nižší úrovni než u desktopových nástrojů. 4.1) Gliffy 2 Tento software je modelovací nástroj, kde není zapotřebí jakékoliv instalace, jelikož běží v internetovém prohlížeči. Umožňuje projekty Website / Software UI Design, Venn diagrams, Organization charts, Flowchart, Network diagrams, Software design / UML (Class diagram, Sequence Diagram, Use Case Diagram, Package Diagram, Deployment diagram, Entity Relationship diagram) a Business process (Reimbursment Process, BPMN Contractor Process). Aplikace je velmi dobře řešena z pohledu uživatelského ovládání, kde vše funguje na Drag and Drop principu. Uživatelské rozhraní běží na technologii Flash. Dále aplikace umožňuje napojení přes API. Lze si tedy přizpůsobit entity účet, dokumenty, adresář a uživatele do svého systému. Reference Gliffy poukazují na kvalitu, jelikož uvádějí jména jako IBM, Cisco, SAP, Apple, Oracle, AOL a další. Avšak není zde uvedeno konkrétněji způsob využití nástroje těmito společnostmi. Cena licence se platí podle počtu uživatelů a kupodivu i za aktualizace. 2 http://gliffy.com/ 12
Obrázek 2 ukázka Class diagramu v programu Gliffy (print screen) 4.2) Creately 3 Tento nástroj je podobně jako předchozí webová aplikace, jejíž uživatelské rozhraní je postaveno na Flashové technologii. Umožňuje více placených programů od personálního užití až po týmovou práci a jejich cena se pohybuje od 5 do 10 dolarů za měsíc. Je to levnější varianta v porovnání s Gliffy. Disponuje téměř obdobnými vlastnostmi jako nástroj Gliffy tedy stejné typy diagramů, publikovat projekt přímo na URL adrese, zvát pomocí mailu spolupracovníky a exportovat a importovat diagramy do prostředí. Stejně tak jako předchozí nástroj umožňuje tvorbu vlastních diagramů respektive objektů a tvarů v nich použitých. Creately oproti Gliffy nedisponuje aplikačním programovacím rozhraním. 3 http://creately.com/ 13
Obrázek 3 ukázka Class diagramu v programu Creately (print screen) Závěrem této kapitoly bych chtěl zmínit, že oba programy mají jisté nedostatky. Creately je lépe graficky a uživatelsky řešené, ale na druhou stranu se mi jevilo o něco pomalejší, což tuto výhodu eliminovalo. Další a to asi největší nevýhodou je to, že aplikace umožňují export kromě obrázků, SVG a PDF pouze ve vlastním značkovacím jazyce neboli ve vlastním XML formátu. Tudíž nevím, jak by se řešila přenositelnost diagramů na jiné nástroje. Další důležitým poznatkem je fakt, že tyto nástroje jsou pouze povrchní a nejsou tolik propracované jako jejich desktopové obdoby a ani nepokrývají tak komplexní oblast využití. Vesměs se jedná pouze o modelování diagramů. Vzhledem k trendu web based aplikací jsme považovali za vhodné zmínit tyto nástroje. Jelikož s vylepšováním technologií tvořící prezenční vrstvu webových aplikací se dá očekávat budoucí potenciál obdobných web based nástrojů jak po stránce uživatelské použitelnosti, funkcionality tak i komplexnosti řešení. Avšak v současné době je možnost jejich využití dosti omezená. 14
5) Trh nástrojů CASE a jejich porovnání Komerční: 1. PowerDesigner 15.3 2. MS Visio 10 3. Enterprise Architect 8 Nekomerční: 1. ArgoUML 2. StarUML 3. Umbrello 4. BOUML 5. UMLet 5.1) Komerční produkty Mezi komerční produkty byly vybrány následující produkty. Nástroj Power Designer 15.3 Enterprise Architecture Enterprise Architect 8 MS Visio 2010 Výrobce Sybase Sparx Microsoft Tabulka 1 Vybrané komerční produkty 5.1.1) PowerDesigner 15.3 Enterprise Architecture PowerDesigner 15.3 je vedoucí nástroj CASE pro modelování a správu metadat, datové modelování, informační architekturou a podnikové architektury. Jedná se o komplexní modelovací nástroj, který podporuje vzájemné propojení modelů jako například procesní diagramy, všechny UML diagramy, datové modely atd.. Výhodou je taky práci nad společným repository co ulehčuje týmovou spolupráci na projektech a jejich verzích. Přístup do repository je umožněný pomocí webového prohlížeče. PowerDesigner přichází v různých verzích a tak si zákazník může vybrat podle svých potřeb z následujících 4 : DataArchitect Splňuje požadavky nejnáročnějších datových modelářů a DB administrátorů. DataArchitect nabízí řízení požadavků a plný rozsah funkcionality pro víceúrovňovou analýzu a design 4 http://www.sybase.cz/index.php?option=com_content&view=article&id=3&mid=24 15
včetně zpětného inženýrství i inženýrství napřed pro téměř 60 poskytovatelů/verzí relačních databází. Developer Varianta určená pro objektové modelování včetně řízení požadavků. Plná podpora UML. Obsahuje funkcionalitu pro zvýšení produktivity při použití s těmito jazyky/nástroji: Java, C#, VB.NET, XML, PowerBuilder, aj. Variantu Developer je možné propojit s většinou rozšířených vývojových nástrojů pro zajištění automatické model to code synchronizace. Studio Naplňuje potřeby zejména vedení IT a obchodu a poskytuje možnosti sladění cílů obou těchto oddělení. Kombinuje funkcionalitu variant DataArchitect, Developer a ještě přidává možnost modelovat obchodní procesy. Varianta Studio tak umožňuje vytvořit komplexní pohled na strukturu a chování celé firmy. Viewer Tuto variantu využijí zejména týmy tvořící dokumentaci, techničtí manažeři a další uživatelé, kteří potřebují přístup ke čtení modelů. Je možné z něj přistupovat do Repository, tisknout modely a vytvářet reporty. Viewer je k dispozici zdarma na adrese http://www.sybase.com/products/powerdesigner. Enterprise Edice (DataArchitect Enterprise, Developer Enterprise, Studio Enterprise) Varianty s přívlastkem Enterprise obsahují navíc připojení do Repository pro každého uživatele. Na Enterprise varianty je možné upgradovat i ze základních verzí PowerDesigneru v okamžiku potřeby. Mezi novinky ve verzi 15.3 vs. 15.2 patří 5 : Rozšířený seznam objektů Export seznamu do Excelu Tisk s náhledem WYSIWYG Rychlé třídění sloupců Přizpůsobení sloupců v seznamech obsahující více typů objektů Tvoření diagramu se selekce Uživatel může vytvořit nový diagram z vybraných symbolů pomocí příkazu Vytvoř diagram se selekce (Create diagram from Selection) Tvoření souvisejících diagramů 5 http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.infocenter.powerdesi gner.15.3/doc/html/title.html 16
Uživatel může vytvořit diagram souvisejících diagramů objektů přímo se záložky související diagram (Related diagram) nebo pomocí submenu. Vícenásobní selekce z matice (Multiple selection in Matrices) Uživatel může vybírat a upravovat více buněk matice. Nastavení zobrazení Všechny diagramy v PowerDesigneru mají možnost přizpůsobení zobrazení, co umožňuje zobrazení jakýkoliv atributů a kolekcí v jakýmkoli pořadí, které si uživatel přeje v diagramech jejich symbolů. Zjednodušené uživatelské rozhraní Tlačítko pro sdílení a kopírování ve výběru nový model a v dalších částech bylo nahrazeno jedním Vložit zdroj v modelu (Embed Resource in Model) Spojování modelu nyní zobrazuje jediný strom ukazující předpokládaný výsledek spojení. Uživatel má možnost přepnutí dvojitý zobrazení stromu pomocí tlačítka vlevo nahoře zobraz zdrojový model (Show source model) Doplňky Plug in pro Visual Studio podporuje Visual Studio 2010. Shrnuti PowerDesigner V následující tabulce jsou shrnuty hlavní vlastnosti produktu PowerDesigner 15.3 PowerDesigner Výrobce Sybase (http://www.sybase.com) Distributor ČR Sybase Software, s.r.o (http://www.sybase.cz) Zkušební verze Ano 15 dní Verze UML 2.0 Generování dokumentace Ano RTF, HTML, Excel a další. Generování kódu Ano Reverse engineering Ano databází Java, C#, C++, PowerBuilder, XML, VB.NET a další. 17
Podporované DBS Ano víc než 60 relačních Oracle, IBM DB/2, MS SQL Server, Sybase, MySQL a další Platforma Multiplatformní Windows, Linux, Mac OS X Správa verzí Ano Týmová spolupráce Ano Export Ano RTF, HTML, Excel, atd. Import Ano XMI Lokalizace Ne Cena Cena u tohoto produktu se pohybuje v tisících Kč Tabulka 2 Shrnutí produkt PowerDesigner 15.3 Přínosy PowerDesigneru 6 : Komplexní a prověřený nástroj PowerDesigner představuje trhem prověřený nástroj pro UML, procesní a datové modelování a je považován za standard v mnoha společnostech po celém světě. Sladění obchodu a IT PowerDesigner napomáhá sladění cílů obchodního a IT oddělení díky možnosti sledování vazeb mezi všemi požadavky, procesními, UML a datovými modely. Zlepšení individuální produktivity PowerDesigner obsahuje řadu uživatelsky modifikovatelných generátorů kódu a DDL skriptů, které značně snižují nároky na manuální programování a zefektivňují správu modelů. Zlepšení týmové produktivity PowerDesigner poskytuje všem modelářům ideální prostředí pro práci v týmech. K dispozici je společná repository pro ukládání jednotlivých modelů včetně jejich různých verzí. 6 http://www.sybase.cz/index.php?option=com_content&view=article&id=3&mid=24 18
Široké možnosti přizpůsobení PowerDesigner nabízí široké možnosti přizpůsobení za účelem podpory firemních nebo legislativních standardů s využitím VB Scriptu, plně skriptovatelného COM rozhraní a kastomizovatelného metamodelu. Minimalizace nechtěných dopadů změn PowerDesigner významně snižuje náklady a čas na implementaci změn díky obousměrné analýze dopadu změny napříč všemi provázanými modely. 5.1.2) Microsoft Visio 2010 Microsoft Visio 2010 je nástroj patřící pod balík Microsoft Office určený pro kreslení různých diagramů na platformě Windows využívající vektorovou grafiku pro tvoření diagramů. Zatím není dostupný pro jiné platformy avšak díky proprietárnímu formátu Visia je možný tyhle diagramy otevřít i v některých programech pro kreslení diagramů na platformě Mac OS X nebo Linux. Momentálně je dostupný ve třech verzích a to: Standard určeno pro základní diagramy, schémata a grafy. Professional určeno pro pokročilejší diagramy s možností propojovat obrazce s daty. Premium určeno pro nejnáročnější uživatele, kteří potřebují silný nástroj například na procesní řízení, TQM, ISO, Six Sigma a pod. Visio je vhodný nástroj pro vizualizaci a tvorbu diagramů, a to buď statických, nebo dynamických, které se automaticky mění v závislosti na datech a v reálném čase. Tato vlastnost je velmi užitečná pro vývojářskou společnost, kdy můžou všichni vývojáři spolupracovat a vidí provedené změny od svých týmových kolegů. Visio slouží k tvorbě organizačních a síťových diagramů, modelování obchodních procesů nebo schémat podlaží, výrobních linek, ISO procesů a schémat architektury IT. Schémata lze sdílet pomocí webového rozhraní nebo publikovat na server SharePoint. Možnosti použití aplikace Visio 2010 jsou opravdu různorodé. Pro přehlednost jsou rozdělené do pěti skupin: Obecné diagram Technická schémata Diagramy v IT Nástroje pro Business Intelligence Nástroje pro procesní řízeni V následující tabulce je porovnání jednotlivých edic Visio 2010. Podle vlastností, které jednotlivý edice ponoukají je v každé k dispozici sada různých předpřipravených sady šablon. Pro vývojářskou 19
firmu je nejvhodnější edice Premium, která umožňuje například důležité sdílení přes webové rozhraní, inteligentní analýzy, databázový diagramy, diagramy IT infrastruktury, hierarchické diagramy a další. Porovnání jednotlivých edic Visio 2010 7 Vlastnost Typ verze Standard Professional Premium Jednoduchá tvorba diagramů v moderních šablonách, automatické zarovnávání a úpravy Intuitivní navigace v novém uživatelském rozhraní Dynamické tvary, které se mění na základě odkazů na data získaná v reálném čase Sdílení přes webové rozhraní (i mezi adresáty, kteří nemají Visio) Nové nástroje pro správu procesů, pro jejich modelování a sled prací v SharePoint Inteligentní analýza pro nalezení chyb proti obchodní logice Ano Ano Ano Ano Ano Ano Ne Ano Ano Ne Ano Ano Ne Ne Ano Ne Ne Ano Cena v Kč (orientační cena bez DPH) 6 580 Kč 14 450 Kč 25 820 Kč Tabulka 3 Porovnání edic Visio Shrnutí MS Visio 2010 Nejdůležitější vlastnosti vytvořené pro vývojáře má Visio 2010 připraveno například následující využití 8 : Diagram pracovního postupu SharePoint (workflow) pro návrh logiky. Takto vytvořený diagram lze následně exportovat do aplikace SharePoint Designer a použít na serveru SharePoint. Diagram modelu databáze používající zápis IDEF1X a relační vazby. 7 http://www.microsoft.com/cze/office2010/produkty/visio.aspx 8 http://www.microsoft.cz/project visio soutez/dokumenty/datasheet_visio_2010.pdf 20