K-INFO
HU
EN
Belépés

Szoftverfejlesztési módszerek és paradigmák

Software Development Methods and Paradigms
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Szoftverfejlesztési módszerek és paradigmák
Software Development Methods and Paradigms
Tantárgykód BMEVIAUMA00
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 1 0
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 4
Tantárgyfelelős
Dr. Lengyel László
beosztás: egyetemi tanár
Tantárgyat gondozó oktatási szervezeti egység
Automatizálási és Alkalmazott Informatikai Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

 

Előadás anyaga

1.

Fejlesztő eszközök hatékony használata, legjobb gyakorlatok megismerése, a különböző eszközök felépítésének, főbb fejlesztési, debuggolási, tesztelési folyamatainak feltérképezése.

2.

A fejlesztési és projektkezelési módszertanok által tipikusan megfogalmazott architekturális elvárások és a lehetséges megoldások áttekintése, bemutatva az egyes irányok előnyeit és nehézségeit.

3.

Az alkalmazás manuális tesztelési folyamatának, módszereinek, néhány eszköznek bemutatása. Egység tesztek készítésének irányelvei, alkalmazásának feltételei, előnyei és hátrányai.

4.

Forráskód kezelési módszerek, elterjedt forráskód kezelő eszközök bemutatása, elágaztatási stratégiák, legjobb gyakorlatok bemutatása, a hatékony csoportmunka irányelvei.

5.

Specifikációs módszerek és üzleti elemzés: Structured Systems Analysis And Design Method (SSADM), követelményelemzés, követelményspecifikáció, logikai és fizikai tervezés, követelmények típusai, mérhető célok, prototípusok, üzleti elemzési technikák, üzleti folyamatok, követelmények dokumentálása

6.

Szoftvertervezési módszerek: szoftvertervezés, UML, UML profile, felhasználói követelmények leírása és kommunikálása, architektúra tervezés, szakterület-vezérelt tervezés (Domain Driven Design), modellvezérelt fejlesztés (Model Driven Development)

7.

A felhasználói élmény (User experience) tervezése, a folyamat tipikus lépései és legjobb gyakorlatai, helye a szoftverfejlesztési folyamatban, a felhasználói tesztelés módszerei.

8.

Módszertanok, klasszikus módszertanok: a szoftverfejlesztés folyamata, szoftverfejlesztési modellek, Rational Unified Process (RUP), Capability Maturity Model Integration (CMMI)

9.

Agilis fejlesztési módszerek 1 (agilis értékek és elvek) Miért van szükség módszertanokra?, a szoftver iparban a változások kezelése, agilis módszer, értékek, elvek, agilis kiáltvány, agilis gyakorlatok összefoglalása

10.

Agilis fejlesztési módszerek 2 (a megvalósítást támogató gyakorlatok): agilis tervezés, a tervezés célja, a tervezés szintjei, vízió, kiadás tervezés, iteráció tervezés, stand-up.  Felhasználói sztorik, becslés, iteráció, „kész, kész” (done, done), agilis modellezés

11.

Agilis fejlesztési módszerek 3 (elterjedt agilis módszertenok): eXtreme Programming (XP), Scrum, Microsoft Solution Framework (MSF), a módszertanok jellemzői, használatuk a mindennapokban

12.

Projektmenedzsment módszerek és eszközök 1: általános projekt menedzsment alapelvek, kényszerek, erőforrás és kompetencia mátrixok, feladatok, függőségek. Általános projekttervező eszköz bemutatása.

13.

Projektmenedzsment módszerek és eszközök 2: IT specifikus projektek jellemzői, klasszikus és agilis módszertanok tervezésének, erőforrás- és feladatkezelésének, monitorozásának eszköztámogatása.

14.

Esettanulmányok: konkrét esettanulmányok felhasználásával kerül szemléltetésre a fejlesztő eszközök hatékony használata, a tesztelés, a forráskód kezelési módszerek, a csoportmunka eszközök. Az egyes projektekben használt módszerek, a tapasztalatok, legjobb gyakorlatok.

 

 

Gyakorlat anyaga

1.

Unit tesztelés a gyakorlatban: egyszerű egység tesztek készítése, állapottal rendelkező alkalmazások tesztelése, mockolás, hibakezelés.

2.

Forráskód kezelési módszerek 1: A Microsoft Team Foundation Server és a GIT használata, check-in/check-out, pull/push, merge, branching, offline forráskód kezelés.

3.

Forráskód kezelési módszerek 2: Build automation, folyamatos integráció, egység tesztek automatikus indítása, config-release eszközök, metrikák​ készítése.

4.

Specifikáció és tervezés: gyakorlati példák kidolgozása SSADM segítségével, CMMI a gyakorlatban, példák követelményelemzésre, követelményspecifikációra és üzleti elemzésre

5.

Agilis tervezés: gyakorlati példán keresztül elsajátítani a vízió, kiadás tervezés, iteráció tervezés részleteit

6.

Agilis eszközök: gyakorlati példákon keresztül megismerkedi az elterjedt agilis gyakorlatokkal (testvezérelt fejlesztés, folyamatos integráció, refaktorálás)

7.

Projektmenedzsment eszközök a gyakorlatban: a tervezéstől az erőforrás kezelésen át a scrum meetingek, sprintek, product backlogok kezeléséig.

A tárgy célja, hogy a hallgatók megismerjék a szoftverfejlesztési módszertanokat, azok alkalmazási lehetőségeit és feltételeit, a tervezési és fejlesztés módszerek által igényelt és előnyben részesített gyakorlatokat és eszközöket. Cél, hogy a tárgy elvégzésével a hallgatók jártasak legyenek a szoftverrendszerekkel kapcsolatos gyakori architekturális kérdések kezelésében és a követendő módszerek és megoldások területén is. A tárgy a szoftverfejlesztési módszertanokat, a módszertanokat és fejlesztési folyamatokat támogató technikákat és gyakorlatokat, valamint a szoftverrendszerekkel kapcsolatos architekturális elvárásokat és a megoldásokat tárgyalja. A tárgy központ eleme a következő gondolatsor: a megfelelő módszertan kiválasztása a megrendelői igények, az üzleti és technológiai környezet alapján történik, a módszertan elvárásokat és ajánlásokat fogalmaz meg a fejlesztési módszerrel szemben, ami pedig architekturális követelményeket támaszthat.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Előadás és gyakorlat.

Tanulástámogató anyagok

Online források
James Shore: The Art of Agile Development, O'Reilly Media, 2007.; Martin Fowler with Kent Beck, John Brant, William Opdyke, and Don Roberts: Refactoring (Improving the Design of Existing Code), Addison-Wesley, 1999.; Kent Beck et al.: Manifesto for Agile Software Development, Agile Alliance, 2001. ; Kent Beck: Test Driven Development: By Example, Addison-Wesley, 2003.; Martin Fowler: Domain-Specific Languages, Addison-Wesley Professional, 2010.; Martin Fowler: Using an Agile Software Process with Offshore Development, Martinfowler.com; James Shore: The Art of Agile Development: Refactoring.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Objektumorientált programozási ismeretek. Szoftvertechnikák.
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Objektumorientált programozási ismeretek. Szoftvertechnikák.
Általános szabályok
Követelmények: a. A szorgalmi időszakban: egy zárthelyi  b. A vizsgaidőszakban: írásbeli vizsga c. Elővizsga: igény szerint     Az aláírás megszerzésének feltétele a zárthelyi elfogadható (legalább elégséges szintű) megoldása. A vizsgára bocsátás feltétele az aláírás megléte.   A jegy kialakítása: ZH 40%, vizsga 60%.   Pótlási lehetőségek: A zárthelyihez a TVSZ előírásai szerint mind a szorgalmi, mind a pótlási időszakban 1-1 pótlási lehetőséget biztosítunk.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
Nincs
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.