Zoznam všetkých cieľov

Cvičenia

1. týždeň: Úvod

  1. Zistiť, čo je to softvérové inžinierstvo.
  2. Dozvedieť sa obsah cvičení a podmienky získania zápočtu.
  3. Naučiť sa inštalovať nástroje potrebné pre vývoj.

2. týždeň: Systémy pre správu verzií

  1. Zistiť, čo je úlohou systémov pre správu verzií.
  2. Oboznámiť sa so základnými pojmami systému Git.
  3. Naučiť sa základné príkazy pre prácu s Git repozitárom.

3. týždeň: Práca s vetvami v systéme Git

  1. Oboznámiť sa s prácou s viacerými vetvami v repozitári.
  2. Naučiť sa postup riešenia konfliktov pri nezávislých zmenách.

4. týždeň: Analýza požiadaviek

  1. Naučiť sa analyzovať požiadavky na systém.
  2. Naučiť sa identifikovať používateľov systému a ich ciele.
  3. Naučiť sa opisovať požiadavky vo forme používateľských príbehov (user stories).

5. týždeň: Konceptuálny návrh

  1. Porozumieť konceptuálnemu návrhu systému.
  2. Naučiť sa identifikovať koncepty, ich vlastnosti a vzťahy medzi nimi v doméne navrhovaného systému.
  3. Naučiť sa používať UML diagram tried na konceptuálne modelovanie.

6. týždeň: Modelovanie správania

  1. Naučiť sa opisovať stavy systému (alebo jeho komponentov) a prechody medzi nimi pomocou stavových diagramov.
  2. Naučiť sa opisovať procesy v systéme použitím diagramu aktivít.
  3. Naučiť sa opisovať interakcie entít systému použitím diagramov sekvencií.

7. týždeň: Nástroje pre organizáciu projektu

  1. Dozvedieť sa o nástrojoch a postupoch používaných pri profesionálnom vývoji softvéru v tíme.
  2. Pochopiť použitie vetiev a žiadosti o zlúčenie.
  3. Oboznámiť sa s princípmi kontroly kódu (code review).

8. týždeň: Tvorba jednotkových testov

  1. Pochopiť význam automatizovaného testovania a oboznámiť sa so základnými pojmami v oblasti unit testov.
  2. Naučiť sa písať jednoduché unit testy.
  3. Oboznámiť sa s princípmi „equivalence partitioning“ a „boundary testing“.
  4. Naučiť sa písať testy pokrývajúce riadky kódu a vetvy.
  5. Naučiť sa vytvárať testy súčasne s testovaným kódom v súlade s technikou Test Driven Development.

10. týždeň: Nástroje pre automatizáciu procesov

  1. Oboznámiť sa s fungovaním CI nástrojov.
  2. Prakticky si vyskúšať fungovanie automatického overovanie pomocou CI nástrojov.

Zadania

7. týždeň: Analýza požiadaviek a konceptuálny návrh

  1. Naučiť sa analyzovať a opisovať požiadavky na systém z pohľadu používateľa.
  2. Naučiť sa analyzovať doménu riešenej úlohy a vytvoriť konceptuálny model budúcej aplikácie.
  3. Naučiť sa analyzovať procesy v doméne a navrhovať správanie aplikácie.

12. týždeň: Riešenie úloh v tíme

  1. Naučiť sa čítať kód existujúcej aplikácie a modifikovať ho pre riešenie zadaných úloh.
  2. Naučiť sa vytvárať jednotkové testy pre všetok vytváraný kód.
  3. Vyskúšať si prácu s vetvami v Gite a vytvárať žiadosti o zlúčenie (merge request).
  4. Naučiť sa vykonávať inšpekciu kódu (code review).
  5. Prakticky si vyskúšať zlučovanie vetiev a prípadné riešenie konfliktov.

Prednášky