Cserép Máté honlapja


Gyorslinkek: tartalom, navigáció.


Oktatás » ELTE » Szoftvertechnológia » 2019/2020 tavasz


Célkitűzés

A kurzus célja a szoftvertechnológia alapjainak megismerése, a szoftverfejlesztési folyamat áttekintése, szoftverek tervezési alapelveinek elsajátítása, elsősorban az objektumorientált programozás szemszögéből. A félév során a hallgatók megismerhetik az UML modellező nyelvet, a statikus és dinamikus tervezést.
A tárgy tejesítésével a hallgatók képesek lesznek objektumorientált alkalmazások tervezésére, valamint fejlesztésének menedzselésére.

Előfeltételek

  • Eseményvezérelt alkalmazások (erős)

Szükséges előismeretek

  • Objektumorientált és eseményvezérelt programozás, modellezés (UML).
  • C++ és/vagy C# programozási nyelvi alapismeretek.
  • Grafikus felületű alkalmazások (Qt, WinForms, WPF), eseményvezérlés.
  • Relációs adatbázis-kezelési alapok (ORM).

Számonkérés

A félév során a hallgatóknak 2-4 fős csapatokban dolgozva kell egy kitűzött objektumorientált szoftvert specifikálniuk, implementálniuk és dokumentálniuk, projektmunka keretében.
A gyakorlati órák keretében a projektmunka 4 alkalommal kerül értékelésre (a 4., 7., 10. és 13. héten).
Az előadások elméleti anyagából a félév végén zárthelyi dolgozatot kell teljesíteni, amelynek értékelése kétfokozatú. A sikertelen (0-1) zárthelyi javítására, pótlásra lesz lehetőség.

Mérföldkövek
  1. Követelményelemzés és tervezés: megvalósíthatósági terv, funkcionális és nem funkcionális specifikáció, felhasználói eset diagramok, felhasználói történetek, osztály diagram, komponens diagram, felhasználói felület terv (wireframe mockup), EK-diagram (ha van DB)
  2. Prototípus 1: részleges implementáció, a használati esetek kb. 30%-a működjön, Git használata
  3. Prototípus 2: részleges implementáció, a használati esetek kb. 90%-a működjön, CI használat, részleges egységtesztek
  4. Végleges termék: teljes funkcionalitás, clean-code, dokumentálva, tesztelve (alapos egységtesztelés)

Értékelés

A hallgatók a tárgyból aláírást, valamint gyakorlati jegyet szerezhetnek.
Az aláírás előfeltétele az elméleti zárthelyi sikeres teljesítése, valamint mind a 4 projekt értékelési mérföldkő legalább elégséges (2) szintre történő elfogadtatása.
A gyakorlati jegy a 4 projekt értékelési mérföldkőnél szerzett érdemjegy átlaga.

Előadás tematika

  1. Szoftverfejlesztési folyamat (Varga László Zsolt)
  2. Követelmény specifikáció (Varga László Zsolt)
  3. Objektum orientált tervezés (Varga László Zsolt)
  4. Objektumorientált tervezési szempontok és minták (Varga László Zsolt)
  5. Projekt menedzsment eszközök, verziókezelés (Cserép Máté)
  6. Build rendszerek (Cserép Máté)
  7. Verifikáció és validáció, egységtesztelés (Varga László Zsolt)
  8. Continuous integration and delivery (Cserép Máté)
  9. TDD, Clean code (Varga László Zsolt)
  10. Tavaszi szünet
  11. Objektumorientált tervezés: állapotkezelés (Varga László Zsolt)
  12. Tervminták (Varga László Zsolt)
  13. Neumann nap
  14. Agilis módszertan (Ilyés Enikő)

Feladatkiírás

A félév folyamán az összes csapatnak egy számítógép ellen játszott, egy játékos tower defense jellegű játékot kell megvalósítani.
Az alapjáték specifikálása és implementálása az elégséges érdemjegynek felel meg (2 fős csapatok estén közepes érdemjegynek). Többletpontok részfeladatok megvalósításával szerezhetőek.

Tower Defense játék

Jelen feladatkiírás a 3. és a 10. gyakorlati csoportra vonatkozik.

Projektvezető szolgáltatás

GitLab

Projekt mérföldkövek

  • Márius. 4/6.: Követelményelemzés és tervezés
  • Március 25/27.: Prototípus 1
  • Április 22/24.: Prototípus 2
  • Május 13/15.: Végleges termék