K-INFO
HU
EN
Belépés

Szoftvertechnológia

Software Engineering
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)
Szoftvertechnológia
Software Engineering
Tantárgykód BMEVIIIAB01
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) 3 0 0
jelleg (kapcsolt/önálló)
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 4
Tantárgyfelelős
DR. Goldschmidt Balázs
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
Irányítástechnika és Informatika Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala https://www.iit.bme.hu/targyak/BMEVIIIAB01
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

1.     Bevezetés. A szoftverről és a szoftverfejlesztésről. Aktuális trendek és problémák. Folyamatok és modellezésük.

Miért olyan fontos a szoftver? Különbözik-e a szoftver más  javaktól”? Miért, vagy miért nem? A szoftverfejlesztés alapelvei . Példák szoftverhibákra és ezek következményeire . A fegyelem szükségessége a szoftverfejlesztésben. Próbálkozások a szoftverfejlesztés modellezésére az elmúlt 50 évben . Folyamatok, meghatározásuk és elemeik.

2.     Objektumorientált tervezési elvek, OO fogalmak.

3.     Egy népszerű modellezési nyelv: UML. Az UML elemeinek alkalmazása a szoftverfejlesztési folyamatban.

UML: Use Case Diagram, Activity Diagram, Component Diagram, Deployment Diagram

UML: Class Diagram, Package Diagram, Object Diagra

UML: Sequence Diagram, Communication Diagram, Interaction Overview Diagram

UML: State Machine Diagram, Timing Diagram, Composite Structure Diagram, Profile Diagram;

 Beyond UML: MOF, XMI, OCL

4.     Szoftverfejlesztési folyamatok. Népszerű életciklus modellek (vízesés, iteratív, inkrementális, spirál modellek, RUP). A V modell és az ISO 12207 szabvány.

5.     Hagyományos és agilis szoftverfejlesztés. Agilis és Lean alapelvek. A Scrum és az XP.

6.     Folyamatfejlesztési modellek. Elemek, célok, gyakorlatok . Folyamatcsoportok: fejlesztési, menedzsment és támogató folyamatok. Népszerű folyamatfejlesztési modellek: CMMI, SPICE, AutomotiveSPICE, TMMi.

7.     Követelménymenedzsment. A követelmények fontossága. Követelmények fejlesztése, követelmények kidolgozása. Követelmények forrásai. Követelmények felmérése, elemzése, priorizálása. Követelmények típusai: funkcionális és nemfunkcionális követelmények. Az IS 25000 szabványcsalád. Követelmények modellezése, dokumentálása. Kétirányú követhetőség. Követelmények változásának kezelése. Követelmények és követelményfejlesztés agilis környezetben .

8.     Tervezés és implementálás.   Definíciók . A tervezési és implementálási folyamat. Szoftvertervezési alapelvek és fontos elemek . Architektúrák, döntések, tervezési minták . Felhasználói interfész (UI) tervezése; felhasználói élmény (UX).  Szoftvertervezés az ismert modellekben. Implementáció / kódolás . Kódolási szabványok alkalmazása. A kód minőségének ellenőrzése. Becslés a szoftvertervezés során. Tervezés és implementáció agilis környezetben

9.     Tesztelés. Alapfogalmak.  A tesztelés definíciója. A tesztelés és minőségbiztosítás közötti különbség. A tesztelés 7 alapelve. Az alapvető tesztelési folyamat. A tesztelés alapdokumentumai. A tesztelés pszichológiája

10.  A tesztek csoportosítása. Alapvető tesztelési technikák. Statikus tesztelés. Dinamikus tesztelés : funkcionális tesztelés, strukturális tesztelés. Tesztelés agilis környezetben.   

11.  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.

12.  Támogató folyamatok a szoftverfejlesztésben. Konfigurációmenedzsment. Konfigurációs elemek azonosítása, konfigurációmenedzsment tevékenységek. Kockázatmenedzsment. Minőségmenedzsment. Mérés és elemzés a szoftverfejlesztésben.


A tárgy szoftver rendszerek tervezésének, fejlesztésének, karbantartásának tanítását tűzi ki célul, bemutatva a szoftver, mint termék előállításához szükséges mérnöki, támogató és menedzsment tevékenységeket, ezek néhány alapvető technikáját és módszerét. Cél, hogy a hallgatók átfogó képpel rendelkezzenek a teljes szoftverfejlesztési folyamatról, beleértve a fejlesztési-, projektmenedzsment- és támogató folyamatokat.  Tudást szereznek az alapvető életciklus modellekről, folyamatfejlesztési modellekről és szabványokról. A tárgyat abszolválva a hallgatók képesek l alapfokon alkalmazni az objektum orientált szoftver tervezés módszereit; l megérteni és kezelni a mindenkor aktuális technológiával  készülőszoftver rendszerek fejlesztésének problémáit; l részt venni klasszikus és agilis szoftverfejlesztési projektekben. A tárgyhoz szorosan kapcsolódik a Programozás alapjai 3 c. tárgy, amely laborgyakorlatokkal segíti a megszerzett ismeretek elmélyítését.   A tárgy kidolgozásánál - a korábbi évek tapasztalataiból kiindulva - két-lépcsős Software Engineering oktatási modellt vettünk alapul, ahol a hallgatók egy félév alatt előadásokon keresztül megismerik a technikákat és módszereket, majd a következő félévben a Szoftver projekt labor c. tárgy (VIIIAB02) keretében alkalmazzák a tanultakat a gyakorlatban projekt-szerű keretekben.

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

Tanulástámogató anyagok

Online források
·      ; Előadásdiák (https://www.iit.bme.hu/oktatas/tanszeki_targyak/BMEVIIIAB01); Ian Sommerville: Szoftverrendszerek fejlesztése; - Software Engineering, 2. kiadás, Panem Kiadó, 2007; Essentials of Software Engineering. Fourth; Edition. Jones & Bartlett Learning, authors: Frank Tsui, PhD, Orlando; Karam, Barbara Bernal http://www.jblearning.com/catalog/9781284106008/; Balla K: Minőségmenedzsment a; szoftverfejlesztésben. Budapest: PANEM, 2007; Tarczali Tünde: UML diagramok a gyakorlatban,; Typotex Kiadó, 2011, http://www.tankonyvtar.hu/hu/tartalom/tamop425/0008_tarcali/Tarczali_UML_diagramok_1_1.html;  ; A tárgy kidolgozásában felhasznált főbb internetes; források, szabványok, modellek:; l; ISTQB Glossary of Terms used in Software Testing; http://glossary.istqb.org; ISTQB Foundation Level Syllabus et.al.; http://www.istqb.org/downloads/category/2-foundation-level-documents.html; A Glossary of Requirements Engineering; Terminology Version 1.6 May 2014; IREB Foundation Level Syllabus, Version 2.2.1 ,; July 24th 2017; Requirements Engineering Fundamentals, Klaus; Pohl, Chris Rupp, 2nd edition, Rocky Nook Inc. (April 2015); Agile Alliance documents -; https://www.agilealliance.org; https://theagileadmin.com/what-is-devops/; Kanban boards step by step https://www.processmodel.com/blog/what-is-a-process/; §; https://www.computer.org/web/swebok;  http://iso25000.com/index.php/en/iso-25000-standards; UML 2.5, http://www.omg.org/spec/UML/; CMMI-DEV v1.3, www.cmmiinstitute.com; ISO/IEC 12207:2008 / 2015: Systems and software; engineering -- Software life cycle processes; ISO 15504: 2012. Information technology --; Process assessment -- Part 5: An exemplar software life cycle process; assessment model; ISO 9001:2015 Quality management systems --; Requirements; ISO/IEC 25000:2014 . Systems and software; engineering -- Systems and software Quality Requirements and Evaluation; (SQuaRE) -- Guide to SQuaRE §; Automotive SPICE PAM, V3.0.; http://www.automotivespice.com/fileadmin/softwaredownload/Automotive_SPICE_PAM_30.pdf; l ISO/IEC/IEEE; 29119-1, 29119-2, 29119-3 and 29119-4 (2013) IEEE Standard for Software Test; Documentation; l ISO/IEC; 25010, System and software engineering – Systems and software Quality; Requirements and 6 Evaluation (SQueRE) System and software quality models. 2011; 14. 

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)
programozási gyakorlat digitális technika alapjai rendszermodellezés
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)
programozási gyakorlat digitális technika alapjai rendszermodellezés
Általános szabályok
Követelmények: a. A szorgalmi időszakban: Egy darab otthoni feladat megoldása. Ki- és beadása kari ütemterv szerint. Az aláírás megszerzésének feltétele: az otthoni feladat megoldásának elfogadása. b. A vizsgaidőszakban: A vizsga írásbeli.A vizsgadolgozattal elérhető maximális pontszám: 50 ·         Értékelés: Pont Osztályzat 0 - 20 elégtelen (1) 21 - 27 elégséges (2) 28 - 34 közepes (3) 35 - 41 jó (4) 42 - 50 jeles (5) ·         A kreditpont megszerzésének feltétele: legalább elégséges vizsgaosztályzat elérése. Pótlási lehetőségek: Házi feladat pótlása: Aki a feladatát nem adta be, vagy akinek a feladata nem lett elfogadva, új feladatot kérhet. Az új feladat megoldásának beadása a pótlási időszakban a tárgy honlapján szereplő határidőig lehetséges. Késedelmes leadásra nincs lehetőség.   Vizsgák: a TVSZ-nek megfelelően pótolhatók.
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
IMSc program: Az IMSc programban részt vevő hallgatók számára az előadásokon további elmélyülést biztosító irodalmat ajánlunk. Az IMSc programban részt vevő hallgatóknak igény szerint tanórán kívüli konzultációs lehetőséget biztosítunk.   IMSc pontok: Az írásbeli vizsgán extra, IMSc feladatot biztosítunk, amelyre az alapfeladatokra elérhető pontszám 30%-át lehet kapni.  A plusz feladat csak akkor kerül értékelésre, ha a vizsga alapfeladatai megoldásával a hallgató jeles osztályzatot ért el. Az IMSc feladatra kapott pontszám egyenes arányosításával áll elő a tárgyban megszerezhető maximum 20 IMSc pont. Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.
Ajánlott tantárgyak
Programozás alapjai 1-2. Rendszermodellezés
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.