IT alapismeretek
Szoftverfejlesztés
Szoftverfejlesztés A szoftvertermék tartalma A szoftverfejlesztési munkafolyamat célja a szoftvertermék előállítása. Korábban tanultuk, hogy a termék a következőkből áll: • • •
forráskódok, a telepíthető, futtatható szoftver, dokumentációk; o fejlesztői dokumentáció (rendszerterv) o felhasználói dokumentáció (kézikönyv, referenciakönyv, használati példák stb. o szerződések, licencek, egyéb tájékoztatók • egyéb járulékos szolgáltatások (pl. betanítás). A teljes termék értékesítésre kerülő része általában a telepíthető, futtatható szoftver, a felhasználói dokumentációk és esetleg az egyéb szolgáltatások. A forrásprogramokat és a fejlesztői dokumentációt a fejlesztő csak speciális megállapodás keretében szokta kiadni.
A szoftverfejlesztés általános folyamata A szoftver elkészítésének célja az, hogy valamilyen felhasználói igényeket elégítsen ki; tehát a fejlesztés során egy feladatot oldunk meg úgy, hogy a megoldás megfeleljen a szoftvert később használni kívánók követelményeinek. Ebből adódóan – mint minden más feladat esetében – a fejlesztés folyamán az általános feladatmegoldás lépésein, szakaszain haladunk végig mindaddig, amíg el nem készül a termék.
A feladatmegoldás általános lépései A feladatmegoldás folyamatát általánosan négy szakaszra osztjuk, ezek: 1. A feladat elemzése (elemzés) Az elemzés alapvető célja az, hogy megértsük, valójában mit is kell megoldanunk. Ennek keretében meg kell határoznunk azt, hogy: • pontosan mi a feladat; • a teljes feladat megoldása milyen részmegoldásokat igényel; • ezekhez milyen eszközök és ismeretek szükségesek; • a részmegoldásokat milyen sorrendben kell előállítanunk; • hogyan integráljuk egésszé a részeket; • hogyan ellenőrizzük a megoldást. 2.
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
1
IT alapismeretek
Szoftverfejlesztés
A megoldás megtervezése (tervezés) Ebben a szakaszban elkészítjük az általános, logikai szintű megoldást: az elkészítendő szoftver milyen elemeket tartalmazzon, ezeknek mi legyen a feladata; milyen adatokra lesz szükség, ezeket hol és hogyan tároljuk. 3. A kivitelezés (kódolás) A kivitelezés a programkód elkészítését jelenti. Az általános megoldást itt konkrét platformra (operációs rendszerre), meghatározott programozási nyelv(ek)ben, a kiválasztott adatbázis-típusnak megfelelő adatbázisokkal valósítjuk meg. 4. Az eredmény ellenőrzése (tesztelés) Az elkészült szoftvert készítése közben és a fejlesztés befejezése után is, több, különböző szintű és célú tesztelésnek vetjük alá. Az egyes szakaszoknál vastag betűvel azok szoftverfejlesztésre adaptált megnevezéseit tüntettük fel. További ismeretek: Szoftverfejlesztés
Fejlesztési modellek és módszertanok Az előbbiekben vázolt, általános fejlesztési folyamat és szakaszai a valóságban nem ilyen „katonás” rendben, nem ilyen jól elkülöníthető módon követik egymást – bár volt idő (20-30 évvel ezelőttig), amikor a fejlesztések menete még megközelítőleg ezt a képet mutatta. A világ, a szoftverpiac, a számítástechnika alkalmazásának globálissá válása azonban a szoftverfejlesztésben is kikényszerítette az eszköz- és módszerbeli változásokat.
Fejlesztési modellek Ha egy kitűzött célt el akarunk érni, elképzeljük, megtervezzük a hozzá vezető utat. A szoftverfejlesztés esetében a cél a szoftvertermék előállítása – az ehhez elvezető utat fejlesztési módszernek vagy modellnek nevezzük. A szoftverek elkészítésének lépései, problémái és részfeladatai nagyjából minden szoftver esetén hasonlóak, illetve meghatározhatók olyan kulcspontok, amelyek minden fejlesztésben megtalálhatók. Ennek alapján felállíthatók olyan fejlesztési modellek, amelyek általában alkalmazhatók minden szoftverfejlesztési folyamatra. Néhány jellegzetes fejlesztési modell (a teljesség igénye nélkül): • vízesés modell; • spirális modell; • evolúciós modell; • inkrementális modell. Az egyes modellek abból a szempontból váltották vagy finomították az előzőt, hogy az mennyire volt képes vagy nem képes választ adni a világban történt változásokra. További ismeretek: Fejlesztési modellek Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
2
IT alapismeretek
Szoftverfejlesztés
Fejlesztési módszertanok Egy feladat megoldásán többen is dolgozhatnak (pl. szétosztják egymás között a részproblémákat). Emberek együttműködése a megoldás során: különleges helyzet, és elsősorban a résztvevők közti kommunikáció, információcsere megoldásának szempontjából. A különböző szakterületeken folyó fejlesztések (feladatmegoldások) szervezési és kommunikációs problémái hívták életre az ún. fejlesztési módszertanokat. Módszertan: azon lépések, munkafolyamatok és eszközök leírása, amelyek végigvezetnek egy feladat megoldásán. A módszertanok tehát leírják, mit és hogyan csináljunk, ha meg akarunk oldani egy fejlesztési feladatot. Ezenkívül a legtöbb módszertan kitér a megoldási folyamat időbeli lefolyására és a folyamat során előállt eredmények dokumentálásának technikájára is – ez utóbbi a résztvevők közti kommunikáció megoldását szolgálja. Módszertanokra példaként említhetjük az SSADM (Structured Systems Analysis and Design Method, Strukturált Rendszerelemzési és -Tervezési Módszer) rendszerfejlesztési módszertant, vagy a RUP (Rational Unified Process, Egységesített Eljárás) módszertant. Ezeken kívül természetesen több tucat más szervezési-fejlesztésikutatási módszertan is létezik. Céljuk az, hogy a feladatmegoldás folyamatát emészthetővé, koordinálhatóvá, egységessé tegyék. Az SSADM módszertan nagy vonalakban a megoldást az alábbi fő lépéseken keresztül definiálja: Megvalósíthatósági elemzés 0 Megvalósíthatóság eldöntése Követelmény elemzés 1 Jelenlegi helyzet vizsgálata 2 Rendszerszervezési változat kiválasztása Követelményspecifikáció 3 Követelmények meghatározása Logikai rendszerspecifikáció 4 Rendszertechnikai változat kiválasztása 5 Logikai rendszertervezés Fizikai rendszertervezés 6 Fizikai rendszertervezés Anélkül, hogy belemennénk a részletekbe, a folyamat elemei jól megkülönböztethető „csomagokba” csoportosíthatók: •
A feladat megismerése, elemzése: Megvalósíthatósági elemzés, Követelményelemzés és specifikáció
•
Tervezés: Logikai és fizikai rendszertervezés
Az SSADM pontosan definiálja az általa lefedni kívánt fejlesztési folyamatot. Ehhez a folyamathoz „kívülről” különböző vezetési-irányítási tevékenységek és technikák, eljárások, ajánlott eszközök kapcsolódnak.
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
3
IT alapismeretek
Szoftverfejlesztés
1. ábra Az SSADM által definiált fejlesztési folyamat és kapcsolódó tevékenységek
Az SSADM módszertan alapvetően a vízesés modellre épül, de nem foglalkozik a feladat tényleges megoldásával (a szoftver elkészítésével, programozásával) és az elkészült megoldás tesztelésével. A valóságban persze ezek a műveletek is megtörténnek. Ebből a szempontból akár hiányosnak is nevezhetnénk a módszertant, hiszen mai nézetünk szerint a tervezett megoldás megvalósítása és a megoldás ellenőrzése, sőt a rendszerkövetés is, beletartoznak a fejlesztési folyamatba. Az SSADM azonban nem tekinti feladatának a fejlesztéshez kívülről csatlakozó folyamatok (lásd 1. ábra) integrálását – ugyanakkor feltételezi azokat, és definiálja az azokkal való együttműködést. További ismeretek:
Kincses László: SSADM Az Egységesített Eljárás (RUP) viszonylag új módszertan (90-es évek), szemlélete szerint a fejlesztési folyamat szakaszai: • a feladat megismerése, helyzetfelmérés, üzleti folyamatok modellezése; • követelmények feltárása; • elemzés és tervezés; • kivitelezés; • tesztelés; • átadás (a megoldás átadása, telepítése stb. a megrendelőnél, felhasználónál). A módszertan a fejlesztési folyamatot illetően a korábban ismertetett inkrementális és iterációs módszerek alkalmazását hangsúlyozza.
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
4
IT alapismeretek
Szoftverfejlesztés
2. ábra Az Egységesített Eljárás „buckás" ábrája
Az ábra szerint tehát a fejlesztés folyamatát fázisokra osztjuk (kezdet, kidolgozás, megvalósítás és átadás) – vízszintes tengely. Az egyes fázisokban a függőleges tengelyen jelzett fejlesztési munkatevékenységeket végezzük – csak a fázistól függően, eltérő intenzitással (az intenzitás mértékét a „buckák” mutatják). Minden egyes fázisban több fejlesztési ciklust (iteráció) is bejárhatunk, mire egyik fázisból a másikba jutunk. A fázisokat ún. „mérföldkövek” választják el – ezek olyan döntési pontok, ahol a fejlesztő csapat (a megrendelővel együtt) áttekinti az elért eredményeket és dönt a továbbhaladásról. Az egész fejlesztési folyamatot végigköveti a projektirányítás és a követelményváltozások figyelése, regisztrálása és érvényesítése. A módszertan munkafolyamatai (függőleges tengely) egyébként elég egyértelműen besorolhatók az alábbi (feladatmegoldási) kategóriákba: • • • •
a feladat megismerése, elemzése; tervezés; a megoldás elkészítése; a megoldás tesztelése.
Az Egységesített Eljárás egyébként elméleti módszertannak tekinthető (ellentétben pl. az SSADM-mel). Ez azt jelenti, hogy a gyakorlatban valamilyen feladatra vagy szervezetre szabott változatát kell kialakítanunk, vagy olyan gyakorlati módszertant kell választanunk, amelyet erre alapozva alakítottak ki (pl. Open Unified Process, Agile Unified Process, Enterprise Unified Process módszertan, UPEDU stb.). Azt is meg kell jegyeznünk, hogy az Egységesített Eljárás (mint ahogy a neve is mutatja) inkább egységesítette, összefogta a korábbi fejlesztési módszertanok tapasztalatait, eredményeit. (Például sokat átvett, illetve továbbfejlesztett az SSADM-ből.) További ismeretek: Az Egységesített Eljárás
Minden további részletezést mellőzve állíthatjuk, hogy mindenféle fejlesztési módszertan „becsomagolható” a fentiek mintájára – mégpedig azért, mert a feladatmegoldás folyamatának megvan a saját logikája, s ez alól jelenlegi ismereteink szerint nem tudunk kibújni. A módszertanok nem ebben, hanem belső szemléletükben, működésükben, technikáikban különböznek egymástól. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
5
IT alapismeretek
Szoftverfejlesztés
Fejlesztőeszközök A fejlesztőeszközök olyan szoftverek, amelyek a fejlesztési folyamat termékeinek (tervek, modellek, dokumentumok, programok stb.) előállításában segítenek minket.
Tervezést segítő eszközök Figyelemre méltó, hogy a módszertanok mekkora hangsúlyt fektetnek a megoldási folyamat során keletkezett eredmények dokumentációs formáira. Az alapprobléma az emberek közti kommunikációból ered: hogyan tudom gondolataimat, elképzeléseimet úgy közölni másokkal, hogy ők is pontosan ugyanazt értsék alatta, amit én? Gondoljunk bele, hogy a hétköznapi érintkezés során egyszerű gondolataink közléséhez mennyiféle eszközt veszünk igénybe. Először is, ott van maga a szituáció, amely legalább azt behatárolja a másik félnél, hogy mi is a téma. Ezután szóban vagy írásban is kifejthetjük mondandónkat. Közvetlen szóbeli közlés esetén felhasználjuk a hangsúly, hangerő és a testbeszéd (mozdulatok, mimika) eszközeit is. Mindez együtt adja ki azt az információt, amit közölni szeretnénk. A másik ember (az információ fogadója) mindezeket összes érzékszervével veszi, agyában összerakja és értelmezi. Az információközlés említett eszközei és módjai bonyolult, összetett rendszert alkotnak, ahol minden összetevőnek megvan a maga jelentősége és jelentése. Mindennapi kommunikációnk ezen eszközök felhasználásával általában jól működik – de ez az eredményesség nagyon érzékeny például a környezeti változásokra. Nem is kell nagyon messzire mennünk szokásos élőhelyünktől, és korábbi közlési formáink sokszor csődöt mondanak: megszokott szóhasználatunkat, mozdulatainkat más kultúrában élő emberek nem értik, vagy félreértik. A szervezett formában – sokszor a világ más-más részeiről származó emberek együttműködésével – folyó feladatmegoldás (pl. tudományos kutatás, fejlesztések) kommunikációs problémáinak áthidalására az egyes szakterületek saját „nyelvet”, jelölésrendszert fejlesztettek ki. Közismertek pl. a matematikai, kémiai, fizikai fogalmak, műveletek általánosan elfogadott szimbólumai. A nem ennyire egzakt területeken az egyértelműség érdekében régebben még egyes emberi nyelveket is kiemelten használtak (használnak); például a zene nyelve hagyományosan az olasz, a diplomáciáé a francia (volt), az informatikáé az angol; ha pedig célunk az eredmények titokban tartása, szuahéli nyelven (vagy esetleg magyarul) írunk, vagy beszélünk. A módszertanok a feladatmegoldásban együttműködő emberek számára próbálnak egységes, szabványos, tehát mindenki számára egyértelmű működési keretet és kommunikációs formát biztosítani. A módszertanok történelme során voltak olyanok, amelyek a szavak elsődlegességét hirdették (szöveges leírások). Amikor ez nem bizonyult eredményesnek (pontatlan, terjedelmes, nem mentes a kulturális hatásoktól), jött az ábrák, képek, diagramok uralma. Majd ez sem bizonyult megfelelőnek, mivel a rajzok nem képesek egyértelműen továbbítani finomabb fogalmakat, definíciókat. Végül most ott tartunk, hogy érvényesül a korábban már ismert pszichológiai törvény: szöveg és kép együtt, megfelelően rögzített, tárolt formában. A képen az van, amit a kép tud jobban bemutatni, a részletek pedig a szövegekben találhatók. A két módszer egyensúlyba hozásával jól érthetően és takarékosan tudunk kommunikálni.
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
6
IT alapismeretek
Szoftverfejlesztés
Modellező nyelv A mai szoftverfejlesztési munkák során egyre inkább uralkodóvá vált/válik az UML (Unified Modeling Language, Egységes Modellező Nyelv) – mint tervezést, dokumentálást, kommunikációt támogató modellező nyelv használata. Maga a nyelv kidolgozása az Egységesített Eljárás módszertanhoz kapcsolódik, de az évek során önálló életre kelt, és a rendszerfejlesztésben általánosan alkalmazható, az egész világon elismert szabvánnyá vált (első szabvány: 1997, UML 1.x, második szabvány: 2004, UML 2.0). Az UML modellező nyelv modellekben, a modelleket megjelenítő diagramokban, a diagramok összetevőit adó szimbólumokban és az ezekhez kapcsolható szöveges definíciókban testesül meg. A nyelv elemein kívül természetesen léteznek azok a „nyelvtani” szabályok is, amelyek az elemek használatát, egymáshoz való viszonyát definiálják. A 3. ábrán egy ún. üzleti folyamat modell diagramját láthatjuk, amely egy adott szakterületen folyó munkafolyamatokat és az ezekhez kapcsolódó tárgyakat, információkat, dokumentumokat mutatja be (Fejlesztési folyamat, Üzleti modellezés). használó -
kód név iroda «flow»
új használó vagy adat módosult
Használók nyilv ántartása
«entity» használó
«entity» eszközkarton -
[használatba adáskor]
eszköz
típus megnevezés leltári szám [nyilvántartásba vétel]
[kiadás, visszavét, selejtezés]
esemény történik
Esemény regisztrálása
«entity» eseménybej egyzés
3. ábra UML –- Üzleti folyamat diagram
A következő modell azokat a funkcionális követelményeket (szolgáltatásokat) ábrázolja, melyek teljesítését a felhasználók elvárják a programtól:
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
7
IT alapismeretek
Szoftverfejlesztés
Eszköz nyilv ántartásba v étele
Események regisztrálása
Hibafelv étel Jav ítás
«extend»
extension points: 2. Jav ítás befej ezése 1. Meghibásodás «extend»
Készrev étel
Eszköz csere
Informatikus Használók nyilv ántartása
4. ábra A felhasználó által elvárt programszolgáltatások modellje
A modellező nyelv elemei és szabályai úgy vannak kialakítva, hogy: • viszonylag kevés szimbólummal, • mégis általánosan használható, feladatra szabható, pontosítható, • széles körben (fejlesztők, megrendelők) könnyen megérthető, • egységesen értelmezhető dokumentumok állíthatók elő. Külön ki kell emelni azonban azt, hogy az UML elsődleges funkciója nem a dokumentumok készítését célozza: a modellező nyelv – megfelelő szoftveres támogatással párosítva – kiemelkedő módon segíti gondolkodásunkat, javítja problémamegoldási hatékonyságunkat.
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
8
IT alapismeretek
Szoftverfejlesztés
Programok A szoftverfejlesztési folyamat során keletkező munkaanyagok, modellek, tervek és egyéb dokumentumok előállításához – illetve magának a projektnek az irányításához sokféle segítő alkalmazás áll(hat) a rendelkezésünkre. A teljesség igénye nélkül – céljuk, területük szerint csoportosítva – felsorolunk néhányat: 1. Projektirányítás A fejlesztési folyamat (projekt) irányításával (ütemezés, erőforrások, ellenőrzés, stb.) kapcsolatos feladatok támogatására több szoftvert is használhatunk. Hozzáférhetőség szerint most ezek közül kettőt említünk meg. Microsoft Office Project A Microsoft projektmenedzsment alkalmazása az Office programok egyike. A program egyes Office csomagok részeként vásárolható meg.
5. ábra Microsoft Office Project alkalmazás
OnePoint Project A OnePoint alkalmazás szabadon letölthető, nyílt forráskódú, több platformon is futtatható program.
6. ábra OnePoint Project alkalmazás
www.onepoint.at
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
9
IT alapismeretek
Szoftverfejlesztés
2. Tervezés, modellezés Az főbb, sikeresebb módszertanok mindegyikéhez készült olyan szoftver vagy szoftvercsomag, amely a módszertanban előírt tervezési-dokumentációs módszereket támogatja. Például az Egységesített Eljárás módszertan fázisainak támogatására a modellező nyelvet kidolgozó Rational Co. (ma az IBM tulajdona) készített először szoftvereket. A termékpaletta mára lefedi a fejlesztési folyamat minden fázisát, és komplex programcsomagokká nőtte ki magát. A csomagokban találunk alkalmazásokat: • az elemzés, tervezés, modellezés megoldására; • a változáskövetés menedzselésére; • a követelmény-gyűjtés és követelmény-modellezés területére; • minőségbiztosításra stb. www.rational.com
Közvetlenül a fejlesztési folyamattal kapcsolatos adatgyűjtési, de legfőképpen modellezési célokat szolgáló alkalmazásokat más fejlesztők is készítettek, például: • Enterprise Architect; www.sparxsystems.com.au • BOUML; http://bouml.free.fr/ (nyílt forráskód) • Borland Together; http://www.borland.com/us/products/together/index.html • További források: http://www.objectsbydesign.com/tools/umltools_byCompany.html. UML alapú tervező/modellező program jellemző felülete:
7. ábra Az Enterprise Architect alkalmazás
A tervezőprogramok többsége ma már – bizonyos modellekből – legalább alapszintű (néha magasabb) program forráskódot is képes generálni. 3. Dokumentumok készítése A fejlesztés során – pl. a módszertanok által előírt – közbenső és végleges dokumentáció elkészítését a fent említett tervezőprogramok általában szabványos (pl. RTF vagy HTML típusú) dokumentumok generálásával támogatják (egyes Rational programok közvetlen kapcsolatot építenek a Microsoft Office programokkal, illetve dokumentumokkal). Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
10
IT alapismeretek
Szoftverfejlesztés
Programozást segítő eszközök A közvetlen, gépi kódú programozást felváltó, az emberi nyelvhez egyre közelebb álló programozási nyelvek (Algol, Fortran, Cobol, PL/1, Basic, Pascal, C, Java, C#, PHP stb.) – hasonlóan az emberi nyelvekhez – szókinccsel, jelkészlettel és nyelvtani szabályrendszerrel rendelkeznek. Kezdetben a programozók – ismerve ezeket – lyukkártyára, lyukszalagra, majd az interaktív operációs rendszerek megjelenésével egyszerű szövegszerkesztőkkel szöveges állományokban készítették el a forrásprogramokat. A forrásprogramot az adott programozási nyelvhez tartozó fordítóprogrammal fordították le a processzor által értelmezhető gépi kódra. Integrált fejlesztőkörnyezetek Később a programfejlesztő eszközöket gyártó cégek olyan, integrált fejlesztőkörnyezetnek nevezett megoldásokat adtak ki, amelyeknél egy könnyen kezelhető keretprogram fogta össze a szövegszerkesztési, programfordítási és -futtatási, illetve hibakeresési funkciókat. Ezekhez a fejlesztőkörnyezetekhez már az adott programozási nyelvben készített mintaprogramokat, példákat is mellékeltek, amiket a programozók saját feladataikban is – többé-kevésbé – felhasználhattak, adaptálhattak. A mai fejlesztőkörnyezetek – megtartva az eddigieket – más hatalmas mennyiségű, általánosan felhasználható, beépíthető programkomponenssel és más egyéb (pl. adatbázis-kezelő, ikonszerkesztő, kimutatásszerkesztő stb.) eszközökkel, tartozékokkal rendelkeznek. Keretprogramjaik alkalmasak arra, hogy a programok felhasználói felületét majdnem úgy állíthassuk össze, mintha egy rajzolóprogramot használnánk. Kódgenerátoraik átveszik a programozótól az automatizálható kódelőállítás feladatát.
8. ábra Borland Delphi (Object Pascal), Delphi for PHP és SharpDevelop (C#, Visual Basic) fejlesztőkörnyezetek
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
11
IT alapismeretek
Szoftverfejlesztés
A felhasználó (megrendelő) szerepe a fejlesztésben A szoftverfejlesztés központi kérdéskörét az alkalmazással szembeni követelmények (milyen szolgáltatásokat, milyen paraméterekkel nyújtson) jelentik. A követelmények forrásai, megtestesítői a szoftver majdani felhasználói – a vevők, megrendelők. A különböző fejlesztési modellek, módszertanok a felhasználók fejlesztésben betöltött e szerepét mind elismerik és figyelembe veszik – a különbség a szerep passzív-aktív megítélésében van. Tendenciaként azonban elfogadhatjuk, hogy a megrendelők szerepe egyre inkább átértékelődik; a korábbi „interjúalany”-ból mára a fejlesztői csapatok aktív tagjai lettek. Sőt, a fejlesztőeszközök általános elérhetősége folytán néha saját maguk számára fejlesztenek (általában kisebb, átmeneti célú alkalmazásokat). Ez a szerepváltozás nyilván azzal jár, hogy a megrendelői oldalnak is rendelkeznie kell valamennyi fejlesztői ismerettel – általában tisztában kell lennie az éppen alkalmazott fejlesztési módszertan lényeges elemeivel; képesnek kell lennie olvasni, értelmezni a fejlesztői dokumentációkat; sőt, bizonyos szintű programozási ismereteknek is birtokában kell lennie.
Összefoglalás A szoftverfejlesztés feladatmegoldás, tehát a feladatmegoldás általános folyamata (elemzés, tervezés, kivitelezés, ellenőrzés) szerint történik. A fejlesztési módszertanok ezt az általános folyamatot a szoftverfejlesztés speciális helyzete, igényei szerint pontosítják, részletezik, ütemezik és meghatározzák a szükséges eszközöket és dokumentációkat is. A bemutatott fejlesztési modellek egyben a szoftverfejlesztés szemléletének történeti fejlődését is mutatják. Ez egyrészt az alkalmazott technológia (programozásitervezési módszerek és eszközök), másrészt a világ működésének változásaihoz igazodó módszerbeli fejlődésről szól. Mindezzel összhangban a fejlesztésben résztvevők összetétele is változik; a feladat megoldásán a szervezési, informatikai szakemberek mellett a megrendelők, felhasználók is aktív részesei a fejlesztői csapatoknak. A téma iránt érdeklődők számára javasolt irodalom és weboldal Ian Sommerville: Szoftverrendszerek fejlesztése. Panem Kiadó, Budapest, 2001 Naiburg J. Eric–Maksimchuk A. Robert: UML földi halandóknak. Kiskapu Kiadó, Budapest, 2006 Raffai Mária: UML 2 – modellező nyelvi kézikönyv. Palatia Kiadó, Győr, 2005 www.omg.com www.rational.com
Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság
12