Bądźmy w kontakcie

Plan Szkolenia

QA/CI

  • Czym jest QA?
  • Czym jest CI?
  • Koszty rozwoju oprogramowania, refaktoryzacji i naprawy błędów
  • Identyfikacja i zrozumienie projektu
  • Korzyści dla organizacji

DDD

  • Rozwój oprogramowania oparty na wymaganiach biznesowych, założenia DDD
  • Problemy w komunikacji IT-Biznes
  • Model domenowy

Najlepsze Praktyki

  • Zasada KISS i DRY
  • Standardy kodowania
  • Tworzenie wielokrotnego użycia kodu poprzez OOP i wzorce projektowe
  • Identyfikacja i redukcja złożoności cyklomatycznej

Metryki Oprogramowania

  • Waga metody na klasę
  • Odpowiedź na klasę
  • Głębokość drzewa dziedziczenia
  • Powiazania między obiektami
  • Brak spójności metod
  • Liczba dzieci
  • Złożoność cyklomatyczna
  • Metryki klas
  • Metryki modelu
  • Metryki do wykorzystania

Testowanie Oprogramowania

  • Co, kiedy i jak testować?
  • Metoda "białej skrzynki" i "czarnej skrzynki"
  • Rola testowania w metodologiach zwinnych
  • TDD tylko potencjalny wzrost kosztów projektu
  • Testy jednostkowe z JUnit (Java), PHPUnit (PHP)
  • Testy behawioralne z JBehave (Java), Behat i Mink (PHP)
  • Testy funkcjonalne

Refaktoryzacja

  • Czym jest refaktoryzacja?
  • Dług technologiczny
  • Zapach kodu
  • Wzorce refaktoryzacji

Dokumentacja

  • Rola dokumentacji w metodologiach zwinnych
  • Co dokumentować?
  • Rodzaje dokumentacji
  • Dokumentacja a metodyki zwinne, czyli (Działające oprogramowanie ponad obszerną dokumentację)?
  • Standard XMI
  • Automatyczne generowanie dokumentacji z Javadoc (Java), ApiGen (PHP)

Narzędzia i Środowisko CI

  • Narzędzia i Środowisko CI
    • PMD (Java), phpmd (PHP)
    • CPD (Java), phpcpd (PHP)
    • Licznik linii kodu (Java), phploc (PHP)
    • UCDetector (Java), phpdcd (PHP)
    • Jdepend (Java), phpdepend (PHP)
  • Serwer Ciągłej Integracji Jenkins

Zwinne i CI/QA

  • Planowanie i rozwój przyrostowy
  • Akceptacja zmian
  • Krótkie etapy
  • Interdyscyplinarny zespół
  • Extreme Programming, Przegląd kodu
  • Ludzie i interakcje ponad procesy i narzędzia

Podsumowanie

  • Dyskusja
  • Pytania
  • Jak rozpocząć proces wdrażania?

Wymagania

Znajomość procesów rozwoju oprogramowania

 14 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (1)

Propozycje terminów

Powiązane Kategorie