Course Code: softengret
Duration: 63 hours
Overview:

Ten kurs demonstruje poprzez praktyczną praktykę podstawy i zastosowania inżynierii oprogramowania, inżynierii wymagań i testowania.

Course Outline:

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
Sites Published:

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