Ciągła integracja

Ciągła integracja(CI) to praktyka w dziedzinie inżynierii oprogramowania pozwalająca na merge'owanie wszystkich kopii projektów, na których pracują programiści, do mainline, kilka razy dziennie. Głownym celem CI jest zapobieganie problemom integracji różnych części projektu. Uzysykuje się to dzięki weryfikacji każdego pushniętego kodu przez automatyczne budowanie, pozwalające wykrycie błędow łatwo i szybko.

Najczęściej serwisy CI pozwalają na integrację z repozytoriami, na których jest trzymany kod, takimi jak Git czy SVN. Automatyczne zadania są uruchamiane po każdym commit'cie do repozytorium.

 

Dobre systemy ciąglej integracji powinny być szybkie, pozwalać na równoległe tworzenie procesów i zadań, wieloplatformowe oraz wielojęzykowe, oraz łatwe do konfiguracji.

https://codeship.com/features/parallelci

SCM

Source Code Managment(SCM), Version control system(VCS) – system zarządzania kodem źródłowym, wersjonowaniem. Pozwala nam na śledzenie zmian w dokumentach znajdujących się w repozytorium, łączeniu zmian dokonanych na plikach przez ludzi pracujących jednocześnie na tych samych zasobach w danym momencie.

Git flow

Przykład przepływu pracy z repozytorium GIT.

https://blog.oio.de/2014/09/22/git-workflows-teil-2-workflows-meistern/

Prototypowanie

Prototypowanie

Prototypowanie  - częściowo ograniczona reprezentacja wyglądu bądź funkcjonalności finalnego produktu, która umożliwia użytkownikowi interakcję, w celu sprawdzenia czy będzie nim zainteresowany

Pozwala na zaprezentowanie inwestorom swojej wizji, w celu zdobycia pieniędzy na dalszy rozwój produktu.

 

Celem jest zaoszczędzenie czasu i pieniędzy.

 

Użytkownik może przetestować produkt.

Rodzaje prototypów

Prototyp horyzontalny - prototyp ten pozwala na interakcję z użytkownikiem, pokazuje jak produkt będzie zachowywał się w swojej finalnej wersji, jak będzie wyglądał jego design. Nie ma on zaimplementowanej żadnej logiki.

Może byc on stworzony w jednej z 3 form:

  • Paper Form,
  • Static Mockup,
  • Dynamic Mockup.

Prototyp wertykalny - prototyp ten zawiera częściową implementację finalnego produktu, która spełnia całkowicie jedną z funkcjonalności.
 

Celami są:

  • sprawdzenie możliwości środowiska,
  • sprawdzenie wydajności naszego produktu,
  • poprawności zaprojektowanego algorytmu, wybranych struktur danych.

Prototyp Throw-away - jest to prototyp, który ma za zadanie przetestowanie danej wizji, jej poprawności działania. Jesli wizja się nie sprawdzi, jest on po prostu "wyrzucany" i jeżeli projekt nie jest zaniechany, to zostaję tworzony nowy prototyp aż do osiągnięcia oczekiwanych rezultatów.

 

Takie prototypwanie jest dosyć kosztowne, ale dzięki niemu możemy wykluczyć ryzyko niepowodzenia naszego produktu, w kolejnych fazach prototypowania jest on coraz bardziej niezawodny i wydajny.

Prototyp ewolucyjny  - jest to prototyp, który ma za zadanie rozrastać się ewolucyjnie. Jeśli pierwsze wersje prototypu zyskają poparcie inwestorów, jest on cały czas rozwijany aż do osiągnięcia finalnego produktu, spełnienia wszystkich wymagań.

 

Kolejne iteracje prototypów są łączeniem prototypów wertykalnych, wraz z kolejnymi prototypami dodawane są kolejne funkcjonalności.

Źródła

Made with Slides.com