Vezérlőpult
A8. Szoftverfejlesztési paradigmák · Bevezetés, környezet, Git

A blokk · Bevezetés, környezet, Git · 8. tananyag

Szoftverfejlesztési paradigmák

Kétféle „hogyan” létezik a szoftverkészítésben: hogyan gondolkodik a kód (paradigma), és hogyan szervezzük a munkát (folyamatmodell). Ez a fejezet megmutatja, milyen alapvető szemléletmódok léteznek a szoftverfejlesztésben a kódállomány és a munka szervezésére.

1 tanóraElméletNem igényel kódolást

Tanulási célok

1Programozási paradigmák — hogyan gondolkodik a kód?

A paradigma gondolkodásmód: milyen alapegységekből épül fel a program. A nagy családok — és hogy hol találkozol velük ebben a tanévben:

ParadigmaAlapegységLényegeHol találkozol vele?
procedurálisutasítás, eljárása program lépések sorozata, felülről lefeléaz I. félév programjai
objektumorientált (OOP)objektumadatok + a rájuk vonatkozó műveletek együtta II. félév — és az egész C#
eseményvezérelteseménykezelőa kód eseményekre válaszolWPF (L blokk)
funkcionálisfüggvénymellékhatás nélküli függvények kombinálásaLINQ-ízelítő (J blokk); F# (A3)

Két fontos igazság:

2Fejlesztési folyamatmodellek — hogyan szervezzük a munkát?

VÍZESÉS követelmények tervezés megvalósítás tesztelés átadás SPIRÁLIS minden kör: tervez → épít → kiértékel ● = működő változat a kör végén
Vízesés: egyszer, lépcsőn lefelé. Spirál: körökben, minden kör végén működő változattal.

Vízesésmodell (waterfall)

A klasszikus, lépcsőzetes modell: minden fázis az előző teljes befejezése után jön.

Spirális modell

A fejlesztés körökben halad: minden kör egy kis vízesés (tervezés → építés → kiértékelés), és minden kör végén működő, egyre teljesebb változat van. Kulcseleme a kockázatelemzés: minden körben azt építjük meg először, ami a legkockázatosabb — hogy ha baj van, korán derüljön ki.

Iteratív és agilis fejlesztés

A mai ipari gyakorlat: rövid, 1–2 hetes iterációk, mindegyik végén működő, bemutatható termékrészlet; a visszajelzések azonnal beépülnek. (Az „agilis” ennek a szemléletnek a gyűjtőneve — leghíresebb keretrendszere a Scrum.)

Folyamatos fejlesztés

A gondolat betetőzése: a szoftver soha nincs kész — apró változtatások mennek ki folyamatosan, akár naponta többször. Ehhez automatizált fordítás és tesztelés kell (a szakma CI/CD-nek — Continuous Integration / Continuous Delivery — hívja az eszközparkját). A böngésződ és a telefonod alkalmazásai így frissülnek — észre sem veszed, és már az újat használod.

ModellMikor van működő program?Mikor derül ki a hiba?
vízesésa legvégéna legvégén
spirálisminden kör végénaz adott kör végén
iteratív/agilis1–2 hetentenapokon belül
folyamatosmindigórákon belül

Melyik modellre igaz?

Döntsd el mindegyik állításról, melyik fejlesztési modellt írja le!

1 / 8Pontszám: 0

3És mi hogyan dolgozunk?

A tanévünk munkamódszere spirális-iteratív, kicsiben:

  1. Kis lépés — egy új nyelvi elem vagy egy új funkció a programban.
  2. Futtatás — azonnal kipróbáljuk: működik?
  3. Commit — működő állapot → mentés a Gitbe, beszédes üzenettel (A7!).
  4. És kezdődik a következő kör.

A Mastermind (G blokk) is így épül majd: először csak kiírja a táblát → aztán fogad egy tippet → aztán kiértékeli → aztán színes lesz → aztán nehézségi szintet kap. Minden állapota működik — sosem „félkész minden, de semmi sem megy”. Pont ezért tanultuk a Gitet a kódolás legelején: a spirál minden köre egy commit.

ℹ️ JÓ TUDNI

Ezért nem érdemes „egyben megírni az egészet, aztán majd kipróbáljuk”: az a kicsinyített vízesés, minden hátrányával. A profi is kis lépésekben dolgozik — csak gyorsabban lépked.

4Feladatok

Gyakorló feladatok

⭐ alap · ⭐⭐ haladó · ⭐⭐⭐ kihívás

A8.1

Párosítsd a paradigmákat a leírásokkal: procedurális · OOP · eseményvezérelt · funkcionális — „lépések sorozata” · „adat és művelet együtt” · „kattintásra válaszol” · „mellékhatás nélküli függvények”.

A8.2

Miért kockázatos a vízesésmodell egy olyan projektben, ahol a megrendelő maga sem tudja pontosan, mit akar?

A8.3⭐⭐

A telefonod egyik alkalmazása hetente frissül, apró változásokkal. Melyik fejlesztési modellben készülhet? Milyen előnye van ebből neked mint felhasználónak — és mi lehet a hátránya?

A8.4⭐⭐⭐

Gondold végig a leendő Mastermind-projektet! Írj 5 „spirálkört”: mi legyen az 1., 2., 3., 4., 5. működő változat tudása? (Az órán összevetjük — a G blokkban pedig tényleg így építjük majd meg.)

5Önellenőrző kvíz

Ellenőrizd magad!

Minden kérdésnél egy válasz helyes. A végén pontszámot kapsz.

6Fogalomtár

FogalomJelentés
paradigmagondolkodásmód: milyen alapegységekből épül fel a program
procedurális programozása program utasítások és eljárások sorozata
objektumorientált programozás (OOP)adatok és műveleteik objektumokba szervezése
eseményvezérelt programozása kód eseményekre (kattintás, gépelés) válaszolva fut
funkcionális programozásmellékhatás nélküli függvények kombinálása
vízesésmodelllépcsőzetes fejlesztés: minden fázis az előző teljes lezárása után
spirális modellkörökben haladó fejlesztés, körönként működő változattal és kockázatelemzéssel
iterációrövid fejlesztési kör, a végén működő, bemutatható eredménnyel
agilis fejlesztésaz iteratív, visszajelzés-vezérelt szemlélet gyűjtőneve
folyamatos fejlesztésa szoftver apró lépésekben, folyamatosan frissül (CI/CD-eszközökkel)

7Összegzés

  1. A paradigma a kód gondolkodásmódja: procedurális, objektumorientált, eseményvezérelt, funkcionális — és ezek együtt élnek egy modern programban.
  2. A C# következetesen objektumorientált: az I. félévben procedurálisan gondolkodunk, de végig OOP-világban dolgozunk.
  3. A vízesés átlátható, de a hibákat a végére tartogatja; a spirális és az agilis modell körönként ad működő változatot; a folyamatos fejlesztésben a szoftver sosincs „kész”.
  4. A mi munkamódszerünk: kis lépés → futtatás → commit — a Mastermind is spirálkörökben épül majd, és minden köre egy Git-commit.