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