Fejlesztési modellek és módszertanok

Hasonló dokumentumok
01. gyakorlat - Projektalapítás

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Agilis projektmenedzsment

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

(Teszt)automatizálás. Bevezető

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Ami a vízesésen túl van

Verziókövető rendszerek használata a szoftverfejlesztésben

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Verifikáció és validáció Általános bevezető

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Agilis szoftverfejlesztés és Scrum

C# nyelvhez kapcsolódó programozási feladatok

MIÉRT KELL TESZTELNI?

INPUT PROGRAM Agilitás, SCRUM és Lean Startup

Információs rendszerek Információsrendszer-fejlesztés

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

Algoritmizálási feladatok

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

cím: 6725 Szeged Bokor u. 18. telefon: Innomedio Kft Scrum módszertan 1.0 Verzió Érvényes: április 1-től

Programfejlesztési Modellek

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Közösség, projektek, IDE

Tartalom. Szoftverfejlesztési. Szoftver = Termék. módszertan. la Rational XDE CASE eszköz. Az előállításához technológiára van szükség

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Agilis szoftverfejlesztés és Scrum

Adatbázis és szoftverfejlesztés elmélet

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

INPUT PROGRAM 2. Kanban és SCRUM. KANBAN alapok

Junior Java Képzés. Tematika

Név: Neptun kód: Pontszám:

A szoftverfolyamat és s a tesztelés

Minőségmenedzsment és Informatika Test-Driven Development

Menetrendkezelő Rendszer

Projectvezetők képességei

A Scrum Útmutató. Meghatározó útmutató a Scrumhoz: A játék szabályai. Kifejlesztette és karbantartja Ken Schwaber és Jeff Sutherland

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények

4. A szoftvergyártás folyamata

A felkészülés ideje alatt segédeszköz nem használható!

Szoftverminőségbiztosítás

Bevezetés a programozásba

2019/02/11 10:01 1/10 Logika

Azonnali fizetési rendszer megvalósítása

ARDINSYS Mérnöki Zrt.

Informatika Informatika

Szoftverminőségbiztosítás

Informatika A versenyzők a feladatlapot mindkét kategóriában a II. kategória első fordulójának kivételével csak elektronikus formában kapják meg

Előadók: Angyal Gergely (Raiffeisen), tesztelési csoportvezető Kováts Márton (KFKI), szenior rendszermérnök

Csutorás Zoltán, Árvai Zoltán, Novák István. A Scrum keretrendszer és agilis módszerek használata a Visual Studióval

DW/BI rendszerek kialakítása bevezetői szemszögből. Gollnhofer Gábor - Meta Consulting Kft.

Elemi adatszerkezetek

S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN. Structured Systems Analysis and Design Method

IT Szolgáltatás Menedzsment az oktatási szektorban - 90 nap alatt költséghatékonyan

Dr. Topár József 3. Eladás Marketing Külső szolgáltatás Alvállalkozók Fogyasztók. Engineering Termelés Anyagszabályozás Beszerzés Minőség

Szoftverfejlesztési modellek

Programozási technológia 2.

Szoftver-technológia I.

Szoftvertechnológia ellenőrző kérdések 2005

30 MB INFORMATIKAI PROJEKTELLENŐR

Cégprofil publikus CÉGPROFIL 1

Oracle Enterprise Manager: Az első teljesértékű felhő üzemeltetési megoldás

extreme Programming programozástechnika

A CMMI alapú szoftverfejlesztési folyamat

Járműinformatika A járműinformatikai fejlesztés

A szoftverfejlesztés eszközei

Bevezetés a programozásba előadás: Alapvető programtervezési elvek

2. A szoftver mint termék llításának folyamata, a szoftver életciklus modelljei

Az azonosító számú, Internetes alkalmazásfejlesztő megnevezésű elágazás szakmai követelménymoduljainak

A DevOps-kultúra eszközei

Félévi követelmények Bemutatkozás és követelmények

minic studio Melinda Steel Weboldal kivitelezési árajánlat

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Software project management Áttekintés

C++ fejlesztés az ECLIPSE környezetben

Tesztelés fázisai. Passed Informatikai Kft december 4

Projekt beszámoló. Könyvelési Szakértői Rendszer Kifejlesztése Repetitív Könyvelési Feladatok Szabályalapú Feldolgozására

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

Autóipari beágyazott rendszerek. Fejlesztési fázis

IT Factory. Kiss László

Félévi követelmények. Gyakorlatvezetők

2016/11/29 11:13 1/6 Digitális átvitel

Mi a folyamat? Folyamatokkal kapcsolatos teendőink. Folyamatok azonosítása Folyamatok szabályozása Folyamatok folyamatos fejlesztése

Üzleti folyamatok rugalmasabb IT támogatása. Nick Gábor András szeptember 10.

A TANTÁRGY ADATLAPJA

Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez

ALKALMAZÁS KERETRENDSZER

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői:

FELÜLVIZSGÁLATI JEGYZŐKÖNYV MELLÉKLETE (I-UNI16F1_ TANF) TANF.ME {.{W... Szoftver utolsó változtatás időpont ja: december 12.

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

SZÁMALK SZAKKÖZÉPISKOLA

Szolgáltatás Orientált Architektúra a MAVIR-nál

Átírás:

2016/11/11 08:50 1/15 Fejlesztési modellek és módszertanok < Szoftverfejlesztés Fejlesztési modellek és módszertanok Szerző: Sallai András Copyright Sallai András, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Bevezetés A fejlesztés folyamatával kapcsolatos témakörök, fejlesztési modellek. Kezdetben csak elemeztünk, terveztünk, kódoltunk, teszteltünk és terjesztettünk. Ez tekintettük a szoftverfejlesztés megfelelő modelljének. Mára többféle szoftverfejlesztési modell jött létre. Hatékonyabbnál hatékonyabb fejlesztési modellek alakultak ki. Vízesés modell A legrégebbi fejlesztési modell, fázismodellnek is hívják. Az egyes fázisokra nincs visszatérés. Az egész fejlesztés, egyetlen szekvenciális folyamat. Ez persze a gyakorlatban nem működik. A kényszerű visszatérés annál költségesebb minél nagyobbat kell visszalépni. Ritkán használjuk, esetleg nagyobb egyedi szoftverek fejlesztése esetén. Elsőként Winston W. Royce írta le a modellt.

Last update: oktatas:programozás:szoftverfejlesztés:fejlesztési_modellek_és_módszertanok http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok 2016/01/21 09:02 Előre megköveteli az ügyféltől, hogy véglegesítse a követelményeket. A fejlesztőtől, megköveteli, hogy előre válasszon ki egy tervezési stratégiát. Előnye: Egyszerűen menedzselhető. Hátránya: Nagy és bonyolult rendszerek jöhetnek létre, amelyek alkalmatlanok a változtatásra. Evolúciós modell Jellemzők: Készítünk egy kezdeti megvalósítást. Véleményeztetjük a felhasználóval. Finomítás sok verzió párhuzamosság gyors visszacsatolás http://szit.hu/ Printed on 2016/11/11 08:50

2016/11/11 08:50 3/15 Fejlesztési modellek és módszertanok Tervezéssel kapcsolatos döntések elmaradnak. Eredménye nehezen érthető szoftver, gyenge felépítés. Inkrementális fejlesztés Valahol a vízesés és az evolúciós fejlesztés között. Elsőként egy vázlatos követelményrendszert állítunk össze. Osztályozzuk a szolgáltatásokat fontosság szerint. A fontosakat elkezdjük megvalósítani. Több változatot hozunk létre, alváltozatokra osztva a fejlesztést. Az egyes változatokat is több lépésben hozzuk létre. Spirális modell 1986-ban Boehm javasoja. Nem tevékenységek és visszalépések sorozata, inkább spirál. Fejlesztés négy lépcsőben, ciklikusan. Minden ciklus célkitűzéssel indul.

Last update: oktatas:programozás:szoftverfejlesztés:fejlesztési_modellek_és_módszertanok http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok 2016/01/21 09:02 Iteratív modell Iteratív vagy folyamatiterációs modell. A fejlesztést rendszeresen ismétlődő tevékenységnek tekintjük. Kis inkrementációs lépésekből áll. A specifikáció a szoftverrel együtt készül, nem előre. V-modell A német védelmi minisztérium dolgozta ki. A korai fejlesztések egyike Nem csak modell, ez már módszertan is. Biztonságkritikus számítógépek fejlesztésénél terjedt el. A sorrend nem szigorúan van véve. http://szit.hu/ Printed on 2016/11/11 08:50

2016/11/11 08:50 5/15 Fejlesztési modellek és módszertanok Tisztaszoba Angolosan cleanroom. A tisztaszoba technika magas színvonalú, hitelesíthető szoftverek fejlesztésénél használt eljárás. A tisztaszoba technikát Harlan Mills használta használta az IBM berkeiben. A hangsúly a hibák eltávolítása helyett azok megelőzésén van. Egy egész csapat ellenőrzi, hogy a tervezés helyes úton jár-e. Fokozatos fejlesztés, iteratív megközelítéssel. Előremeghatározott szabványokban mérik a munkafolyamat előrehaladását. A tesztelést mintegy statisztikai eljárást hajtják végre. RUP A Rational Unified Process szavak rövidítése. A Rational Software Corporation fejlesztette, amit később az IBM felvásárolt. Egy agilis megközelítés. Az UML és az USDP alapján készült.

Last update: oktatas:programozás:szoftverfejlesztés:fejlesztési_modellek_és_módszertanok http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok 2016/01/21 09:02 Igyekszik több folyamatmodellt ötvözni. Jellemzők: iteratív fejlesztés konkrét célkitűzések mire kell figyelni mire nem kell figyelni becsülhető idő - iterációk segítik a becslést komponensek fejlesztése minőségbiztosítás változás-kezelés A következő listában a RUP rendszerfejlesztési fázisait látjuk: előkészítés vázlatos elképzelés készítése cél a megbecsülhető költség szerkezet (architektúra) kialakítása kidolgozás használati esetek részletes kidolgozása alaparchitektúra kidolgozása megvalósítás a teljes rendszer megvalósítása rendszerterv programozás tesztelés átadás béta változat gyakorlott felhasználók tesztelik, jelentést készítenek hibák megoldása hiányzó részek pótlása Minden új fázis kezdete egy mérföldkő http://szit.hu/ Printed on 2016/11/11 08:50

2016/11/11 08:50 7/15 Fejlesztési modellek és módszertanok Az USDP-t (vagy UP) más variációi is létrejöttek: Agile Unified Process (AUP) variáció - Scott W. Ambler Basic Unified Process (BUP) variáció - IBM az OpenUP előfutára Enterprise Unified Process (EUP) a Rational Unified Process kiterjesztése Essential Unified Process (EssUP) variáció - Ivar Jacobson Open Unified Process (OpenUP) Eclipse Process Framework software development process Rational Unified Process (RUP) IBM / Rational Software development process Oracle Unified Method (OUM) Oracle fejlesztési és megvalósítási folyamat Rational Unified Process-System Engineering (RUP-SE) A RUP egy verziója - Rational Software a System Engineering számára RAD A RAD, Rapid Application Development szavak első betűi. Gyors alkalmazásfejlesztésnek fordítható. A James Martin dolgozta ki, az 1980-as években. Jellemzők: iterációs fejlesztés működő prototípusok létrehozása fejlesztést támogató programok használat, például IDE IDE

Last update: oktatas:programozás:szoftverfejlesztés:fejlesztési_modellek_és_módszertanok http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok 2016/01/21 09:02 Bírálat: IDE eszközei szerkesztő fordító nyomkövető fordítás automatizált esetleg vizuális szerkesztő (GUI-hoz) IDE megvalósítások Geany Scite XEmacs, GNU Emacs, vi, nvi Anjuta (Lin) Eclipse CodeBlocks MonoDevelop KDevelop (Lin) NetBeans Visual Studio (Visual Basic) Delphi Lazarus futtatható program nagy méretű futtatható program lassú http://szit.hu/ Printed on 2016/11/11 08:50

2016/11/11 08:50 9/15 Fejlesztési modellek és módszertanok Extrém programozás Egy szoftverfejlesztése során a felhasználókkal folyamatos egyeztetés folyik, így a fejlesztők nem találkoznak hirtelen jött ötletekkel, módosításokkal, a félreértések minimalizálódnak. Előírt négy tevékenység: kódolás tesztelés kapcsolat a megrendelővel tervezés Jellemző technikák: páros programozás teszt-vezérelt fejlesztés kód áttekintés folyamatos integráció - a részeket (modulokat) folyamatosan megpróbáljuk beépíteni az egészbe kódszépítés A projekthez az egész fejlesztői gárda együtt dolgozik. A fejlesztő csapattal együtt dolgozik nap mint nap az ügyfél egy képviselője. A csapat az üzleti érték előállításán dolgozik. Folyamatosan kisebb egységeket adnak ki, amely teljesíti az ügyfél elvárásait.

Last update: oktatas:programozás:szoftverfejlesztés:fejlesztési_modellek_és_módszertanok http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok 2016/01/21 09:02 Scrum A scrum egy projektmenedzsment módszertan. Az agilis szoftverfejlesztés egyik megvalósítása. A scrumban egy szoftver elkészítését körülbelül kéthetes fázisokra osztjuk. Ezeket sprinteknek nevezzük. Minden sprint elején van egy értekezlet és minden sprint végén a fejlesztők megbeszélik, mi az amit sikerült megvalósítani, mi az amit nem és mi az ami hátra van. A scrum módszerben minden reggel is egy rövid 15 perces megbeszéléssel kezdődik, amelyben a fejlesztők megbeszélik ki milyen munkát végzett el, mi az ami nem sikerült és mit tervez. Ezek a reggeli megbeszélések fontos, hogy állva történjenek, mert másként elmehet az idő. A scrumban van egy scrum mester, aki vezeti a megbeszéléseket. A megbeszélések alkalmával a következő kérdésekre kell válaszolniuk a a résztvevőknek: Disznók: Csirkék: Mit csináltál a tegnapi megbeszélés óta? Mi az amit nem sikerült megvalósítani tegnap óta? Mit fogsz csinálni a következő megbeszélésig? Scrum mester (Scrum Master) Terméktulajdonos (Product Owner) Csapat (Team) Üzleti szereplők (Stakeholders) Menedzsment (Managers) http://szit.hu/ Printed on 2016/11/11 08:50

2016/11/11 08:50 11/15 Fejlesztési modellek és módszertanok Kanban Egy folyamatosan frissített mágneses, parafa vagy egyéb tábla, amelyen oszlopokra bontva megtaláljuk a tennivalókat, a folyamatban lévő munkákat és a már kész munkákat. Az egyes részek persze még több oszlopra bonthatók. Todo Process Ready adatbázis-elérés azonosítás naplózás Backlog New In progress Complete adatbázis-elérés azonosítás naplózás Backlog New In progress [4] Testing [3] Complete adatbázis-elérés azonosítás naplózás ToDo Design [2] Devel [2] Q4 [3] Done azonosítás naplózás adatbázis-elérés Tennivalók Folyamatban Elkészült belépés naplózás utalás felhasználó-kezelés csoportok kezelése Tervezés Fejlesztés Tesztelés Telepítés A táblát folyamatosan frissíteni kell a teendők, folyamatban lévő és kész dolgok listájával. Fontos, hogy a folyamatban lévő dolgok között háromnál több dolog nem szerepelhet. A harmadik táblában az In progress után a szám azt jelenti, hány dolog lehet maximálisan folyamatban, mint a Testing után is. Lean módszer Kiejtve: [liːn] Egy fejlesztési módszertan. Taiichi Ohno ötletei után vették át a szoftverfejlesztők.

Last update: oktatas:programozás:szoftverfejlesztés:fejlesztési_modellek_és_módszertanok http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok 2016/01/21 09:02 Taiichi Ohno ( 大野耐一 ) a Toyota Termelési Rendszer (TPS) atyja. A munkahelyek kialakítására Ohno kitalálta az 5S-t. A munkahelyi problémák felderítésére kitalálta az 5W-t. http://szit.hu/ Printed on 2016/11/11 08:50

2016/11/11 08:50 13/15 Fejlesztési modellek és módszertanok A 5W, 5 kérdést jelent, amelyet mindig úgy kezdünk Miért Például: 1. 2. 3. 4. 5. Miért nem készítetted el a modult? - Nincs kész az adatbázis. Miért nincs kész az adatbázis? - Az adatbázis-fejlesztő nem kapta meg az adatokat. Miért nem kapta meg az adatbázis-fejlesztő az adatokat? - A Plútó nevű szerver áll. Miért áll a Plútó nevű szerver? - Hiányzik egy alkatrész a szerverből. Miért hiányzik az alkatrész a szerverből - A gazdasági igazgató nem hajlandó aláírni a beszerzést. Taiichi Ohno ötletei alapján a szoftverfejlesztésben a következőket vesszük figyelemben. TDD A TDD a Test Driven Development szavakból alkotott betűszó, amely teszt vezérelt fejlesztésként fordítható. Nem egy tesztelési módszer. Helyette egy fejlesztési modell. Igaz automatizált teszteket írunk, de az automatizált teszt használatától még nem lesz teszt vezérelt egy fejlesztés. A teszt vezérelt fejlesztés menete: Előbb írok egy tesztet ami hibával leáll. Ha egy nem létező osztályra hivatkozunk és ezért nem fordul le a teszt már elég. Ez után éppen csak annyi kódot írok, hogy a teszt teljesüljön. Újratervezem a kódot, majd kezdem az első lépéstől.

Last update: oktatas:programozás:szoftverfejlesztés:fejlesztési_modellek_és_módszertanok http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok 2016/01/21 09:02 Az utolsó lépés után megint tesztet írok, majd annyi kódot, hogy a teszt teljesüljön, újratervezek. Így megy ez ciklikusan. Agilis szoftverfejlesztés A megrendelő legtöbbször maga sem tudja mit akar. Az igényei folyamatosan változnak. Mindezek miatt, egy rugalmas szoftverfejlesztési módszerre van szükség. Agilis módszertanok: Scum Kanban Lean stb. Az agilis kiáltvány: http://agilemanifesto.org/ A fenti oldalról idézet: 1. Legfontosabbnak azt tartjuk, hogy az ügyfél elégedettségét a működő szoftver mielőbbi és folyamatos szállításával vívjuk ki. 2. Elfogadjuk, hogy a követelmények változhatnak akár a fejlesztés vége felé is. Az agilis eljárások a változásból versenyelőnyt kovácsolnak az ügyfél számára. 3. Szállíts működő szoftvert gyakran, azaz néhány hetenként vagy havonként, lehetőség szerint a gyakoribb szállítást választva. 4. Az üzleti szakértők és a szoftverfejlesztők dolgozzanak együtt minden nap, a projekt teljes időtartamában. 5. Építsd a projektet sikerorientált egyénekre. Biztosítsd számukra a szükséges környezetet és támogatást, és bízz meg bennük, hogy elvégzik a munkát. 6. A leghatásosabb és leghatékonyabb módszer az információ átadásának a fejlesztési csapaton belül, a személyes beszélgetés. 7. A működő szoftver az elsődleges mércéje az előrehaladásnak. 8. Az agilis eljárások a fenntartható fejlesztést pártolják. Fontos, hogy a szponzorok, a fejlesztők és http://szit.hu/ Printed on 2016/11/11 08:50

2016/11/11 08:50 15/15 Fejlesztési modellek és módszertanok 9. 10. 11. 12. a felhasználók folytonosan képesek legyenek tartani egy állandó ütemet. A műszaki kiválóság és a jó terv folyamatos szem előtt tartása fokozza az agilitást. Elengedhetetlen az egyszerűség, azaz az elvégezetlen munkamennyiség maximalizálásának művészete. A legjobb architektúrák, követelmények és rendszertervek az önszerveződő csapatoktól származnak. A csapat rendszeresen mérlegeli, hogy miképpen lehet emelni a hatékonyságot, és ehhez hangolja és igazítja az működését. From: http://szit.hu/ - SzitWiki Permanent link: http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:szoftverfejleszt%c3%a9s:fejleszt%c3%a9si_modellek_%c3%a9s_m%c3%b3dszertanok Last update: 2016/01/21 09:02