Zalecane, 2024

Wybór Redakcji

Różnica między podejściem odgórnym a oddolnym

Algorytmy są zaprojektowane przy użyciu dwóch podejść, które są podejściem odgórnym i oddolnym. W podejściu od góry złożony moduł jest podzielony na submoduły. Z drugiej strony, podejście oddolne rozpoczyna się od elementarnych modułów, a następnie łączy je dalej. Wcześniejszym celem algorytmu jest operowanie danymi zawartymi w strukturze danych. Innymi słowy, algorytm służy do wykonywania operacji na danych wewnątrz struktur danych.

Skomplikowany algorytm jest podzielony na małe części zwane modułami, a proces dzielenia nazywany jest modularyzacją . Modularyzacja znacznie zmniejsza komplikacje związane z projektowaniem algorytmu i ułatwia jego projektowanie i implementację. Programowanie modułowe jest techniką projektowania i pisania programu w postaci funkcji, w których każda funkcja różni się od siebie i działa niezależnie. Treść funkcji jest spójna, a pomiędzy modułami występuje niskie sprzężenie.

Wykres porównania

Podstawa do porównaniaPodejście zstępującePodejście oddolne
PodstawowyŁamie ogromny problem na mniejsze podproblemy.Rozwiązuje podstawowy problem niskiego poziomu i integruje je w jeden większy.
ProcesSubmoduły są analizowane pojedynczo.Sprawdź, jakie dane mają zostać zamknięte, i sugeruje ukrywanie informacji.
Porozumiewanie sięNie jest wymagane w podejściu z góry na dół.Wymaga określonej ilości komunikacji.
NadmiarZawierają nadmiarowe informacje.Redundancja może zostać wyeliminowana.
Języki programowaniaJęzyki programowania strukturalnego / proceduralnego (tj. C) są zgodne z podejściem odgórnym.Języki programowania obiektowego (takie jak C ++, Java itp.) Są oparte na podejściu oddolnym.
Głównie używane wDokumentacja modułu, tworzenie przypadków testowych, implementacja kodu i debugowanie.Testowanie

Definicja podejścia odgórnego

Podejście odgórne dzieli zasadniczo złożony problem lub algorytm na wiele mniejszych części (modułów). Moduły te są następnie rozkładane, aż powstały moduł jest zasadniczo zrozumiałym programem podstawowym i nie może być dalej rozkładany. Po osiągnięciu pewnego poziomu modułowości ustaje rozpad modułów. Podejście odgórne to krok po kroku przerywający duży moduł programowy na prostsze i mniejsze moduły w celu zorganizowania i kodowania programu w efektywny sposób. Przepływ kontroli w tym podejściu jest zawsze skierowany w dół. Podejście odgórne realizowane jest w języku programowania "C" za pomocą funkcji.

Tak więc metoda od góry do dołu zaczyna się od abstrakcyjnego projektu, a następnie sekwencyjnie ten projekt jest dopracowywany, aby stworzyć bardziej konkretne poziomy, dopóki nie będzie wymogu dodatkowego udoskonalenia.

Definicja podejścia oddolnego

Oddolne podejście działa w sposób odwrotny do podejścia odgórnego. Początkowo obejmuje projektowanie najbardziej podstawowych części, które następnie są łączone, aby uczynić moduł wyższego poziomu. Ta integracja submodułów i modułów do modułu wyższego poziomu jest powtarzana do momentu uzyskania wymaganego kompletnego algorytmu.

Podejście od dołu działa z warstwami abstrakcji. Podstawowym zastosowaniem podejścia oddolnego jest testowanie, ponieważ każdy moduł podstawowy jest najpierw testowany przed połączeniem go z większym. Testowanie odbywa się za pomocą pewnych funkcji niskiego poziomu.

Kluczowe różnice między podejściem od góry do dołu a podejściem od dołu

  1. Podejście odgórne rozkłada duże zadanie na mniejsze podzadania, podczas gdy podejście oddolne najpierw rozwiązuje różne podstawowe części zadania bezpośrednio, a następnie łączy te części w cały program.
  2. Każdy submoduł jest przetwarzany osobno w ramach podejścia odgórnego. W przeciwieństwie do tego, podejście oddolne wdraża koncepcję ukrywania informacji poprzez badanie danych, które mają być enkapsulowane.
  3. Różne moduły podejścia odgórnego nie wymagają dużej komunikacji. Przeciwnie, podejście oddolne wymaga interakcji między oddzielnymi modułami podstawowymi, aby później je połączyć.
  4. Podejście odgórne może zapewnić nadmiarowość, natomiast podejście oddolne nie obejmuje nadmiarowych informacji.
  5. Języki programowania proceduralnego, takie jak Fortran, COBOL i C, są zgodne z podejściem odgórnym. Natomiast zorientowane obiektowo języki takie jak C ++, Java, C #, Perl, Python są oparte na podejściu oddolnym.
  6. Podejście bottom-up jest wykorzystywane wcześniej w testowaniu. Odwrotnie, podejście zstępujące jest wykorzystywane w dokumentacji modułu, tworzeniu przypadków testowych, debugowaniu itp.

Wniosek

Podejście odgórne i oddolne to metody projektowania algorytmów, w których odgórne jest podejściem konwencjonalnym, które rozkłada system ze specyfikacji wysokiego poziomu do specyfikacji niskiego poziomu. Z drugiej strony, podejście oddolne jest bardziej wydajne i działa w sposób odwrotny, gdy początkowo komponenty są projektowane, a następnie przechodzą na wyższy poziom.

Podejście odgórne kładzie nacisk na izolację submodułów (oznacza niskie sprzężenie między modułami), ignorując jednocześnie identyfikację koncepcji komunikacji i ponownego wykorzystania. W podejściu oddolnym najważniejszymi czynnikami są ukrywanie informacji i ich ponowne wykorzystanie.

Top