Kategorie szkoleń | Egzaminy | Kontakt

Odpowiedź (1)

  • 0

Zwartość/spójność (cohesion) - określa stopień w jakim część kodu stanowi logicznie zamkniętą całość

Zwartość:
- opisuje w jakim stopniu elementy komponentu są ukierunkowane na realizację wspólnego celu
- stanowi miarę na ile wszystkie elementy realizujące określony cel są zawarte w jednym komponencie
- jest miarą powiązań odpowiedzialności elementów wewnątrz komponentu

Stopień zwartości może określać ilość powiązań wewnątrz komponentu. Niska liczba powiązań może oznaczać źle wytyczone granice komponentu, tzn. że kod wewnątrz komponentu nie jest ze sobą logicznie powiązany.

Zwartość można definiować na różnych poziomach abstrakcji - rolę komponentu może pełnić metoda, klasa, grupa klas lub moduł.

Typy zwartości:

1. zwartość przypadkowa (coincidental cohesion)
- elementy komponentu nie są ze sobą powiązane - jedynym kryterium je łączącym jest ich położenie w kodzie źródłowym
- elementy niezbędne dla danej funkcjonalności są "porozrzucane" w różnych częściach systemu
- najgorsza forma zwartości

2. zwartość logiczna (logical cohesion)
- elementy komponentu są powiązane logicznie, ale nie funkcjonalnie
- komponent klienta dokonuje wyboru jednego z elementów
3. zwartość czasowa (temporal cohesion)
- kryterium grupującym elementy jest czas
- np. zbiór czynności wykonywanych w wyniku wystąpienia zdarzenia
4. zwartość proceduralna (procedural cohesion)
- elementy komponentu są powiązane ze sobą tylko w celu zapewnienia określonej kolejności wykonania
5. zwartość komunikacyjna (communicational cohesion)
- funkcje wykonywane są na tym samym zestawie danych, lub w celu ich utworzenia
- np. aktualizacja rekordu w bazie danych i wypisanie go na ekranie
 
6. zwartość sekwencyjna (sequential cohesion)
- określa przepływ danych pomiędzy częściami systemu
- dane wyjściowe jednej części stają się danymi wejściowymi kolejnej
- występuje naturalnie w funkcyjnych językach programowania
 
7. zwartość funkcjonalna (functional cohesion)
- każdy istotny dla danej operacji element jest zawarty w komponencie
- taki element realizuje cel dla którego został stworzony i nic poza tym
- najlepszy typ zwartości
 




 

  • Odpowiedział
  • @ | 04.12.2015
  • TRENER MODERATOR ALTKOM AKADEMII