Agilis hálózati szolgáltatásfejlesztés

A tantárgy angol neve: Agile Network Service Development

Adatlap utolsó módosítása: 2016. február 4.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Mérnök informatikus szak, MSc
képzés

Internet architektúra és
szolgáltatások szakirány
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITMMA01 1 2/1/0/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Adamis Gusztáv,
4. A tantárgy előadója

 Név:

 Beosztás:

 Tanszék:

 Dr. Adamis Gusztáv

 tb. docens

 TMIT

 Dr. Kovács Gábor

 egy. adjunktus

 TMIT

 Dr. Csöndes Tibor

 címzetes egyetemi docens

 TMIT

6. Előtanulmányi rend
Kötelező:
NEM ( TárgyEredmény( "BMEVIAUMA00" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény( "BMEVIIIM142" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUMA00", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény("BMEVIIIM142", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

7. A tantárgy célkitűzése Hálózati infrastruktúrát használó alkalmazások, szolgáltatások fejlesztési lépéseit mutatja be a hallgatók számára: a specifikáció értelmezését, a szolgáltatás viselkedésének szisztematikus megtervezését, a szolgáltatás funkcionalitásának és teljesítőképességének ellenőrzését. A módszertan tetszőleges alkalmazás – mint például egy távközlő hálózati szolgáltatás, egy webportál, egy szolgáltatásorientált architektúra egy vagy több komponense – fejlesztése esetén alkalmazható. A tárgy a módszertanon felül áttekinti a tervezés, fejlesztés és tesztelés során felhasználható legfontosabb modellező nyelveket, eszközöket, metodológiákat és példákon, esettanulmányokon keresztül bevezeti azok használatába a hallgatókat.
8. A tantárgy részletes tematikája
  • 1. óra: Bevezetés, agilis módszertan, extrém programozás (Extreme programming), agilis metódusok (Scrum, Kanban), szerepek, alapelvek, sprint
  • 2. óra: Követelményelemzés, user stories, backlog, becslési technikák, prioritizálás, szabványok
    • Domain expert szerepe a követelmények értelmezésében, felhasználói interakció tervezése
  • 3. óra: Tervezés – MDD (Model Driven Development)
    • Architektúra és belső interakció tervezése
      • Kapcsolódó szerepek: architekt, designer
    • Modellalkotás, modellezési technikák. Mitől lesz jó egy modell?
    • MDD toolok, funkciók
  • 4. óra: Vezérlési folyam, vezérlési folyam leírási módszerek
    • Távközlésspecifikus kövelemények (flow ctrl, hibakezelés, stb.)
  • 5. óra: Adatmodellezés, üzenetformátum tervezás
    • Adatfolyam, adatstruktúrák, adatszerializáció
  • 6. óra: Adatspecifikációs és adatszerializációs nyelvek (XSD, ASN.1, XML)
  • 7. óra: Agilis fejlesztői környezet kialakítása
    • Folyamatos integráció(Continuous Integration)
    • CI keretrendszerek, folyamatos build-elés
    • Kód integritás ellenőrzése
    • Release, Iteration, Planning
  • 8. óra: Implementáció, konfiguráció (1ó)
    • Verziókezelés, verziókezelő szoftverek
    • Konfigurációmenedzsment, toolok
    • Refaktorizáció, mikor van szükség refaktorizációra, refaktorizációs technikák
  • 9. óra:-Tesztelési alapelvek, alapfogalmak:
    • Teszt típusok, szintek (konformancia tesztelés, funkcionális és egység tesztek (Function, Unit), regressziós tesztek, teljesítmény tesztek
    • Tesztkörnyezet
    • Teszt szabványok, tesztdokumentáció
  • 10. óra: Fekete doboz tesztelés
  • 11. óra: Teszt nyelvek (TDL, TTCN-3)
  • 12. óra: Teszt automatizálás
    • Szkriptek
    • Adatvezérelt tesztelés (Data Driven Testing)
    • Tesztvégrehajtó rendszerek (JCAT, Titan)
    • Modell alapú tesztelés (Model Based Testing)
      • Teszt generálási célok, módszerek, teszt lefedettség, metrikák
  • 13. óra: Tesztelhetőségre tervezés
    • Tesztvezérelt tervezés (Test Driven Development)
      • Teszt és programkód párhuzamos fejlesztése, elfogadási kritériumok (acceptance criteria) felállítása
      • Acceptance Test, Behaviour Driven Development
    • Test Maintenance
    • Kockázatelemzés, tesztelés mélységének elemzése
  • 14. óra: Dokumentálás
    • Naplózás, riportolás, logging
      • Metrikák
    • Automatikus dokumentáció készítő rendszerek
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Heti 2 óra tantermi előadás és kéthetenkénti 2 órás gyakorlat. Az előadásokon elmondott ismeretek alapján a hallgatók a gyakorlatokon agilis csapatmunka keretében fejlesztési feladatot (házi feladatot) oldanak meg.

10. Követelmények

a) A szorgalmi időszakban: az aláírás megszerzésének és a vizsgára bocsátásnak a feltétele: a zárthelyi legalább elégségesre történő megírása és az agilis csapatmunkában való legalább elégséges szintű részvétel. Megajánlott jegy szerezhető, ha a zárthelyi és a csapatmunkában való részvétel átlaga legalább 4,00.

b) A vizsgaidőszakban: írásbeli vizsga. 

 

c) Elővizsga: nincs

11. Pótlási lehetőségek

A zárthelyi egy alkalommal, vagy a szorgalmi időszakban vagy a pótlási időszakban pótolható.

Az agilis csapatmunkában való részvétel (házi feladat) nem pótolható. 

12. Konzultációs lehetőségek Igény szerint.
13. Jegyzet, tankönyv, felhasználható irodalom

James Shore and Shane Warden: “The Art of Agile Development”, O’Reilly, ISBN-10: 0-596-52767-5 2008

Mike Cohn: “Succeeding with Agile – Software development with Scrum”, Addison-Wesley, ISBN-10: 0-321-57936-4 2010

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra42
Félévközi készülés órákra10
Felkészülés zárthelyire20
Házi feladat elkészítése28
Kijelölt írásos tananyag elsajátítása 
Vizsgafelkészülés20
Összesen120
15. A tantárgy tematikáját kidolgozta

 Név:

 Beosztás:

 Tanszék:

 Dr. Adamis Gusztáv

 tb. docens

 TMIT

 Dr. Kovács Gábor

 egy. adjunktus

 TMIT

 Dr. Csöndes Tibor

 címzetes egyetemi docens

 TMIT