Agile Software Development
A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Agilis szoftverfejlesztés
Agile Software Development
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIAUAV17 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | félévközi érdemjegy | ||||||||||||
| Credits | 2 | ||||||||||||
| Subject coordinator |
Dr. Lengyel László
position: egyetemi tanár
contact:
lengyel.laszlo@vik.bme.hu
|
||||||||||||
| Responsible department |
Automatizálási és Alkalmazott Informatikai Tanszék
|
||||||||||||
| Faculty | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Subject website | — | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
|
Hét |
Előadás anyaga |
|
1. |
Bevezetés Az agilis szoftverfejlesztés alapjai. Mire jók a szoftverfejlesztési módszertanok. Az agilis kiáltvány, agilis alapelvek, agilis módszertanok. |
|
2. |
Agilis tervezés szintjei Hogyan lehet egy szoftver-terméket, illetve annak kiadásait (release) megtervezni, és hogyan lehet a szállítási időket jól becsülni. Kiadás (release) tervezés, felhasználói sztorik (user story), becslési technikák, Iteráció tervezés, Daily Standup. |
|
3. |
Agilist tervezés a gyakorlatban Egy gyakorlat keretében egy
konkrét szoftver-terméket tervezünk, majd megbecsüljük az egyes felhasználói
sztorik méretét, elkészítési idejét. A gyakorlat során a projekt-csapatok egy
valódi szoftverrel megvalósítandó feladaton dolgoznak. |
|
4. |
Prioritások Az agilis fejlesztés középpontjában az értékkel bíró szoftver hatékony kiadása áll. Prioritások nélkül ez nem megvalósítható. Lehetséges priorizálási módszerek, prioritások felülvizsgálata, story backlog menet közbeni módosítása. |
|
5. |
Refactoring 1 A legtöbb szoftver életciklusa során eljut abba a fázisba, amikor már nehezen karbantartható. Minőségi szoftver csak úgy készíthető, ha ezt a minőségbeli romlást, tudatosan és már a fejlesztés közben megakadályozzuk. Ennek egyik leghatékonyabb módja a refaktorálás. Konkrét szoftver refaktorálásának részletes bemutatása program-kódon keresztül. |
|
6. |
Refactoring 2 Egy gyakorlat keretében a hallgatók maguk is refaktorálnak konkrét program kódot. A gyakorlat keretében bemutatjuk a refaktorálási lehetőségek katalógusát és egyéb refaktorálási trükköket, amelyek lehetővé teszik minőségi kód elkészítését. |
|
7. |
Agilis tesztelés Az agilis módszertan a hagyományostól eltérő tesztelést igényel. Ezek a tesztek magukba foglalnak a fejlesztők által megírt automatizált teszteket, és tesztelők által végzett manuális teszteket. Bemutatjuk, hogy egy adott szoftver esetében hogyan tudjuk meghatározni, hogy milyen típusú tesztekből mennyire van szükség ahhoz, hogy minőségi szoftvert készíthessünk. Teszt
kvadránsok, automatizált tesztek, UI tesztek, funkcionális tesztek, unit
tesztek. |
|
8. |
TDD 1 A tesztvezérelt fejlesztés (Test Driven Development) egy kulcsfontosságú gyakorlat az extrém programozásban. TDD alkalmazása esetén a végrehajtó-kód a teszt-kóddal együtt fejlődik, ezzel is biztosítva a jó minőséget. TDD
alapelvek, alapfogalmak (tesztelt kód - Code under test, teszt-lefedettség - code
coverage, elvárt eredmények - expectation) |
|
9. |
TDD 2 Egy
gyakorlat keretében a hallgatók elsajátíthatják a TDD fejlesztéshez
kapcsolódó gyakorlatokat, trükköket, technikákat, és megtapasztalják, hogy
hogyan lehet hatékony unit teszteket írni. |
|
10. |
Folyamatos integráció A folyamatos integráció szintén fontos eleme az agilis fejlesztésnek, mivel a becslések és a projekt státusza csak akkor vehetőek figyelembe, ha az egyes fejlesztési feladatok folyamatosan integrálva vannak. CI keretrendszerek, 10-minute Build, Test suite |
|
11. |
Folyamatos integráció a gyakorlatban Gyakorlat keretében készítünk egy folyamatos integrációs eszközbe építve egy build scriptet, amivel ellenőrizhetjük az elkészült kód integritását. |
|
12. |
eXtrém programozás Az extrém programozás öt Értékre (kommunikáció,
egyszerűség, visszacsatolás, bátorság és bizalom) épülő gyakorlatok
összessége, ahol a az értékek és gyakorlatok közötti kapcsolatot az Elvek
jelentik. Bemutatjuk, hogy az egyes gyakorlatok (pl. TDD) hogyan valósítják
meg ezeket az értékeket. Értékek, elvek, gyakorlatok. |
|
13. |
eXtrém Programozás a hétköznapokban Gyakorlatok részletes tárgyalása, hétköznapi jelentésük, megvalósításuk, előnyök, hátrányok. Bemutatjuk, hogy mit jelentenek ezek a gyakorlatok egy projekt esetében a napi munkában. |
|
14. |
Automatizált tesztelés A
folyamatos integrációt csak úgy tudjuk elérni, ha kód minden verziójáról el
tudjuk dönteni, hogy az megfelel-e a követelményeknek. Ezt csak automatizált
tesztekkel érhetjük el. Áttekintjük az automatizált tesztelési eszközöket,
elfogadási teszteket, megtárgyaljuk azok előnyeit, hátrányait, majd
bemutatjuk tipikus problémáit. |
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Tanulástámogató anyagok
Not provided.
Recommended preliminary knowledge for completing the subject
General rules
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.