Iteratív és inkrementális módszertanok

Az Iteratív és inkrementális módszertanok a szoftverfejlesztés egy olyan módszere, amelyben a terméket fokozatosan tervezik, megvalósítják és tesztelik (minden egyes alkalommal hozzáadnak egy kicsit többet), amíg a termék elkészül. Ez magában foglalja mind a fejlesztést, mind a karbantartást. A termék akkor minősül késznek, ha teljesíti valamennyi követelményét. Ez a modell egyesíti a vízesésmodell elemeit a prototípus iteratív filozófiájával.

A terméket több komponensre bontják, amelyek mindegyikét külön tervezik és gyártják (más megfogalmazással: építik). Az összetevők készen állnak az ügyfél rendelkezésére. Ez lehetővé teszi a termék részleges felhasználását és elkerüli a hosszú fejlesztési időt, így elkerüli a nagy indulótőke-ráfordítást és az azt követő hosszú várakozási időszakot is. Ez a fejlesztési modell egyben egy teljesen új rendszer bevezetésének traumatikus hatását is enyhíti.

Alkalmazása szerkesztés

Az Iteratív és inkrementális módszertanok a vízesésmodellt fokozatosan alkalmazza.[1]

A kiadások sorozatát „Iteratív és inkrementális módszertanok” nevezik, minden egyes adalék nagyobb funkcionalitást biztosít az ügyfelek számára. Az első lépés után alapterméket szállítanak, amelyet az ügyfél már felhasználhat. Az ügyfelek visszajelzései alapján kidolgozzák a következő lépések tervét, és ennek megfelelően módosítják a szoftvert. Ez a folyamat ilyen lépésekben folytatódik, amíg a teljes termék el nem készül. Az adalékos építési filozófiát az agilis folyamatmodellben is alkalmazzák.[1]

Az adalékos modell alkalmazható a szoftverfejlesztésben és informatikai műveletekre is (DevOps). Utóbbi esetben a DevOps örökbefogadási kockázatának és költségének minimalizálása a cél, miközben e modell megteremti a szükséges belső készségeket és lendületet.[2]

A modell jellemzői szerkesztés

  • A rendszert sok mini fejlesztési projektre bontják.
  • A végleges rendszer előállításához részleges rendszereket építenek.
  • Az első a legfontosabb követelményekkel foglalkozott.
  • Egy adag követelményét befagyasztják, miután a növekvő adagot kidolgozták.

Előnyei szerkesztés

  • Minden iteráció után regressziós tesztet kell végezni. A tesztelés során a szoftver hibás elemei gyorsan azonosíthatók, mivel egyetlen iteráció során kevés változtatást hajtanak végre.
  • Általában könnyebb a tesztelés és a hibakeresés, mint a szoftverfejlesztés más módszereivel, mivel az egyes iterációk során viszonylag kicsi változtatásokat hajtanak végre. Ez lehetővé teszi az egyes elemek célzottabb és szigorúbb tesztelését a teljes termékben.
  • Az ügyfél reagálhat a szolgáltatásokra, és ellenőrizheti a terméket a szükséges vagy hasznos változtatásokkal kapcsolatban.
  • A kezdeti termékszállítás gyorsabb és olcsóbb.[3]

Hátrányai szerkesztés

  • Az ebből eredő költség meghaladhatja a szervezet költségeit.
  • Mivel a termék további funkcionalitással bővül, problémák merülhetnek fel a rendszer architektúrájával kapcsolatban, amelyek a korábbi prototípusokban nem voltak nyilvánvalóak.[4]

Feladatok szerkesztés

 
Feladatok növekményes modellben

Ezek a feladatok közösek az összes modellben[1]

  1. Kommunikáció: segít megérteni a célt.
  2. Tervezés: szükséges, mivel sok ember (szoftvercsapat) dolgozik ugyanazon a projekten, de különböző funkciók egyidejűleg.
  3. Modellezés: üzleti modellezést, adatmodellezést és folyamatmodellezést foglal magában.
  4. Felépítés: ez magában foglalja az újrahasználható szoftver-összetevőket és az automatikus kódot.
  5. Telepítés: az összes növekedés integrálása.

Jegyzetek szerkesztés

  1. a b c Pressman, Roger. Software Engineering: A Practitioner's Approach. Boston: McGraw Hill, 41–42. o. (2010). ISBN 9780073375977 
  2. Kim (2013. január 22.). „DevOps distilled, Part 1: The three underlying principles”. IBM DeveloperWorks.  
  3. What is Incremental model- advantages, disadvantages and when to use it?. tryqa.com. (Hozzáférés: 2020. június 18.)
  4. Methodology:: Development Models. myprojects.kostigoff.net. [2016. március 3-i dátummal az eredetiből archiválva]. (Hozzáférés: 2020. június 18.)

Fordítás szerkesztés

Ez a szócikk részben vagy egészben az Incremental build model című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források szerkesztés

Ismeretterjesztő weblapok szerkesztés

Kapcsolódó szócikkek szerkesztés