Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

statnice:si:a4m33nms2 [2011/05/18 13:24]
tape vytvořeno
statnice:si:a4m33nms2 [2025/01/03 18:29] (aktuální)
Řádek 1: Řádek 1:
 +====== Unified Modeling language (UML), popis jazyka, typy diagramů a způsob jejich použití při návrhu různých aspektů systému, syntax a sémantika jazyka a jeho symbolů.(A4M33NMS) ======
 +//Převzato z //​[[http://​statnice.stm-wiki.cz/​doku.php?​id=si:​si2|STM státnice]]
 +
 +
 ===== UML ===== ===== UML =====
 == Úvod == == Úvod ==
Řádek 41: Řádek 45:
    * k tomu, abychom použili (již hotový) objekt, nemusíme znát jeho implementaci - stačí nám znát jeho rozhraní; programátoři (i neobjektoví) vlastně tohoto využívají při volání knihovních funkcí : programátor v jazyce C nemusí znát, jak je vnitřně vyřešena funkce printf, ale zná její rozhraní, tedy ji může používat ​    * k tomu, abychom použili (již hotový) objekt, nemusíme znát jeho implementaci - stačí nám znát jeho rozhraní; programátoři (i neobjektoví) vlastně tohoto využívají při volání knihovních funkcí : programátor v jazyce C nemusí znát, jak je vnitřně vyřešena funkce printf, ale zná její rozhraní, tedy ji může používat ​
    * a z druhé strany : vnitřek objektu může být (v budoucnu) libovolně změněn - ale jen tak, aby jeho klienty (tj. ty, které využívají jeho služby) nemuselo být nutno revidovat - jinak řečeno : i po úpravách musí objekt správně implementovat dohodnuté rozhraní; tedy ten, kdo vytváří/​mění vnitřek objektu, nemusí nic vědět o tom, jak a kým bude objekt použit - stačí, když bude správně implementovat rozhraní    * a z druhé strany : vnitřek objektu může být (v budoucnu) libovolně změněn - ale jen tak, aby jeho klienty (tj. ty, které využívají jeho služby) nemuselo být nutno revidovat - jinak řečeno : i po úpravách musí objekt správně implementovat dohodnuté rozhraní; tedy ten, kdo vytváří/​mění vnitřek objektu, nemusí nic vědět o tom, jak a kým bude objekt použit - stačí, když bude správně implementovat rozhraní
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_commondiv.png}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_commondiv.png?200|}}
  
 == Mechanismy rozšiřitelnosti (extensibility mechanisms) ==  == Mechanismy rozšiřitelnosti (extensibility mechanisms) == 
Řádek 56: Řádek 60:
   * Behaviorální – interakce, stavové stroje, use case    * Behaviorální – interakce, stavové stroje, use case 
   * Skupiny – balíček (package)   * Skupiny – balíček (package)
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_diag_types.png?​700}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_diag_types.png?​700|}}
  
 === Vztahy – Relationships === === Vztahy – Relationships ===
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_relation2.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_relation2.png?500}}
  
  
Řádek 80: Řádek 84:
   * nezabřednout brzy do implementačních detailů   * nezabřednout brzy do implementačních detailů
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_class.png}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_class.png?500}}
    
 +
 **Návrhové relace** **Návrhové relace**
  
Řádek 93: Řádek 98:
     * Součást může být sdílena více celky     * Součást může být sdílena více celky
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_agregace.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_agregace.png?300|}}
  
   * **Kompozice**   * **Kompozice**
Řádek 103: Řádek 108:
     * Je-li zničen celek, musí zničit své součásti (nebo přenést odpovědnost na jiný objekt)     * Je-li zničen celek, musí zničit své součásti (nebo přenést odpovědnost na jiný objekt)
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_kompozice.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_kompozice.png?300|}}
  
 **Generalizace** **Generalizace**
Řádek 109: Řádek 114:
   * Na následujícím obrázku je třída Zvíře obecnější než třída Pes.   * Na následujícím obrázku je třída Zvíře obecnější než třída Pes.
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_generalizace.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_generalizace.png?100|}}
  
 **Dědičnost tříd** **Dědičnost tříd**
Řádek 125: Řádek 130:
   * Rozhraní se používá k určení společných protokolů pro třídy, mezi nimiž by za normálních okolností neměly být dědičné vazby.   * Rozhraní se používá k určení společných protokolů pro třídy, mezi nimiž by za normálních okolností neměly být dědičné vazby.
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_realize_2.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_realize_2.png?550|}}
  
 ==== Diagram komponent ==== ==== Diagram komponent ====
Řádek 136: Řádek 141:
 Protože je komponenta specializací třídy, může mít své atributy a operace a může mít asociace a generalizace-specializace (více viz diagram tříd (class diagram)). Protože je komponenta specializací třídy, může mít své atributy a operace a může mít asociace a generalizace-specializace (více viz diagram tříd (class diagram)).
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_comp.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_comp.png?600|}}
  
 Na prvním obrázku je diagram komponent s jednou strukturovanou komponentou **Obchod** a jejími třemi vnitřními komponentami **:​Objednavka**,​ **:​Produkt** a **:​Zakaznik**. Na prvním obrázku je diagram komponent s jednou strukturovanou komponentou **Obchod** a jejími třemi vnitřními komponentami **:​Objednavka**,​ **:​Produkt** a **:​Zakaznik**.
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-komponent-2.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-komponent-2.png?600|}}
  
 V druhém obrázku je další diagram komponent, kde vidíme komponentu **Objednavka** a její vnitřní klasifikátory **HlavickaObjednavky** a **PolozkaObjednavky**,​ které realizují chování této komponenty. V druhém obrázku je další diagram komponent, kde vidíme komponentu **Objednavka** a její vnitřní klasifikátory **HlavickaObjednavky** a **PolozkaObjednavky**,​ které realizují chování této komponenty.
Řádek 174: Řádek 179:
 Objekty jsou instancemi tříd. Objekty jsou propojeny linky. Objektový diagram vypadá podobně, jako diagram tříd. Název konkrétního objektu se zapisuje před název třídy a odděluje se dvojtečkou. Objekty jsou instancemi tříd. Objekty jsou propojeny linky. Objektový diagram vypadá podobně, jako diagram tříd. Název konkrétního objektu se zapisuje před název třídy a odděluje se dvojtečkou.
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_object.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_object.png?250|}} 
 + 
 +{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-objektovy.gif?​450|}}
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-objektovy.gif|}} 
 Na obrázku je příklad objektového diagramu odvozeného z class diagramu naší půjčovny videokazet. :  Na obrázku je příklad objektového diagramu odvozeného z class diagramu naší půjčovny videokazet. : 
   * objekt je znázorněn podobně jako třída - obdélníkem,​ ale název objektu je vždy podtržený   * objekt je znázorněn podobně jako třída - obdélníkem,​ ale název objektu je vždy podtržený
Řádek 235: Řádek 241:
   * Alternativní scénáře ​   * Alternativní scénáře ​
   * Výstupní podmínky (např. Kniha byla zapůjčena,​ byl odeslán příkaz k výdeji)   * Výstupní podmínky (např. Kniha byla zapůjčena,​ byl odeslán příkaz k výdeji)
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_uc_scenarios.png}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​02_sin_uc_scenarios.png?400}}
    
  
 == Relace include vs. relace extend == == Relace include vs. relace extend ==
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_uc_extend_2.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_uc_extend_2.png?400|}}
  
 include include
Řádek 264: Řádek 270:
 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 d. 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. 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 d. 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.
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-aktivit.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-aktivit.png?400|}}
 Na obrázku je příklad jednoduchého diagramu aktivit: Na obrázku je příklad jednoduchého diagramu aktivit:
   * **aktivita** (activity) **vyřizování objednávek** je ta, která je zde modelována (pro znázornění,​ jak vlastně toto vyřizování objednávek probíhá)   * **aktivita** (activity) **vyřizování objednávek** je ta, která je zde modelována (pro znázornění,​ jak vlastně toto vyřizování objednávek probíhá)
Řádek 287: Řádek 293:
 Diagram obsahuje stavový stroj (state machine). Stavový stroj vyjadřuje stavy určitého objektu a přechody mezi těmito stavy. Diagram obsahuje stavový stroj (state machine). Stavový stroj vyjadřuje stavy určitého objektu a přechody mezi těmito stavy.
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-stavu.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-stavu.png?300|}}
  
 Na obrázku je příklad jednoduchého diagramu stavového stroje :  Na obrázku je příklad jednoduchého diagramu stavového stroje : 
Řádek 320: Řádek 326:
  
 Objekty si mohou posílat zprávy. Sekvenční diagram zobrazuje jejich časovou posloupnost. Objekty si mohou posílat zprávy. Sekvenční diagram zobrazuje jejich časovou posloupnost.
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-sekvencni.png|}}+ 
 +{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-sekvencni.png?450|}}
  
 Jedná se o jednoduchý sekvenční diagram. Časová osa je svislá (čas běží shora dolů), na vodorovné ose jsou rozmístěny objekty: Jedná se o jednoduchý sekvenční diagram. Časová osa je svislá (čas běží shora dolů), na vodorovné ose jsou rozmístěny objekty:
Řádek 345: Řádek 352:
 Popis šipek: Popis šipek:
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_sipky.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​si_02_sipky.png?250|}}
  
 ==== diagram komunikace ==== ==== diagram komunikace ====
Řádek 356: Řádek 363:
 Objekty si mohou posílat zprávy. Diagram komunikací ukazuje objekty (přesněji : části kompozitní struktury nebo role ve spolupráci(collaboration)) a spojení a zprávy, které si objekty posílají. Čas zde nevystupuje jako zvláštní dimenze, proto musí být sekvence zpráv a spouběžnost threadů určena pomocí čísel sekvencí : Objekty si mohou posílat zprávy. Diagram komunikací ukazuje objekty (přesněji : části kompozitní struktury nebo role ve spolupráci(collaboration)) a spojení a zprávy, které si objekty posílají. Čas zde nevystupuje jako zvláštní dimenze, proto musí být sekvence zpráv a spouběžnost threadů určena pomocí čísel sekvencí :
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-komunikaci.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-komunikaci.png?350|}}
  
 Jedná se o diagram komunikací odvozený z našeho jednoduchého sekvenčního diagramu Jedná se o diagram komunikací odvozený z našeho jednoduchého sekvenčního diagramu
Řádek 383: Řádek 390:
 Diagram přehledu interakcí definuje interakce pomocí varianty diagramu aktivit : tato varianta zahrnuje fragmenty sekvenčních diagramů spolu s konstrukty pro řízení toku.  Diagram přehledu interakcí definuje interakce pomocí varianty diagramu aktivit : tato varianta zahrnuje fragmenty sekvenčních diagramů spolu s konstrukty pro řízení toku. 
  
-{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-interakci.png|}}+{{http://​statnice.stm-wiki.cz/​lib/​exe/​fetch.php?​cache=&​media=wiki:​downloads:​diagram-interakci.png?450|}}
  
 Diagram přehledu interakcí obsahuje jako své uzly interakce (online vložené interakční diagramy) a interaction use (ad interaction use viz sekvenční diagram) Diagram přehledu interakcí obsahuje jako své uzly interakce (online vložené interakční diagramy) a interaction use (ad interaction use viz sekvenční diagram)
statnice/si/a4m33nms2.1305717868.txt.gz · Poslední úprava: 2025/01/03 18:25 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0