Pytania pomocnicze - INF.04
Projektowanie, programowanie i testowanie aplikacji
Pytania pomocnicze rozwijające tematy z pytań egzaminacyjnych. Każde pytanie ma krótką odpowiedź, która pomaga utrwalić wiedzę i przygotować się do egzaminu. Łącznie: 2975.
Strona 39 z 39.
Na czym polega podstawowa zasada modelu kaskadowego?
Model kaskadowy zakłada liniowe przechodzenie przez kolejne fazy projektu. Każda faza powinna zostać zakończona przed rozpoczęciem następnej.
Jakie są typowe fazy modelu kaskadowego?
Najczęściej wyróżnia się analizę wymagań, projektowanie, implementację, testowanie, wdrożenie i utrzymanie. Etapy następują po sobie w ustalonej kolejności.
Dlaczego odpowiedź o iteracyjnym wprowadzaniu modyfikacji nie pasuje do modelu kaskadowego?
Iteracyjne modyfikacje są charakterystyczne dla modeli iteracyjnych, zwinnych lub spiralnych. W modelu kaskadowym powrót do wcześniejszych etapów jest ograniczony i zwykle kosztowny.
Kiedy model kaskadowy sprawdza się najlepiej?
Sprawdza się w projektach o dobrze znanych, stabilnych wymaganiach. Jest korzystny tam, gdzie ważna jest formalna dokumentacja i przewidywalny harmonogram.
Jaką wadę ma model kaskadowy w przypadku zmieniających się wymagań?
Zmiana wymagań po zakończeniu wcześniejszej fazy może wymagać cofnięcia się i przerobienia dokumentacji, projektu lub kodu. Powoduje to wzrost kosztów i opóźnienia.
Czym model kaskadowy różni się od podejścia Agile?
Model kaskadowy jest sekwencyjny i planowany z góry, natomiast Agile zakłada krótkie iteracje, częste dostarczanie fragmentów produktu i reagowanie na zmiany.
Na czym polega etap implementacji w projekcie informatycznym?
Etap implementacji polega na tworzeniu kodu programu, budowaniu modułów, ich łączeniu oraz wykonywaniu testów technicznych. Jest to faza, w której projekt zaczyna działać jako rzeczywista aplikacja.
Dlaczego integracja modułów odbywa się dopiero po ich zaimplementowaniu?
Moduły muszą najpierw zostać utworzone, aby można było sprawdzić ich współpracę. Integracja wymaga istnienia działających części systemu.
Czym różni się faza analizy od etapu implementacji?
Faza analizy służy do określenia wymagań i potrzeb użytkownika. Etap implementacji polega na wykonaniu systemu zgodnie z tymi wymaganiami.
Czym różni się etap implementacji od fazy wdrożenia?
Implementacja obejmuje tworzenie, łączenie i testowanie systemu. Wdrożenie polega na uruchomieniu gotowego rozwiązania u użytkownika lub w środowisku produkcyjnym.
Jakie testy wykonuje się podczas implementacji systemu?
Najczęściej wykonuje się testy jednostkowe oraz integracyjne. Testy jednostkowe sprawdzają pojedyncze fragmenty kodu, a integracyjne współpracę modułów.
Dlaczego testowanie wszystkich modułów jest ważne przed wdrożeniem?
Pozwala wykryć błędy współpracy elementów systemu, zanim aplikacja trafi do użytkowników. Zmniejsza to ryzyko awarii w środowisku produkcyjnym.
Do czego służy wzorzec projektowy Fasada?
Fasada służy do uproszczenia dostępu do złożonego systemu. Udostępnia jeden prosty interfejs zamiast wielu klas i metod podsystemu.
Dlaczego Fasada jest wzorcem strukturalnym?
Ponieważ opisuje sposób organizacji i połączenia klas lub obiektów. Jej zadaniem jest uporządkowanie dostępu do wielu elementów systemu.
Czym Fasada różni się od Singletona?
Fasada upraszcza interfejs złożonego systemu, a Singleton ogranicza liczbę instancji klasy do jednej. Rozwiązują zupełnie inne problemy projektowe.
Czym Fasada różni się od Kompozytu?
Kompozyt służy do budowania struktur drzewiastych i traktowania obiektów pojedynczych oraz złożonych jednakowo. Fasada nie buduje drzewa obiektów, tylko upraszcza dostęp do podsystemu.
Czym Fasada różni się od Metody szablonowej?
Metoda szablonowa definiuje szkielet algorytmu i pozwala klasom potomnym uzupełniać jego kroki. Fasada koncentruje się na uproszczeniu korzystania ze złożonego systemu.
Kiedy warto zastosować wzorzec Fasada?
Warto go użyć, gdy system ma wiele klas i skomplikowane zależności, a użytkownik kodu potrzebuje prostego sposobu wykonania typowych operacji.
Czy Fasada usuwa złożoność systemu?
Nie usuwa złożoności wewnętrznej, ale ją ukrywa przed kodem korzystającym z systemu. Dzięki temu klient pracuje z prostszym interfejsem.
Na czym polega wzorzec Metoda szablonowa?
Polega na zdefiniowaniu ogólnego szkieletu algorytmu w klasie bazowej. Szczegółowe kroki algorytmu są implementowane lub nadpisywane przez klasy pochodne.
Dlaczego w Metodzie szablonowej często używa się klasy abstrakcyjnej?
Klasa abstrakcyjna może zawierać gotową metodę szablonową oraz metody abstrakcyjne reprezentujące kroki do wykonania przez podklasy.
Czym metoda szablonowa różni się od zwykłej metody?
Metoda szablonowa steruje całym przebiegiem algorytmu i wywołuje kolejne kroki. Zwykła metoda zazwyczaj wykonuje jedną konkretną operację.
Jaką rolę pełnią podklasy w tym wzorcu?
Podklasy dostarczają szczegółową implementację wybranych kroków algorytmu, ale nie zmieniają jego ogólnej kolejności.
Czy Metoda szablonowa służy do organizowania obiektów w strukturę drzewa?
Nie. Organizowanie obiektów w hierarchiczne struktury drzewiaste to cecha wzorca Kompozyt, a nie Metody szablonowej.
Jaki jest główny cel stosowania Metody szablonowej?
Głównym celem jest uniknięcie duplikacji kodu i zapewnienie wspólnego przebiegu algorytmu dla wielu klas.
Co oznacza, że szczegóły implementacji są pozostawione podklasom?
Oznacza to, że klasa bazowa określa, jakie kroki mają zostać wykonane, ale konkretne działanie tych kroków definiują klasy dziedziczące.
Jaki problem rozwiązuje wzorzec Kompozyt?
Rozwiązuje problem różnego traktowania pojedynczych obiektów i grup obiektów. Pozwala obsługiwać je przez wspólny interfejs.
Dlaczego Kompozyt często kojarzy się ze strukturą drzewa?
Ponieważ obiekt złożony może zawierać inne obiekty, a te mogą zawierać kolejne elementy. Przypomina to strukturę folderów i podfolderów.
Czym różni się element Leaf od Composite?
Leaf to pojedynczy element, który nie zawiera innych obiektów. Composite to element złożony, który przechowuje inne elementy i wykonuje operacje na nich.
Jaką rolę pełni wspólny interfejs we wzorcu Kompozyt?
Definiuje operacje dostępne zarówno dla pojedynczych obiektów, jak i dla ich zbiorów. Dzięki temu klient może używać ich w taki sam sposób.
Jaki przykład z systemu plików dobrze pokazuje wzorzec Kompozyt?
Plik można potraktować jako pojedynczy element, a folder jako obiekt złożony zawierający pliki i inne foldery. Oba mogą mieć np. operację wyświetlenia nazwy lub obliczenia rozmiaru.
Dlaczego poprawną odpowiedzią jest obsługa obiektów i ich zbiorów w spójny sposób?
Bo to jest podstawowy cel wzorca Composite. Klient nie musi rozróżniać, czy pracuje z pojedynczym elementem, czy z całą strukturą.
Które odpowiedzi w pytaniu opisują inne wzorce lub pojęcia?
Dynamiczna zmiana zachowania obiektu bardziej pasuje do wzorców takich jak Strategia lub Stan. Określenie komunikacji między składnikami może kojarzyć się np. z Mediatorem.
Czym są wzorce projektowe w programowaniu?
To sprawdzone schematy rozwiązywania powtarzalnych problemów projektowych. Pomagają projektować kod bardziej elastyczny, czytelny i łatwiejszy w utrzymaniu.
Jakie są trzy główne grupy wzorców projektowych?
Najczęściej wyróżnia się wzorce kreacyjne, strukturalne i behawioralne. Kreacyjne dotyczą tworzenia obiektów, strukturalne budowy zależności, a behawioralne komunikacji i zachowania obiektów.
Dlaczego Fasada jest wzorcem strukturalnym?
Fasada upraszcza dostęp do złożonego systemu przez jeden wspólny interfejs. Dotyczy więc organizacji i struktury zależności między elementami systemu.
Dlaczego Fabryka abstrakcyjna nie jest wzorcem strukturalnym?
Fabryka abstrakcyjna dotyczy tworzenia rodzin powiązanych obiektów. Z tego powodu należy do wzorców kreacyjnych, a nie strukturalnych.
Dlaczego Metoda szablonowa jest wzorcem behawioralnym?
Metoda szablonowa definiuje szkielet algorytmu i pozwala klasom potomnym zmieniać wybrane kroki. Dotyczy więc zachowania algorytmu, a nie struktury obiektów.
Dlaczego Obserwator jest wzorcem behawioralnym?
Obserwator opisuje sposób powiadamiania wielu obiektów o zmianie stanu jednego obiektu. Dotyczy komunikacji i reakcji obiektów, więc jest wzorcem behawioralnym.
Jakie inne wzorce należą do wzorców strukturalnych?
Do wzorców strukturalnych należą między innymi Adapter, Dekorator, Kompozyt, Proxy, Most, Flyweight i Fasada.
Jak szybko rozpoznać wzorzec strukturalny na egzaminie?
Wzorzec strukturalny zwykle odpowiada na pytanie, jak uprościć, połączyć, opakować lub dopasować klasy i obiekty. Jeśli chodzi głównie o tworzenie obiektów, to raczej wzorzec kreacyjny, a jeśli o zachowanie — behawioralny.