A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Szoftvertechnológia
Software Engineering
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIMIAB04 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | vizsga | ||||||||||||
| Tantárgy kreditértéke | 5 | ||||||||||||
| Tantárgyfelelős |
DR. Micskei Zoltán Imre
beosztás: egyetemi docens
elérhetőség:
micskei.zoltan@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Mesterséges Intelligencia és Rendszertervezés Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | http://www.mit.bme.hu/oktatas/targyak/VIMIAB04 | ||||||||||||
| 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
Az előadások részletes tematikája
1. Bevezetés. A szoftverről és a szoftverfejlesztésről. Különbözik-e a szoftverfejlesztés más mérnöki területektől? Miben több a szoftvertechnológia, mint a programozás? Példák komplex szoftverekre és szoftverprojektekre. Mi kell egy sikeres szoftverfejlesztéshez?
Szoftverfejlesztési gyakorlatok
2. Verziókezelés alapelvek. Központosított és elosztott verziókezelés. Tipikus munkafolyamatok és minták (GitHub Flow, Mainline...).
3. Követelmények kezelése: A követelmények
fontossága. Követelmények felmérése, elemzése, priorizálása. Követelmények
típusai: funkcionális és nemfunkcionális követelmények. Kétirányú követhetőség.
Követelmények változásának kezelése.
4. Tervezés és architektúra: Tervezési alapelvek (absztrakció, modularizáció).
Szoftver architektúra elemei. Tervezési minták (design patterns). Tervek
dokumentálása.
5. Forráskód kezelése: jó forráskód tulajdonságai. Kódolási ajánlások és
szabványok alkalmazása. Kód felülvizsgálat (code review). Statikus analízis
eszközök használata.
6. Tesztelés I: tesztelési alapfogalmak és célok. Tesztelés folyamata.
Tesztelési szintek. Kockázatalapú tesztelés.
7. Tesztelés II: teszttervezési technikák (specifikáció és struktúra alapján).
Szoftver modellezése és UML
8. Szoftver modellezése: Miért modellezünk? Mit lehet modellezni? A Unified
Modeling Language (UML) modellezési nyelvcsalád. Struktúra modellezése:
osztálydiagram, példányok kezelése, csomagdiagram, komponensdiagram.
9. UML viselkedés modellezése I: használati eset (use case), aktivitásdiagram,
szekvenciadiagram.
10. UML viselkedés modellezése II: állapotgép diagram, különböző nézőpontok
összekapcsolása. Kitekintés.
Szoftverfejlesztési folyamatok
11. Szoftver életciklus lépései és termékei. Népszerű életciklus modellek
(vízesés, V-modell, iteratív, inkrementális...).
12. Hagyományos és agilis szoftverfejlesztés. Agilis és Lean alapelvek. Példák:
Scrum, XP.
Projekt- és people-menedzsment
13. A szoftver projektek irányítási vonatkozásai. Becslés, tervezés, követés,
vezérlés. Agilis projektmenedzsment technikák és eszközök.
14. Mérés és elemzés a szoftverfejlesztésben. Folyamatok definiálása és
követése.
A gyakorlatok/laborok részletes tematikája
1. Szoftverfejlesztési munkafolyamatok, komplex szoftverek kezelése
2. Verziókezelő eszköz használata (git), automatikus fordítás, folytonos integráció (GitHub)
3. Kód stílus ellenőrzése, kód felülvizsgálat, statikus analízis eszköz használata
4. Teszttervezés és implementálás, kódfedettség mérése
5. UML modellező eszköz használata alapvető diagramok segítségével
6. UML-alapú objektumorientált tervezés gyakorlása
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
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
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
Ajánlott tantárgyak
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
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.