Zoznam všetkých cieľov
Cvičenia
1. týždeň: Úvod
- Zistiť, čo je to softvérové inžinierstvo.
- Dozvedieť sa obsah cvičení a podmienky získania zápočtu.
- Naučiť sa inštalovať nástroje potrebné pre vývoj.
2. týždeň: Systémy pre správu verzií
- Zistiť, čo je úlohou systémov pre správu verzií.
- Oboznámiť sa so základnými pojmami systému Git.
- 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
- Oboznámiť sa s prácou s viacerými vetvami v repozitári.
- Naučiť sa postup riešenia konfliktov pri nezávislých zmenách.
4. týždeň: Analýza požiadaviek
- Naučiť sa analyzovať požiadavky na systém.
- Naučiť sa identifikovať používateľov systému a ich ciele.
- Naučiť sa opisovať požiadavky vo forme používateľských príbehov (user stories).
5. týždeň: Konceptuálny návrh
- Porozumieť konceptuálnemu návrhu systému.
- Naučiť sa identifikovať koncepty, ich vlastnosti a vzťahy medzi nimi v doméne navrhovaného systému.
- Naučiť sa používať UML diagram tried na konceptuálne modelovanie.
6. týždeň: Modelovanie správania
- Naučiť sa opisovať stavy systému (alebo jeho komponentov) a prechody medzi nimi pomocou stavových diagramov.
- Naučiť sa opisovať procesy v systéme použitím diagramu aktivít.
- Naučiť sa opisovať interakcie entít systému použitím diagramov sekvencií.
7. týždeň: Nástroje pre organizáciu projektu
- Dozvedieť sa o nástrojoch a postupoch používaných pri profesionálnom vývoji softvéru v tíme.
- Pochopiť použitie vetiev a žiadosti o zlúčenie.
- Oboznámiť sa s princípmi kontroly kódu (code review).
8. týždeň: Tvorba jednotkových testov
- Pochopiť význam automatizovaného testovania a oboznámiť sa so základnými pojmami v oblasti unit testov.
- Naučiť sa písať jednoduché unit testy.
- Oboznámiť sa s princípmi „equivalence partitioning“ a „boundary testing“.
- Naučiť sa písať testy pokrývajúce riadky kódu a vetvy.
- 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
- Oboznámiť sa s fungovaním CI nástrojov.
- 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
- Naučiť sa analyzovať a opisovať požiadavky na systém z pohľadu používateľa.
- Naučiť sa analyzovať doménu riešenej úlohy a vytvoriť konceptuálny model budúcej aplikácie.
- Naučiť sa analyzovať procesy v doméne a navrhovať správanie aplikácie.
12. týždeň: Riešenie úloh v tíme
- Naučiť sa čítať kód existujúcej aplikácie a modifikovať ho pre riešenie zadaných úloh.
- Naučiť sa vytvárať jednotkové testy pre všetok vytváraný kód.
- Vyskúšať si prácu s vetvami v Gite a vytvárať žiadosti o zlúčenie (merge request).
- Naučiť sa vykonávať inšpekciu kódu (code review).
- Prakticky si vyskúšať zlučovanie vetiev a prípadné riešenie konfliktov.