Cserép Máté honlapja


Gyorslinkek: tartalom, navigáció.


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


A kurzussal kapcsolatos általános információk és követelmények a Canvasban találhatóak! Ezen a weboldalon a követelményrendszer, valamint a kurzushoz tartozó előadásom segédanyagai kerülnek közzétételre a könnyebb (publikus) elérhetőség céljából.

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

Az tárgy előadása bemutatja a szoftvertechnológiát, a szoftverek fejlesztési folyamatait, valamint segítséget nyújt a gyakorlaton megoldandó feladatokhoz. A félév során az előadásokhoz ellenőrző kérdéseket kell megválaszolni az aláírás megszerzésének előfeltételeként. A kvízeknek legalább a 75%-át kell kitölteni 100%-osra. A kvíz egy 24 órás intervallumon belül (az előadás napja) tetszőlegesen sokszor ismételhető! A kvíz egyben a félév végi zárthelyire való felkészülést is szolgálja.
A félév végén az előadásokon megszerzett ismeretekből évfolyamzárthelyit kell teljesíteni, amely az aláírás előfeltétele (összevont számonkérésű kurzus). A zárthelyi értékelése kétfokozatú (megfelelt / nem felelt meg), a sikeres teljesítéshez a kérdések legalább 2/3-át kell helyesen megválaszolni. Sikertelen zárthelyi ismétlésére lesz lehetőség.

A félév során a hallgatóknak 3-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 a heti elméleti kvízek legalább 75%-ának hibátlan teljesítése; 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ókövető rendszerek (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. Tervminták (Varga László Zsolt)
  11. Párhuzamos programozás (Cserép Máté)
  12. Agilis módszertan (Ilyés Enikő)

Projektvezető szolgáltatás

GitLab

Segédletek

Projektek verziókezelése