Vlastnosti a chování je zapouzdřené v jednotlivých objektech. Každý objekt je schopen reagovat na události.

Rozměr: px
Začít zobrazení ze stránky:

Download "Vlastnosti a chování je zapouzdřené v jednotlivých objektech. Každý objekt je schopen reagovat na události."

Transkript

1 Objektový přístup k analýze a návrhu IS Autor: Ing. Roman Danel, Ph.D., 2012 Objektově orientovaný přístup k analýze a návrhu IS Objektově orientovaný přístup je založen na objektech. Objekt je struktura, která má definované Vlastnosti (atributy) Chování (metody) Vlastnosti a chování je zapouzdřené v jednotlivých objektech. Každý objekt je schopen reagovat na události. Informační systém z pohledu objektově orientovaného přístupu je chápán jako množina spolupracujících objektů. Objektový přístup lépe odpovídá chování reálného světa. Vlastnosti Zapouzdření (encapsulation) - objekt je pro nás černou skříňkou zajímá nás, co dělá a ne z čeho se skládá. Dědičnost - možnost vytvářet nové instance objektů s možností přidat nové prvky Polymorfismus (vícetvarost) překrývání metod, které jsme zdědili metoda stejného jména může mít trochu jinou funkcionalitu, přestože je tato funkcionalita pojmově blízká. Analogie je pojem otevřít a rozdíl mezi funkcí otevřít dveře a otevřít láhev Genericita možnost vytvářet parametrizovatelné programové moduly Srovnání relačního a objektového modelu Relační model prvky reálného světa se snažíme zobrazit do pevných předem připravených struktur Objektově orientovaný model pro prvky reálného světa vytváříme objekty, které se jim podobají Roman Danel 1

2 Základní prvky objektového přístupu Objekt Konkrétní prvek vyskytující se v systému, který má definované vlastnosti a chování Třída (Class) Kategorie (skupina) objektů, které mají podobné vlastnosti a stejné nebo podobné chování Atributy (Properties) Slouží k popisu vlastností třídy (objektu). Metody (Methods) Algoritmy definující reakce objektu na vzniklé situace K objektu můžeme přistupovat pouze využitím metod. Instance třídy Daný objekt je instancí určité třídy, tedy jejím konkrétním výskytem. Objekt ze strany třídy dědí atributy a metody. Hierarchie tříd Třídy mají svou hierarchii, založené na dědičnosti. Hierarchii tříd je možné budovat dvěma způsoby: Směr specializace návrh obecných tříd a postupnému odvozování speciálních podtříd Směr generalizace návrh objektů, jejich tříd a postupnému zobecňování Abstraktní třída Z abstraktních tříd se neodvozují konkrétní objekty; slouží k odvozování speciálnějších podtříd (potomků). Neexistuje konkrétní instance této třídy. Rozhraní (interface) Pojmenovaná množina operací, které třída používá ve vztahu k jiným třídám. Vztah mezi třídou a jejím rozhraním říkáme realizace. Roman Danel 2

3 UML UML neboli Unified Modeling Language je nástroj pro modelování informačních systémů založený na objektově orientovaném přístupu. Je přijat sdružením OMG (Object Management Group) jako standard pro tvorbu informačních systémů. Jedná se o nejrozšířenější objektovou notaci, která je podporována všemi CASE nástroji. Jednou z důležitých charakteristik UML je jeho nezávislost na metodologiích. Možná i z toho pramení jeho široké rozšíření jakožto implementačního jazyka. UML jako prostředek na zachycení popisu prostředí je nezávislý na metodologii používané pro správné provedení analýzy a designu. Diagramy UML UML nabízí k popisu 12 typů diagramů, rozdělených do tří skupin. První skupina diagramů popisuje statickou strukturu aplikace. Druhá skupina popisuje různé aspekty dynamického chování. Třetí slouží k organizaci a správě aplikačních modulů. Statická struktura Dynamické chování Správa modulů diagram tříd (Class Diagram) use case diagram balíčky (Packages) objektový diagram (Object Diagram) komponentový diagram (Component Diagram) diagram nasazení (Deployment Diagram) sekvenční diagram (Sequence Digram) diagram činností (aktivit) (Activity Diagram) diagram spolupráce (Collaboration Diagram) stavový diagram (Statechart Diagram) subsystémy (Subsystems) modely (Models) Diagram komponent a diagram nasazení reprezentují implementační model. Poznámka. UML nezahrnuje DFD diagramy (Data Flow Diagramy), které slouží v strukturované analýze k popisu chování systému. Datové toky a jiné typy diagramů, které nebyly do UML zahrnuty, nezapadají čistě do konsistentního objektově orientovaného paradigmatu. Diagramy aktivit a diagramy spolupráce splňují mnoho z toho, co lidé chtějí od DFD. Diagramy aktivit jsou zároveň vhodné pro modelování workflow. Roman Danel 3

4 Diagramy pro popis statické struktury Diagram tříd Diagram tříd zachycuje všechny třídy objektů, které se týkají modelovaného systému (tj. celou oblast zájmu řešení) a vztahy mezi těmito třídami (asociace). Třída obsahuje atributy a metody. Jednotlivé atributy a metody mohou mít označenu viditelnost. Je podporována možnost tříd typu interface, template a metatříd. Diagram tříd koresponduje s ERD diagramem v klasickém strukturálním modelování. Vztah (asociace) souvislost mezi dvěma objekty. Jsou dovoleny kvalifikované vztahy, vztahy s hodnotami i N-arní vztahy. Obr. 1. Ukázka diagramu tříd Roman Danel 4

5 Diagram objektů Objekty jsou instance tříd. Objekty jsou propojeny linky. Název konkrétního objektu se zapisuje před název třídy a odděluje se dvojtečkou. Diagram komponent Diagram komponent představuje znázornění komponent budoucího počítačového systému. Komponenta může být jakákoliv implementace třídy (nebo více tříd). Diagram komponent tedy zachycuje strukturu budoucího systému. Komponenty mají tu výhodu, že, jsou-li dobře navržené, mohou být opakovaně používány v různých projektech. Komponenty se v diagramu komponent znázorňují obdélníkem se dvěma malymi obdélníky položenými přes jeho levou stranu. Komponenty komunikují s okolím přes rozhraní. Jedná se o sadu operací vypovídajících o chování komponenty. Vztah mezi komponentou a jejím rozhraním se nazývá realizace (stejně jako v případě tříd, viz výše). Rozhraní je možné v diagramu komponent znázornit dvěma způsoby, obdobně jako znázornění rozhraní u třídy. První způsob zachycuje rozhraní jako třídu se stereotypem «rozhraní» v názvu. Realizace se pak znázorňuje přerušovanou šipkou s hrotem ve tvaru trojúhelníka. Druhý způsob (zjednodušený) zachycuje rozhraní malým kroužkem. Zde se realizace znázorňuje plnou čarou. Komponenty mohou přes rozhraní spolu komunikovat. Komponenta, která poskytuje své funkce, nabízí exportní rozhraní. Komponenta, která využívá funkce jiné komponenty, používá importní rozhraní. Závislost, tedy vztah mezi komponentou a importovaným rozhraním se znázorňuje přerušovanou šipkou. Existují tři typy komponent, a to rozmísťované, podpůrné a prováděcí. Rozmísťované komponenty tvoří základ spustitelných systémů (např. spustitelných souborů, prvků ActiveX). Z podpůrných komponent se rozmísťované komponenty vytváří. Jsou jimi např. zdrojové soubory. Prováděcí komponenty jsou takové, které vznikají za běhu systému (např. soubory vytvářené za běhu programu, jako uložení stavu práce). Diagram nasazení Zachycuje fyzickou architekturu počítačového systému. Pomocí něho je možné zobrazit počítače a zařízení, znázornit jejich vzájemná připojení a také software, který je na určitém zařízení nainstalován. Hlavním hardwarovým prvkem je uzel, což může být jakýkoliv druh výpočetního prostředku. Uzel může být dvojího druhu, a to procesor, nebo zařízení (např. tiskárna nebo monitor). Procesor, na rozdíl od zařízení, umí spouštět komponentu. Uzel se zakresluje jako kvádr. Odlišení, zda se jedná o procesor nebo zařízení, je možné znázornit např. pomocí stereotypů «procesor» a «zařízení»v uzlu mohou být uvedeny i další informace, jako např. komponenty šířené na uzlu. Mezi uzly mohou existovat různé typy vazeb, jako je spojení, agregace a závislost. Roman Danel 5

6 Diagramy pro popis dynamického chování Sekvenční diagram Zachycuje časovou sekvenci interakce mezi objekty tříd, ke které dochází při komunikaci (předávání činnosti) v systému. Sekvenční diagram se znázorňuje následovně. Objekty jsou umístěny v horní části diagramu vedle sebe zleva doprava. Směrem dolů od každého objektu směřuje přerušovaná čára, která se nazývá životočára (lifelines). Vykonání operace, kterou má objekt za úkol provádět se označuje jako aktivace a je znázorněna jako úzký obdélníček podél životočáry. Délka obdélníku naznačuje, jak dlouho aktivace trvá. Podél životočáry vertikálně dolů ubíhá čas. Zprávy zasílané mezi objekty (přechody mezi aktivacemi objektů) se znázorňují šipkou. Zprávy dělíme na jednoduché, synchronní a asynchronní. Jednoduchá zpráva představuje přechod řízení z jednoho objektu na druhý. Synchronní zpráva je zpráva, kterou zasílá jeden objekt druhému, poté první objekt čeká na odpověď. Dokud ji nedostane, nebude nic dělat. Pošle-li objekt asynchronní zprávu, nečeká na odpověď, ale pokračuje ve své práci. Jednoduchá zpráva se znázorňuje obyčejnou šipkou, synchronní zpráva se znázorňuje vyplněnou šipkou a asynchronní jako šipka s polovinou hrotu. Sekvenční diagram v UML může být doplněn o účastníka, který sekvenci z vnějšku zahajuje. Tento účastník se pak znázorňuje jako panáček (obdobně jako aktor v use case diagramu). Tento symbol však není součástí symboliky sekvenčních diagramů (využívá se zde tedy vlastnosti pružnosti metodiky UML, jak bylo zmíněno na začátku kapitoly o UML). Instanční sekvenční diagram popisuje pouze jednu instanci use case. Generický sekvenční diagram zachycuje všechny scénáře (instance) daného use case. Sekvenční diagramy obsahují také konstrukty. Podmínky se zapisují do hranatých závorek nad příslušnou šipku. Podmínky pak způsobují selekci ( rozdvojení ) toku řízení. Příslušná zpráva se tedy rozdělí do dvou větví. Každá větev směřuje ke stejnému objektu, avšak tento objekt bude na každou z nich reagovat odlišně. To se znázorní rozdvojením jeho životočáry. Rozdvojené životočáry se později někde spojí. Dalším konstruktem je cyklus (iterace). Uzavírá se také do hranatých závorek, před levou závorku se navíc píše hvězdička. Roman Danel 6

7 Obr. 2. Příklad sekvenčního diagramu Sekvence může vést k vytvoření nového objektu. Tento nový objekt se znázorní klasickým způsobem, avšak nezakreslí se v sekvenčním diagramu nahoru k dalším (původně existujícím) objektům, ale umístí se níže v diagramu tak, aby jeho pozice odpovídala času vzniku. Zpráva, která vede ke vzniku takového objektu, se pak může označit stereotypem «vytvořit». Objekty mohou i zanikat. V sekvenčním diagramu se to znázorní tak, že na konec jeho životočáry se nakreslí X. Objekt dále může provést operaci, kterou osloví sám sebe. Nazývá se to rekurze. Šipka tedy ukazuje na tu samou aktivace (operaci), ze které vychází. Sekvenční diagram spolu s diagramem spolupráce (Collaboration Diagram) patří do skupiny interakčních diagramů (Interaction Diagrams). Tyto dva diagramy jsou téměř izomorfní - tj. dají se převádět z jednoho tvaru na druhý (často i automatizovaně). Použití sekvenčního diagramu bývá vhodnější v těch případech, kde jsou důležité časové souvislosti interakcí. Objekty si mohou posílat zprávy. Sekvenční diagram zobrazuje jejich časovou posloupnost. Časová osa je svislá (čas běží shora dolů), na vodorovné ose jsou rozmístěny objekty: objekt se zobrazuje stejně, jako v objektovém diagramu (ovšem bez hodnot a atributů) čára života (lifeline) ukazuje, kdy objekt žije - v tomto diagramu všechny objekty existovaly už před posláním první zprávy, a dále existují po dokončení sekvenčního diagramu (resp. nevíme, kdy který objekt zanikne nebo nás to v tuto chvíli nezajímá) aktivita objektu (focus of control) ukazuje, kdy je který objekt aktivní zpráva Roman Danel 7

8 Diagram případů užití - Use case diagram Use case diagram (UC diagram) zobrazuje chování systému (nebo jeho části) z hlediska uživatele. Jedná se o popis chování systému z pohledu uživatele. Zachycuje tedy uživatelovy požadavky na systém. Myšlenkou je zapojit uživatele do počátečních fází analýzy a návrhu systému. Zvyšuje to pravděpodobnost, že systém nakonec bude skutečně prospěšný pro ty lidi, pro které prospěšný být má. Pro označení uživatele se používá název aktor (popř. aktér). Činnost systému, jako odezva aktorovi (může to být osoba, jiný systém, hardware, plynutí času), se nazývá use case. Každý případ užití, typová činnost (use case) charakterizuje určité použití systému účastníkem; use case má jméno, může mít textovou specifikaci. Účastník (actor) reprezentuje kohokoliv (či cokoliv) mimo systém, kdo se systémem komunikuje a interaguje (člověk, HW, čidlo, jiný systém, ); jediné, co aktor může, je přijímat nebo předávat do systému informace. Spíše než konkrétního uživatele reprezentuje aktor roli: jeden konkrétní účastník (člověk, technické zařízení, jiný informační systém,...) může být vyjádřen i více aktory (vystupují ve stejné roli), a více různých konkrétních účastníků může být vyjádřeno jedním aktorem (vystupují ve společné roli). Ohraničení (boundary) udává hranice systému/susbsystému (zde videopůjčovna); obecně je to vlastně klasifikátor (systém/subsystém/třída), jehož funkcionalitu pomocí use case popisujeme. Roman Danel 8

9 Obr. 3. Ukázka USE-CASE diagramu automatizovaná půjčovna V těchto specifikacích by mělo být zejména popsáno: co systém dělá (ale ne jak to dělá) měly by být používány jen pojmy problémové domény jak a kdy činnost začíná a končí kdy má systém interakce s aktorem které údaje jsou měněny jaké kontroly vstupních údajů jsou prováděny základní, alternativní a chybové průběhy způsoby popisu nejsou v UML formalizovány: může to být strukturovaný/formátovaný text, pseudokód,... Diagram use case přehledně popisuje hranici mezi systémem a vnějším světem. Aktoři zpravidla stojí vně systému, zatímco use cases uvnitř. UML používá ve svých diagramech pro znázornění slovně definovaných use case (vzniklých rozhovorem s uživateli) následující notaci. Aktor se kreslí jako panáček, use case jako elipsa. Aktor, Roman Danel 9

10 který akci (resp. use case) spustil, se zakresluje vlevo, aktor, který obdrží výstup, se zakresluje vpravo. Use cases a aktoři se propojují plnou čarou. Pro odlišení vnějšího světa a systému se systém ohraničuje obdélníkem. Mezi jednotlivými use case mohou existovat vztahy vkládání (include) a rozšiřování (extend). Vztahy mezi use case se znázorňují přerušovanou šipkou. Pro odlišení toho, zda šipka znázorňuje vkládání nebo rozšiřování, se používá stereotypů (např. «vkládá» a «rozšiřuje»). Vkládání umožňuje použít kroky definované jedním use case i ve druhém use case. Rozšiřování znamená vytvoření nového use case přidáním kroků k již existujícímu use case (dalo by se to označit za rozšíření činnosti základního use case). Místa základního use case, kde došlo k rozšíření, se nazývají body rozšíření. I v oblasti use case diagramů může existovat dědičnost. Označuje se to jako zobecňování. Potomek dědí chování a význam svého předka a doplňuje své vlastní chování. Potomka je pak samozřejmě možné použít všude tam, kde lze použít jeho předka. Zobecnění se zakresluje šipkou směřující od potomka k předkovi. Zobecňování je možné použít jak pro use case, tak pro aktora. Pro přehlednost nebo z důvodu vyznačení podsystémů se mohou jednotlivé use case seskupovat. Pro vyjádření skupiny se využívá balíček Stavový diagram (State Diagram) Zachycuje stavy objektu, kterými prochází (nebo lépe řečeno může projít) v průběhu svého životního cyklu v systému. Ke změně stavu může dojít konkrétní událostí nebo i pouhým plynutím času. Každý objekt má svůj počáteční stav a může mít konečný stav (pokud se nebude jednat o perpetum mobile). Stav se znázorňuje obdélníkem se zaoblenými rohy. Podobně jako o znázornění tříd je možné obdélník rozdělit na tři části, a to na název, stavové proměnné a činnosti stavu. Obvyklými činnostmi jsou vstup (co se stane, když se objekt dostane do tohoto stavu), výstup (co se stane, když objekt tento stav opustí) a proveď (co se provede, je-li systém v tomto stavu). Přechody mezi stavy jsou symbolizovány šipkami. Přechody stavů mohou nést další informace. Spouštěcí událost je událost, která způsobí, že k přechodu dojde. Dále se uvádí seznam akcí, které přechod realizuje. Spouštěcí událost se od příslušné akce odděluje lomítkem. Důležitým pojmem jsou podstavy. Jedná se o změny stavu v rámci jednoho stavu. Podstavy mohou byt dvojího druhu, sekvenční (podstavy na sebe navazují, spouštějí se postupně) a souběžné (podstavy probíhají paralelně). Ukládaný stav je takový stav, který si pamatuje, v jakém podstavu se nacházel přesně před tím, než byl opuštěn. Používaná symbolika v UML je písmeno H (z anglického. history) v kroužku se šipkou mířící k ukládanému podstavu. Ukládaný stav se označuje jako hluboký, pokud si pamatuje všechny vnořené podstavy. Pokud si pamatuje pouze podstav v dané úrovni, označuje se jako mělký. Roman Danel 10

11 Obr. 4. Příklad stavového diagramu Diagram obsahuje stavový stroj (state machine). Stavový stroj vyjadřuje stavy určitého objektu a přechody mezi těmito stavy. Diagram může obsahovat: stav (state) : situace, kdy modelovaný objekt splňuje nějakou podmínku, provádí nějakou operaci nebo čeká na událost - např. ve stavu narozený splňuje objekt podmínku, že mu není dosud 18 roků a čeká, až dosáhne plnoletosti přechod (transition) spojení mezi dvěma stavy; objekt přejde z prvního stavu do druhého stavu (za splnění určitých podmínek) rozloučení ukazuje přechod do téhož stavu (něco význačného se stane, ale stav se nezmění) počáteční, finální stav: zvláštní pseudostavy pro počátek a konec automatu Stavový stroj je graf stavů a přechodů (mezi těmito stavy), který popisuje reakce objektu (přesněji: reakce instance klasifikátoru) na obdržení události. Stavový stroj může být připojený ke klasifikátoru (např. use case, class), nebo ke collaboration či k metodě. Element, ke kterému je připojen stavový stroj, se nazývá vlastník (owner) stavového stroje. Celý stavový stroj je vlastně složený stav (composite state), který je rekurzivně dekomponován na substavy. Nejspodnější (listové) stavy již nemají substavy. Stavový stroj může mít reference na jiný stavový stroj použitím stavového substroje (submachine state). Ve stavovém stroji může být v jeden okamžik aktivních více stavů. Roman Danel 11

12 Co je to přechod? Pro vysvětlování podrobností o stavech musíme vědět, co je to přechod: Přechod (transition) je relace ve stavovém stroji mezi dvěma stavy, kde objekt v prvním stavu přejde do druhého stavu tehdy, když nastane specifikovaná událost (event) a jsou splněny specifikované podmínky (guards), přičemž se provede specifikovaný efekt (effect - action nebo activity). Přechod je nepřerušitelný. Přechod může mít jeden nebo více zdrojových stavů a jeden nebo více cílových stavů. Co je to stav? Stav (state) - situace, kdy modelovaný objekt splňuje nějakou podmínku, provádí nějakou operaci nebo čeká na událost. Stavy jsou obsaženy ve stavovém stroji, který popisuje, jak se vyvíjí objekt v čase dle svých reakcí na události. Stavy mohou být jednoho z druhů: jednoduchý (simple state) kompozitní (composite state) pseudostav - je uzel (vertex), který má formu stavu, ale má speciální chování. Pseudostav definuje detaily přechodu Obr. 5. Prvky stavového diagramu Diagram aktivit (činností) Activity Diagram Diagram aktivit se používá pro popis dynamických aspektů systému. Jde o jakýsi flowchart - znázorňuje tok řízení z aktivity do aktivity. Používá se také k modelování obchodních (business) procesů a workflow. Diagram aktivit zachycuje sekvence činností objektů, nezabývá se tím, který objekt provádí danou akci. Diagram činností představuje sekvenční popis činností tak, jak postupně probíhají v systému. Vzniká rozšířením stavového diagramu. Diagram činností zachycuje především činnosti znázorněné ve stavovém diagramu. Činnosti se znázorňují jako obdélníky se zaoblenými rohy. Po dokončení každé činnosti následuje automatický přechod na další činnost, což se zachytí šipkou. Začátek a konec diagramu činností se, podobně jako ve stavovém diagramu, znázorňuje pomocí kroužků. Mnohdy je nutné rozhodnout, jaká činnost se bude vykonávat na základě určitých podmínek. Dochází tedy k větvení diagramu. Znázornit se to dá dvěma způsoby. Buď vychází možné cesty přímo z Roman Danel 12

13 některé činnosti, nebo se větvení znázorní pomocí malého kosočtverce, ze kterého pak větvené šipky vychází. Podmínky se uvádějí u větví (šipek) v hranatých závorkách. Někdy je potřeba rozdělit tok událostí do dvou větví, které se budou provádět paralelně a později se zase spojí. Událost, kde dochází k větvení, a událost, kde se větve sbíhají, se označuje silnou příčnou čarou. V průběhu sekvence činností je možné zasílat signály. Přijetí signálu způsobí to, že se začne vykonávat další (jiná) činnost. Zaslání signálu se v diagramu činností znázorňuje pětiúhelníkem ve tvaru šipky, přijetí signálu pětiúhelníkem ve tvaru šipky s hrotem šipky dovnitř. Přijetí a zaslání signálu se propojuje přerušovanou šipkou. Z výše uvedeného je patrné, že se diagram činností podobá klasickému vývojovému diagramu. V digramu činností je možné znázornit, který objekt odpovídá za kterou činnost. K tomu slouží prostředky pro zobrazení rolí. Diagram se rozdělí do oddílů, které se nazývají paralelní dráhy. Každá paralelní dráha je nadepsaná jménem role a obsahuje činnosti vykonávané danou rolí. V diagramech činností je možné podle notace použít i symboly z jiných typů diagramů, jako jsou např. objekty (činnost směřuje k objektu, který ji vykoná). Tyto jiné prvky se znázorňují stejně jako v mateřských diagramech. Takovéto diagramy činností se pak označují jako hybridní. Diagram činností je možné použít k popsání procesů. Některé nástroje ho však nevyužívají (jako např. Select Enterprise v6) a nabízí jiný modelový nástroj na popis procesů. Diagramy stavů a diagramy aktivit jsou si podobné (oba ukazují sekvenci stavů, které nastávají v čase, a ukazují podmínky způsobující přechody mezi stavy). Rozdíl mezi těmito diagramy je však v tom, že diagram stavů se soustřeďuje na stavy objektu (tj. objektu provádějícího výpočet či objektu, se kterým je výpočet prováděn), kdežto d. aktivit se zaměřuje na stav samotného výpočtu (stav procesu, algoritmu,...), kde může být účastno i více objektů, a kde jsou znázorněny řídící a informační toky mezi prvky diagramu. Obr. 6. Prvky diagramu aktivit Roman Danel 13

14 Diagram spolupráce - Collaboration Diagram Diagram spolupráce a sekvenční diagram (sequence diagram) patří do skupiny interakčních diagramů (interaction diagrams). Tyto dva diagramy jsou téměř izomorfní - tj. dají se převádět z jednoho tvaru na druhý (často i automatizovaně). Použití diagramu spolupráce bývá vhodnější v těch případech, kde chceme zdůraznit strukturální aspekty spolupráce, tj. kdo s kým komunikuje - jsou méně vhodné pro zdůraznění časových souvislostí interakcí. Diagram spolupráce zachycuje interakci mezi objekty v systému. Je podobný sekvenčnímu diagramu, ale interakci mezi objekty zachycuje odlišným způsobem. Oba typy diagramů obsahují stejné informace a je možné převést sekvenční diagram na diagram spolupráce a naopak. Odlišnost tkví v tom, že sekvenční diagram klade důraz na pořadí jednotlivých událostí, diagram spolupráce spíše zdůrazňuje uspořádání spolupracujících objektů. Diagram spolupráce je rozšíření diagramu objektů. Kromě vztahů mezi jednotlivými objekty zachycuje také zprávy, které si objekty zasílají. Zpráva se znázorňuje jako šipka vedle asociační čáry. Zpráva může obsahovat parametry, ty se zapisují do závorek. U zpráv je možné vyjádřit, v jakém pořadí se zasílají. Zachytí se to číslem před názvem zprávy odděleném dvojtečkou. Pokud jsou v diagramu dvě stejné zprávy (např. po použití podmínek), odliší se od sebe dalším číslem za tečkou (např. 1.1 a 1.2). V diagramu spolupráce je možné znázornit změny stavu objektu. Stav se u objektu zapisuje do hranatých závorek. Pokud se objekt dostane do jiného stavu, zakreslí se do diagramu jako novy objekt s novým stavem. Oba stavy objektu se spojí přerušovanou šipkou, která se označí např. stereotypem «stane se». Je opět možné využít podmínky a cykly, obdobně jako v diagramu sekvencí. Zapisují se před název zprávy do hranatých závorek. Pro diagram spolupráce platí obdobné o použití účastníka, co bylo o této problematice uvedeno u sekvenčního diagramu (viz výše). Nově vytvořený objekt se zakreslí jako existující objekt, zpráva k tomuto novému objektu se označí stereotypem «vytvořit». Zpráva od jednoho objektu může být směřována více objektům téže třídy najednou. V diagramech spolupráce se tento fakt zachytí tak, že u cílového objektu se zakreslí více obdélníků za sebou (pro znázornění, že existuje více složek, více objektů). U zprávy se pak přidá cyklus s názvem např. všichni. Zpráva může být také požadavkem, aby cílový objekt něco provedl a vrátil výsledek. V diagramu se to znázorní tak, že se u zprávy zapíše <název proměnné> := <název operace s operandy>. Pravá strana výrazu se nazývá signatura zprávy. Aktivní objekt je objekt, který řídí interakce s více objekty. Může zasílat zprávy pasivním objektům nebo komunikovat s dalšími objekty. Aktivní objekt se znázorňuje tlustším obdélníkem. Někdy je potřeba zachytit v diagramu spolupráce synchronizaci zaslání zprávy. Jedná se tedy o případ, kdy objekt zašle příslušnou zprávu pouze tehdy, jestliže došlo k odeslání jiných vybraných Roman Danel 14

15 zpráv (tj. objekt synchronizuje odeslání své zprávy s odesláním jiných zpráv). V diagramu se to znázorní tak, že místo označení pořadí zprávy se před zprávu zapíší čísla zpráv, které musí předcházet, a oddělí se od zprávy lomítkem. Doporučuje se v analýzách používat jak diagram sekvencí, tak diagram spolupráce. Podle něj diagram spolupráce znázorní vztahy mezi objekty, zatímco diagram sekvencí pořadí jednotlivých interakcí v čase (viz výše). Budoucímu uživateli modelů to pak pomůže se lépe zorientovat v dané problematice. Roman Danel 15

16 Šablony (Design Patterns) Jazyk UML nabízí mechanismus pro vytváření tříd, který je analogický vytváření objektů. Umožňuje vytvořit tzv. parametrizovanou třídu. Ta vzniká přiřazením hodnot části atributů dané třídy. Parametrizovaná třída se v pravém horním rohu označí rámečkem s přerušovaným okrajem. Ten obsahuje parametry, kterým se přiřazuje hodnota. V deklaraci se znázorní jako parametry bez hodnoty, v této chvíli je třída šablonou pro jinou třídu. Jestliže se jim pak určitá hodnota přiřadí, stane se třída onou jinou třídou. Rámeček také obsahuje písmeno T. Jedná se o klasifikátor udávající, že třída je šablonou pro vytváření jiných tříd. Parametrizaci lze rozšířit na kterýkoliv klasifikátor UML. Každá šablona popisuje množinu vzájemně souvisejících objektů a tříd. Hlavním důvodem pro jejich používání je jejich znovupoužitelnost. Strukturu jazyka UML je možné rozdělit do více vrstev. Nejnižší vrstvou je vrstva uživatelských objektů. Obsahuje konkrétní instance (výskyty) jednotlivých konkrétních prvků (např. dané objekty), které jsou zachyceny v další vrstvě. Druhou vrstvou je modelová vrstva, která obsahuje konkrétní prvky modelované oblasti (např. konkrétní třídy). Třetí vrstva definuje jazyk pro specifikaci modelu (např. co jsou třídy a asociace). Nazývá se metamodelová vrstva. Poslední, čtvrtá vrstva (metametamodelová) definuje, co patří do metamodelu. Tato vrstva tedy určuje, co (jaké obecné prvky) do daného modelu patří (např. se jedná o třídu). Vrstvu metamodelu můžeme popsat pomocí tří balíčků, a to základ, prvky chování a správa modelu. Balíček základ se skládá z jádra, datových typů, mechanismů rozšíření a doplňkových prvků. Jádro definuje prvky potřebné pro sestavení modelu v UML. Každá z definovaných položek je buď abstraktní (nelze vytvořit její instanci), nebo konkrétní (lze vytvořit její instanci). Z hlediska mechanismů rozšíření jsou důležité stereotypy (jejich zápis viz Další prvky UML). Stereotypy vytvářejí instance nové metatřídy. Existující prvek UML lze tedy požít jako základ pro nově vytvářený prvek, což vede ke značné flexibilitě. Stereotypů existuje velká řada, jejich seznam je uveden níže. Balíček prvky chování se zabývá modelováním chování systému. Skládá se z balíčků spolupráce, use case (udává koncepty diagramu use case) a stavových automatů (udává koncepty stavového diagramu a diagramu činností). Balíček spolupráce popisuje klasifikátory a jejich asociace spolupracující při plnění určitého úkolu. Roman Danel 16

17 Další prvky UML Balíčky Balíčky umožňují uspořádat prvky diagramu do skupiny (např. pro účely znázornění podsystému). Jméno prvku se pak píše za jméno balíčku odděleného dvěma dvojtečkami. Poznámky Poznámka k prvku diagramu. Stereotypy Stereotypy umožňují použití existujících prvků UML a vytvoření z nich nových. Pro jeho označení se používají francouzské lomené uvozovky. Příkladem může být třída «rozhraní», která má pouze operace, nemá vlastnosti. Pro další studium diagramů UML lze využít např. Nedostatky UML Neschopnost UML poskytovat prostředky pro návrh user interface a datových modelů. Například Activity diagram v UML neumožňuje zachytit místo pro uložení informací, podobně jako to umí diagram DFD (data flow diagram). Nedostatečností UML v oblasti datového modelování je to, že UML neposkytuje vhodné prostředky pro datové modelování, a proto se navrhuje rozšíření notace UML pomocí vhodných stereotypů, což jsou prostředky jazyka UML pro jeho vlastní rozšiřování. Soubor určitých stereotypů, které rozšiřují UML pro určitou oblast užití, se nazývá UML extensions. Roman Danel 17

18 Ostatní objektově orientované metodiky Booch Jedná se o jednu z vůbec nejstarších metodik OOAD, jejímž autorem je Grady Booch. Tato metodika je asi nejsilnější ve fázích designu, implementace a nasazení IS. Metodika Booch je výrazně ovlivněna programovacími jazyky Ada a zejména C++, s kterým se nejčastěji používá. Pro modelování statické stránky systému používá Booch diagramy tříd a diagramy objektů, pro modelování dynamiky zase diagramy interakce, stavové diagramy a nakonec diagramy modulů, diagramy procesů a kategorie tříd. Některé z nástrojů vhodných pro implementační fáze si později našly cestu v obměněné podobě i do množiny UML. Ve skutečnosti však nejsou stěžejními prostředky a jejich používání není zdaleka tak intenzivní, jako používání ostatních. Metodika Booch postrádá některé fundamentální prostředky pro analýzu, což ji činí poměrně nevhodnou pro aktivity typu BPR a vůbec pro použití mimo rámec tvorby SW systémů. Spolu s OMT byla ve své době pravděpodobně nejvíce používanou objektovou metodikou, nicméně nutno podotknout, že podle nejrůznějších odhadů dohromady nesdílely více než 40 procent trhu. Object Modelling Technique Hlavním návrhářem Object Modeling Technique je James Rumbaugh. OMT je vlastně reprezentantem oněch smíšených metodik, které za svůj základ vzaly ER diagram a rozšířily ho o nezbytné objektové rysy. V prvních verzích obsahovala OMT navíc ještě DFD diagramy, které však byly později vypuštěny. Ve druhé verzi přebrala OMT Use Case modelování z metodiky Objectory/OOSE, které je používáno především v analýze pro vymezení hranic systému a interakci systému s vnějším okolím. Na rozdíl od metodiky Booch se jako víceméně vhodné jeví i použití OMT ve fázi analýzy. Zkrácený životní cyklus je rozdělen do etap analýzy, systémového návrhu, objektového návrhu a implementace. OMT používá tři základní modely. Objektový (využití diagramů tříd vycházejícího z ERD), dynamický (zejména stavové diagramy vytvářené pro jednotlivé třídy) a funkcionální (právě tolik diskutované DFD). Vzhledem ke svému původu jsou nástroje OMT používány i pro datové modelování. Možná, že právě kvůli svým kořenům ležícím v klasické strukturované analýze se OMT stala patrně nejrozšířenější objektovou metodikou vůbec a výraznou měrou ovlivnila své následníky. OMT zaujímá asi největší podíl mezi vývojáři CASE nástrojů, kde zejména ve spojení s notací UML suveréně dominuje. Kromě jiného se OMT stala základem pro jednu z českých variant, tzv. OOMT, která má svůj původ na VŠE, kde byla vyvíjena pod vedením P. Drbala. Objectory/Object-Oriented Software Engineering Z původně firemní metodiky Objectory (název vznikl spojením slov object a factory ) vytvořené Ivarem Jacobsonem se nakonec stal uznávaný prostředek pro business modelování. Zjednodušením Objectory vznikla metoda OOSE, která je určena především pro tvorbu počítačově orientovaných systémů. Jádro Objectory/OOSE tvoří Use Case modelování, které slouží jako sjednocující prostředek mezi všemi fázemi vývoje IS včetně testování. Celá metodika byla detailně popsána v knize Object- Roman Danel 18

19 oriented Software Engineering: Use Case Driven Approach, která se posléze stala jednou z biblí objektového programování. Ve spojení s Objectory se též poprvé začalo hovořit o objektových technologiích jako vhodném prostředku pro Business Process Reengineering. Zásadní prací na toto téma se stala další Jacobsonova kniha The Object Advantage: Business Process Reengineering with Object Technology. Samotná metodika, ač vcelku známá a úspěšná se moc neprosadila. Byla a stále je spíše inspirací pro ostatní metodiky, které z ní převzaly zejména techniky Use Case modelování. Možné příčiny, proč nebyla tato metodika více používána lze spatřovat jednak v nedostatku CASE nástrojů, zejména však ve faktu, že trvalo dlouhá léta, než se tato metodika plně otevřela světu. Zpočátku se za její nasazení platily značné částky, které mohly odradit vysoké procento případných zájemců. Namísto OOSE tak světu dominovala dvojice Booch+OMT, která má na rozdíl od OOSE svůj původ v zámoří. Object-oriented Process, Environment and Notation Metodikou, tentokrát již opravdu plnohodnotnou, usilující o vítězství v Call for Proposal byla též OPEN. Své kořeny má tato metodika v projektu COMMA (Common Object Methodology Metamodel Architecture), jehož cílem bylo vytvořit metamodely většiny metodik a metod OOAD, na jejichž základech měl být poté vystavěn univerzální metodický prostředek. Klíčovými postavami, které se zasloužili o vytvoření a rozšíření OPEN jsou Brian Henderson-Sellers, Meilir Page Jones, Ian Graham a Donald Firesmith jakožto i osoby organizované v konsorciu OPEN. Některá z těchto jmen jsou dobře známa i mezi uživateli klasických strukturovaných metodik. OPEN tvoří doporučená notace OML (OPEN Modeling Language), pro kterou existuje i zjednodušená verze OML light, jež je svým způsobem protipólem výše zmíněné notaci UML, dále odpovídající proces a definovaný životní cyklus tvorby IS, použité metriky atd. Pokud jde o diagramy zaváděnými OML, existuje jich celá řada. Samozřejmě jsou většinou striktně odděleny na ty, které slouží pro modelování statické a naopak na ty, používané při modelování dynamické stránky systému. Do první kategorie spadají například kontextové diagramy pro zobrazení hranic a spolupracujících částí systému, diagramy hladin pro rozklad systému ve vertikálním směru a rozdělení aplikace na dílčí celky, diagramy konfigurací pro znázornění SW a HW celků a jejich spolupráce, dále například diagramy hierarchií dědičnosti, diagramy nasazení apod. Dynamická stránka systému je zpracovávána prostřednictvím diagramů případů užití, diagramů spolupráce, sekvenčních diagramů, stavových diagramů apod. Komplexnost OML je porovnatelná s rozsahem notace UML. OPEN proces obsahuje popis doporučeného životního cyklu tvorby IS, v rámci něhož jsou nástroje OML používány. Jak proces, tak i notace jsou vytvořeny pokud možno tak, aby mohly být libovolně záměnné. Je tedy možné používat OPEN proces s notací UML a naopak například notaci OML spolu s procesem definovaným metodikou Catalysis. I přes některé zjevné výhody oproti UML se OML a celá metodika OPEN moc neprosadila. Jak už to tak bývá, není to zapříčiněno technickými nedostatky, ale především obchodní politikou. Za OPEN stojí poměrně úzké konsorcium jednotlivých odborníků (i když pravda, že co jméno to pojem) Roman Danel 19

20 kterému se bohužel nepodařilo prosadit svůj výtvor především mezi producenty CASE nástrojů. Zejména to je ten hlavní důvod, proč se OPEN výrazněji neprosadila. Coad-Yourdon Jméno Ed Yourdon je těm, kteří se orientují již delší dobu v problematice tvorby IS asi dostatečně známé. Klasická Yourdonova strukturovaná analýza patří dnes již mezi legendární a osvědčené prostředky. Především Peter Coad nese zásluhu na vytvoření objektové metodiky Coad/Yourdon, kterou řadíme spíše do druhé generace (i když toto zařazení může být sporné) metodik OOAD. Metodika se vyznačuje především svojí jednoduchostí, kvůli které byla často používána pro výuku objektového modelování. Coad/Yourdon rozděluje systém do několikavrstvého modelu, jehož první vrstvou je vrstva subjektů následovaná vrstvou tříd/objektů, vrstvou struktury, atributů a služeb. Kromě tohoto členění je možné provádět i rozklad podle zaměření jednotlivých participujících objektů. Oddělující se tedy například objekty tvořící vrstvu zajišťující interakci s uživatelem (Human Interaction Layer), dále klíčová vrstva problémové oblasti (Problem Domain Layer), která de facto reprezentuje modelovaný problém, vrstva datových objektů apod. Tyto vrstvy si můžeme představit jako jednotlivé průsvitky, které na sebe můžeme poskládat, čímž dostaneme výslednou podobu objektového systému. Toto logické členění je do jisté míry obdobou hitu dnešních dnů logického (nikoli fyzického) modelu trojvrstvé architektury. Coad/Yourdon není, jakožto extrémně jednoduchá metodika příliš použitelná pro komplexní systémy, které kladou velký důraz na dynamické chování. Na druhou stranu byla nasazována pro tvorbu aplikací klient/server, kde se mohl dokonale uplatnit vrstvový model. Shlaer/Mellor Na rozdíl od ostatních metodik stojí přístup Shlaer/Mellor ke tvorbě IS na trochu odlišných principech. Zatímco OMT, Booch apod. využívají tzv. evoluční přístup, kdy se většinou střídají fáze analýzy / designu / implementace / validace s postupným zjemňováním a rozpracováváním, v metodě S/M (autory jsou Sally Shlaer a Stephen Mellor) použito odlišné schéma. Odděleně je navrhnuta obecná, na konkrétní problematice nezávislá, architektura systému sestávající se de facto ze dvou částí. Na jedné straně máme klasické koncepty jako prostředky perzistence, datové struktury apod., na druhé straně máme přesně vymezená pravidla, jak rozčlenit aplikaci mezi tyto obecné koncepty. Takovýto model softwarové architektury je nakonec provázán s výsledky analýzy problémové oblasti, která probíhá obdobně jako při nasazení ostatních metodik. Oddělení SW architektury od problémové oblasti může usnadnit dosažení maximální možné míry znovupoužitelnosti a tím i zvýšení efektivity práce, což je zároveň asi největším přínosem při nasazení této metodiky. Výše popsané principy tvoří dohromady filosofii tzv. rekurzivního translačního vývoje, který je do jisté míry protipólem onomu zmíněnému evolučnímu přístupu. Nejčastěji a nejúspěšněji je metodika Shlaer/Mellor používána pro vývoj systémů pracujících v reálném čase. Roman Danel 20

21 Class, Responsibility, Collaborators Class-Responsibility-Collaborators zaujímá mezi ostatními metodikami výhradní postavení. Někdo by možná mohl zpochybnit její zařazení do kategorie metodik, neboť je často používána pouze jako nástroj pro dílčí problémy spojené s tvorbou objektových systémů. Hlavní přínos tkví především v jejím použití pro nalezení objektů participujících v modelovaném systému. Vůbec problém nalézt vhodné objekty je jednou z fundamentálních otázek, které musí být uspokojivě řešeny. Bohužel zatím neexistuje univerzální, efektivní a formálně popsatelný postup, jak toho dosáhnout. K dosažení tohoto cíle se často používá Use Case modelování spojené s tvorbou dynamických modelů, při jejichž tvorbě se objekty postupně vynořují. Nicméně některé metodiky, které Use Case modelování vůbec neberou v potaz (např. Booch) se často omezují pouze na vágní slovní doporučení, jak si při hledání objektů počínat. Jednou z možných metod nalezení objektů může být například lexikální analýza, jejíž úspěšnost se ovšem pohybuje okolo 20%. Právě tehdy může být úspěšně použita CRC (nebo metody a metodiky z ní vycházející, jako je OBA). Její použití spočívá v tvorbě a používání indexových karet (fyzické papírové karty libovolného formátu), které mají doporučený vzhled. Každá karta představuje samostatný objekt (resp. třídu), ke kterému je posléze přiřazena zodpovědnost (responsibility) a dále ke každé zodpovědnosti objektu jsou přiřazeny objekty, který na zajištění konkrétní zodpovědnosti spolupracují (collaborators). Objekty se tedy postupně vynořují právě jako jedinci z řad spolupracujících objektů. Celá dynamika objektového systému pro zajištění konkrétního scénáře může být následně simulována například v rámci pracovního workshopu řešitelského týmu. Z popisu je vidět, že se jedná o extrémně jednoduchý, ale vcelku efektivní (a v neposlední řadě i efektní) nástroj. Při podrobnějším pohledu je zřejmé, že se jedná o postup téměř identický s Use Case modelováním. S rostoucí složitostí se samozřejmě stává obhospodařovávání velkého množství karet oříškem, který může být vyřešen používáním podpůrného CASE nástroje. Na druhou stranu se tím ztrácí možnost sáhnout si přímo na objekt. CRC se nejvíce hodí pro výuku objektového přístupu, pro kterýžto účel byla také původně svými autory vytvořena (Ward Cunningham, Rebecca Wirfs-Brock). CRC se stala mj. inspirací pro metodiku RDD (Responsibility-Driven Design) a metodu OBA. Business Object Notation Jedná se o poměrně mladou a jednoduchou metodiku uvedenou poprvé K. Waldenem a J. M. Nersonem v roce Právě její nenáročnost je často oceňována jako velká výhoda proti nadměrně komplexním metodikám ostatním. Business Object Notation (dříve Better Object Notation) je výrazně ovlivněna objektovým jazykem Eiffel, který je díky své jednoduchosti, konzistentnímu návrhu a silným výrazovým prostředkům používán především pro tvorbu systémů, jejichž klíčovou vlastností je bezpečnost a spolehlivost. BON zohledňuje některé pokročilé objektové technologie, jakým je například princip kontraktu apod. Na druhou stranu kvůli své jednoduchosti neobsahuje některé prostředky, které jsou již považovány za téměř nezbytnou součást jakékoliv objektové metodiky. BON obsahuje poměrně slabé nástroje pro modelování dynamiky systému, paralelismu apod. BON je vedle Coad/Yourdon velmi vhodná pro výuku objektového modelování. Roman Danel 21

22 Business Object Relation Modeling BORM je metodika částečně českého původu, která byla svými autory (J.Polák, V.Merunka, R. Knott) od roku 1993 vyvýjena pod záštitou grantového programu VAPPIENS (Various Programming Paradigms in Integrated Environments), později s podporou Deloitte&Touche. Na rozdíl od jiných metodik BORM neodděluje striktně statický a dynamický pohled, naopak podporuje jejich koexistenci v rámci jednoho modelu. Důležité je však vůbec celé směřování této metodiky, která je orientována spíše více směrem k BPR a business modelování obecně než směrem k tvorbě SW, i když i v této oblasti byla používána, především pak ve spojení se systémy postavenými nad Smalltalkem. BORM vychází částečně z metodiky Coad/Yourdon, z které přejímá vrstvový model a metody OBA používané při počátečních analytických fázích. V nedávné době také začaly být některé z nástrojů této metodiky implementovány do metacase systému MetaEdit+, čímž se této metodice otevírá cesta do světa. Business Object Relation Modeling je mj. používána při výuce objektových technologií na některých českých univerzitách, jmenovitě na fakultách PEF ČZU a FEL ČVUT. Roman Danel 22

Diagram sekvencí (sequence diagram)

Diagram sekvencí (sequence diagram) Diagramy sekvencí 1 Diagram sekvencí (sequence diagram) Zobrazuje, jak objekty spolupracují Na rozdíl od stavového diagramu zachycují komunikaci více objektů Popisuje zprávy mezi objekty jaké zprávy, komu

Více

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 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

Více

UML. Unified Modeling Language. Součásti UML

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

Více

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová Osnova Modelování interakcí mezi objekty modelování zpráv (mapování zpráv na operace), vytváření a

Více

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová

Objektově orientované technologie Business proces Diagram aktivit. Daniela Szturcová Objektově orientované technologie Business proces Diagram aktivit Daniela Szturcová Osnova Bysnys proces pojmy metody, specifikace pomocí diagramů Modelování pomocí aktivitního diagramu prvky diagramu

Více

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 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,

Více

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í.

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í.

Více

Unifikovaný modelovací jazyk UML

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

Více

3 druhy UML diagramů

3 druhy UML diagramů UML grafický jazyk se pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů zjednodušuje komunikaci mezi zadavatelem a řešitelem projektu UML podporuje objektově orientovaný přístup

Více

6 Objektově-orientovaný vývoj programového vybavení

6 Objektově-orientovaný vývoj programového vybavení 6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 22. Otázka : Úvodní fáze rozpracování softwarového projektu. Postupy při specifikaci byznys modelů. Specifikace požadavků a jejich rozpracování pomocí

Více

Metody popisu systému, základy UML

Metody popisu systému, základy UML Metody popisu systému, základy UML Strukturovaný přístup Klasickou metodou analýzy a návrhu informačních systémů je strukturovaný přístup, navržený v 70. letech (Tom DeMarco, Ken Orr, Larry Constantine,

Více

7 Jazyk UML (Unified Modeling Language)

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í

Více

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Martin Molhanec Katedra elektrotechnologie, ČVUT - Fakulta elektrotechnická, Technická 2, 166 21 PRAHA 6 e-mail: molhanec@fel.cvut.cz Abstrakt UML Unified Modeling Language

Více

Principy UML. Clear View Training 2005 v2.2 1

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

Více

Modelování procesů s využitím MS Visio.

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

Více

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux. Jan Smolík UML UML Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux Zdroj: Wikipedia Unified modelling language Neproprietární

Více

8 Přehled OO metodik (metod, metodologií)

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

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

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

Více

8 Přehled OO metodik (metod, metodologií)

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

Více

7 Jazyk UML (Unified Modeling Language)

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í

Více

Diagramy stavů. Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Pearson Prentice Hall, 2005

Diagramy stavů. Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Pearson Prentice Hall, 2005 Diagramy stavů Michale Blaha, James Rumbaugh: Object-Oriented Modeling and Design with UML, Second Edition, Pearson Prentice Hall, 2005 Počáteční (defaultní) stav Koncový stav Událost (event) Stav Přechod

Více

UML: Unified Modeling Language

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ě

Více

Business Process Modeling Notation

Business Process Modeling Notation Business Process Modeling Notation Stephen A. White, IBM Corporation Procesní řízení 1 Co to je BPMN? Standard Business Process Modeling Notation (BPMN) byl vyvinutý skupinou Business Process Management

Více

Návrh IS - UML. Jaroslav Žáček

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í,

Více

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken Jazyk UML - přehled Unified Modeling Language jazyk pro popis objektově orientované analýzy a návrhu aplikací slouží k vzájemné komunikaci mezi zadavatelem a návrhářem systému má několik částí, není nutné

Více

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová

Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová Objektově orientované technologie Diagram komponent Implementační náhled (Diagram rozmístění) Pavel Děrgel, Daniela Szturcová Osnova K čemu slouží diagram komponent obsah komponent závislosti rozhraní

Více

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

Návrh IS - UML. Jaroslav Žáček

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.

Více

Jazyk UML VST (Velmi stručný tutorial) verze 1.0

Jazyk UML VST (Velmi stručný tutorial) verze 1.0 Jazyk UML VST (Velmi stručný tutorial) verze 1.0 Softwarové inženýrství školní rok 2004 2005 Ing. Ladislava Smítková Janků (Praha, 24.5.2005) Obsah Obsah Obsah...2 1 Co je to UML...3 2 Diagram případů

Více

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í

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

Více

Diagram tříd (class diagram)

Diagram tříd (class diagram) Diagramy tříd 1 Diagram tříd (class diagram) Zobrazuje třídy v daném systému a vztahy mezi nimi Zobrazuje statický stav ukazuje vzájemné interakce, ale neukazuje co se při těchto interakcích děje Při znázornění

Více

Modelování řízené případy užití

Modelování řízené případy užití Modelování řízené případy užití kompletní proces od UC po implementaci, robustnost 2005 Radek Ošlejšek, Jiří Sochor FI MU Brno oslejsek@fi.muni.cz http://www.fi.muni.cz/~oslejsek/pa103 30. 3. 2005 PA103:

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

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 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

Více

Objekty, třídy, vazby 2006 UOMO 30

Objekty, třídy, vazby 2006 UOMO 30 Objekty, třídy, vazby 2006 UOMO 30 Osnova Vymezení pojmu objekt Objekt a základní objektové koncepty Třídy, třída vs. objekt Vztahy mezi objekty, vazby mezi třídami Polymorfismus 2006 UOMO 31 Vymezení

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53

Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Objektová tvorba SW, Analýza požadavků 2006 UOMO 53 Osnova Základní principy tvorby SW Fáze tvorby SW v předmětu UOMO Analýza požadavků Modelování typových úloh 2006 UOMO 54 Tvorba SW Dříve umění vyvolených

Více

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

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.

Více

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda Modelování informačních systémů s využitím jazyka UML Jaroslav Šmarda Využití jazyka UML při vývoji IS na příkladu jednoduché aplikace pro evidenci knih Model IS Modelování případů užití Diagram případů

Více

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007 UML úvod Kapitola má seznámit se základy modelovacího jazyka UML. Klíčové pojmy: UML, CASE nástroje, procesní modelování, případy užití, role, diagram tříd, diagram objektů, sekvenční diagramy, digram

Více

PV167 Projekt z obj. návrhu IS. 26. března 2008

PV167 Projekt z obj. návrhu IS. 26. března 2008 Analytický model tříd - 1. část PV167 Projekt z obj. návrhu IS B. Zimmerová 26. března 2008 PV167 Projekt z obj. návrhu IS Analytický model tříd - 1. část 26. března 2008 1 / 8 Diagram tříd - opakování

Více

Modelování podnikových procesů

Modelování podnikových procesů Modelování podnikových procesů Co je to podnikový proces? Činnost za účelem splnění určitého podnikového cíle (business goal) Provádění časově ohraničeno Vstupní podmínky Při realizaci probíhají vzájemně

Více

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura Dílčí architektury Informační systémy - dílčí architektury - EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu 1 Globální Funkční Procesní Datová SW Technologická HW Aplikační

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

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í

Více

Modelování procesů (2) 23.3.2009 Procesní řízení 1

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í

Více

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů Číslo otázky : 16. Otázka : Funkční a dynamická analýza informačního systému. Obsah : 1. Úvod 2. Funkční

Více

Analýza a Návrh. Analýza

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íce

Komputerizace problémových domén

Komputerizace problémových domén Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 03 1/19 Komputerizace problémových domén Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta informačních

Více

Pokročilé typové úlohy a scénáře 2006 UOMO 71

Pokročilé typové úlohy a scénáře 2006 UOMO 71 Pokročilé typové úlohy a scénáře 2006 UOMO 71 Osnova Interní model typové úlohy Vazby include a extend Provázanost typových úloh na firemní procesy a objekty Nejčastější chyby 2006 UOMO 72 Interní model

Více

IS pro podporu BOZP na FIT ČVUT

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

Více

Modelování IS Strukturovaný a objektově orientovaný přístup (UML)

Modelování IS Strukturovaný a objektově orientovaný přístup (UML) Modelování IS Strukturovaný a objektově orientovaný přístup (UML) Analýza a návrh IS Myšlenkové postupy ABSTRAKCE a KONKRETIZACE využíváme v průběhu celého procesu analýzy a návrhu IS. Na myšlenkových

Více

Základní informace. Modelování. Notace

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

Více

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová

Objektově orientované technologie Logická struktura systému Objektový diagram. Pavel Děrgel, Daniela Szturcová Objektově orientované technologie Logická struktura systému Objektový diagram Pavel Děrgel, Daniela Szturcová Osnova Modelování objektů objektový diagram Struktura a vazby mezi objekty Dobré zvyky při

Více

Úvod do principů objektově orientovaného programování

Ú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

Více

Modelování procesů (1) Procesní řízení 1

Modelování procesů (1) Procesní řízení 1 Modelování procesů (1) Procesní řízení 1 Vizualizace procesů Znázornění procesu ve formě diagramatického modelu, vede k jeho zpřehlednění a snadnějšímu pochopení. Označuje se jako: procesní mapa, procesní

Více

Návrh softwarových systémů - architektura softwarových systémů

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

Více

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 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

Více

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include a extend) Shrnutí

Více

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích

Více

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Požadavky a případy užití Daniela Szturcová, Pavel Děrgel Institut geoinformatiky, HGF Osnova Systém Uživatelé Případy užití Vazby (asociace, generalizace, include

Více

Architektura softwarových systémů

Architektura softwarových systémů Architektura softwarových systémů Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové

Více

Obsah. Zpracoval:

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č

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 23. Otázka : Problematika analýzy a návrhu softwarového systému. Sestavení UML diagramů popisující statickou i dynamickou část díla. Problematika návrhových

Více

Vývoj IS - strukturované paradigma II

Vývoj IS - strukturované paradigma II Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 05 1/18 Vývoj IS - strukturované paradigma II Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta informačních

Více

Analýza a modelování dat. Helena Palovská

Analýza a modelování dat. Helena Palovská Analýza a modelování dat Helena Palovská Analýza a modelování pro SW projekt Strukturovaný přístup Dynamická část (procesy, aktivity, funkce) Statická část (data) Objektově orientovaný přístup use case

Více

11 Návrh programového vybavení

11 Návrh programového vybavení 11 Návrh programového vybavení - technické jádro procesu vývoje programového systému, existuje u všech modelů životního cyklu - Jackson: Začínající moudrost programátora (softwarového inženýra) spočívá

Více

OOT Objektově orientované technologie

OOT Objektově orientované technologie OOT Objektově orientované technologie Logická struktura systému (Diagram tříd) Daniela Szturcová Institut geoinformatiky, HGF Osnova Třídy Statický pohled na systém Atributy a operace, řízení přístupu

Více

10 Metody a metodologie strukturované analýzy

10 Metody a metodologie strukturované analýzy 10 Metody a metodologie strukturované analýzy 10.1 Strukturovaná analýza DeMarco (1978) Nástroje: DFD, datový slovník, strukturovaná angličtina, rozhodovací tabulky a stromy Postup: 1. Analýza stávajícího

Více

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st 1. IŘS, definice, třídění, projekt, životní cyklus IŘS systémy na zpracování získaných (naměřených) informací a jejich využití pro řízení IŘS : a) IS informační systémy systémy sběru a zpracování dat (hromadné),

Více

Vývoj informačních systémů. Obecně o IS

Vývoj informačních systémů. Obecně o IS Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu

Více

Diagram nebo text? Miroslav Benešovský, BenSoft s.r.o

Diagram nebo text? Miroslav Benešovský, BenSoft s.r.o Diagram nebo text? Miroslav Benešovský, Diagram nebo text? Jaká je role analytika při vývoji SW? Most mezi zákazníkem a vývojáři Jaké má analytik prostředky? Diagramy, vizuální modelování Jaká je zkušenost

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

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

Více

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

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

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

7.4 Diagramy interakce (základy)

7.4 Diagramy interakce (základy) 7.4 Diagramy interakce (základy) - popisují spolupráci skupin objektů pro dosažení určitého chování - typicky zachycuje chování jednoho případu použití Př) Zpracování objednávky Cíl: Na základě objednávky

Více

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ů 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í

Více

Programování II. Modularita 2017/18

Programování II. Modularita 2017/18 Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích

Více

Objektově orientované technologie Dynamický náhled Stavový diagram. Pavel Děrgel, Daniela Ďuráková

Objektově orientované technologie Dynamický náhled Stavový diagram. Pavel Děrgel, Daniela Ďuráková Objektově orientované technologie Dynamický náhled Stavový diagram Pavel Děrgel, Daniela Ďuráková Osnova Modelování životního cyklu objektu počátek a konec objektu stavy a přechody mezi stavy události

Více

Architektury Informačních systémů. Jaroslav Žáček

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?

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services 13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -

Více

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ů 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

Více

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS Architektura orientovaná na služby Návrh orientovaný na služby Webové služby Ing. Petr Weiss VUT v Brně,, FIT, UIFS 3. 12. 2007 Obsah Architektura orientovaná na služby Základní pojmy Koncepce architektury

Více

Objektový návrh IS. Přístup k návrhu. vychází ze strukturovaného přístupu. Přebírá P3A, není tak výrazné odlišení analýzy a designu

Objektový návrh IS. Přístup k návrhu. vychází ze strukturovaného přístupu. Přebírá P3A, není tak výrazné odlišení analýzy a designu Objektový návrh IS Přístup k návrhu vychází ze strukturovaného přístupu Přebírá P3A, není tak výrazné odlišení analýzy a designu Odlišnost vyjádření objektů reálného světa 1 druhá polovina 80.let historie

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

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ČŮ 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

Více

Diagramy tříd - základy

Diagramy tříd - základy Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka Zákazník -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Design systému. Komponentová versus procesní architektura

Design systému. Komponentová versus procesní architektura Design systému Komponentová versus procesní architektura Architektura : třídy statické aspekty propojení logický pohled struktura popisu systému Architektura procesů: objekty dynamické aspekty koordinace

Více

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

Programování II. Třídy a objekty (objektová orientovanost) 2018/19 Programování II Třídy a objekty (objektová orientovanost) 2018/19 Osnova přednášky Objektový přístup (proč potřebujeme objekty). Třídy, objekty,... Příklad. Proč potřebujeme objekty? Udržovatelnost softwaru

Více

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I Návrh řešení IS Vývoj informačních systémů Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel IS a jaký

Více

7.4 Diagramy interakce (základy)

7.4 Diagramy interakce (základy) 7.4 Diagramy interakce (základy) - popisují spolupráci skupin objektů pro dosažení určitého chování - typicky zachycuje chování jednoho případu použití Př) Zpracování objednávky Cíl: Na základě objednávky

Více

PŘÍLOHA C Požadavky na Dokumentaci

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é

Více