Nástroje pro vývoj aplikací a jejich vazba na CASE
|
|
- Ludvík Kraus
- před 6 lety
- Počet zobrazení:
Transkript
1 Vysoká škola ekonomická v Praze Nástroje pro vývoj aplikací a jejich vazba na CASE Semestrální práce 4IT450 CASE Computer Aided Systems Engineering Albert Höfer Luděk Podolka Michal Zgraja květen 2008
2 Obsah 1. Úvod Co je to CASE Druhy CASE Komponenty CASE Volba CASE Možnosti CASE Co je to IDE Co je to MDA? Vývojová prostředí Eclipse [8] Architektura Eclipse Rozšiřitelnost Eclipse Podpora modelování Netbeans [9] Podpora modelování Visual Studio [10] Class Designer Delphi [11] Model Maker CASE nástroje Visual Paradigm for UML 6.2 [12] Přehled klíčových vlastností Ukázka uživatelského rozhraní Minimální systémové požadavky Přehled novinek v poslední verzi Integrace s IDE Borland Together 2007 [13] Přehled klíčových vlastností Ukázka uživatelského rozhraní Minimální systémové požadavky Změny v poslední verzi Integrace s IDE Sparx Systems Enterprise Architect 7.1 [16] Přehled klíčových vlastností Ukázka uživatelského rozhraní
3 Minimální systémové požadavky Změny v poslední verzi Integrace s IDE Sybase Power Designer 12.5 [18] Přehled klíčových vlastností [19] Ukázka uživatelského rozhraní Minimální systémové požadavky Změny v poslední verzi Integrace s IDE Integrace CASE s vývojovými prostředími Nové trendy? Závěr Zdroje
4 1. Úvod Cílem této práce je vytvořit přehled možností integrace nejpoužívanějších integrovaných vývojových prostředí a CASE nástrojů na trhu. U integrovaných vývojových prostředí se zaměříme na obecnou charakteristiku nástrojů a rozšíření podporujících CASE úlohy. U CASE nástrojů se zaměříme podrobněji na jejich možnosti, změny v posledních verzích a rozsah, v jakém je lze integrovat do vývojových prostředí. V neposlední řadě se pokusíme identifikovat nové trendy v této oblasti. V práci se zaměříme na čtyři IDE Eclipse, NetBeans, Visual Studio a Delphi a čtyři CASE nástroje Visual Paradigm for UML, Borland Together, Sparx Systems Enterprise Architect a Sybase Power Designer. Způsobem dosažení cíle této práce je analýza dostupných materiálů, zejména charakteristik jednotlivých produktů zveřejněných jejich výrobci. V teoretickém úvodu této práce využijeme také další volně dostupné zdroje na internetu Co je to CASE CASE (computer aided software engeneering) jsou nástroje, které používají metodiky vývoje software a diagramů znázornění systému pro vývoj SW s pomocí počítačů. CASE nástrojů existuje celá řada a to jak pro strukturované, tak pro objektové metody vývoje. Tvorba diagramů v těchto nástrojích vyžaduje vysokou znalost a profesionálnost tvůrce a uživatelů. Použití CASE není jenom v kreslení různých modelů, ale jde taky o zajištění souvislosti, které člověk mentálně neumí pojmout Druhy CASE [1]CASE se využívají v různých fázích specifikace požadavků, návrhu, kódování, údržbě. Nástroje použité v různých etapách se liší a pokrývají vždy jen určité činnosti. Hranice mezi CASE a integrovanými vývojovými nástroji se postupně stírají. Podle životního cyklu můžeme dělit CASE systémy na : PRE CASE Na podporu tvorby globální strategie UPPER CASE Na podporu plánování, specifikace požadavků, modelování organizace podniku a globální analýzu IS. Cílem je pochopit danou oblast a specifikovat systém jako celek. Hlavními nástroji jsou DFD a jeho varianty, ERD bez podrobných atributů, prostředky pro řízení projektů a sledování ekonomických skutečností MIDDLE CASE Podporuje podrobnou specifikaci požadavků a vlastní návrh systému. Tato třída je nejúspěšnější. Používají se pro podrobnou specifikaci požadavků, návrh systému, dokumentaci a vizualizaci. Hlavním cílem je formalizace specifikace a návrhu s možností snadných změn a komunikace se zákazníkem a taky vytvoření modelu pro generování návrhu. LOWER CASE 4
5 Nástroje pro podporu kódování, testování a údržby a reverzního inženýrství. Integrovány nástroje jako generování kódu (programátor doplňuje jenom detaily), prostředky pro reverse engeneering (rekonstrukce a dokumentace modelů z existujícího SW), prostředky pro sledování a vyhodnocování metrik, prostředky plánování a zjištění kvality SW, správa konfigurace, prostředky sledování a vyhodnocování práce systému. POST CASE Podporuje organizační činnosti(zavedení, údržbu rozvoj IS). Obrázek 1 - [1] - Životní cyklus vývoje SW Komponenty CASE [1] Z jakých komponent se CASE skládají záleží hlavně na jejich funkcích a vlastnostech. Mezi důležité vlastnosti CASE jsou : 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, 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 až ¾ výsledné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. 5
6 Volba CASE [6] Jedním z rozhodujících faktorů vedle znalosti postupů a modelovacích technik je při analýze a designu informačního systému vhodný výběr nástroje pro podporu vývojových činností. U rozsáhlejších systémů není prakticky možné zvládat vytvářet a udržovat jednotlivé modely tak říkajíc ručně (kreslit modely na papír, popř. ve Wordu atd.). Každá etapa vývoje projektu vyžaduje nástroj specifických vlastností. Protože jednotlivé etapy projektu na sebe těsně navazují (často se také prolínají), musejí být i jednotlivé nástroje provázané. Ne všechny CASE nástroje zahrnují všechny typy CASE nástrojů a ne každý projekt vyžaduje užití všech typů při vývoji. Záleží na vedení projektu, zda se rozhodne pro použití nástroje, který v sobě zahrnuje všechny typy CASE nebo pořídí více nástrojů. Etapy analýzy, návrhu a implementace jsou však úzce svázané. V případě rozhodnutí pro více nástrojů je nutné zohlednit, nakolik jsou nástroje integrované, případně jak nákladný je přenos rozpracovaného systému z jednoho nástroje na druhý. Nástroje CASE mohou podporovat strukturované i objektové metodiky. Které metodiky použít závisí čistě na volbě návrhářů a tvůrců informačního systému. Ačkoliv je to často vylučováno, je možné tyto odlišné přístupy kombinovat (viz níže i přístup mnoha firem z praxe). Například je možné provést analýzu za pomoci objektových metodik, datové modelování pomocí strukturované metodiky a pokračovat v návrhu systému objektově. V současné době asi budou všichni využívat hlavně objektově orientované metodiky. Objektové metodiky pohlížejí na systém jako na celek, umožňují přírůstkovou metodu vývoje, jejich interpretace je snáze srozumitelná zadavateli atd. Základní kriteria pro výběr nástroje: Splňuje nástroj požadavky procesu vývoje informačního systému? Nástroj by měl používat zvolenou metodiku vývoje informačního systému. Je možné samozřejmě také koupit nástroj, a teprve pak si osvojit jeho metodiku. Tento postup však může být riskantní, závisí to samozřejmě na zaměření analytiků (např. pokud bude jejich práce zahrnovat hlavně návrhy relačních databází, CASE nástroj pracující s objektovou metodikou a UML nemusí být ta nejlepší volba). Jakou notaci nástroj podporuje? Notace jakožto nástroj pro interpretaci metodiky souvisí s předcházejícím bodem. Např. může být otázkou, zda nástroj podporuje modelování business processes, datové a funkční modelování, nebo zda podporuje pouze notaci UML. Podporuje CASE integraci s ostatními nástroji potřebnými pro projekt? Pokud nástroj přímo nepodporuje všechny fáze návrhu informačního systému, je vhodné pro dodržení konzistence, aby byl s dalšími nástroji na podporu ostatních fází návrhu vhodně integrován. Lze v rámci vývoje sledovat plnění požadavků specifikace? Mezi požadavky na systém a jejich plněním musí být zcela zřetelný vztah. Jestliže nástroj nedisponuje modulem pro evidenci a analýzu požadavků, měl by být s takovým nástrojem integrován. Je nástroj modulární? Při vývoji nejsou vždy nutné všechny prostředky nástroje (některé se nevyužíjí). Nemá cenu vlastnit například generátor modelů do nějakého programovacího jazyka, když se tento jazyk v projektu nijak nevyužije. Některé moduly nástroje jsou potřeba jen v určitém čase a ne po celou dobu vývoje. Např. v době, kdy je prováděna analýza není potřeba žádný generátor jazyka. Nejlepším řešením je forma licencí na jednotlivé moduly, kdy je možné si zakoupit celý nástroj a sadu časově omezených licencí. Je-li potřeba další modul, není nutné nic instalovat, pouze se aktivuje daná licence. 6
7 Jak silnou má nástroj repository? Repository (čili knihovna navržených prvků) tvoří jádro každého nástroje. Repository by měla být přenosná mezi platformami (jestliže se projekt vyvíjí na více platformách). Některé nástroje mají souborově založenou repository, ale většina databázově. Je důležité, na jaké databázové platformě může být repository založena, popř. zda může být založena na více databázových platformách. Je nástroj přístupný modifikacím? Zdroj Kopřiva P.: Vyberte správný CASE říká k této problematice cituji: Tahle otázka je životně důležitá. Neexistuje CASE, který by vyhověl všem projektům a všem nárokům uživatelů. Každý projekt vyžaduje určité úpravy nástrojů. Praxe říká, že mnoho projektů nebylo úspěšně dokončeno, protože vývojové nástroje nebylo možné přizpůsobit potřebám projektu. Konec citace. CASE by tedy měl disponovat nějakým nástrojem, kterým je možné ho upravovat. Jak nástroj podporuje verzování a sdílení komponent? Protože na projektu obvykle pracuje více lidí, je nutné zajistit sdílení jednotlivých komponent modulu. Jedna komponenta může přitom být dále rozvíjena více směry (např. kvůli potřebě různých pohledů na realitu). Je proto nutné komponenty vývoje verzovat. V této oblasti je také důležité, zda nástroj umožňuje plně rekonstruovat stav vývoje v určité verzi. Je zajištěn autorizovaný přístup uživatelů ke komponentám navrhovaného systému? Nástroj by měl být schopen rozlišovat různé role uživatelů a podle toho zpřístupňovat potřebné informace. Podporuje nástroj kontrolu konzistence, úplnosti a dodržování metodiky? Většina nástrojů má zajištěnu kontrolu syntaxe (např. v diagramu datových toků nedovolí nakreslit datový tok z datového skladu opět přímo do datového skladu). Je ale nutné, aby se prováděla kontrola také mezi diagramy nebo aby se prováděla kontrola metodiky např. zda je pro každý Use Case definován sekvenční digram. Některé nástroje zajišťují podporu metodik tak, že v každém kroku (diagramu) nabízejí možnosti dalšího postupu (např. v Select Enterprise je u každé třídy přímo nabízena tvorba diagramu stavů). Jaká je kvalita uživatelského rozhraní (ovládání nástroje)? Nástroj by měl obsahovat výbornou nápovědu o modelech a podporovaných metodikách. Dále by měl podporovat dnes již klasické prvky ovládání jako popup menu s možnými kroky, podporu horkých kláves atd. Významnou funkcí každého nástroje je také UNDO (vrácení provedeného kroku). Vytváří nástroj automaticky dokumentaci? Nástroj by měl mít možnost generovat dokumentaci založenou na určitých pravidlech. Vhodná je také možnost tvorby vlastních šablon pro dokumentaci. Důležité také je, jaký má generovaná dokumentace formát a jestli nástroj obsahuje interní prohlížeč dokumentace, nebo jestli je nutné využít nějaký externí prohlížeč. Jestliže například podporuje generování dokumentů pro MS Word, je samozřejmě nutné mít nějaký program schopný s tímto formátem pracovat. Zajímavá může být podpora generování do formátu HTML. Další informace níže. Generuje nástroj datový model? Pro jaké databáze? Pokud existuje možnost datového modelování, může také generovat datový model. Otázkou zůstává, které databázové platformy podporuje nebo jestli z modelu generuje obecný sql (structured query language). Další vlastností/schopností může být reengineering fyzického modelu nebo reengineering z databáze. Další informace níže. Umožňuje nástroj generování modelů do programovacích jazyků? Další informace níže. 7
8 Disponuje nástroj možností round trip engineeringu? Round trip engineering umožňuje provádět změny ve vygenerovaném kódu, aniž by se narušila vazba mezi vygenerovaným kódem a návrhem systému. Jestliže programátor provede změnu v kódu (např. přidá ve třídě další metodu), zanese se tato změna automaticky do diagramu, kde je tato třída modelována (a naopak). Další informace níže. Disponuje nástroj možností reverse engineeringu? Reverse engineering je možnost, jak zahrnout do analýzy či návrhu systému již hotový zdrojový kód. Ten se procesem reverse engineeringu transformuje do diagramů. Další informace níže. Jaká je cena nástroje? Jakou technickou a uživatelskou podporu nástroj má? Sem spadá i nabídka školení a služby jako např. helpdesk. Podporuje nástroj národní prostředí? Podpora národního prostředí by se neměla omezovat pouze na přeložená menu a možnost psát a tisknout znaky národního prostředí. Vhodná je také podpora tvorby (generování) dokumentace v daném jazyce. Nejlepší by samozřejmě bylo, kdyby nástroj jako celek poskytoval všechny funkce. Jeho uživateli by pak stačilo pouze zvolit ty, které chce, které mu vyhovují, a ty si poté pořídit. V současné době asi všechny CASE nástroje podporují objektově orientované metodiky, jak již bylo uvedeno výše. Mnohdy se ale u nástroje můžeme setkat s tím, že objektovou metodiku doplňuje metodikou jinou (např. business modelováním) a tím vlastně vytváří novou odvozenou metodiku (viz Select Perspective). Co se týká metod, podporují asi všechny nové CASE nástroje notaci UML, avšak liší se v rozsahu, v jakém UML podporují (např. Select Enterprise nenabízí diagram činností). Další nabízené modely vychází z metodik v CASE nástroji zahrnutých, takže je možné se setkat s hierarchickými diagramy, procesními diagramy (při zahrnutí business modelování) a datovými diagramy (při zahrnutí datového modelování) Možnosti CASE Moderní nástroje CASE (zvláště ty, které patří mezi špičku ve svém oboru) umožňují celou škálu dalších činností. Nyní si je stručně vyjmenujme [2]: Tvorba konceptuálního i fyzického datového modelu V rámci konceptuálního (resp. logického) modelování je možné definovat abstraktní datové struktury (entity) v vztahy mezi nimi. Konceptuální datový model je platformově nezávislé datové schéma vytvářeného produktu, které je oproštěno od různých implementačních detailů. Fyzický model je již naproti tomu úzce spjat s předpokládanou cílovou platformou, resp. db serverem. Kvalitní nástroje CASE podporují až několik desítek cílových databázových serverů. Ve fyzickém modelu se může analytik zabývat zvláštnostmi a odlišnostmi jednotlivých platforem, týkajícími se např. návrhu indexů, atd. Nástroje CASE umožní ušít implementaci datového modelu na míru konkrétní databázové platformě. Samozřejmostí je jednoduchý, přímočarý (a často automatický) přechod z konceptuálního modelu na fyzický. Nástroj CASE sám provede překlady domén, relací M:N (které je samozřejmě možné používat na úrovni konceptuálního modelu), klíčů a dalších prvků pro zvolenou cílovou platformu. Možný je samozřejmě i zpětný přechod od fyzického ke konceptuálnímu modelu, stejně jako generování zdrojového kódu aplikace na základě fyzického modelu. Objektové modelování 8
9 Plně objektový přístup umožňuje definovat a modelovat uživatelské scénáře a případy použití, stejně jako hraniční, datové (entitní), řídicí a doménové objekty. Pomocí diagramu tříd je možné definovat vztahy mezi jednotlivými třídami, jejich vzájemné závislosti. V rámci objektového modelování se tedy nezabýváme jen definicemi statických objektů, ale také modelováním jejich interakcí a především činností.case nástroje obvykle umožňují synchronizovat diagram tříd s datovým modelem, čímž je zajištěna konzistence celého návrhu, a také generování zdrojového kódu na základě diagramu tříd. Zdrojový kód je možné generovat do celé řady objektových prostředí a jazyků, např. Java, C++ (MFC), C#, XML, WSDL, CORBA, VisualBasic, ADA a SQL, PowerBuilder apod.) Kontrolní mechanismy Nástroje CASE usnadňují kontrolu správnosti, a to nejen modelu, ale i funkčních specifikací, celé architektury a integrity projektu. Nejlepší nástroje CASE obsahují různé podpůrné utility, které dokáží detekovat a lokalizovat i (budoucí) run-time chyby, včetně chyb typu špatné správy/alokace paměti. Všichni vývojáři vědí, že odhalit chybu spočívající v použití neinicializované paměti nebo v neuvolnění alokované paměti je velmi obtížné a časově náročné, neboť chyba se projeví vždy jinak a jinde (a často se třeba neprojeví vůbec). Dalším bonbónkem těchto nástrojů je, že dokáží najít chybu i v aplikacích, jejichž zdrojový kód není vůbec k dispozici. Pokud tedy ve svém projektu využíváme nejrůznější komponenty a knihovny třetích stran, můžeme detekovat jimi způsobené problémy. Porovnávání modelů Součástí řady nástrojů CASE je funkce umožňující porovnávat jednotlivé datové modely. Pro tuto činnost existují také nástroje třetích stran (např. XTG Data Modeller), které umožňují i odlišení rozdílů podle jejich důležitosti. Kromě struktury a datových typů je možné porovnávat i podle celé řady dalších kritérií, např. podle logického jména, default hodnoty, indexů apod. Podpora spolupráce při vývoji Již zmíněný požadavek na znovuvyužitelnost, stejně jako požadavky na řízenou spolupráci členů vývojového týmu řeší velmi často nějaký trezor objektů repository. Disponuje-li CASE nástroj kvalitním repository, je možné do něj vkládat jednotlivé moduly, objekty, modely a submodely, které je možné následně znovu využívat, případně i modifikovat. Repository velmi často přispívá také k zajištění konfiguračního managementu, neboť si ukládá informace o jednotlivých verzích modelů a sleduje jejich vývoj v čase. Tím podporuje verzování, umožňuje porovnávat několik verzí téhož modelu a odhalit případnou příčinu chyb v nové verzi. Další funkcí repository může být možnost zamykání jednotlivých částí modelu, takže se eliminuje situace, kdy si dva členové vývojového týmu navzájem mění submodel pod rukama. Nástroje CASE také mohou umožňovat efektivní a řízené slučování změn v jednotlivých modelech. Repository mohou také umožňovat řízení konfigurací, jinak řečeno seskupení verzí do základních sad, správu těchto sad, jejich porovnávání a obnovování. Přestože na podporu týmové práce, zálohování a verzování existuje celá řada externích nástrojů, je jistě příjemná možnost zařídit vše potřebné v rámci používaného nástroje CASE, takže odpadá nepříjemná nutnost zavádění, školení a používání dalšího nástroje. Užitečnou funkcí repository je jistě také možnost používání uložených objektů v aplikacích třetích stran (včetně poštovních programů a textových editorů), typicky prostřednictvím mechanismu OLE (Object Linking and Embedding). Nástroje CASE tak podporují souběžný i konkurenční vývoj. Automatické vytváření dokumentace Nástroje CASE dokáží automaticky vytvářet dokumentaci k modelovaným objektům, čímž umožňují analytikům získat v přehledné formě velmi podrobné informace o vytvářeném systému. 9
10 Dokumentace (která je často generována ve formátu HTML), je nezbytnou součástí každého projektu, neboť zvláště v rozsáhlejších modelech není možné (ani vhodné) vyhledávat všechny potřebné informace vždy v diagramu. Dokumentace bývá obvykle velmi kvalitní a obsahuje všechny údaje, které s daným modelem souvisí a navíc umožňuje nastavit hloubku obsažených informací, takže je možné získat reporty pro manažery, zákazníky, ostatní členy vývojového týmu, pro administrátora databázového serveru apod. Automaticky vytvořená dokumentace má jednotný vzhled a přispívá ke konzistenci vývojového týmu. Round-Trip engineering [5] Round-Trip engineering (dále jen RTE) je dnes již poměrně známým a akceptovaným pojmem v oblasti vývoje IS. RTE, jak již název napovídá, je opakující se proces, který by měl zajišťovat vazbu mezi vygenerovaným kódem, návrhem a analytickým modelem systému. Jinými slovy stará se o synchronizaci analytických a designových modelů s konkrétní implementací návrhu. Jestliže analytik případně designér provede změnu v modelu (např. v diagramu tříd změní nebo přidá atribut, metodu u některé z tříd), zanese se tato změna automaticky do kódu aplikace a do modelů nižších vývojových vrstev. Této fázi se říká také forward engineering (dále jen FE). Naopak, pokud programátor provede změnu v kódu (např. přidá metodu v některé z již existujících tříd), tak se tato změna projeví v diagramu, o této části se zase hovoří jako o fázi reverse engineeringu (dále jen RE). O udržení RTE procesu se pak stará tzv. synchronizér kódu, který umožňuje synchronizovat programový kód s např. UML modelem, aniž by se musel provádět celý RE nebo FE proces od samého počátku. Synchronizér tedy usnadňuje údržbu, značně šetří čas a umožňuje udržovat konzistenci mezi modelem a vaší aplikací. Proto se dá pohlížet na RTE jako na mnohem komplexnější a složitější proces než jako na pouhý součet RE a FE. Úkolem RE a FE je totiž obvykle pouze samostatná a izolovaná transformace, kdy se spousty informací z cílového artefaktu ignorují a převážně se vytvoří nový artefakt přepsáním jeho staré verze, pokud existuje. Na rozdíl od toho RTE vyžaduje, aby se informace v cílovém artefaktu uchovaly nezměněné, což také poukazuje na to, že záměrem RTE je srovnat modely, spíše než je pouze transformovat v daném směru. Generování výsledného kódu Tato funkce se stává čím dál více využívanou. Spočívá v tom, že nástroj CASE dokáže vygenerovat zdrojový kód pro základ aplikace. Na základě fyzického datového modelu je možné získat skripty pro vytvoření kompletní databáze: všech tabulek, pohledů, indexů, datových typů (včetně uživatelských), triggerů a dalších součástí, vždy podle možností cílové databázové platformy. Je samozřejmě možné zvolit, co všechno se má generovat (zda jen tabulky, nebo i indexy apod.), je možné požadovat generování jen některých entit a nejrůznější vsuvky do skriptu či do každé z tabulek. Vzhledem k tomu, že ve fázi modelování se zabýváme i činností a funkcí jednotlivých objektů, stejně jako vzájemnými interakcemi, je možné generovat i kompletní výsledný zdrojový kód pro řadu objektových prostředí a vývojových nástrojů, obvyklá je také možnost získat XML dokumenty k příslušnému objektovému modelu. Kvalitní nástroje CASE umožňující všechny zmíněné funkce tak umožňují dostatečnou interakci se svým programovým okolím a splňují požadavek otevřenosti a přenositelnosti. Reversní inženýrství (Reverse engineering) V dnešní době, kdy aplikace jsou mnohem složitější a komplexnější, se jakákoliv změna např. nová funkcionalita poměrně těžko realizuje bez dobré znalosti systému a absence jakýchkoliv modelů. Proto určitá forma abstrakce za použití vizualizace se jeví jako dobrý pomocník, obzvlášť v případech, kdy se setkáváme s aplikací poprvé. Podle Eliota Chikofskyho a Jamese Crosse [2] je reversní inženýrství proces analyzování systému za účelem identifikování jeho součástí (komponent) a vztahů 10
11 mezi nimi. Výsledkem této analýzy je reprezentace zkoumané aplikace vytvořená za použití určitého stupně abstrakce. RE je tedy částí údržby a podpory softwaru, která nám pomáhá pochopit systém a následně ulehčit realizaci případných změn. Samotné provedení změn ovšem nespadá do širokého rozsahu činností zpětného inženýrství. RE se zabývá pouze zkoumáním za účelem podrobného popisu a to ve všech fázích životního cyklu softwaru (s tím souvisí zvolená forma abstrakce). RE by měl být chápán jak komplex různých a přitom navzájem se doplňujících aktivit vedoucích ke stejnému cíli, kterým je popsání a následné porozumění dílčích celků na konkrétní úrovni abstrakce. Podpora návrhu vícerozměrných schémat Další možností je vytváření vícerozměrných databázových schémat a s ním související podpora datových skladů [3]. Je možné pracovat s hvězdicovým či vločkovým schématem a tak vytvořit podmínky a prostor k nasazení nástrojů pro extrakci, transformaci a plnění datových skladů, jež znamenají dosud nepředstavitelné možnosti při práci s daty, při vyvozování skrytých závislostí mezi daty a při předpovídání budoucího vývoje sledovaných jevů. Procesní modelování Nástroje CASE neumožňují jen datové modelování, vytváření konceptuálních, fyzických a objektových modelů. Jednou z dalších funkcí je také procesní modelování, jež umožňuje definovat diagramy datových toků (DFD, Data Flow Diagram), diagramy závislostí mezi procesy (resp. dekompozice procesů), definice funkcí systému apod. Vytváření datových slovníků Mezi další funkce nástrojů CASE můžeme zařadit definování uživatelských datových typů (vytváření datových slovníků, Data Dictionary). Slovníky datových typů, často uchovávaný v podobě repository, zabezpečují, že veškerá data budou definována pouze jednou a pak opakovaně použita v různých modelech popisujících datovou vrstvu, procesní vrstvu a vrstvu uživatelského rozhraní. Tento přístup zaručuje důslednou konzistenci, provázanost a efektivitu, jež je velmi důležitá při vývoji rozsáhlých a komplexních aplikací. Podpora životního cyklu Nástroje CASE dovolují sledovat vývoj modelu od samého začátku (stanovení požadavků) až k implementaci. Produkty jednotlivých fází vývojového cyklu jsou archivovány za účelem zachování historie jednotlivých učiněných rozhodnutí. A co je nejlepší, změna učiněná v kterékoliv fázi vývoje může být propagována do předchozích či následujících fází (i s příslušnými výstupy do dokumentace), což opět vede k lepšímu zachování konzistence. Správa požadavků uživatelů Jasná (a včasná) definice požadavků je základním stavebním kamenem úspěšné aplikace, která má splňovat očekávání jejích uživatelů. Málokdy se však podaří specifikovat veškeré požadavky před vytvořením návrhu a započetím vlastní implementace. Obvykle se požadavky v čase mění a vyvíjejí a nástroje CASE umožňují efektivní správu těchto změn. Specifikace změn mohou být sdíleny řadou modulů a nástrojů, výsledkem bývají např. různé uživatelské scénáře. K těmto scénářům mají následně přístup všichni členové týmu, celý vývojový proces je tedy mnohem konzistentnější (přestože se v jeho rámci opakovaně mění pravidla hry ). 11
12 1.2. Co je to IDE [4] Mocným softwarem pro vývoj aplikací jsou tzv. vývojová prostředí neboli IDE (Integrated Development Environment). Tyto nástroje jsou velmi nápomocné každému programátorovi, který je využívá. Důležitým faktorem u vývojových prostředí je, že jsou plně orientované na jeden programovací jazyk (C++, JAVA atd.), a tím nabízejí spoustu užitečných funkcí. Jedná se zejména o přehledný editor zdrojového kódu (barevné odlišení jednotlivých částí zdrojového kódu) nebo například o nástroj na upozornění a odstraňování chyb ve zdrojovém kódu aplikace (nápomocné zejména při doladění aplikace). Některé pokročilejší vývojové nástroje obsahují tzv. RAD (systém pro rychlý vývoj aplikací). Tento systém je určen pro tvorbu grafického uživatelského rozhraní. Jedná se o přímé sestavení uživatelského rozhraní pomocí předem nadefinovaných elementů, které reprezentují určitou část zdrojového kódu. Přínos IDE nástrojů pro programátora je též v tom, že dnes již většina vývojových prostředí dokáže komunikovat s CASE nástroji Co je to MDA? [5] [7] Model Driven Architecture vidí modely aplikací ve čtyřech úrovních: CIM model nezávislý na počítačovém zpracování PIM platformově nezávislý model řešení PSM platformově specifický model řešení Code kód aplikace, tj. výsledná realizace řešení Zdroj: CIM Computation Independent Model Model nezávislý na počítačovém zpracování je de facto modelem vlastního "businessu". Jedná se především o model procesů. Jeho notace však není v UML standardizována (ani v chystané verzi UML 2.0), nicméně se dá pro tyto účely "přiohnout" diagram aktivit. Dále je to slovník pojmů problémové 12
13 oblasti, který se dá u složitějších oblastí vyjádřit pomocí konceptuálního modelu tříd. Tento model vytvářejí buď sami uživatelé nebo business analytici. PIM Platform Independent Model Platformově nezávislý model reprezentuje koncepci řešení dané problémové oblasti na základě konkrétních požadavků. Jeho hodnota je především ve vyřešení koncepčních otázek, jako jsou třeba algoritmy zaskladňování a vyskladňování v případě skladů, nebo způsob párování saldokontních položek v účetnictví. Tento model však neobsahuje informace spojené s konkrétní technologií realizace a vytvářejí ho IT analytici. PSM Platform Specific Model Model řešení na dané platformě (např. J2EE nebo C# a ASP.NET) je podkladem pro vlastní implementaci. Důležité je to, že PSM má stejnou strukturu jako kód aplikace. Tento model vytvářejí návrháři. Code Z hlediska MDA je zdrojový kód chápán také jako model konkrétní realizace na dané platformě. Konec konců určitě každý zná ze svého okolí aplikace, kde jedině tento model skutečně odpovídá realitě toho, co aplikace dělá. Co je v MDA objevného? Z uvedeného výčtu by se mohlo zdát, že OMG "vymyslelo kolo", neboť to, že je potřeba vytvářet analytický model (PIM) a návrhový model (PSM), víme již dávno. Nicméně síla MDA není ani tak v členění modelů, jako v tom, že definuje způsob a postup transformace modelů. Opět se nejedná o žádnou magii, ale o aplikaci osvědčených praktik, především zkušeností z použití návrhových vzorů (Design Patterns). Nejzajímavější je otázka transformace platformově nezávislého modelu (PIM) do platformově specifického modelu (PSM). Transformace PIM -> PSM Postup transformace dle MDA je zhruba následující: PIM model je doplněn mapovacími značkami, které definují, jaká obecná transformační pravidla budou použita. Pro PIM model (resp. jeho části) je zvolena implementační platforma. Na základě mapovacích značek jsou provedeny odpovídající transformace již s ohledem na zvolenou platformu. Tento postup je schematicky znázorněn na následujícím obrázku spolu se snímkem "značkování" PIM modelu. 13
14 Obrázek 2 - [7] - Transformace PIM na PSM MDA mapovací značkou je obecně definováno, jakým způsobem bude realizována asociace, kterou vytvořil analytik. Jedná se v podstatě o přiřazení obecnějšího návrhového vzoru příslušnému modelovému elementu. Konkrétní způsob realizace pak může být pro různé platformy jiný, takže z jednoho "značkovaného" modelu PIM je možné odvodit různé PSM modely. Při tvorbě PSM modelu pro zvolenou platformu je pak rozvinut aplikovaný návrhový vzor, čímž dojde k doplnění příslušných implementačních atributů, operací nebo i celých tříd a tím vznikne základ platformově specifického modelu. Důležité je to, že přidané implementační prvky jsou označeny jako modelově závislé (MDA doporučuje používat značku řecké pí) a ve výsledném PSM modelu je tak dobře vidět, co jsou prvky převzaté z analýzy a které prvky byly přidány až v návrhu. Kde je flexibilita? Přínos koncepce Model Driven Architecture je tedy především v tom, že jasně definuje, co je analytický model, co je návrhový model a jak provádět jejich transformaci. Cílem je, aby aplikace byla popsána na různých úrovních abstrakce a tím pádem je značně usnadněno konzistentní promítání změn v aplikaci. Další pozitivní důsledek je standardizace návrhu, která umožňuje zvýšit kvalitu aplikací. A co je důsledkem toho všeho? Především snížení nákladů na údržbu aplikací, tedy peníze, o které jde jako obvykle až v první řadě. 14
15 2. Vývojová prostředí 2.1. Eclipse [8] Eclipse je velmi populární nástroj, vyvinutý původně gigantem na poli informačních technologií, firmou IBM, později (na konci roku 2001) byl však uvolněn pod open source licencí. O další vývoj tohoto produktu se stará konsorcium Eclipse za tímto účelem založené. Eclipse byl původně pouhým vývojovým prostředím určeným pro Javu, nyní se ale projekt rozrostl natolik, že samotný IDE nástroj je jen jednou z mnoha komponent vývojové platformy, kterou dnes Eclipse je. Stal se tak velmi robustním nástrojem vhodným pro vývoj softwaru jakéhokoliv rozsahu. Je napsaný v jazyce Java, díky čemuž je nezávislý na platformě. Vývojářům se navíc podařilo odstranit největší problém programů napsaných v Javě rychlost odezvy uživatelského rozhraní. Programy v Javě mají totiž díky architektuře jazyka Java (musí být snadno přenositelný) pomalejší odezvy, a tak na pomalejších počítačích trvá déle, než se například rozvine menu apod. Díky tomu, že byly pro tento produkt vyvinuty knihovny SWT/JFace, které jsou napsané zčásti v nativním kódu dané platformy, je program velmi svižný. Uživateli je totiž předkládáno menu, které je z velké části napsáno v jazyku samotného systému, na kterém Eclipse běží Architektura Eclipse To, co je nazýváno platformou Eclipse, je vlastn jakýsi framework, postavený na několika základních komponentách Platform runtime, Workspace, Workbench, Team Support, and Help. Platform run-time Platform run-time je samotné jádro celého frameworku. Jeho úkolem je při spuštění zjistit, které pluginy jsou nainstalovány a vyvořit o nich jakýsi registr informací, na jehož základě jsou pak spravovány. Všechny pluginy jsou nahrávány až v případě potřeby, čímž se minimalizuje čas potřebný ke startu aplikace. Vše kromě tohoto jádra je v Eclipse implementováno v podobě pluginu. Workspace Jde o plugin, který má na starosti resource management z pohledu uživatele. Zdroji se v tomto případě myslí projekty, které uživatel tvoří, a soubory v nich uložené. Workspace má také na starosti 15
16 upozorňovat jiné pluginy na změny v těchto zdrojích například vytvoření nových souborů nebo změny v těch existujících. Workbench Wokbench poskytuje uživatelské rozhraní, tedy samotný editor a další viditelné části aplikace, se kterými se uživatel setkává. Jak již bylo zmíněno výše, díky knihovnám SWT/JFace, které pracují s nativními grafickými prvky konkrétního operačního systému, na kterém zrovna Eclipse běží. To ovlivňuje nejen rychlost odezvy rozhraní, ale také jeho vzhled vypadá díky tomu mnohem přirozeněji, jako ostatní nativní aplikace daného systému. Team support Tato komponenta, jak už její samotný název napovídá, dodává podporu pro práci programátorských týmů. Jde hlavně o kontrolu verzování. Help Komponenta Help se stará o správu dokumentací k pluginům. Poskytuje jednotnou navigaci nad dokumenty dodávanými s jednotlivými moduly ve formě html souborů Rozšiřitelnost Eclipse Eclipse je celou svou filozofií postaveno na myšlence rozšiřitelnosti pomocí pluginů. Díky kompletně otevřené technologii jde vývoj rychle a proto jich je k dispozici obrovské množství - uvádí se že v současnosti téměř Nástroj původně zaměřený čistě na Javu se díky tomu stal vyhledávaným prostředím i mezi vývojáři v C++, PHP, Ruby a dalších jazycích. Pluginy mohou být ale zaměřeny i na neprogramátory doinstalovat lze třeba podporu pro značkovací jazyk pro tvorbu dokumentů LaTeX. Vývoji pluginů je věnovaný celý portál, Eclipse Plugin Central (EPIC), umístěný na adrese Pod hlavičkou Eclipse vznikají také sofistikovanější aplikace, nazývané Eclipse Projects. Tyto projekty jsou obvykle kolekcí více pluginů postavených na jádru Eclipse (platform run-time, viz výše). Projektů je několik desítek a nalezneme mezi nimi aplikace zaměřené na nejrůznější oblasti, jako například business intelligence, vývoj aplikací pro mobilní zařízení, modelování, vývoj SOA aplikací, server-side frameworky, testovací nástroje a mnoho dalších Podpora modelování Vzhledem k ohromnému množství pluginů není překvapivé, že se je jich mnoho zaměřených i na modelování. Na Eclipse Plugin Central je pod tagem UML v současnosti přes 30 pluginů, pod tagem modeling dokonce přes 60! Pluginy jsou sice obvykle relativně úzce zaměřeny, ale víceméně na každý myslitelný problém zde lze najít řešení. Mnohé z pluginů podporují i plnohodnotný roundtrip engineering, i když obvykle jen pro konkrétní programovací jazyk. Hlavním problémem je tedy spíše jak si správně vybrat, protože možností je skutečně až příliš mnoho. Aby toho nebylo málo, existuje navíc Eclipse Modeling Project (EMP), který je jedním z řady projektů zmíněných výše. Jde o profesionální řešení, jehož vývoj je řízen mateřskou firmou IBM ve spolupráci s dalším známým jménem na poli vývoje softwaru - společností Borland. Cílem EMP je sjednotit již existující projekty zaměřené na modelování pod jedním rámcem, který zaručí jednotnost 16
17 ve sdílení dat, sladění používání standardů a tak dále. Eclipse Modeling Project obsahuje nástroje pro tvorbu modelů, jejich validaci a transformaci a podporuje forward i reverse engineering Netbeans [9] NetBeans je oblíbené open source IDE s rozsáhlou uživatelskou základnou. Vyvíjeno bylo původně stejnojmennou českou firmou, od které projekt v roce 1991 zakoupil Sun Microsystems. V roce 2000 pak byl celý projekt uvolněn jako open source. Netbeans má mnoho společných rysů s Eclipse napsáno je v jazyce Java a pro programování v Javě je primárně určeno. Pomocí zásuvných modulů lze ale rozšířit funkčnost i na jiné jazyky (C++, PHP, Ruby, webové jazyky - Javascript, Ajax a další..). Díky kódu v Javě je snadno přenositelné a k dispozici jsou tak verze pro Windows, Linux, MAC OS X a Solaris. Netbeans nabízejí kromě klasických funkcí editoru kódu i spoustu funkcí navíc, jmenovat můžeme například podporu pro tvorbu aplikací pro mobilní zařízení (Visual Mobile Designer a Mobile Game Builder), nebo nástroje pro návrh aplikací postavených na architektuře SOA. Dlužno dodat, že většina nadstandardních funkcí je k dispozici pouze pro Javu, což dělá z Netbeans IDE výrazně orientované na tento programovací jazyk. Stejně jako u Eclipse je díky důrazu kladenému na modularitu možné funkce nabízené tímto nástrojem výrazně rozšířit i dále, než jen přidáním podpory pro další programovací jazyky. Mezi pluginy nalezneme například RAD nástroje pro tvorbu designu grafických aplikací, pomůcky pro debugging, nástroje pro rychlejší tvorbu webových stránek a další Podpora modelování Prostředí Netbeans má podporu modelování zabudovanou přímo v základním balíku v podobě pluginu pro práci s UML. Tento plugin plně podporuje forward i reverse engineering, čili jak generování modelu z kódu, tak i oobrácený postup generování kódu z modelu. Vygenerovaný kód může být sloučen s již existujícími částmi vyvíjené aplikace a modely jsou průběžně aktualizovány na základě změn provedených v kódu. Veškerá tato funkčnost je však bohužel podporována pouze pro Javu, což jen potvrzuje to, co již bylo řečeno výše Netbeans je i přes podporu jiných jazyků prostředí primárně určené pro programování v Javě, v případě ostatních jazyků se o plnohodnotném vývojovém prostředí nedá hovořit. Pro úplnost je nutné dodat že plugin ovládá tvorbu osmi základních UML diagramů: Activity, Class, Collaboration, Component, Deployment, Sequence, State a Use Case diagram. Velkou výhodou je možnost importovat diagramy uložené v XML, díky čemuž je možné pracovat i s modely vyvtvořenými v jiných nástrojích. Z široké nabídky pluginů lze stáhnout další specializované moduly zaměřené například na datové modelování, na návrh MDA Model Driven Architecture a další Visual Studio [10] Visual Studio je komplexní sada nástrojů pro vývoj aplikací v prostředí Windows a.net Frameworku. Orientuje se tedy jak na klasické desktopové, tak i na webové aplikace. Jde o velmi robustní aplikaci, 17
18 která podporuje jazyky C/C++ a Visual Basic, v.netové formě pak Visual Basic.NET, Visual C#, Visual J# a C++. Visual Studio celkem pochopitelně není distribuováno jako open source, na druhou stranu jde o nejkomplexnější prostředí ze všech, která jsou obsahem této práce. V rámci podpory boje o zákazníka bylo rozděleno do čtyř verzí podle cílové skupiny, které je daná verze určena: produkt Určeno pro charakteristika Visual Studio Express Visual Studio Standard Začátečníky, studenty, na vyzkoušení Příležitostné programátory a neprofesionály Jednotlivě oddělené produktové řady zaměřené na výuku jazyků C++, C# a Visual Basic případně web technologií. Jednotné, komplexní prostředí pro tvorbu webových i desktopových aplikací. Visual Studio Professional Profesionály pracující jednotlivě - samostatně Visual Studio Team System Všechny vývojáře, architekty, testery, projektové manažery a ostatní, zejména ty, kteří pracují ve skupině Profesionální nástroj pro tvorbu mobilních, webových desktopových a víceúrovňových aplikací s integrovanou podporou vývoje pro MS Office. Komplexní balík toho nejlepšího co lze nabídnout pro opravdové vývojáře a celé vývojové týmy včetně týmové infrastruktury. (tabulka převzata z webu společnosti Microsoft) Class Designer Komponenta Class Designer je částí Visual studia sloužící k modelování tříd a vztahů mezi nimi (dědičnosti, asociace atd.). Nejde o UML, ale o vlastní notaci vyvinutou Microsoftem, která vznikla proto, že UML vývojářům Microsoftu jednoduše nestačilo. Nicméně podobnost s UML je značná a proto orientace v modelech nedělá cvičenému oku problém, jak se můžeme přesvědčit na přiloženém obrázku. 18
19 Výhodou Class Designeru je fakt, že jde o skutečně nativní komponentu Visual Studia a provázanost s prostředím a hlavně s kódem je proto na maximální možné úrovni. Podpora forward i reverse engineeringu je proto samozřejmostí. Class Designer má ale i jednu poměrně vlekou nevýhodu, která zřejmě vyplývá z využívání vlastního jazyka pro modelování modely není možné exportovat jinak než ve formě obrázku! Je proto možné je sdílet pouze mezi vývojáři používajícími Visual Studio, přenos do jiných nástrojů není možný Delphi [11] Deplhi je grafické vývojové prostředí zaměřené na rapidní vývoj aplikací pro platformy Windows a/nebo.net. Stejně jako v případě Visual Studia, i Delphi jsou ryze komerčním produktem. Prostředí bylo dříve vyvíjeno firmou Borland, která ale relativně nedávno svůj produkt prodala a o další rozvoj se nyní stará společnost Codegear. Prostředí Delphi je specifické tím, že bylo vždy postaveno na jazyce Pascal, respektive na jedné z jeho odnoží Borland Pascalu. Nyní pracuje s jeho klonem nazvaným jednoduše Delphi, ale podporuje i C++ a C#. Delphi se také vyznačuje velkým důrazem na aplikace postavené nad databázemi. Rapidní vývoj aplikací v Delphi je založen na používání předem připravených komponent. Komponenta je malý program (balíček funkcí), který vykonává určitou činnost (například zobrazuje text nebo obrázky, přehrává multimédia, komunikuje s databází, zprostředkovává FTP přenos, atd ). Velkou předností Delphi proti některým konkurenčním produktům jsou knihovny komponent, které jsou jejich součástí (např. VCL, CLX, Indy ). Dodávané komponenty významně usnadňují tvorbu 19
20 aplikací. Další komponenty lze stáhnout z internetu (některé jsou zadarmo, některé se musí koupit). V Delphi lze samozřejmě i vytvářet vlastní komponenty. Hlavní nevýhodou Deplhi je fakt, že prostředí je určeno pouze pro Windows. Dříve existoval port pro Linux, nazvaný Kylix, nicméně vývoj této verze byl již zastaven Model Maker Model Maker je komponenta Delphi určená k modelování celého životního cyklu projektu. Jde o původně samostatný program, který byl později do prostředí Delphi integrován. Model Maker je velmi robustní řešení, oplývající velkou škálou funkcí dá se říci že je mnohem více než jen CASE nástrojem. Vhodná formulace je code management tool - nástroj ke správě kódu. Model Maker nabízí plnohodnotný round-trip engineering, čili jakákoliv změna v kódu se automaticky zanese do příslušné třídy v modelu, například přidáním metody, a naopak změny v modelech jsou příslušně reflektovány v kódu aplikace. Kromě toho ale Model Maker nabízí i další funkce, jako je například refaktoring. Tímto názvem je označován proces, kdy se kód čistí kvůli lepší čitelnosti a jednoduchosti aniž by se měnila jeho vnější funkčnost. Z dalších funkcí můžeme zmínit například podporu design patterns, neboli návrhových vzorů, což je něco jako šablona navržená k řešení nějakého problému, který se při programování různých aplikací typicky opakuje. Model Maker také nabízí například nespočetné pohledy na modely, filtrování tříd, jejich různé hierarchické uspořádání a další pomůcky. S tím je však spojena jedna nevýhoda Model Maker je pro začátečníka až příliš komplexní aplikací a jeho ovládání může uživatele ze začátku snadno odradit, neli vyděsit. Překonat úvodní nechuť se ale v tomto případě určitě vyplatí. 20
21 3. CASE nástroje 3.1. Visual Paradigm for UML 6.2 [12] Společnost Visual Paradigm International sídlící v Hong Kongu nabízí sadu nástrojů pro vývoj aplikací řízený modelem (MDD), databázové modely, business procesy, agilní modelování a UML modelování. Důraz klade na integraci s IDE a podporu týmové spolupráce. V dalším textu se zaměřím konkrétně na nástroj Visual Paradigm for UML, v aktuální verzi 6.2. Klíčové argumenty pro volbu Visual Paradigm for UML 6.2: Podpora UML 2.1 Generování a reverse engineering více než 10 programovacích jazyků o Generování a RE: Java, C++, CORBA IDL, PHP, XML Schema, Ada, Python o Pouze generování: C#, VB.NET, Object Definition Language (ODL), Flash ActionScript, Delphi, Perl, Objective-C a Ruby o Reverse engineering podporuje také Java třídy,.net dll a exe, JDBC a mapovací soubory databázového frameworku Hibernate Rychlá odezva a pohodlná práce díky technologii Lazy-Loading, která umožňuje otevření až 2000 projektů najednou Podpora round-trip engineering v Javě Vysoká kompatibilita o Import/export XMI souborů o Import/export pomocí vlastního otevřeného XML formátu o Import projektů z Rational Rose Produkt získal četná ocenění 21
22 Přehled klíčových vlastností UML modelování o Podporované diagramy: Class, use case, sequence, communication, activity, deployment, object, timing, state machine, component, package, composite structure, interaction overview o Detailní editor případů užití o Synchronizace mezi řetězem událostí a sekvenčním diagramem o Řetězec událostí pro modelování komunikace mezi aktérem a systémem o Přiřazení atributu Business model u aktérů a případů užití Databázové modely Objektově-relační mapování Kompatibilita o Import projektů Telelogic Modeler, ERwin, Rational Rose o Import/export XML, XMI a UML2 modelů založených na EMF o Import/export případů užití z/do MS Word o Podpora příkazové řádky o Generování BPEL kódu pro workflow JBoss a Oracle o Export do PDF o Export do JPG, PNG, SVG a EMF o Rozdělování diagramů pro export Integrace s IDE o Integrace do všech běžných vývojových prostředí o Podpora zdrojového kódu v různých programovacích jazycích o Automatická synchronizace kódu a modelu o Import VP projektu do IDE Modelování požadavků o Diagramy požadavků o CRC Card diagramy o Identifikace kandidátů na třídy, případy užití, akce a aktivity o Analýza textů o Nástroj pro návrh uživatelského rozhraní o Kategorizace uživatelských požadavků Modelování business procesů Podpora teamové spolupráce o Podpora VP TeamWork Server (běží na platformě Java) o Podpora systémů pro správu verzí CVS a Subversion o Konkurenční a kolaborativní modelování o Aktualizace lokální kopie projektu o Porovnávání revizí o Větvení a tagování projektů o Export revizí o Správa konfliktů o Správa větví Správa zdrojového kódu o Reverse engineering zdrojového kódu v Java o Forward engineering z diagramu tříd o Java round-trip engineering Generování dokumentace o Generování do formátů PDF, HTML a MS Word 22
23 o Inteligentní řazení a organizace částí dokumentace Ukázka uživatelského rozhraní Minimální systémové požadavky Visual Paradigm for UML 6.2 Objekt Požadavek Hardware CPU Paměť Pevný disk Video CD mechanika Intel Pentium III a kompatibilní, 1.0 GHz 256 MB 400 MB neuvádí volitelně 23
24 Software Operační systém Integrované vývojové prostředí (IDE) Java Internetový prohlížeč Microsoft Windows (98, 2000, XP, or Vista) Linux Mac OS X Solaris a další platformy podporující Javu Eclipse 3 a vyšší IntelliJ IDEA 4 a vyšší (připraveno na 6.0) JBuilder 9 a vyšší JDeveloper 10g (10.1.2) NetBeans 4.0 a vyšší (připraveno na 5.0) Sun Studio Enterprise WebLogic Workshop 8.1 a vyšší neuvádí neuvádí Přehled novinek v poslední verzi Poslední verze nástroje nabízí následující novinky a rozšíření: Mind mapping diagramy o Diagram pro uchovávání nápadů, myšlenek a poznámek formou síťových grafů Nicknamer o Přiřazování alternativních názvů a popisu modelu a jeho prvkům využitelný například pro internacionalizaci/lokalizaci v mezinárodních týmech Advance Requirement Modeling o Kategorie uživatelských požadavků pro jejich snazší organizaci a vizualizaci Freehand shapes o Vlastní tvary pro anotaci, rozdělení a organizaci diagramů Model Transitor o Odkazování společných elementů napříč modely Integrace s IDE Visual Paradigm for UML nabízí tyto možnosti integrace s IDE: Integrace do všech běžných vývojových prostředí Podpora zdrojového kódu v různých programovacích jazycích Automatická synchronizace kódu a modelu Import VP projektu do IDE 24
25 3.2. Borland Together 2007 [13] Borland Together je sadou nástrojů od americké společnosti Borland Software Corporation sídlící v Texasu v USA. Mottem produktu je tvorba aplikací, které respektují potřeby podniku, je klíčem k úspěšnému návrhu architektury [13]. Sada podporuje procesy analýzy, návrhu a implementace software s důrazem na flexibilitu a schopnost přizpůsobit se změnám v požadavcích. Nástroje sady Together by měly sloužit ke snazší spolupráci a synchronizaci business a systémových analytiků, software architektů, databázových specialistů a vývojářů. Klíčové argumenty pro volbu nové verze Borland Together 2007 zahrnují: DSL (doménově specifický jazyk) pro modelování konkrétní problémové domény Vytváření UML 2 a BPMN modelů pro generování a import v jazycích využívaných pro vykonávání procesů (BPEL4WS) Automatizovaný návrh a revize kódu zahrnující audity a metriky na úrovni modelu i kódu Audity a metriky založené na OCL 2.0 Podpora MDA včetně Query View Transformation a OCL 2.0 se zvýrazněním syntaxe, validací, podporou ladění a vyhodnocováním výrazů Plně přizpůsobitelné šablony pro generování dokumentace z modelů a požadavků Přehled klíčových vlastností Uvádíme přehled klíčových vlastností sady nástrojů Borland Together Novinky oproti předchozí verzi jsou zvýrazněny tučně [14]. Sada nástrojů pro doménově specifický jazyk (DSL) o Vizuální modelování DSL metamodelů o Průvodce pro vytváření DSL řešení včetně editoru diagramů, transformací modelů, generátoru kódu a BIRT reportů (integrováno v Eclipse) o UML 2.1 diagramy založené na GMF (aktivity, třídy, komponenty, stavy, profily) Modelování business procesů o BPMN s ověřováním správnosti o Import a export BPEL pro webové služby (BPEL4WS) UML modelování o Podpora jazykově-neutrálního UML 1.4 a UML 2.0 o Modelování s LiveSource for Java/C++/CORBA IDL o Podpora více jazyků Datové modelování o Logické/konceptuální datové modely s využítím UML 2.0 pro datové modely o Fyzické datové modely v notaci ER a IDEF1x o Forward a Reverse engineering pro přední DBMS (Oracle, DB2, Sybase, MS SQL Server) o Transformace logických modelů do fyzických Pokročilé modelování a MDA o Podpora OCL 2.0 včetně zvýraznění syntaxe, validace a napovídání kódu o OMG QVT pro transformaci modelů o Transformace modelů do textu pomocí xpand, JET a EMF API o Generování zdrojového kódu Java, J2EE, C++ a generování C# o Podpora návrhových vzorů Gang of Four o Rozpoznávání návrhových vzorů ve zdrojovém kódu o Šablony a znovupoužitelné útržky kódu o Import/export modelů v XMI o Import modelů Rose a XDE 25
26 Generování dokumentace o Generování HTML portálu s navigačním appletem, linkovanými diagramy a reportu o modelu a zdrojovém kódu ve stylu Javadoc o Generování obrázků diagramů v několika formátech o Šablony pro customizaci dokumentace a diagramů pro tisk a automatické generování dokumentace z příkazové řádky Řízení kvality modelu a kódu o Audity a metriky zdrojového kódu o Audity a metriky modelu založené na OCL Podpora týmové spolupráce o Sdílení diagramů a modelů mezi projekty se správou verzí o Integrace s produktem Borland StarTeam o Generování diagramů užití z požadavků a sledování jejich vzájemné vazby o Import požadavků z Caliber DefineIT Platforma o Eclipse Ukázka uživatelského rozhraní Minimální systémové požadavky Borland Together 2007 Objekt Požadavek 26
27 Hardware CPU Paměť Pevný disk Video CD mechanika neuvádí 1 GB neuvádí 1024x768 high color volitelně Software Operační systém Windows Vista, XP Pro (SP2) RedHat Enterprise Linux 4 update 2, x86-32 SUSE Linux Enterprise Server 10, x86-32 Solaris 10 SPARC, GTK Mac OS X 10.4, Universal, Carbon Integrované vývojové prostředí (IDE) Eclipse Java Sun J2SE 5.0 Update 11 Internetový prohlížeč internetový prohlížeč podporující rámce Změny v poslední verzi V poslední verzi byla přidána nebo zlepšena podpora v těchto oblastech [15]: Podpora generování zdrojového kódu C# pro MS.NET Notace Visual Brainstorming umožňuje připojovat k modelům poznámky vhodné např. pro uvedení příkladů implementace doménově specifického jazyka. Rozšíření podpory Queries/Views/Transformations (QVT) nové vlastnosti jazyka a noví průvodci pro zjednodušení tvorby a implementace transformací BIRT reporting nástroje pro business intelligence a reporting usnadňují generování standardizované dokumentace Integrace s IDE Borland Together nabízí následující možnosti integrace s IDE: UML modelování Generování dokumentace 27
28 3.3. Sparx Systems Enterprise Architect 7.1 [16] Enterprise Architect je software firmy Sparx Systems, která sídlí ve Victorii v Austrálii. EA je komplexní nástroj pro UML analýzu a návrh, pokrývající vývoj software od sběru požadavků, přes analýzu, návrh až po testování a údržbu. EA je víceuživatelský grafický nástroj podporující tvorbu robustního software a jeho snadnou údržbu. EA umožňuje generování přehledné a flexibilní dokumentace. Nástroj podporuje jednotlivé součásti vývojové cyklu software z pohledu analytiků, testerů, projektových manažerů, pracovníků řízení kvality a pracovníků zajišťujících nasazení a provoz systémů. V dalším textu se budeme věnovat nejnovější verzi Enterprise Architect 7.1. Argumenty pro využití software Enterprise Architect: Podpora modelování založeného na specifikaci UML 2.0 Vlastní komponenty pro modelování procesů Generuje kvalitní dokumentaci kompatibilní s MS Word Intuitivní a snadné použití Nízká cena licence Datové modelování včetně forward engineeringu do DDL a reverse engineeringu z ODBC Víceuživatelské prostředí v edicích Professional a Corporate Forward a reverse engineering podporující ActionScript 2.0, Javu, C#, C++, VB.Net, Delphi, Visual Basic, Python a PHP Import/export XMI Kontrola pravopisu Přehled klíčových vlastností V poslední verzi nabízí Enterprise Architect tyto vlastnosti: Komplexní podpora UML 2.1 o Podpora všech 13 UML 2.1 diagramů Behaviorální: se Case, Activity, State, Interaction Overview, Sequence a Communication Strukturální: Package, Class, Object, Composite, Component a Deployment Uživatelské rozhraní o Vlastní uspořádání pracovní plochy o Dokovatelná okna o Komplexní systém menu a panelů s nástroji Podpora MDA transformace o Transformace plně řízené šablonami o Vestavěné transformace pro DDL, Javu, C#, EJB, XSD o Forward generování a synchronizace PSM a PIM o Každý PIM může náležet více PSM modelům Generování dokumentace o WYSIWYG šablony pro generování RTF dokumentů o Šablony pro všechny prvky modelů a dalších dat v EA o Šablony pro hlavičky, patičky, obsah stránek, obrázky, vnořené tabulky a další o Filtry a kritéria pro selekci výstupu o Archiv znovupoužitelných šablon o Kompatibilita s MS Word o Generátor HTML reportů o Reporty pro metriky případů užití, testy, apod. o Vestavěný editor textových dokumentů Forward a reverse engineering 28
29 o Předdefinované nebo vlastní šablony pro generování zdrojového kódu o Možnost přidat další programovací jazyky o Zvýrazňování syntaxe s možností rychlého uložení a synchronizace o Vestavěná podpora C++, Java, C#, VB.Net, Visual Basic, Delphi, PHP, Python a ActionScriptu o Podpora CORBA pomocí volně dostupného rozšíření (plug-in) Integrace s vývojovými prostředími o MDG Link adaptéry pro konkrétní IDE o Procházení, reverse engineering a propojení modelu na projekt v IDE o Odkazování z EA na zdrojový kód tříd, atributů a funkcí v IDE o Možnost sestavení a spuštění projektu z EA menu o Zobrazení chyb při kompilaci v EA Rozšiřitelnost o Rozšiřitelné o další programovací jazyky, modelovací profily o Import šablon, gramatik, datových typů, profilů a vzorů v jednom kroku o Snadná distribuce doménově specifických řešení o MDG Technology pro snazší sestavování Technology souborů Datové modelování Sdílení modelů o Sdílení.EAP souborů na síťovém disku (malé pracovní skupiny) o Replikace.EAP souborů v distribuovaných prostředích o Podpora repository v DBMS Oracle, MS SQL Server, MySQL, PostgreSQL o XMI import/export pro distribuci a aktualizaci modelů o Podpora správy verzí o Průvodce pro přenos dat o Možnost exportu a importu základních referenčních dat pro odstranění duplicit a zvýšení znovupoužitelnosti Správa verzí o Správa verzí na úrovni balíčků o Podpora CVS a SCC o Nástroj pro srovnávání verzí Podpora XML Schema o Forward i reverse engineering XML Schema do/z modelů Správa požadavků o Agregace, kompozice, zapouzdření a další komplexní vazby mezi požadavky o Hierarchický a maticový pohled o Propojení požadavků na prvky modelů o Nástroj pro porovnávání změn požadavků o Správa verzí požadavků Import/export modelů o Podpora XMI importu/exportu o Podpora XML importu/exportu pro nástroje třetích stran Podpora testování Podpora údržby Podpora řízení projektů Podpora WSDL engineering o Forward a reverse enigneering WSDL do/z UML o Generování XSD definice datových typů o Vestavěný profil pro generování definic a rozhraní webových služeb Podpora víceuživatelského prostředí o Podpora uživatelských skupin o Možnost nastavit různá oprávnění pro uživatele/skupiny 29
30 o 2 pracovní přístupy: volný přístup a přístup se zamykáním modelů Ukázka uživatelského rozhraní Minimální systémové požadavky Enterprise Architect 7.1 Objekt Požadavek Hardware CPU Paměť Pevný disk Video CD mechanika Intel Pentium a vyšší 128 MB 70 MB 800x600 volitelně Software 30
31 Operační systém Integrované vývojové prostředí (IDE) Java Internetový prohlížeč Microsoft Windows NT 4.0 (SP 5), Windows 2000, Windows XP, Windows Vista (32bit) nebo Windows 2003 Linux (kernel 2.4 a vyšší) Nepotřebuje Neuvádí Neuvádí Změny v poslední verzi Poslední verze aktualizuje a rozšiřuje novinky, které přinesla verze 7.0: Podpora mind mapping o Diagram pro uchovávání nápadů, myšlenek a poznámek formou síťových grafů Podpora SysML o Nadstavba pro specifikaci, analýzu a modelování rozsáhlých systémů, sdružování a organizaci modelů, apod. o Podpora všech 9 SysML 1.0 diagramů Podpora BPMN o Podpora notace pro modelování business procesů Integrace s IDE Enterprise Architect nabízí tyto možnosti integrace s IDE: UML modelování Generování dokumentace (rich text a HTML) Navigace mezi kódem a modelem Vizualizace a modelování databázových schémat, WSDL a XSD Vestavěné fórum pro diskuzi nad modelem 31
32 3.4. Sybase Power Designer 12.5 [18] Power Designer je nástroj americké společnosti Sybase pro modelování a správu metadat, který podporuje tvorbu a re-engineering software. Power Designer pomáhá implementovat efektivní architekturu prostřednictvím pokročilých nástrojů pro analýzu a návrh v rámci vývojového cyklu software. Diagram integrace a synchronizace modelů podporovaných Power Designerem: Zdroj: Přehled klíčových vlastností [19] Správa požadavků o Synchronizace a import z MS Word o Sběr, správa, propojení a archivace požadavků o Hierarchický, uživatelský a maticový pohled Generování dokumentace o Průvodce pro generování dokumentace ve formátech Excel, HTML a RTF Analýza dopadu změn o Analýza dopadu změn v modelu směrem nahoru i dolů Informační/datové mapování o Objektově-relační mapování o Mapování XML na databázové objekty o Propojení/mapování na datový sklad Otevřenost o Podpora více než 60 databázových systémů o Podpora nejpoužívanějších programovacích jazyků o Podpora otevřených standardů pro modelování business procesů Rozšiřitelnost o Úpravy GUI o Podpora profilů o Podpora MDA o Podpora skriptování Integrace 32
33 o Pluginy pro Eclipse, MS Visual Studio, PowerBuilder s automatickou synchronizací kódu, podporou všech typů modelů a správy požadavků o Správu požadavků lze integrovat s Microsoft Team System Enterprise repository o Podpora týmové spolupráce o Metadata management o Analýza dopadu změn napříč modely o Vyhledávání a opětovné použití objektů napříč modely o Otevřená struktura databázových tabulek pro snadný SQL reporting Podpora SOA, BPMN o Generování a reverse engineering SOA prostřednictvím BPMN, ebxml a BPEL4WS Objektové modelování UML o Podpora UML 1.x a 2.x Datové modelování o Konceptuální, logické a fyzické datové modely o Konceptuální a logické datové modely propojené na více fyzických datových modelů ETL, EII a replikační modelování o Dokumentování etap přesunů dat při implementaci/nasazení Round-trip engineering o Pro datové modelování s databázemi Oracle, IBM DB/2, Microsoft SQL Server, Sybase, MySQL, NCR Teradata a další o Pro objektové modelování v Java J2EE, C#, VB.NET, PowerBuilder, XML, C++, Web Services Podpora týmové spolupráce o Podpora víceuživatelského prostředí Správa rolí o Logování o Podrobné nastavení oprávnění 33
34 Ukázka uživatelského rozhraní Minimální systémové požadavky Sybase Power Designer 12.5 Objekt Požadavek Hardware CPU Paměť Pevný disk Video CD mechanika Intel Pentium 500 MHz 256 MB 500 MB 800x600 volitelně Software Operační systém Microsoft Windows XP, Vista (32bit) nebo Windows 2003 Linux (kernel 2.4 a vyšší) 34
Obsah. Zpracoval:
Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč
CASE nástroje. Jaroslav Žáček
CASE nástroje Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within
CASE. Jaroslav Žáček
CASE Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? Definice dle SEI A CASE tool is a computer-based product aimed at supporting one or more software engineering activities
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
Modelování procesů s využitím MS Visio.
Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo
X36SIN: Softwarové inženýrství. Životní cyklus a plánování
X36SIN: Softwarové inženýrství Životní cyklus a plánování 1 Kontext Minule jsme si řekli, co to je deklarace záměru, odborný článek, katalog požadavků, seznam aktérů a seznam událostí. Seznam aktérů a
Unifikovaný modelovací jazyk UML
Unifikovaný modelovací jazyk UML Karel Richta katedra počíta tačů FEL ČVUT Praha richta@fel fel.cvut.czcz Motto: Komunikačním m prostředkem informační komunity se postupem času stala angličtina. Chcete-li
UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz
UML a jeho použití v procesu vývoje Jaroslav Žáček jaroslav.zacek@osu.cz Různé pohledy na modelování Různé pohledy na modelování Unified Modeling Language UML není metodikou ani programovacím jazykem,
MBI - technologická realizace modelu
MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,
Analýza a Návrh. Analýza
Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,
Vývoj informačních systémů. Přehled témat a úkolů
Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze
GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím
GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz
Vývoj informačních systémů. Přehled témat a úkolů
Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení
Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com
Novinky ve Visual Studio 2010 Tomáš Kroupa Tomas.Kroupa@hotmail.com O čem si dnes řekneme Visual studio 2010 (beta 2) Jazyk C# 4.0 ASP.NET 4.0.NET 4.0 Visual Studio 2010 Beta 2 Jak získat Testovací verze
PŘÍLOHA C Požadavky na Dokumentaci
PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé
Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework
Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS
PRODUKTY. Tovek Tools
jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.
Komponentový návrh SW
Komponentový návrh SW Komponentový návrh SW Komponenty jsou kompletně specifikované pomocí interface Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému
Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9
Obsah Úvod 9 Kapitola 1 Business Intelligence, datové sklady 11 Přechod od transakčních databází k analytickým..................... 13 Kvalita údajů pro analýzy................................................
Formy komunikace s knihovnami
Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence
1. Integrační koncept
Příloha č. 2: Technický popis integrace 1. Integrační koncept Z hlediska koncepčního budování Smart Administration na Magistrátu města Mostu je možno hovořit o potřebě integrace tří úrovní systémové architektury
Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz
Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/
Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?
Architektury Informačních systémů. Jaroslav Žáček
Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?
7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
Nové jazykové brány do Caché. Daniel Kutáč
Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM
UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W
UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Co je to UML Evoluce UML Diagram komponent Diagram odbavení Diagram tříd Aktivity diagram Stavový diagram Sekvenční diagram Diagram
Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika
2 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk UML, základní modely, diagramy aktivit, diagramy entit.
7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje
jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových
Modelem řízený vývoj. SWI 1 Jan Kryštof
Modelem řízený vývoj SWI 1 Jan Kryštof Související zkratky MDA ~ Architecture formální vymezení MDD ~ Development aktivita SW vývojářů MDG, MDE,... UML ~ Unified modeling language OMG ~ Object Management
UML. Unified Modeling Language. Součásti UML
UML Unified Modeling Language 1995 počátek 1997 verze 1.0 leden dnes verze 2.0 (vývoj stále nedokončen) Standardní notace OMG podpora velkých firem (Microsoft, IBM, Oracle, HP ) popisuje struktury popisuje
Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W
Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Osnova přednášky Co to je softwarové inženýrství Softwarový proces Metodika a metoda Evoluce softwarových
Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale
je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ UML UML není metodikou ani programovacím jazykem, je to pouze vizuální modelovací nastroj pro objektově orientované systémy.
Požadavky pro výběrová řízení TerraBus ESB/G2x
Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu
Návrh IS - UML. Jaroslav Žáček
Návrh IS - UML Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trochu historie neuškodí Do roku 1994 chaos ve světě objektově orientovaných metod (několik jazyků pro vizuální modelování,
Business Intelligence
Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma
Principy UML. Clear View Training 2005 v2.2 1
Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat
Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda
Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda Proces vývoje HRIS Vema Vlastnosti HRIS (Human Resources Information System) HRIS Vema Proces vývoje HRIS Vema Vema, a. s. Přední
Modelování procesů (2) 23.3.2009 Procesní řízení 1
Modelování procesů (2) 23.3.2009 Procesní řízení 1 Seznam notací Síťové diagramy Notace WfMC Notace Workflow Together Editor Aktivity diagram (UML) FirsStep Designer Procesní mapa Select Prespective (procesní
Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009
Compatibility List Verze 3.60.5 8.4.2009 GORDIC spol. s r. o. Copyright 1993-2009 1 Obsah Obsah 1 2 3 4 5 6 7 8 9 3.1 3.2 Úvodní informace Podporované databázové systémy Klientské prostředí Tlustý klient...
Seznámení s prostředím dot.net Framework
Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené
Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR
Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka
Úvod. Klíčové vlastnosti. Jednoduchá obsluha
REQUESTOR DATASHEET Úvod Requestor Service Desk poskytuje kompletní řešení pro správu interních i externích požadavků, které přicházejí do organizace libovolnou cestou. Produkt je zaměřen na vytvoření
2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování
1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
Návrh softwarových systémů - architektura softwarových systémů
Návrh softwarových systémů - architektura softwarových systémů Martin Tomášek, Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura Využívá se
1 Nástroje pro správu verzí. 1.1 Pojmy:
6. Techniky správy a organizace rozsáhlých softwarových projektů. Nástroje pro správu verzí a vývojových větví zdrojových kódů, nástroje pro automatické generování dokumentace a podporu orientace v rozsáhlých
Základy analýzy. autor. Jan Novotný http://blog.novoj.net/ 15. února 2007
Základy analýzy autor Jan Novotný http://blog.novoj.net/ 15. února 2007 V prezentaci jsou použity diagramy z: Wikipedia, Sparx UML Tutorial, Argo UML Metodiky vývoje Různé metodiky vývoje vazba na fáze
IS pro podporu BOZP na FIT ČVUT
IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod
Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele
MINISTERSTVO VNITRA odbor strukturálních fondů č.j. MV- 82945-5 /OSF Praha dne 24. listopadu 2009 Počet listů: 5 Odpověď zadavatele na otázky ze dne 20. listopadu 2009 k Zadávací dokumentaci na veřejnou
IntraDoc. Řešení pro státní správu a samosprávu. http://www.inflex.cz
Motivace IntraDoc Řešení pro státní správu a samosprávu http://www.inflex.cz Naším cílem je nabídnout pracovníkům úřadu efektivní a do detailu propracovanou podporu procesů a správu dokumentů spojených
Nástroje pro tvorbu wireframes
Nástroje pro tvorbu wireframes Tento dokument stručně popisuje dostupné nástroje, které slouží pro tvorbu modelů stránek, tzv. wireframes. Michal Pařízek v červnu 2009 vyzkoušel celkem sedm nástrojů, z
Semestrální práce CASE. aplikací a jejich vazba na CASE. Luboš Harášek;Filip Kroupa;Barbora Matoušková;Petr Pravlovský
Semestrální práce CASE Nástroje pro vývoj aplikací a jejich vazba na CASE Luboš Harášek;Filip Kroupa;Barbora Matoušková;Petr Pravlovský 1. Obsah 1. Obsah... 2 2. Úvod... 4 3. CASE... 6 4. IDE... 9 5. Nástroje
PRODUKTY. Tovek Tools
Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních
Úvod do principů objektově orientovaného programování
OBSAH DISTANČNÍHO E-LEARNINGOVÉHO KURZU PROFESNÍ RŮST ANALYTIKA OD ZÁKLADŮ (BASE) ÚVOD DO TECHNOLOGIÍ INFORMAČNÍCH SYSTÉMŮ Jak funguje počítač na základní úrovni Základy HTML Skripty ve webovských technologiích
Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme
Smysl metodiky IS/IT Koncentrovaná zkušenost Checklist na nic nezapomeneme Přínosy metodik Větší produktivita a kooperace týmů Komunikační standard Specializace projektových týmů Nezávislost na konkrétních
UML: Unified Modeling Language
UML 1 UML: Unified Modeling Language Systém kombinace softwaru, hardwaru, dat a uživatelů, která umožňuje řešení konkrétního problému Vývoj systémů vytváření systémů pro klienta Vývoj probíhá na základě
E-learningovýsystém Moodle
E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů
Sísyfos Systém evidence činností
Sísyfos Systém evidence Sísyfos : Evidence pracovních Systém Sísyfos je firemní aplikace zaměřená na sledování pracovních úkonů jednotlivých zaměstnanců firmy. Umožňuje sledovat pracovní činnosti na různých
Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody
Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který
Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz
Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty
VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL
VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL Petr Štefan Václav Trunec, KP-sys, Čacké 155, Pardubice 1 Úvod Firma KP-SYS spol. s r. o. dodává na náš trh integrované
Olga Rudikova 2. ročník APIN
Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová
Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013
Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521
Návrh softwarových systémů - architektura softwarových systémů
Návrh softwarových systémů - architektura softwarových systémů Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura 2 Využívá se v různách oborech
Dominik Vymětal. Informační technologie pro praxi 2009, Ostrava 1.-2.10.2009 1
Dominik Vymětal 2009, Ostrava 1.-2.10.2009 1 Procesní model Výhody Orientace na konkrétní činnosti a možnost reengineeringu Nevýhody Malá orientace na průřezové nebo opakované činnosti Modely na základě
Využití modelovacích nástrojů ve vývojářské firmě
Vysoká škola ekonomická v Praze IT_572 Prostředky CASE a jejich využití při tvorbě IS Využití modelovacích nástrojů ve vývojářské firmě 11. prosince 2005 Jiří Pelc Petr Medřický Michal Pešička 1.Obsah
8 Přehled OO metodik (metod, metodologií)
8 Přehled OO metodik (metod, metodologií) 8.1 OO metodiky konce 80. a začátku 90.let - všechny populární OO metodiky předpokládají, že: a) zadavatel má jasný názor na svoje požadavky, b) zadavatel a vývojáři
Systémy pro podporu rozhodování. Hlubší pohled 2
Systémy pro podporu rozhodování Hlubší pohled 2 1 Připomenutí obsahu minulé přednášky Motivační příklad Konfigurace DSS Co to je DSS? definice Charakterizace a možnosti DSS Komponenty DSS Subsystém datového
EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.
Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má
PRODUKTY Tovek Server 6
Tovek Server je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených strukturovaných i nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně
Project management. Příprava projektu Zahájení High level plánování. Vykonávání Detailní plánování Vykonávání Řízení a monitorování
Project management Project management Příprava projektu Zahájení High level plánování Vykonávání Detailní plánování Vykonávání Řízení a monitorování Uzavření a zhodnocení (iterace, projektu) Projekt Projekt
VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender
VY_32_INOVACE_INF.19 Inkscape, GIMP, Blender Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 INKSCAPE Inkscape je open source
Databázové systémy úvod
Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal
SW pro správu a řízení bezpečnosti
Integrační bezpečnostní SW pro správu a řízení bezpečnosti Systém je vlastním produktem společnosti Integoo. Trvalý vývoj produktu reflektuje požadavky trhu a zákazníků. Ať už je velikost vaší organizace
Analýza a návrh webových aplikací I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W
Analýza a návrh webových aplikací I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Osnova dnešní přednášky Proč tento předmět vlastně existuje? Proč nestačí standardní metodiky SI? Co standardním
RUP - Disciplíny. Jaroslav Žáček jaroslav.zacek@osu.cz
RUP - Disciplíny Jaroslav Žáček jaroslav.zacek@osu.cz Disciplíny Množství disciplíny v dané iteraci Disciplíny podle RUP Šest základních: Business modeling - pro pochopení problémové domény Requirements
Programovací jazyky Přehled a vývoj
Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování
Jiří Mašek BIVŠ V Pra r ha 20 2 08
Jiří Mašek BIVŠ Praha 2008 Procesvývoje IS Unifiedprocess(UP) Iterace vývoje Rysy CASE nástrojů Podpora metodických přístupů modelování Integrační mechanismy propojení modelů Podpora etap vývoje Generování
Základní informace. Modelování. Notace
Základní informace BPMS = business process management systems - systémy pro modelování a optimalizace business procesů uvnitř organizace BPMN = business process modeling notation - součást BPMS, notace
Analýza a design na reálném projektu. Richard Michalský
Analýza a design na reálném projektu Richard Michalský Agenda o Role analytika o Dokumentace (analytická) o Sběr a analýza požadavků o Fixace rozsahu Role analytika o Tvůrce požadavků o Zákazník zná své
Tieto Future Office. Přehled. Země: Česká republika. Odvětví: Samospráva
Tieto Future Office Přehled Země: Česká republika Odvětví: Samospráva Profil zákazníka: Magistrát města Plzeň je orgánem města Plzně, který plní jeho úkoly v oblasti územní samosprávy i státní správy na
Novinky. Autodesk Vault helpdesk.graitec.cz,
Novinky Autodesk Vault 2018 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk Vault 2018 PDF dokument obsahuje přehled novinek produktu Autodesk Vault 2018. Obsah: Úvod...
Microsoft Access tvorba databáze jednoduše
Microsoft Access tvorba databáze jednoduše Časový rozsah: 2 dny (9:00-16:00) Cena: 3300 Kč + DPH Úvod do relačních databází. Funkce databázových objektů Microsoft Access. Návrh tabulek, definice základních
8 Přehled OO metodik (metod, metodologií)
8 Přehled OO metodik (metod, metodologií) 8.1 OO metodiky konce 80. a začátku 90.let - všechny populární OO metodiky předpokládají, že: a) zadavatel jasný názor na svoje požadavky, b) zadavatel a vývojáři
TECHNIKY A CASE NÁSTROJE VÝVOJE IS
TECHNIKY A CASE NÁSTROJE VÝVOJE IS Doc. Ing. B. Miniberger, CSc Bankovní institut, VŠ (9.10. 2008) Doc. Miniberger, BIVŠ Cíle předmětu Seznámení se s problematikou vývoje informačních systémů pomocí CASE
Bc. Martin Majer, AiP Beroun s.r.o.
REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam
IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1
IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 Reporting a Monitoring Ondřej Bláha CEE+R CoP Team / Tivoli Storage Team Leader Září 2010 2010 IBM Corporation TSM 6: Reporting
3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
Elektronická podpora výuky předmětu Komprese dat
Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém
Vzdělávací obsah vyučovacího předmětu
V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny
O projektu Nasazení OpenOffice.org v praxi
O projektu Nasazení OpenOffice.org v praxi Filip Molčan molcanf@openoffice.org Konference EurOpen Hotel Relax, Moninec - 18. 5. 2005 Obsah prezentace Minulost a současnost OpenOffice.org Představení projektu
Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:
Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém
MST - sběr dat pomocí mobilních terminálů on-line/off-line
MST - sběr dat pomocí mobilních terminálů on-line/off-line Stručný přehled název: MST, software pro sběr dat mobilními terminály ve skladu (příjem, výdej, inventura) autor aplikace: FASK, spol. s r.o.,