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 a 13. oktatási 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. Rektori szünet
  6. Tavaszi szünet
  7. Projekt menedzsment eszközök, Verziókövető rendszerek (Cserép Máté)
  8. Build rendszerek (Cserép Máté)
  9. Verifikáció és validáció, egységtesztelés (Varga László Zsolt)
  10. Continuous integration and delivery (Cserép Máté)
  11. TDD, Clean code (Varga László Zsolt)
  12. Tervminták (Varga László Zsolt)
  13. Agilis módszertan (Ilyés Enikő)

Projektvezető szolgáltatás

GitLab

Segédletek

Projektek verziókezelése

Projekt mérföldkövek

  • Március 2-ai hét: Követelményelemzés és tervezés
  • Március 30-ai hét: Prototípus 1
  • Április 20-ai hét: Prototípus 2
  • Május 11-ei hét: Végleges termék

Feladatkiírás

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

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