Ten kurs demonstruje poprzez praktyczną praktykę podstawy i zastosowania inżynierii oprogramowania, inżynierii wymagań i testowania.
Software Engineering 5 dni
Dzień 1: Projekt Management
- Zarządzanie projektami a zarządzanie liniowe oraz konserwacja i wsparcie
- Definicja projektu i formularze projektu
- Management – zasady ogólne i zarządzanie projektami
- Management style
- Co jest specjalnego w projektach IT?
- Podstawowy proces projektowy
- Iteracyjny, przyrostowy, kaskadowy, zwinny i odchudzony proces projektu
- Fazy projektu
- Role projektowe
- Dokumentacja projektowa i inne artefakty
- Czynniki miękkie i dobro ludzkie
- PRINCE 2, PMBOK, PMI, IPMA i inne standardy projektowe
Dzień 2: Business Analiza i Requirements Engineering Podstawy
- Definiowanie celów biznesowych
- Business analiza, zarządzanie procesami biznesowymi, doskonalenie procesów biznesowych
- Granica pomiędzy analizą biznesową i systemową
- Interesariusze systemu, użytkownicy systemu, kontekst systemu i granice systemu
- Dlaczego wymagania są konieczne?
- Co nas inżynieria wymagań
- Granica pomiędzy inżynierią wymagań a projektowaniem architektonicznym
- Gdzie często kryje się inżynieria wymagań?
- Inżynieria wymagań w iteracyjnym, odchudzonym i zwinnym rozwoju oraz w ciągłej integracji – FDD, DDD, BDD, TDD
- Podstawowy proces inżynierii wymagań, role i artefakty
- Normy i certyfikaty: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA
Dzień 3: Podstawy architektury i rozwoju
- Programming języki – paradygmaty strukturalne i obiektowe
- Rozwój obiektowy – ile jest historią, ile przyszłością
- Modułowość, przenośność, łatwość konserwacji i skalowalność architektur
- Definicja i rodzaje architektur oprogramowania
- Architektura korporacyjna i architektura systemu
- Programming style
- Programming środowiska
- Programming błędy oraz sposoby ich unikania i zapobiegania
- Modelowanie architektury i komponentów
- SOA, Web Services i mikrousługi
- Automatyczna kompilacja i ciągła integracja
- Ile projektu architektonicznego jest w projekcie?
- Programowanie ekstremalne, TDD i refaktoring
Dzień 4: Zapewnianie jakości i podstawy testowania
- Jakość produktu: co to jest? ISO 25010, FURPS itp.
- Jakość produktu, doświadczenie użytkownika, Model Kano, zarządzanie doświadczeniem klienta i integralna jakość
- Projektowanie zorientowane na użytkownika, persony i inne sposoby na nadanie jakości indywidualnej
- Wystarczająca jakość
- Zapewnienie jakości i kontrola jakości
- Strategie ryzyka w kontroli jakości
- Elementy zapewnienia jakości: wymagania, kontrola procesu, zarządzanie konfiguracją i zmianami, weryfikacja, walidacja, testowanie, testy statyczne i analiza statyczna
- Zapewnienie jakości w oparciu o ryzyko
- Testowanie oparte na ryzyku
- Rozwój oparty na ryzyku
- Krzywa Boehma w zapewnianiu jakości i testowaniu
- Cztery szkoły testowania – która odpowiada Twoim potrzebom?
Dzień 5: Rodzaje procesów, dojrzałość i doskonalenie procesów
- Ewolucja procesu IT: od Alana Turinga, przez Big Blue, po Lean Startup
- Organizacja procesowa i zorientowana na proces
- Historia procesów w rzemiośle i przemyśle
- Modelowanie procesów: UML, BPMN i więcej
- Zarządzanie procesami, optymalizacja procesów, reengineering procesów i systemy zarządzania procesami
- Innowacyjne podejścia procesowe: Deming, Juran, TPS, Kaizen
- Czy jakość (procesu) jest bezpłatna? (Philip Crosby)
- Potrzeba i historia doskonalenia dojrzałości: CMMI, SPICE i inne skale dojrzałości
- Specjalne typy dojrzałości: TMM, TPI (do testowania), Requirements Engineering Dojrzałość (Gorschek)
- Dojrzałość procesu a dojrzałość produktu: jakaś korelacja? Jakiś związek przyczynowy?
- Dojrzałość procesowa a sukces biznesowy: jakaś korelacja? jakiś związek przyczynowy?
- Porzucona lekcja: automatyczne zapobieganie defektom i kolejny krok w Productivity
- Próby: TQM, SixSigma, retrospektywy zwinne, frameworki procesowe
Requirements Engineering - 2 dni
Dzień 1: Pozyskiwanie wymagań, negocjacje, konsolidacja i Management
- Znajdowanie wymagań: co, kiedy i przez kogo
- Klasyfikacja interesariuszy
- Zapomniani interesariusze
- Definiowanie kontekstu systemu – definiowanie źródeł wymagań
- Metody i techniki wzbudzania
- Prototypowanie, persony i pozyskiwanie wymagań poprzez testowanie (eksploracyjne i inne)
- Marketing i pozyskiwanie wymagań – MDRA („Market-Driven Requirements Engineering”)
- Priorytetyzacja wymagań: MoSCoW, Karl Wiegers i inne techniki (w tym zwinny MMF)
- Doprecyzowanie wymagań – zwinna „specyfikacja na przykładzie”
- Negocjowanie wymagań: rodzaje konfliktów, metody rozwiązywania konfliktów
- Rozwiązywanie wewnętrznych niezgodności pomiędzy niektórymi typami wymagań (np. bezpieczeństwo a łatwość użycia)
- Śledzenie wymagań – dlaczego i jak
- Zmiany stanu wymagań
- Wymagania CCM, wersjonowanie i linie bazowe
- Widok produktu i widok projektu na wymagania
- Zarządzanie produktami i zarządzanie wymaganiami w projektach
Dzień 2: Analiza wymagań, modelowanie, specyfikacja, weryfikacja i walidacja
- Analiza to myślenie i ponowne przemyślenie, które dokonujesz pomiędzy wywołaniem a specyfikacją
- Proces wymagań jest zawsze iteracyjny, nawet w projektach sekwencyjnych
- Opisywanie wymagań w języku naturalnym: ryzyko i korzyści
- Modelowanie wymagań: korzyści i koszty
- Zasady stosowania języka naturalnego do specyfikacji wymagań
- Słowniczek definiowania i zarządzania wymaganiami
- UML, BPMN i inne formalne i półformalne zapisy modelowania wymagań
- Używanie szablonów dokumentów i zdań do opisu wymagań
- Weryfikacja wymagań – cele, poziomy i metody
- Walidacja – obejmująca prototypowanie, przeglądy i inspekcje oraz testowanie
- Walidacja wymagań i walidacja systemu
Testowanie - 2 dni
Dzień 1: Projektowanie testów, wykonanie testów i testowanie eksploracyjne
- Projekt testu: po przetestowaniu opartym na ryzyku wybór optymalnego sposobu wykorzystania dostępnego czasu i zasobów
- Projekt testu „od nieskończoności do tego miejsca” – wyczerpujące testowanie nie jest możliwe
- Przypadki testowe i scenariusze testowe
- Projektowanie testów na różnych poziomach testów (od poziomu testów jednostkowych po poziom testów systemowych)
- Projektowanie testów do testów statycznych i dynamicznych
- Projekt testów zorientowany na Business i technikę („czarna skrzynka” i „biała skrzynka”)
- Próba złamania systemu („testy negatywne”) i wspieranie programistów (testy akceptacyjne)
- Projektowanie testów w celu osiągnięcia pokrycia testami – różne miary pokrycia testów
- Projektowanie testów oparte na doświadczeniu
- Projektowanie przypadków testowych na podstawie wymagań i modeli systemów
- Heurystyka projektowania testów i testowanie eksploracyjne
- Kiedy projektować przypadki testowe? – podejście tradycyjne i eksploracyjne
- Opisywanie przypadków testowych – ile szczegółów?
- Wykonanie testu – aspekty psychologiczne
- Wykonanie testów – logowanie i raportowanie
- Projektowanie testów na potrzeby testów „niefunkcjonalnych”.
- Automatyczne projektowanie testów i MBT (testowanie oparte na modelu)
Dzień 2: Organizacja testów, Management i automatyzacja
- Poziomy testów (lub fazy)
- Kto i kiedy przeprowadza badania? – różne rozwiązania
- Środowiska testowe: koszt, administracja, dostęp, odpowiedzialność
- Symulatory, emulatory i wirtualne środowisko testowe
- Testowanie w zwinnym scrumie
- Organizacja i rola zespołu testowego
- Proces testowy
- Automatyzacja testów – co można zautomatyzować?
- Automatyzacja wykonywania testów – podejścia i narzędzia
United Arab Emirates - Software Engineering, Requirements Engineering and Testing
Qatar - Software Engineering, Requirements Engineering and Testing
Egypt - Software Engineering, Requirements Engineering and Testing
Saudi Arabia - Software Engineering, Requirements Engineering and Testing
South Africa - Software Engineering, Requirements Engineering and Testing
Brasil - Software Engineering, Requirements Engineering and Testing
Canada - Software Engineering, Requirements Engineering and Testing
中国 - Software Engineering, Requirements Engineering and Testing
香港 - Software Engineering, Requirements Engineering and Testing
澳門 - Software Engineering, Requirements Engineering and Testing
台灣 - Software Engineering, Requirements Engineering and Testing
USA - Software Engineering, Requirements Engineering and Testing
Österreich - Software Engineering, Requirements Engineering and Testing
Schweiz - Software Engineering, Requirements Engineering and Testing
Deutschland - Software Engineering, Requirements Engineering and Testing
Czech Republic - Software Engineering, Requirements Engineering and Testing
Denmark - Software Engineering, Requirements Engineering and Testing
Estonia - Software Engineering, Requirements Engineering and Testing
Finland - Software Engineering, Requirements Engineering and Testing
Greece - Software Engineering, Requirements Engineering and Testing
Magyarország - Software Engineering, Requirements Engineering and Testing
Ireland - Software Engineering, Requirements Engineering and Testing
Luxembourg - Software Engineering, Requirements Engineering and Testing
Latvia - Software Engineering, Requirements Engineering and Testing
España - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Italia - Software Engineering, Requirements Engineering and Testing
Lithuania - Software Engineering, Requirements Engineering and Testing
Nederland - Software Engineering, Requirements Engineering and Testing
Norway - Software Engineering, Requirements Engineering and Testing
Portugal - Software Engineering, Requirements Engineering and Testing
România - Software Engineering, Requirements Engineering and Testing
Sverige - Software Engineering, Requirements Engineering and Testing
Türkiye - Software Engineering, Requirements Engineering and Testing
Malta - Software Engineering, Requirements Engineering and Testing
Belgique - Software Engineering, Requirements Engineering and Testing
France - Software Engineering, Requirements Engineering and Testing
日本 - Software Engineering, Requirements Engineering and Testing
Australia - Software Engineering, Requirements Engineering and Testing
Malaysia - Software Engineering, Requirements Engineering and Testing
New Zealand - Software Engineering, Requirements Engineering and Testing
Philippines - Software Engineering, Requirements Engineering and Testing
Singapore - Software Engineering, Requirements Engineering and Testing
Thailand - Software Engineering, Requirements Engineering and Testing
Vietnam - Software Engineering, Requirements Engineering and Testing
India - Software Engineering, Requirements Engineering and Testing
Argentina - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Chile - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Costa Rica - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Ecuador - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Guatemala - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Colombia - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
México - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Panama - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Peru - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Uruguay - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Venezuela - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Polska - Software Engineering, Requirements Engineering and Testing
United Kingdom - Software Engineering, Requirements Engineering and Testing
South Korea - Software Engineering, Requirements Engineering and Testing
Pakistan - Software Engineering, Requirements Engineering and Testing
Sri Lanka - Software Engineering, Requirements Engineering and Testing
Bulgaria - Software Engineering, Requirements Engineering and Testing
Bolivia - Ingeniería de Software, Ingeniería de Requerimientos y Pruebas
Indonesia - Software Engineering, Requirements Engineering and Testing
Kazakhstan - Software Engineering, Requirements Engineering and Testing
Moldova - Software Engineering, Requirements Engineering and Testing
Morocco - Software Engineering, Requirements Engineering and Testing
Tunisia - Software Engineering, Requirements Engineering and Testing
Kuwait - Software Engineering, Requirements Engineering and Testing
Oman - Software Engineering, Requirements Engineering and Testing
Slovakia - Software Engineering, Requirements Engineering and Testing
Kenya - Software Engineering, Requirements Engineering and Testing
Nigeria - Software Engineering, Requirements Engineering and Testing
Botswana - Software Engineering, Requirements Engineering and Testing
Slovenia - Software Engineering, Requirements Engineering and Testing
Croatia - Software Engineering, Requirements Engineering and Testing
Serbia - Software Engineering, Requirements Engineering and Testing
Bhutan - Software Engineering, Requirements Engineering and Testing
Nepal - Software Engineering, Requirements Engineering and Testing
Uzbekistan - Software Engineering, Requirements Engineering and Testing