Provázanost

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Provázanost ( též softwarová závislost) označuje v informatice do jaké míry je dané entita (modul) závislý na jiné entitě (modulu). Provázanost je většinou propojena se soudržností. Nízká provázanost obvykle koreluje s vysokou soudržností a naopak. Nízká provázanost je známkou dobře navrženého systému a dobré architektury, když je navíc kombinována ještě s vysokou soudržností, podporuje obecné cíle programování: dobrou čitelnost a udržovatelnost kódu.

Typy provázanosti

Provázanost může být nízká (volná nebo též slabá) nebo vysoká (pevná nebo též silná). Následující typy provázanosti jsou seřazeny od nejvyšší k nejnižší provázanosti: * Obsahová provázanost (angl. +more Content coupling, nazývaná též patologická provázanost - angl. Pathological coupling) - modul spoléhá na vnitřní fungování jiného modulu - přistupuje k jeho vnitřním datům. Pokud se změní logika druhého modulu, musí se změnit závislý modul. * Společná provázanost (angl. Common coupling, nazývaná též globální provázanost - angl. Global coupling) - dva moduly mají stejné globální proměnné (data). Změna těchto dat vede ke změně všech modulů, které je používají. * Vnější provázanost (angl. External coupling) - nastává, pokud dva moduly mohou sdílet externě uložený formát dat, komunikační protokol nebo rozhraní zařízení. V podstatě tato provázanost souvisí s komunikací s externími zařízeními. * Ovládací provázanost (angl. Control coupling) - jeden modul řídí tok jiného předáním informací typu co dělat. * Značková provázanost (angl. Stamp coupling nebo též provázanost strukturovaných dat - angl. Data-structured coupling) - moduly sdílí kompozitní strukturu dat a používají pouze jejich část. To může vést ke změně způsobu, jak modul čte a zaznamenává data. * Datová provázanost (angl. Data coupling) - moduly sdílejí data napříč, např. skrze parametry. * Provázanost zprávami (angl. Message coupling) - nejvolnější typ provázanosti. Dosahuje se jí decentralizací, komunikace probíhá pomocí parametrů a zasíláním zpráv. * Žádná provázanost - moduly spolu vůbec nekomunikují.

Specifickým případem nízké provázanosti je v obecné formě Déméteřin zákon.

Nevýhody

Pevně provázané systémy vykazují následující nevýhody: * Změna v jednom modulu vyvolá dominový efekt změn v dalších modulech. * Spojení modulů může vyžadovat více času a úsilí z důvodu zvýšené závislosti mezi moduly. +more * Jednotlivé moduly je těžší znovu použít a testovat, jelikož musejí být zahrnuty závislé moduly.

Problémy s výkonem

Výkon aplikace může být snížen díky vytváření, předávání, překladu a interpretaci zpráv a parametrů. Pro optimalizaci výkonu je nutné minimalizovat délku zpráv a maximalizovat jejich význam.

Řešení

Provázanost se zvyšuje mezi dvěma třídami, pokud: * třída A má třídu B jako atribut. * třída A volá metody třídy B. +more * třída A má metodu, která odkazuje na B - jako návratový typ nebo jako parametr. * třída A je potomek B nebo implementuje třídu B. Nízká provázanost je vztah, kdy moduly mezi sebou komunikují prostřednictvím jednoduchého a stabilního rozhraní, přičemž se nezajímají o vnitřní provedení jiného modulu.

Provázanost versus soudržnost

Pojmy provázanost a soudržnost se často vyskytují společně. Oba vyjadřují kvalitu modulu. +more Provázanost hodnotí vnitřní závislosti mezi různými moduly, soudržnost popisuje, jak spolu souvisí funkce v modulu. Nízká soudržnost znamená, že modul plní úkoly, které nejsou příliš související, a proto může způsobit problémy, jako např. že modul se stává velký.

Kategorie:Softwarové inženýrství

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top