S01-6 Szoftverfejlesztési modellek
|
|
- Léna Siposné
- 6 évvel ezelőtt
- Látták:
Átírás
1 S01-6 Szoftverfejlesztési modellek Tartalom 1. Szoftverfejlesztési modellek (vízesés, spirális, evolúciós, RUP, XP, xuml) 2. Architekturális minták és hatásuk a rendszer minőségi jellemzőire 3. Tervezési minták (GoF, valamint 3 további létrehozási minta) 4. Konkurens minták 5. Antiminták, újratervezési minták 1. Szoftverfejlesztési modellek (vízesés, spirális, evolúciós, RUP, XP, xuml) A szoftverfejlesztés hagyományos fázisai: 1. Követelmények felmérése 2. Specifikáció 3. Vázlatos/finom tervek készítése 4. Implementáció 5. Integráció 6. Verifikáció/validáció (megfelel-e a specifikációnak/ezt kérte-e a user) 7. Rendszerkövetés/karbantartás Ezeket használják fel, vagy módosítják a következő szoftverfejlesztési modellek. 1.1 Vízesés modell Az egyes fázisok lineárisan követik egymást. Előre megtervezi a projekt időtartamát, ráfordításait. Elvárja minden fázis megfelelő dokumentálását, amely tartalmazza annak eredményeit. Jól strukturált dokumentált folyamatot biztosít. Nehézkes a megszervezése, tervezése és fájdalmas az új feature-ök bevezetése. Nem teszi lehetővé a követelmények megváltoztatását, nem készül fel az esetleges nehézségekre. Csak akkor szabad egy fázisról a következőre ugrani, ha az előző biztosan véget ért (reviewed & verified). Rövid élettartamú, előre jól specifikálható projekteknél lehet jó. 1
2 Figure 1: Vízesés modell 2
3 1.2 Boehm féle spirális modell A spirál minden hurka a gyártási folyamat egy fázisát jelképezi. Nincsenek fix hurkok, (pl.: specifikáció, vagy tervezés), azok az igényeknek megfelelően alakulnak ki. Minden ilyen fázisnak 4 szakasza van: (az ábrán lásd bal fentről kezdve) 1. A célok és korlátok meghatározása 2. Különböző megoldások elemzése, stratégiák kialakítása. Prototípus készítés 3. Az előző pont feladatának megoldása 4. A következő lépés megtervezése (nyilván az utolsónál ilyen nincs) A módszer jól dokumentálható, áttekinthető, a fázisok rugalmasak. Ellenben elég drága a sok kidolgozás és próbálgatás. A 3. pont kivételével nehezen párhuzamosítható. a fejlesztés ciklusokban történik, amelyben az elkészített prototípusok, valamint a továbbfejlesztésével kapcsolatos kockázatok kiértékelésre kerülnek előnyei: jobban alkalmazkodik a változó követelményekhez a prototípusok lehetővé teszik a nehézségek előrelátását hátrányai: költségesebb a prototípus elkészítése és a kockázatkiértékelés végett továbbá a prototípusok megzavarhatják a felhasználót 1.3 Evolúciós modell Akkor jó, ha nincs pontos specifikáció Először a prototípust készítjük el, majd a megrendelővel folyamatosan egyeztetve jutunk el a végleges megoldásig Hátránya, hogy gyenge a dokumentáció, áttekinthetetlen egy idő után és nehezen módosítható. 1.4 RUP (Rational Unified Process) Az UML alkotóitól egy iteratív, inkrementális módszer. 4 fázisa van, mindegyik állhat több iterációból, ezeken belül munkafolyamatokból: modellezés, követelményelemzés, tervezés, implementáció, tesztelés, telepítés, konfigurálás, változáskezelés, projektvezetés, stb Fázisai: 1. Előkészítés: Architektúra, költségbecslés. (Use case és activity diagramokkal) 2. Kidolgozás: Minimális kódolással az 1.) véglegesítése, innen már csak építeni kell. 3. Megvalósítás: Ez a fejlesztési fázis, egészen a tesztelésig 3
4 Figure 2: Spirális modell 4
5 4. Átadás: Kb készen van, még tesztelendő, újrakiadható állapot javításokkal Figure 3: RUP 1.5 Extreme Programming (XP) Lightweight fejlesztés, kis csapatokkal, határozatlan, változékony körülményekre. Alapelvei, hogy mindig a legegyszerűbb megoldást válasszuk, azokat csináljuk meg először, van idő próbálkozni. Ha egy megoldás rossz, el kell dobni! Kis csapatokban, folyamatosan tanulva, pair-programming alkalmazásával a lehető legmagasabb minőséget biztosítva kell dolgozni Fázisai: 1. Feltárás: Az architektúra kitalálása (pár hét) 2. Tervezés: Az első kiadás határidejének megállapítása (pár nap) 3. Iterációk: 1-4 hetes, 2-6 hónapos kiadások, itt történik a fejlesztés nagy része. 4. Fejlesztés, karbantartás, befejezés: Konfiguráció, bővítés, módosítás és átadás 5
6 Figure 4: XP Figure 5: XP 6
7 1.6 Végrehajtható UML (xuml) Ebben az esetben csak egy platformfüggetlen modell van, csak a feladatra koncentrálunk. Ebből pedig kódgenerálással előáll a platformfüggő termék. Ezt az UML megszorításával (és kiterjesztésével) valamint az Action Specification Language-dzsel érjük el. Menete: Meghatározzuk a alrendszereket (use case és szekvencia diagramokkal) Létrehozzuk a modellt (osztálydiagramok és állapotdiagramok) Ellenőrizzük őket Modellfordítást végzünk (kódgenerálás) A komponensekből összeállítjuk a terméket 2. Architekturális minták és hatásuk a rendszer minőségi jellemzőire A rendszer kívülről látható részeit mutatja meg, a belső implementációt NEM. Az elemek által nyújtott szolgáltatások, kommunikáció, hibakezelés, erőforrás használat tartozik ide. A kezdeti döntések kihatnak a következő tulajdonságokra: Rendelkezésre állás Megbízhatóság Teljesítmény Biztonság Tesztelhetőség Használhatóság Csövek és szűrők: Adatfolyam feldolgozása a komponensek (szűrők) között. A komponensek bemenettel és kimenettel rendelkeznek és valamilyen transzformációt hajtanak végre az adatokon. Az adatokat pedig a csövek szállítják. Van passzív és aktív szűrő. Az aktív szűrő tud igényelni és küldeni is. Két aktív szűrő között a kommunikációt az egyik szűrő vagy a cső szinkronizálja. Ha a szűrők lineárisak, akkor csővezetékről beszélünk. Objektumelvű rendszer: A komponensek objektumok, közöttük eljáráshívással történik a kommunikáció. A belső reprezentációjuk rejtett. A kommunikációhoz kapcsolat kell, és ha az egyik publikus része változik, akkor valószínűleg a használóját is módosítani kell. Eseményalapú rendszer: A komponensek nem tudják, hogy más milyen eseményeket bocsát ki, mire iratkozik fel és milyen sorrendben szolgálódik ki. Sőt, nem tudni, hogy ki-mit csinál és meddig. 7
8 Réteg szerkezetű rendszer: Minden réteg az alatta lévő szolgáltatásait használja, vele kommunikál. A módosítások max 1-2 réteget érintenek, tesztelés esetén lehet szimulálni a rétegeket. Gyűjtemény: Komponens adattár, komponensek veszik körbe és tárolja őket. Ha végre is hajt műveleteket, akkor táblának, ha nem, akkor adatbázisnak nevezzük. Így a komponensek függetlenek is lehetnek egymástól, jól módosítható. Virtuális gép, értelmező: A bemenő adatokat értelmezi, feldolgozza, majd a feldolgozó interfészen ki is adja az eredményt. Modell-Nézet-Vezérlő: A rétegek elkülönülnek. A modell az adatokért és a rajtuk végzett műveletekért felel. A nézet a megjelenítésért, míg a vezérlő a felhasználói utasítások kezeléséért felel. A rendszer sajnos könnyen bonyolulttá válhat. Továbbiak: szerver-kliens, modell-nézet, gyakran használt módszerek : állapotgép-rendszer, felügyelő (supervisor), monád ( számítás-építő ) 3. Tervezési minták (GoF, valamint 3 további létrehozási minta) A Gang of Four (GoF) a Design Patterns: Elements of Reusable Object- Oriented Software könyv négy szerzője Az objektumelvű rendszer tervezésekor építünk ezekre az újrafelhasználható stratégiákra. 23 tervezési mintát írtak le amelyek 3 osztályba sorolhatóak: létrehozási, szerkezeti és viselkedési Létrehozási Egyke (Singleton): Az osztályból csak 1 példány létezhet globálisan. A változóban tárolás nem jó ötlet. Helyette tegyük a konstruktort protecteddé és egy publikus metóduson keresztül lehessen ezt meghívni, ahol a konstruálás biztonságos. Ha nem létezik még az objektum, akkor hozza létre, ha létezik, akkor azt adja vissza. Építő (Builder): Összetett objektumok konstruálásának szétválasztása. A konstrukciós folyamat eltérő reprezentációt hozhat létre. (konstrukció leválasztása a repr.-ről) Gyártó művelet (Factory Method): Az objektum létrehozási felületét úgy határozzuk meg, hogy alosztályok döntsék el, mely osztályba tartozzon az objektum. Absztrakt gyártó (Abstract Factory): Felület összetartozó objektumok családjának létrehozására (az interfész adja a család jelleget, mert egymás mellé kerülnek a létrehozóműveletek, a konkrét esetben pedig alákerül az implementáció). Gyártóműveletek gyártójaként is felfogható. 8
9 Prototípus (Prototype): Új objektum létrehozása egy ilyen prototípus másolásával (clone metódus hívása). Cachelésre használható például. Szerkezeti Összetétel (Compositer): Fa struktúra, egyedileg és egészben is kezelhetőek a résztvevő elemek, mind ugyanazzal a felülettel rendelkezik. Híd (Bridge): Szétválasztja az absztrakciót az implementációtól, így azok egymástól függetlenül fejleszthetőek. Futási időben lesz összekötve az absztrakt az implementációval. Díszítő (Wrapper): Származtatás nélkül egészíti ki az objektum műveleteit. Ehhez az objektumot be kell ágyazni egy másikba. Arculat (Facade): Bonyolult alrendszerek közös felülete. Könnyűsúlyú (Flyweight): Megosztás nagy számú objektum között, mert a sok objektum sok memóriát foglalhat. Ilyenkor érdemes a közös részeket egy másik osztályba kiszervezni. Helyettes (Proxy): Hozzáférhetőség szabályozása. Amíg nem akarjuk használni az objektumot, addig ne inicializálódjon. Viselkedési Figyelő (Observer): Ha egy objektum állapotot vált, akkor a rá feliratkozottakat értesíti. A tárgy ismeri a figyelőket, fel/le tudnak iratkozni, a figyelő pedig le tudja kérdezni a figyelt tárgy állapotát. Iterátor (Cursor): Egy aggregátum végigjárása a szerkezet ismerete nélkül. Ezen kívül a listát akár több módon (visszafelé, kettőt lépve, párhuzamosan) is be lehet járni. Állapot (State): Állapottól függően más viselkedés (kicsit mintha osztályt váltana futás közben). Van egy context ami tartalmazza a state-et. A state egy State interfészt megvalósító osztály egy példánya. A context-ből hívhatjuk a state valamely metódusát aminek paramétere a context maga, ami pedig beállíthat a context-nek egy új állapotot (state új implementációját). Ha változott a state, akkor legközelebb már State interfész egy másik implementációja fog lefutni. Közvetítő (Mediator): Olyan objektum megadása, ami megmondja más objektumok, hogy működnek együtt. Nem szerencsés ha mindenki ismer mindenkit, vagy hosszú az öröklődési lánc. (az obj-ok csak a mediátort ismerik, egymást nem) Feljegyzés (Memento): Feljegyezzük egy objektum állapotát, hogy később visszanézhessük (pl UNDO művelethez). Csak az objektum láthatja. Kezelési lánc (Chain of responsibility): A kezelőket láncba fűzzük, majd valaki lekezeli az igényt. A default kezelő kerül a lánc legelejére. Stratégia (Strategy): Algoritmusok halmazának létrehozása, beágyazása, cserélhetősége. Van egy közös felületük, az ősosztály. 9
10 Látogató (Visitor): Egy szerkezeten végigjárunk és végrehajtunk egy műveletet. A műveletet a szerkezet különböző pontjain máshogy kell használni. Akkor jó, ha sok különböző új művelet van, de az osztályszerkezet stabil. Értelmező (Interpreter): Ha egy probléma sokszor fordul elő, érdemes egy nyelv mondataként leírni és egy értelmezőt írni hozzá. 3 További minta- Lusta példányosítás: Olyan, mint a proxy, csak itt addig nem hozhatja létre az új objektumot, amíg nem kap rá engedélyt. Lusta gyártó: Gyártó művelet + lusta példányosítás. Objektumkészlet: Ha valakiből sok kell, akkor nem érdemes folyton létrehozni, hanem néhány darabot tárolunk és azokat adogatjuk. 4. Konkurens minták Eseményalapú aszinkron hívás: Ha egy esemény sokáig tart, egy új szálban indítjuk el Ütemező: szálak sorbaállítása (pl szekvenciális kód kell egy adott helyen, nem futhatnak akárhogy a szálak) Aktív objektum: Minden művelet futtatás külön objektum. Párhuzamosítható, szinkronizálható. Blokkolás: Csak akkor engedünk egy szálnak végrehajtani egy műveletet, ha az objektum egy bizonyos állapotban van. (más esetben szimplán eldobjuk a műveletet) Író-olvasó zárás: Több olvasó lehet, de egyszerre csak egy író. (írás közben nincs más I/O!) Threadpool: Olyan, mint az objektumkészlet. Termelő-fogyasztó: Aszinkron, párhuzamos folyamatok. Feladatok generálása/végrehajtása. A termelő egy közbeiktatott raktárba helyezi az objektumokat, ahonnan a fogyasztó kiveheti. 5. Antiminták, újratervezési minták Antiminták Mindenható objektum: Túl sokat tud, egy idő után borzasztóan nehéz lesz a módosítás. Kör-ellipszis probléma: Mi az általánosabb? Mindig attól függ, milyen műveletek vannak. Felesleges rétegződés: Ha túl sok réteg van a rendszerben, érdemes összevonni néhányat. Jojó probléma: Túl hosszú az öröklődési lánc. Poltergeist objektum: Az osztály összes objektumának élete túl rövid (pl: paraméter átadás, üzenetküldés, stb) 10
11 Újratervezési minták Létrehozó metódus: Olyan, mint a singletonnál. Inkább legyenek olyan műveltek, amik visszaadnak egy objektumot. Műveletek kihelyezése: Egy bonyolult művelet egy részét kihelyezzük, ezzel több kisebb műveletre bontva, amelyek egyenként már könnyebben értelmezhetőek. NullObject: A nullreferencia sokszor gondot okozhat. Ilyenkor érdemes egy NullObject típust bevezetni. További források Előző éves kidolgozás 11
Programfejlesztési Modellek
Programfejlesztési Modellek Programfejlesztési fázisok: Követelmények leírása (megvalósíthatósági tanulmány, funkcionális specifikáció) Specifikáció elkészítése Tervezés (vázlatos és finom) Implementáció
A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom
A szoftver-folyamat Szoftver életciklus modellek Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 4. Roger S. Pressman: Software Engineering, 5th e. chapter 2. 2 A szoftver-folyamat Szoftver
S01-7 Komponens alapú szoftverfejlesztés 1
S01-7 Komponens alapú szoftverfejlesztés 1 1. A szoftverfejlesztési modell fogalma. 2. A komponens és komponens modell fogalma. 3. UML kompozíciós diagram fogalma. 4. A szoftverarchitektúrák fogalma, összetevői.
01. gyakorlat - Projektalapítás
2 Követelmények 01. gyakorlat - Projektalapítás Szoftvertechnológia gyakorlat OE-NIK A félév során egy nagyobb szoftverrendszer prototípusának elkészítése lesz a feladat Fejlesztési módszertan: RUP CASE-eszköz:
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Munkafolyamat (Workflow): azoknak a lépéseknek a sorozata,
S01-8 Komponens alapú szoftverfejlesztés 2
S01-8 Komponens alapú szoftverfejlesztés 2 Tartalom 1. Komponens megvalósítása: kölcsönhatás modell, viselkedési vagy algoritmikus modell és strukturális modell. 2. Komponens megtestesítés: finomítás és
A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom
A szoftver-folyamat Szoftver életciklus modellek Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 4. Roger S. Pressman: Software Engineering, 5th e. chapter 2. 2 A szoftver-technológia aspektusai
Szoftver újrafelhasználás
Szoftver újrafelhasználás Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
Kölcsönhatás diagramok
Kölcsönhatás diagramok Célkitűzés Olvasni tudják az alap UML kölcsönhatás diagramok (kommunikáció és szekvencia) diagramok jelöléseit. 2 Bevezetés Miért léteznek az objektumok? Azért, hogy a rendszer valamilyen
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve
Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve Kérdő Attila, ügyvezető, INSERO Kft. EOQ MNB, Informatikai Szakosztály, HTE, ISACA 2012. május 17. Módszertanok
Név: Neptun kód: Pontszám:
Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,
V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus
V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus 1 Az előadás tartalma A GI helye az informatikában Az előadás tartalmának magyarázata A
Szoftvertechnológia ellenőrző kérdések 2005
Szoftvertechnológia ellenőrző kérdések 2005 Mi a szoftver, milyen részekből áll és milyen típusait különböztetjük meg? Mik a szoftverfejlesztés általános lépései? Mik a szoftvergyártás általános modelljei?
Információs rendszerek Információsrendszer-fejlesztés
Információs rendszerek Információsrendszer-fejlesztés A rendszerfejlesztés életciklusa problémadefiniálás helyzetfeltárás megvalósítási tanulmány döntés a fejlesztésrıl ELEMZÉS IMPLEMENTÁCIÓ programtervezés
Bevezetés a programozásba
Bevezetés a programozásba A szoftverfejlesztés folyamata PPKE-ITK Tartalom A rendszer és a szoftver fogalma A szoftver, mint termék és készítésének jellegzetességei A szoftverkészítés fázisai: Az igények
Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 12. előadás Szoftverfejlesztési módszerek és modellek Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A szoftver
Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert
Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája Készítette: Urbán Norbert Szoftver-minőség A szoftver egy termelő-folyamat végterméke, A minőség azt jelenti,
HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)
HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM) Célja: A követelményrögzítés (a szoftverfejlesztés els fázisaiban, pl. a követelménydefiníciós fázisban használatos). Funkcionális diagram: középpontban a rendszer
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
Tartalom 6. Unified Process & Rational Unified Process lmi a szoftverfejlesztési módszertan? lunified Process lrational Unified Process (RUP) la Rational XDE CASE eszköz lpélda BMF-NIK-SZTI Tick: Szoftver
Objektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
Már megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Ez vajon egy állapotgép-e? Munkafolyamat (Workflow):
Verifikáció és validáció Általános bevezető
Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának
Objektumorientált paradigma és a programfejlesztés
Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált
S0-02 Típusmodellek (Programozás elmélet)
S0-02 Típusmodellek (Programozás elmélet) Tartalom 1. Absztrakt adattípus 2. Adattípus specifikációja 3. Adattípus osztály 4. Paraméterátadás 5. Reprezentációs függvény 6. Öröklődés és polimorfizmus 7.
UML (Unified Modelling Language)
UML (Unified Modelling Language) UML (+ Object Constraint Language) Az objektum- modellezés egy szabványa (OMG) UML A 80-as, 90-es években egyre inkább terjedő objektum-orientált analízis és tervezés (OOA&D)
Objektum orientált software fejlesztés (Bevezetés)
Objektum orientált software fejlesztés (Bevezetés) Lajos Miskolci Egyetem Általános Informatikai Tanszék Út az objektum orientált szemléletig 1. Klasszikus módszerek: program = adatszerkezetek + algoritmusok
OOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár
Software Engineering Dr. Barabás László Ismétlés/Kitekintő Ismétlés Software Engineering = softwaretechnológia Projekt, fogalma és jellemzői, személyek és szerepkörök Modell, módszertan Kitekintés Elemzés/
Objektumorientált paradigma és programfejlesztés Bevezető
Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján
Interfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár
Software Engineering Dr. Barabás László Ismétlés/Kitekintő Software Engineering = softwaretechnológia Projekt, fogalma és jellemzői, Személyek és szerepkörök Kitekintő: Modell, módszertan 2 Dr. Barabás
Információtartalom vázlata
1. Az Ön cégétől árajánlatot kértek egy üzleti portál fejlesztésére, amelynek célja egy online áruház kialakítása. Az árajánlatkérés megválaszolásához munkaértekezletet tartanak, ahol Önnek egy vázlatos
TOGAF elemei a gyakorlatban
TOGAF elemei a gyakorlatban Vinczellér Gábor 2009.06.0406 04 8 éves szakmai tapasztalat Bemutatkozás IT Support, Programozó, jelenleg Projektvezető, Termékfejlesztési Üzletág Vezető Tanácsadási és Szoftverfejlesztési
Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma
Komponens alapú programozás Bevezetés
Komponens alapú programozás Bevezetés Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék Ez a tananyag felhasználja a TEMPUS S_JEP-12495-97 Network Computing Chapter 8 Developing of Network Computing
4. A szoftvergyártás folyamata
4. A szoftvergyártás folyamata Kérdések Mi a szoftvergyártás modellje? Mi a három alapvető modell és mikor használjuk ezeket? Mik a követelménytervezés, a szoftverfejlesztés, a tesztelés és az szoftver-evolúció
Metamodellezés. Simon Balázs BME IIT, 2011.
Metamodellezés Simon Balázs BME IIT, 2011. Bevezetés Metamodellezés EMF & ecore Tartalom (C) Simon Balázs, BME IIT, 2011. 2 Hétfő: Simon Balázs Bevezetés hetente felváltva: előadás és gyakorlat metamodellezés
1. SW fejl. modellek. V-modell: Vízesés módosítása, az egyes fázisokat előbb ellenőrzik visszacsatolás nagysága és hatása csökken.
1. SW fejl. modellek Vízesés modell: Fázisok egymás után, egy módosítás minden rá következőt érint. Gond: Munka szervezés nehéz (párhuzamos, ellenőrzési pontok), új szolgáltatás bevezetésénél minden pontot
Programozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
és az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
Java programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK
Modellinformációk szabványos cseréje Papp Ágnes, agi@delfin.unideb.hu Debreceni Egyetem EFK Tartalom MOF, UML, XMI Az UML és az XML séma MDA - Model Driven Architecture Networkshop 2004 2 Az OMG metamodell
UML Feladatok. UML Feladatok
UML Feladatok 2008.01.08 4. Feladat Az alábbi ábrán három UML2 modell elemet megjelöltünk. Adja meg elemenként, hogy az melyik UML2 meta-modell elem példánya! 2008.01.15 4. Feladat Jelölje meg, hogy a
Magas szintű adatmodellek Egyed/kapcsolat modell I.
Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés
Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.
Architektúrák dokumentálása UML-lel Irodalom L. Bass, P. Clements, R. Kazman: Software Architecture in Practice, Addison-Wesley, 2003 H. Störrle: UML 2, Panem, 2007 2 Szoftver architektúra (emlékeztet!)
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
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 jelentése: gyors, fürge 1990-es évek vége Változás igénye Módszertan-család
Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 5. előadás Objektumorientált programozás és tervezés 2014.03.10. Giachetta Roberto groberto@inf.elte.hu
Előzmények 2011.10.23.
Előzmények Dr. Mileff Péter A 80-as évek közepétől a szoftverek komplexitása egyre növekszik. Megjelentek az OO nyelvek. Az OO fejlesztési módszerek a rendszer különböző nézőpontú modelljeit készítik el.
Osztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
Osztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
Modell alapú tesztelés mobil környezetben
Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed
Folyamatok. 6. előadás
Folyamatok 6. előadás Folyamatok Folyamat kezelése, ütemezése folyamattábla új folyamat létrehozása átkpcsolás folyamatok elválasztása egymástól átlátszó Szál szálkezelő rendszer szálak védése egymástól
Iman 3.0 szoftverdokumentáció
Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3
SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.
Service-Oriented Architecture, SOA Az elosztott rendszerek fejlesztésének módja. Célja:az IT eszközök komplexitásának a kezelésének egyszerűsítése könnyebben újrafelhasználhatóság, egymással integrálhatóság
Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman
Szakterületi modell A fogalmak megjelenítése 9. fejezet Applying UML and Patterns Craig Larman 1 Néhány megjegyzés a diagramokhoz Ez a tárgy a rendszer elemzésről és modellezésről szól. Noha például egy
Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.
KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,
Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra
Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
Függőség injekció Konstantinusz Kft 2010
Függőség injekció Konstantinusz Kft 2010 1 Tartalomjegyzék 1 Tartalomjegyzék 2 2 Bevezetés 3 3 Függőségek formái 4 4 Függőség kezelés problémái 8 5 Megvalósítás 9 2/16 2 Bevezetés Egy objektum modellben
Programozás III. - NGB_IN001_3
Programozás III. - az objektumorientált programozásba Varjasi Norbert Széchenyi István Egyetem Informatika Tanszék Programozás III. - 1. el adás institution-log Tartalom 1 El adások és gyakorlatok Zárthelyi
Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése 2011.10.23.
Szoftverprototípus készítése Dr. Mileff Péter A prototípus fogalma: a szoftverrendszer kezdeti verziója Mi a célja? Arra használják, hogy bemutassák a koncepciókat, kipróbálják a tervezési opciókat, jobban
Minőségmenedzsment és Informatika Test-Driven Development
Minőségmenedzsment és Informatika Test-Driven Development Varga Balázs G5S8 2008.10.27 Szoftverfejlesztés jellemzői Megrendelői igények Tervezés Implementálás Tesztelés Dokumentálás
Összefoglalás. Készítette: Siklósi Zsolt info2007
Szoftvertechnikák Tervezési minták Összefoglalás Készítette: Siklósi Zsolt info2007 Bevezetés Definíció: A tervezési minta leír egy gyakran előforduló problémát, annak környezetét és a megoldás magját,
Utolsó módosítás:
Utolsó módosítás: 2011. 09. 08. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 10 11 12 13 14 Erősen buzzword-fertőzött terület, manapság mindent szeretnek
A SZOFTVERTECHNOLÓGIA ALAPJAI
A SZOFTVERTECHNOLÓGIA ALAPJAI Objektumorientált tervezés 8.előadás PPKE-ITK Tartalom 8.1 Objektumok és objektumosztályok 8.2 Objektumorientált tervezési folyamat 8.2.1 Rendszerkörnyezet, használati esetek
Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás
Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás Objektum orientáltság alapjai Objektum: A való világ egy elemének ábrázolása, amely minden esetben rendelkezik: Állapottal,Viselkedéssel,Identitással
Verziókövető rendszerek használata a szoftverfejlesztésben
Verziókövető rendszerek használata a szoftverfejlesztésben Dezső Balázs Szakszeminárium vezető: Molnár Bálint Budapesti Corvinus Egyetem Budapest, 2009. június 24. 1 Bevezetés 2 Verziókövetőrendszerek
Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor
Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor A szotverarchitektúra fogalma A szoftverarchitektúra nagyon fiatal diszciplína. A fogalma még nem teljesen kiforrott. Néhány definíció: A szoftverarchitektúra
C++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban
Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban Nagy Attila Mátyás 2016.12.07. Áttekintés Bevezetés Megközelítés Pilot tanulmányok
Szoftverfejlesztő képzés tematika oktatott modulok
Szoftverfejlesztő képzés tematika oktatott modulok 1148-06 - Szoftverfejlesztés Megtervezi és megvalósítja az adatbázisokat Kódolja az adattárolási réteget egy adatbáziskezelő nyelv használatával Programozás
Bánsághi Anna anna.bansaghi@mamikon.net. 1 of 67
SZOFTVERTECHNOLÓGIA Bánsághi Anna anna.bansaghi@mamikon.net 5. ELŐADÁS - RENDSZERTERVEZÉS 1 1 of 67 TEMATIKA I. SZOFTVERTECHNOLÓGIA ALTERÜLETEI II. KÖVETELMÉNY MENEDZSMENT III. RENDSZERMODELLEK IV. RENDSZERARCHITEKTÚRÁK
Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész
3. előadás Protokollok Kommunikáció 2. rész RPC (Remote Procedure Call) távoli eljáráshívás RMI (Remote Method Invocation) távoli metódushívás MOM (Message-Oriented Middleware) üzenetorientált köztesréteg
A dokumentáció felépítése
A dokumentáció felépítése Készítette: Keszthelyi Zsolt, 2010. szeptember A szoftver dokumentációját az itt megadott szakaszok szerint kell elkészíteni. A szoftvert az Egységesített Eljárás (Unified Process)
Programozási technológia 2.
Programozási technológia 2. Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Információk Képzés Programtervező Informatikus BSc, nappali tagozat, C szakirány Tárgykód: IP-17cPROGT2EG Előfeltétel (erős):
Programozási nyelvek II. JAVA
Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek
Projectvezetők képességei
Projectvezetők képességei MOI modell Motivation ösztönzés Organisation szervezés Ideas or Innovation ötletek vagy újítás Más felosztás Probléma megoldás Vezetői öntudat Teljesítmény Befolyás, team képzés
Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia
UML tervező JAVA fejlesztő és Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 UML tervező JAVA fejlesztő és 2 UML tervező JAVA fejlesztő és 2 technológiai áttekintése UML tervező JAVA fejlesztő
Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom
Szoftver újrafelhasználás (Software reuse) Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 18. Roger S. Pressman: Software Engineering, 5th e. chapter 27. 2 Szoftver újrafelhasználás Szoftver
Objektumorientált felbontás
Objektumorientált felbontás Dr. Mileff Péter Az OO architekturális modell jellemzői: a rendszert lazán kapcsolódó, jól definiált interfészekkel rendelkező objektumok halmazára tagolja. Az objektumok a
Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése
Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése 1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Természetes nyelv feldolgozás 2 Tudásalapú információ-kereső rendszerek
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Munkafolyamat (Workflow): azoknak a lépéseknek a sorozata,
OO rendszerek jellemzői
OO rendszerek jellemzői Problémák forrása lehet teszteléskor: Problémák feldarabolása. Adatrejtés. Az OO rendszerek nagyszámú, egymással aktívan kapcsolatban levő, együttműködő komponensekből állnak. A
30 MB INFORMATIKAI PROJEKTELLENŐR
INFORMATIKAI PROJEKTELLENŐR 30 MB DOMBORA SÁNDOR BEVEZETÉS (INFORMATIKA, INFORMATIAKI FÜGGŐSÉG, INFORMATIKAI PROJEKTEK, MÉRNÖKI ÉS INFORMATIKAI FELADATOK TALÁKOZÁSA, TECHNOLÓGIÁK) 2016. 09. 17. MMK- Informatikai
Tervezés és elemzés elmélete jegyzet 1
Tervezés és elemzés elmélete jegyzet 1 Szoftverfejlesztési modellek: Vízesés modell: Az egyes fázisok egymást követik: Probléma, Követelmények leírása, Szoftverrendszer vázlatos terve, Szoftverrendszer
A Java EE 5 plattform
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
A szoftverfejlesztés eszközei
A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Történet (hw) Lyukkártya válogató
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21
C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)
COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group
COMET webalkalmazás fejlesztés Tóth Ádám Jasmin Media Group Az előadás tartalmából Alapproblémák, fundamentális kérdések Az eseményvezérelt architektúra alapjai HTTP-streaming megoldások AJAX Polling COMET
NC program ellenorzo szimulátor fejlesztése objektumorientált módszerrel
Megjelent: Magyar Tudomány Napja, Doktoranduszok Fóruma, Miskolc, 1997. nov. 6, pp. 11-15 NC program ellenorzo szimulátor fejlesztése objektumorientált módszerrel Hornyák Olivér I. éves doktorjelölt Miskolci
Dr. Mileff Péter
Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé
Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E
Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Követelmény A beadandó dokumentációját a Keszthelyi Zsolt honlapján található pdf alapján kell elkészíteni http://people.inf.elte.hu/keszthelyi/alkalmazasok_fejlesztese
LabView Academy. 4. óra párhuzamos programozás
LabView Academy 4. óra párhuzamos programozás Ellenőrző kérdések Hogyan lehet letiltani az automatikus hibakezelés funkciót? a) Engedélyezzük az Execution highlighting ot b) A subvi error out cluster-jét
Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata: