Metodiki Flashcards

1
Q

SDLC

A

(System Development Life Cycle)

Ogólne pojęcie metodyki, bardziej definicja niż szczegółowy model.

  • Cykl życia oprogramowania (systemu) to ciąg wyodrębnionych, wzajemnie spójnych faz i etapów, pozwalających na pełne, skuteczne zaprojektowanie, a następnie użytkowanie systemu informatycznego.
  • Każda z faz korzysta z własnej grupy metod, technik i narzędzi wspomagania tworzenia oprogramowania.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Proces (model) Kaskadowy

A
  • W procesie kaskadowym (waterfall) wynik jednego etapu staje się wejściem drugiego, przy czym z reguły nie powraca się do poprzednich etapów.
  • Wymusza to bardzo szczegółowy opis wymagań, ponieważ błąd we wczesnej fazie procesu może zostać spropagowany do pozostałych faz. Wymagany jest wtedy powrót do fazy, która ten błąd spowodowała i jego korekta, co oczywiście jest czasochłonne.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Zalety i wady kaskadowego:

A

Zalety modelu kaskadowego:

  • łatwość zarządzania przedsięwzięciem
  • łatwość harmonogramowania poszczególnych etapów
  • łatwość określenia sumarycznych kosztów przedsięwzięcia
  • łatwość tworzenia dokumentacji

Wady modelu kaskadowego:

  • wysoki koszt błędów popełnionych we wstępnych fazach projektu (wysokie prawdopodobieństwo wystąpienia zjawiska propagacji błędów)
  • długa przerwa w kontaktach z klientem (od określenia wymagań – do przekazania produktu)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Proces (model) Iteracyjny

A

Opracowywanie iteracyjne rozpoczyna się od koncepcji (idei) obrazującej system. W miarę poznawania szczegółów ta koncepcja podlega ewolucji – może się rozrastać. Gdy wymagania są już dobrze określone, rozpoczyna się faza projektowania – tworzony jest prototyp, a następnie wstępna implementacja.

Zagadnienia pojawiające się podczas opracowywania programu wpływają na zmiany w projekcie i mogą nawet wpłynąć na zrozumienie wymagań. Co najważniejsze, projektujemy i implementujemy jedynie części pełnego produktu, powtarzając na przemian fazy projektowania i implementacji. Oznacza to wielokrotne przechodzenie przez każdą fazę procesu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Model V

A
  • Każdy etap projektowania kończy się stworzeniem danych wejściowych dla następnej fazy, oraz odpowiadających mu zestawów testowych. Model V zaleca jak najwcześniejsze rozpoczęcie procesu tworzenia planów testów, specyfikacji testowej i samego testowania.
  • Jest mało szczegółowy i mało wydajny, daje jednak obraz idealnego świata kooperacji między architektami, programistami, testerami i klientami.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Realizacja Iteracyjna i Przyrostowa

A

Analiza wymagań i projekt systemu realizowane są w procesie kaskadowym. Kiedy projekt jest już gotowy następuje praca nad poszczególnymi elementami systemu, tym razem w procesie iteracyjnym.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Programowanie odkrywcze

A

Polega na iteracyjnym cyklu budowy systemu i jego testowaniu, dopóki nie zacznie on działać poprawnie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Prototypowania

A

Polega na budowie prototypu, w celu dokładnego zrozumienia wymagań stawianych przez klienta i wczesnego wykrycia potencjalnych problemów i trudności.
Jeśli występują jakieś niedociągłości, tworzona jest nowa wersja prototypu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Zady i walety prototypowania

A

Zalety prototypowania:

  • lepsze poznanie potrzeb i wymagań użytkownika
  • możliwość szybkiej demonstracji pracującej wersji systemu
  • możliwość szkoleń zanim zbudowany zostanie pełny system

Wady prototypowania:

  • niezadowolenie klienta, który po obejrzeniu działającego prototypu niekiedy dość długo oczekuje na dostawę gotowego systemu
  • relatywnie wysoki koszt budowy prototypu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

GRAPPLE

A

Powstała jako uproszczenie SDLC składające się z 5 głównych segmentów:

  1. Identyfikacja problemu, zbieranie wymagań - identyfikacja i opis problemu zadania
  2. Analiza - proces zrozumienia i zdefiniowania problemu oraz określenia potrzebnych środków
  3. Projektowanie - dopracowanie szczegółów, tworzony jest projekt każdej funkcji systemu, a także elementy front-endowe, diagnozowane są też przypadki użycia
  4. Kodowanie - napisanie programu na podstawie wcześniej utworzonych diagramów
  5. Wdrożenie - testowanie aplikacji w odpowiednim środowisku sprzętowym i integracja systemowa
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

XP - Programowanie Extremalne

A

Członek rodziny metodyk Agile, podobne do prototypowania. Polega na iteracyjnym klepaniu kodu, za każdym razem przybliżając się do celu (tak jak my pisaliśmy algosy)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Test-Driven-Development (TDD)

A

TDD poniekąd odwraca kolejność działań typowych metodyk: w pierwszej kolejności pisane są testy, następnie pisany jest kod spełniający te testy, po czym następuje refaktoryzacja. Ten proces nosi nazwę cyklu Red-Green-Refactor i jest on powtarzany aż do osiągnięcia celu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

SCRUM

A

Podejście holistyczne w wytwarzaniu innowacyjnych produktów.
zestaw praktyk stosowanych w zwinnym zarządzaniu projektami, które
kładą nacisk na codzienną komunikację i elastyczną ponowną ocenę
planów, które są realizowane w krótkich, iteracyjnych fazach pracy.

  • Role w SCRUM:
    • Właściciel produktu
    • Zespół deweloperski
    • SCRUM master
How well did you know this?
1
Not at all
2
3
4
5
Perfectly