Diagramy komponent Diagramy komponent • Ilustrují vztahy mezi softwarovými komponentami, jejich závislosti, komunikaci, umístění aj. Diagramy komponent • Znázorňují statickou implementaci pohledu na systém - diagramy tříd, které jsou zaměřeny na systémové komponenty • Jsou jedny ze dvou druhů diagramů, které modelují fyzickou organizaci OO systémů Struktura diagramu komponent • Diagramy komponent se obvykle skládají z: - Komponent - Rozhraní - Závislostí, dědičností, asociací a jiných vazeb Komponenta • Komponenta je fyzická součást systému, která využívá a poskytuje realizaci rozhraní • Proč modelovat komponenty?!? • Graficky je komponenta znázorněna: Objednávka.java Komponenta Komponentou může být: • Tabulka • Datový i spustitelný soubor • Dynamická knihovna • Dokument aj. Typy komponent • Rozmísťované - (*.dll, prvky ActiveX, spustitelné soubory) • Podpůrné - (datové soubory, soubory se zdrojovým textem) • Prováděcí - (vznikají za běhu programu) Komponenty vs. Třídy Podobnosti: • Jména • Realizují se přes rozhraní • Možnost dědičnosti, asociace a závislosti • Mohou mít instance Komponenty vs. Třídy Rozdíly: • Třídy reprezentují logické abstrakce, komponenty fyzické • Třídy pracují s atributy a operacemi přímo; komponenty mají operace, které jsou dosažitelné pouze přes rozhraní Komponenty a Rozhraní • Rozhraní je sada operací, které komponenta nebo třída nabízí okolnímu světu • Vztah mezi komponentou a rozhraním se nazývá realizace • Rozhraní, které komponenta poskytuje jako službu jiným komponentám, se nazývá exportní rozhraní Komponenty a Rozhraní • Rozhraní, které komponenta využívá se nazývá importní rozhraní • Dané rozhraní může být poskytováno (exportováno) jednou komponentou a využíváno (importováno) jinou Komponenty a Rozhraní • Ukázka komunikace mezi komponentami: Objednávka.java Sklad.java Relace závislostiNázev Rozhraní Komponenta Příklad prodeje aut •Obr.1 Zdrojový kód Třídy jsou popsány v jazyce JAVA A jsou to soubory Užití komponent z jiných subsystémů Relace závislosti: Komponenty ze stejného balíčku Třídy obsažené v souboru Doplnek.java Příklad prodeje aut •Obr.2 Binární kód Soubor s přeloženým kódem Zdrojový soubor Příklad prodeje aut •Obr.3 Běh programu Přeložený zdrojový soubor Run-Time knihovna JAVY Konfigurační dokument SQL Server Tabulka relační databáze Virtuální stroj JAVY Aplikace využívá SQL dotazy Použité zdroje • www.unicorn.cz • www.uml.org • http://www.objects.cz • http://vondrak.cs.vsb.cz/download/Uvod_do_softwaroveho_inzenyrstvi.pdf