Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Szoftvertechnológia és -technikák

    A tantárgy angol neve: Software Technology and Techniques

    Adatlap utolsó módosítása: 2025. augusztus 13.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Üzemmérnök-informatikus szak, BProf képzés
    közös tárgy
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUBB02 3 2/0/4/v 7  
    3. A tantárgyfelelős személy és tanszék Dr. Mezei Gergely,
    4. A tantárgy előadója

    Név

    Beosztás

    Tanszék

    Dr. Mezei Gergely

    Egyetemi docens

    Automatizálás és Alkalmazott Informatikai Tanszék

    Dr. Somogyi Ferenc

    Adjunktus

    Automatizálás és Alkalmazott Informatikai Tanszék

    Benedek Zoltán

    Tanársegéd

    Automatizálás és Alkalmazott Informatikai Tanszék

    Albert István

    Mérnöktanár

    Automatizálás és Alkalmazott Informatikai Tanszék


    5. A tantárgy az alábbi témakörök ismeretére épít

    ·       Objektumorientált programozás

    6. Előtanulmányi rend
    Kötelező:
    (Training.Code=("5N-A9") ÉS

    [ HA
    EgyenCsoportTagja("BPROF - 2022 - MINTATANTERV HALLGATÓI")
    AKKOR
    TárgyTeljesítve_Képzésen("BMEVIIIBA02")

    EGYÉBKÉNT
    (TárgyEredmény("BMEVIIIBA02", "FELVETEL", _) > 0
    VAGY
    TárgyEredmény( "BMEVIIIBA02" , "jegy" , _ ) >= 2 ) ] )


    VAGY EgyenCsoportTagja("Kreditpótlás_2023/24/2")

    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

     

    A tárgy célja a készség szintű tudás átadás a szoftverfejlesztés folyamata, támogató eszközei és módszertana területén, ami alkalmassá teszi a tárgyat sikeresen elvégzőket a fejlesztő műhelyek munkájába való zökkenőmentes bekapcsolódásra.

    A tárgy főbb témakörei a következők:

    ·       A szoftverfejlesztés folyamata, a fejlesztés lépései (megértés szint: magyarázatok, összefüggések ismerete, esetek felismerése, besorolása - K2)

    ·       A SOLID elvek a programozásban (alkalmazás szint (problémamegoldás ismeretek alkalmazásával, példák, feladatok önálló megoldása - K3)

    ·       Az UML jelölésrendszer (osztály-, szekvencia-, használati eset-, állapotdiagram) (K3)

    ·       Architektúrák, architektúrális tervezési minták (K2)

    ·       Fejlesztési módszertanok (vízesés, RUP, agilis) (K2)


     

    8. A tantárgy részletes tematikája

    Az előadások tematikája:

    Előadás

    Előadás anyaga

    1.

    Bevezetés, a félév áttekintés, a szoftverfejlesztés alapjai. A SOLID elvek

    2.

    Szoftvermodellezés, bevezetés az UML világába. Osztálydiagram.

    3.

    Osztálydiagram és szekvenciadiagram

    4.

    Példák az osztálydiagram és szekvenciadiagram témakörében

    5.

    Állapotdiagram és aktivitás diagram

    6.

    Használati eset diagram, UML összefoglalás

    7.

    UML Profile. Szakterületi nyelvek.

    8.

    Tervezés és architektúra: Tervezési alapelvek (absztrakció, modularizáció). Szoftver architektúra elemei. Architektúrális tervezési minták. Document-View. Model-View-Controller, MVVM. Több rétegű arhictektúrák.

    9.

    Tesztelés. Profiling.

    10.

    A szoftverfejlesztés fázisai

    11.

    A vízesés és a RUP módszertan

    12.

    Agilis fejlesztés, Scrum, eXtreme Programming elemei

    13.

    Continous integration. Continous development.

    14.

    DevOps

     


     

    A gyakorlatok (laborok) tematikája:

    Gyakorlat

    Gyakorlat anyaga

    1.

    Bevezetés, követelmények ismertetése. Objektumorientált programozás ismétlése Java alapon. Kódelemzés, a SOLID elvek vizsgálata egy meglévő kódon.

    2.

    Forráskódból osztálydiagram készítése, osztálydiagramból forráskód készítése.

    3.

    Osztálydiagram készítés

    4.

    Szekvencia diagram készítése forráskód alapján, a szekvencia-, és osztálydiagram kombinálása.

    5.

    Szekvenciadiagram és osztálydiagram

    6.

    Aktivitás diagram, korábbi diagrammok gyakorlása

    7.

    Állapotgépek

    8.

    Használati eset diagram, UML gyakorlás

    9.

    Architekturális tervezési minták, többrétegű architektúra

    10.

    Teszttervezés és implementálás, kódfedettség, profiling

    11.

    Az agilis szoftverfejlesztési módszertan a gyakorlatban

    12.

    Házi feladat beadása

    13.

    Tartalék, gyakorlás


    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Előadás: a szoftverfejlesztési technológiák és technikák ismertetése, az elméleti, általános alapok az egyes témakörökhöz kapcsolódóan. Az előadás célja, hogy a hallgatók megismerjék a fogalmakat, a jelölésrendszert, amik használatát a laborok segítségével a gyakorlatban is elsajátíthatják később.

    Labor: számítógépes labor, ahol az egyes témakörökbe előbb a laborvezető segítségével betekintést nyernek, majd az elsajátított ismereteket a gyakorlatban is alkalmazzák önálló munkavégzés formájában.

    10. Követelmények

    A szorgalmi időszakban:

    Két kis házi feladat (részteljesítmény értékelés) és egy zárthelyi dolgozat (összegző értékelés). Az első házi feladat a hetedik héten kerül kiosztásra és a tizedik hétig kell beadni. A második feladat a tizenegyedik héten kerül kiosztásra és a szorgalom időszak végén megjelölt laboron kell beadni. A zárthelyit a kilencedik-tizenegyedik hét közt írják a féléves kari ZH tervnek megfelelően.

    A félév végi aláírás feltételei:

    A zárthelyi dolgozat és mindkét házi feladat legalább elégséges szintű teljesítése (az elérhető pontszám legalább felét kell megszerezni mindhárom esetben külön-külön).

    A vizsgaidőszakban:
    A vizsga sikeres teljesítése.

    Az osztályzat megállapításának módja:

    A vizsga 90 pontos. A vizsgán van beugró, amin legalább 50%-ot, valamint a teljes vizsgán is a pontszám legalább 50%-át el kell érni, különben a vizsga sikertelen.

    Mindkét házi feladat alapján 0-10 pont, a zárthelyi dolgozat alapján 0-40 pont adható, így összesen 150 pont szerezhető. Az év végi osztályzat ponthatárai 85% (jeles), 70% (jó), 60% (közepes), 50% (elégséges).

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

     

    A két házi feladat közül az egyik (tetszőleges, de csak az egyik a kettő közül) pótolható a pótlási héten megadott időpontban. A zárthelyi dolgozat egy alkalommal pótzárthelyi dolgozattal pótolható.


     

    12. Konzultációs lehetőségek

    Igény szerint.

    13. Jegyzet, tankönyv, felhasználható irodalom

    Sommerville, I. – Szoftver rendszerek fejlesztése 2. bővített kiadás, Panem Kiadó, 2007

    Benedek Z., Levendovszky T.: Szoftvertechnikák (egyetemi jegyzet), BME, 2006
    Gamma, Helm, Johnson, Vlissides: Design Patterns, Addison-Wesley, 1994

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

    Kontaktóra

    84

    Készülés előadásokra

    6

    Készülés laborra

    28

    Készülés zárthelyire

    21

    Házi feladat elkészítése

    15

    Vizsgafelkészülés

    56

    Összesen

    210

    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Mezei Gergely

    Egyetemi docens

    Automatizálás és Alkalmazott Informatikai Tanszék

    Dr. Somogyi Ferenc

    Adjunktus

    Automatizálás és Alkalmazott Informatikai Tanszék

    Bendedek Zoltán

    Tanársegéd

    Automatizálás és Alkalmazott Informatikai Tanszék

    Albert István

    Mérnöktanár

    Automatizálás és Alkalmazott Informatikai Tanszék