Objektum Orientált Tervezés
|
|
- Emil Illés
- 8 évvel ezelőtt
- Látták:
Átírás
1 Objektum Orientált Tervezés Felhasznált szakirodalom Sike Sándor-Varga László: Szoftvertechnológia és UML Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai Wikipédia Hibákkal kapcsolatban illetve legújabb változatért írj a falu@nyf.hu-ra. Mindenkinek engedélyezett, hogy ezt a dokumentumot a kapott formában bármilyen médiumon terjessze, vagy baráti alapon másolatokat készítsen róla, biztosítva azt, hogy ez a copyright és engedélyező megjegyzés megmarad, és terjesztő lehetővé teszi a további terjesztést ezen megjegyzés értelmében. 1. Történet SIMULA 67 [60] (ALGOL jellegű, öröklődés, overloading, statikus és dinamikus kötés, szemétgyűjtés, korutin) Smalltalk [72;74;76;78;80; V](Simula 67+LISP, 1970-es évek, tiszta OO, GUI) Objective-C (Smalltalk jellegű, Macintosh), C with classes, C++ [80] (SIMULA 67, bonyolult, nincs szemétgyűjtés, index határ ellenőrzés) Eiffel [80](tiszta OO) Pascal [86] (Object Pascal, Turbo PAscal, Delphi) Java (Oak)[90](egyszerűsített C++, van sz.gy., i.h.e., platformfüggetlen, nagy osztály könyvtár, nem hatékony) Hibrid, ha csak támogatja az OO-t (objektum azonosság, osztályozás, bezártság, de nincs öröklődés, specializálás). 2. A szoftver minősége (h) (i) (j) Helyesség: a specifikációnak megfelel Hibatűrés: abnormális esetben is normálisan működik Karbantarthatóság, bővíthetőség Újrafelhasználhatóság Kompatibilitás (belső/külső) Felhasználóbarátság Hordozhatóság (hardver/szoftver) Hatékonyság (idő/hely) Ellenőrizhetőség Szabványosság 3. A szoftver fejlesztés lépései Feladatmegfogalmazása; Szemléleti szint Elemzés vagy analízis: a feladat felbontása részekre; Koncepcionális szint, csak a "MIT" az érdekes, a "HOGYAN0" nem Tervezés: a számítógépes megvalósítás körvonalazása (adatstruktúrák, nyelvek); Technikai szint Programozás: az ami a neve; Implementációs szint Gépi kód 4. Az Objektum Orientált Tervezés 70-től: Szoftverkrízis: a hagyományos módszer már alkalmatlan a jó szoftver fejlesztésére: paradigmaváltás (szemléletmód) Strukturált szemlélet: i. A teljes feladat egy absztrakt utasítás Időbeli sorrendiség alapján történik a részekrebontás i Felülről lefelé építkezik A szorosabban összetartozó adatelemek a folyamattól függetlenül csoportosíthatóak. v. Az adatcsoportok kezelése a programban szétszórva találhatóak. vi. Legkisebb modulja az eljárás, melynek adatai elvesznek. globális változókat kell általában használni Objektum orientált szemlélet: i. Objektumok üzenetei alkotják a programot Nincs igazi időbeliség i Lentről felfelé építkezik Az adatokhoz kapcsoljuk az őket kezelő programrészeket v. Legkisebb modulja az objektum
2 5. A valós világ modellezése Absztrakció: leegyszerűsítés, csak a lényeges dolgokat vesszük figyelembe Megkülönböztetés: eltérő tulajdonság kiemelése "azonos" dolgoknál Osztályozás: Kategorizálás Általánosítás: Több objektum leírásából kiemeljük a közös jellemzőket "mindegyik ugyanolyan lényegileg" (Osztály alkotás) Specializálás: Egy objektum leírásához egyedi jellemzőket adunk "olyan mint, de..." (Öröklés) Kapcsolatok felépítése, részekrebontás: "Ez valamihez tartozik"; "Ez valamiket tartalmaz" i. ismeretség: függetlenül is létezhetnek, legalább az egyik ismeri/használja a másikat egész-rész: a tartalmazó megszünése esetén megszűnik a tartalmazott is. Kompozíciónak nevezzük, ha nem vehető ki a rész. 6. Objektum orientált program jellemzői Objektum: Információt tárol és kérésre feladatot hajt végre. Az objektum felelős a feladatainak korrekt elvégzéséért. Adatok (attribútomok) és metódusok (operációk, műveletek, azaz függvények, eljárások) összessége. Az objektum állapota az adatok pillanatnyi értékei Objektumorientált program: Egymással kommunikáló objektumok összessége, melyben minden objektumnak megvan a jól meghatározott feladata. (A "mit" az érdekes, nem a "hogyan".) A program a vezérlő objektum megszólításával indul (általában rögtön várakozik a felhasználóra). Információ elrejtése: Az objektumokat CSAK üzeneteken keresztül kérhetjük meg a feladatok elvégzésére, csak ún. interfészen keresztül lehet kommunikálni vele. Az üzenet egy kívülről is elérhető metódus. i. Kliens, aktor, ügyfél, kérő: a feladatot végeztető "aktív" objektum pl. vezérlők. Nincs "export" felülete. i Szerver, kiszolgáló, végrehajtó: a feladatot elvégző "passzív" objektum pl. printer, konténer. Nincs "import" felülete Ágens, ügynök: kér és végrehajt. Láthatóság i. +public: Bárki bárhonnan -private: Osztályon kívül senki sem i protected: Csak bizonyos helyekről (csak öröklésen keresztül) (h) (i) (j) Az objektum inicializálása a kezdeti adatok megadása, kezdeti tervékenységek elvégzése. Általában ez konstruktor is egyben. Konstruktor: az objektum létrehozója, általában inicializál is. Destruktor: az objektum megszüntetője. Az objektum belseje sérthetetlen. Objektum típusok (k) (l) (m) (n) (o) (p) (q) (r) (s) (t) (u) i. Határobjektum: Interfész objektum i Konténer objektum: Objektumok kollekciója, s a kollekciót karbantartó metódusok. Riport objektum: bekér, feldolgoz, kiír Kontrol objektum: Vezérel, számol this, self paraméter: magát az objektumot jelenti Egybezárás: Az adatok és metódusok összezárása Kód újrafelhasználhatósága: Az osztályok. Polimorfizmus/többalakúság: Ugyanarra a kérelemre különböző objektumok különbözően reagálhatnak. Az üzenet küldőjének nem kell tudni a szerver osztályát. Az objektumokat osztályokba soroljuk (Osztályozás, valójában az osztályból jön létre az objektum.) Az osztály (típus) egy objektum minta, mely alapján példányokat (objektumokat) hozhatunk létre. Egy objektum csak egy osztályhoz tartozhat, s ismeri is az osztályát. Egy osztály örökölhet tulajdonságokat (változók) és viselkedésformákat (metódusok) egy másik osztálytól, ekkor csak az eltéréseket kell megadni. Öröklődés: Egy már meglévő osztály továbbfejlesztése. Az utódosztály az ősosztály (szuper )specializálása. Lehet több ős is. i. Új adatok i Új metódusok Régi metódusok átírása Osztályhierarchia: Az öröklődések diagramja. Késői kötés: csak később a futás alatt derül ki a hogy melyik operációt kell végrehajtani.(futás alatti kötés, vagy dinamikus kötés) Virtuális metódus: címét a program csak futáskor oldja fel. Ha egy metódus virtuális, akkor öröklés után is az kell, hogy maradjon. (v) Absztrakt metódus: Üres virtuális metódus, csak örökítési célt szolgál
3 (w) Absztrakt osztály: Absztrakt metódust tartalmazó osztály, nem példányosítjuk, csak örökítési célt szolgál (x) Osztálykönyvtár: Osztályok (komponensek) gyűjteménye Programfejlesztési modellek A program termékké vált (szolgáltatási funkció, minőség, előállítási költség, határidő), előállításához technológiára van szükség. Különleges termék. 1. A nagy méretű programrendszerek jellemzői Nagy bonyolultságú rendszer (nem lehet fejben egy embernek átlátni) Csapatmunkában készül Hosszú élettartamú (verziók, stb) 2. A nagy méretű programrendszerek esetén felmerülő feladatok, melyekért a projektmenedzser felelős A követelményeket előre pontosan írásban meg kell határozni A program kidolgozásának menetét meg kell határozni (mérföldkövek, határidők, feladatok) ( ) i. A projekt részfeladatainak meghatározása F 1 F 2 A részfeladatok megoldásiidejének megbecslése F 1 10 F 2 20 i A részfeladatok függőségeinek meghatározása Mérföldkövek (ellenőrzési pontok) kijelölése M M 2, Példa: Sike 20 Erőforrások meghatározása, beszerzése (szoftver, hardver, pénz, szakember) A fejlesztés menetét is dokumentálni kell Szervezni és irányítani kell a munkát, erőforrásokat Igazolni kell a program jóságát i. Verifikáció: A specifikáció szerinti helyesség bizonyítása Validáció: Az előírt minőségi tulajdonságok ellenőrzése (erőforrásigény, robosztusság, hatékonyság, bonyolultság, felhasználó barátság) Validation: "Are we building the right product?", i.e., does the product do what the user really requires? Verification: "Are we building the product right?", i.e., does the product conform to the specifications? A rendszer követésének, karbantartásának megszervezése/tervezése 3. Egyszerű programfejlesztési modell Megoldandó feladat Programozás Program az adott programozási nyelven Program gépi kódban Eredmény 4. Specifikációra épülő programfejlesztési modell Megoldandó feladat Követelmények megfogalmazása Informális leírás Specifikáció Formális leírás (absztrakt program) Implementáció Program az adott programozásinyelven
4 Program gépikódban Eredmény Az absztrakt szintaxis és szemantika szempontjából pontos megoldás korai fázisban Az absztrakt leírás formális elemezhetősége A konkrét leírás (program) helyességének bizonyíthatósága az absztrakt leírás szerint Magas matematikai ismeretek szükségesek a formális specifikációs módszerek alkalmazásánál A formális specifikáció alkalmazása nagyobb feladatoknál nehézkes és áttekinthetetlen A matematikai bizonyítás automatizálható, de a tételek megfogalmazása összetettebb esetekben már nehéz feladat. (Lsd. Floyd-Naur- Hoare féle parciális helyesség bizonyítás) 5. Nagy rendszerek általános fejlesztési modellje A formális specifikációs módszereket kisebb részfeladatoknál alkalmazzuk. A formális leírás helyébe a programrendszer tervének elkészítése lép. Megoldandó feladat Követelmények megfogalmazása Informális leírás Tervezés Program rendszerterve Implementáció Program az adott programozásinyelven Program gépikódban Eredmény A programkészítés hagyományos fázisai Követelmények leírása Specifikáció Tervezés (vázlatos, finom) Implementáció, integráció Verifikáció, validáció Rendszerkövetés, karbantartás Fázisok közötti kapcsolatok leírására szolgáló modellek: Vízesés modell Probléma Követelmények definíciója Szoftverrendszer vázlatos terve Szoftverrendszer finom terve Implementáció+egységek tesztjei Integráció+rendszer tesztje +karbantartás A gyakorlat szülte A project munkájának megszervezése nagyon nehézkes (Párhuzamos munka, ellenőrzési pontok) Új szolgáltatás utólagos bevezetése mindenütt módosítást okoz A validáció az egész megismétlését követelheti meg Evolúciós modell A megoldás iterációs folyamat eredménye, prototípusok sorozata. Előnye: Nem kell részletes specifikáció
5 Rövid idő alatt létrehozható rendszereknél eredményes A rendszer utólagos módosítása, bővítése nehézkes Nem tekinthető jól át a projekt A gyors fejlesztés a dokumentálás rovására megy Boehm-féle spirális modell (1988) A programok iterációval készülnek, ezek spirálba olvaszthatóak, egy "spirál-menet" egy iteráció, melynek 4 szakasza van: Cél: i. Célok, alternatívák, korlátozások i Korlátozás: Alternatívák kiértékelése, kockázatok elemzése PROTOTÍPUS(OK) A fázis termékének megvalósítása, validáció A következő fázis megtervezése az elemzés tárgya Alternatívák: Kockázatok: Kockázat kezelése: ami a megvalósításban határt szab a lehetőségnek a célokmegvalósításának különböző útjai az egyes alternatívák nagy valószínűséggel hibát okozó forrásai stratégia felállítása a kockázat hatásának a csökkentésére Jó dokumentáltság A projekt strukturáltsága, az iterációs fázisok szabadon megválaszthatóak A fázisbeli szakaszok szintén iterálhatóak A fejlesztést mindig validáció követi Újabb fázisok lehetségesek minden ciklusban Munkaigényes, bonyolult, költséges és nehezen oldható meg Nem gazdaságos a szakemberek foglalkoztatása, alig van párhuzamos munka
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ó
Objektum orientált programozás (Object Oriented Programming = OOP)
Objektum orientált programozás (Object Oriented Programming = OOP) Ajánlott irodalom: Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai Dr. Kondorosi Károly, Dr. László Zoltán, Dr.
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
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
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
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
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
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
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
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,
Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila
Programozás Objektum Orientált Programozás (OOP) Alapfogalmak Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 18.
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ő
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.
Objektumorientált paradigma
Objektumorientált paradigma Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Objektumorientált paradigma BEVEZETŐ FOGALMAK 2/77 Bevezetés - Fogalom
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.)
Objektum orientált programozás Bevezetés
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
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
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?
Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
OOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
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:
Programozás módszertan p.1/46
Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS
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
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
Adatstruktúrák, algoritmusok, objektumok
Adatstruktúrák, algoritmusok, objektumok 3. Az objektumorientált paradigma alapelemei Objektum Osztály Példányosítás A konstruktor és a destruktor Osztályok közötti kapcsolatok Miklós Árpád, BMF NIK, 2006
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"
OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.
OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata
Szoftver-technológia II. Modulok és OOP. Irodalom
Modulok és OOP Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 7. 2 Modulok és objektumok Modulok Lexikálisan folytonos utasítás sorozatok,
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é
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
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é
Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter
Dr. Mileff Péter 1 2 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é mutató időtengelyt képvisel.
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
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Bevezetés. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr. Szendrei Rudolf. Információk.
Programozási Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 3 2 a tárgyról Képzés: Programtervező Informatikus BSc nappali tagozat, C szakirány Tárgykód: IP-08cPROGT1 Előfeltétel: Programozás
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
Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
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:
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
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,
Programozási technológia
Programozási technológia Dinamikus modell Tevékenységdiagram, Együttműködési diagram, Felhasználói esetek diagramja Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Tevékenység diagram A tevékenység (vagy
Java programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. 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/20 Tartalomjegyzék
Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
Osztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
Java programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. 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/17 Tartalomjegyzék
Programozás alapjai Bevezetés
Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma
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):
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
Sike Sándor, Varga László Szoftvertechnológia és UML. Második, bővített kiadás
Sike Sándor, Varga László Szoftvertechnológia és UML Második, bővített kiadás Tartalomjegyzék 1. Bevezetés 9 2. A szoftvertechnológia kialakulása 13 2.1. Projektmenedzselés... 17 2.2. Egyszerű programfejlesztési
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
Bevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban
Komplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018
Komplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018 Objektumorientált tervezés és programozás 1. (4 kredit) 1. Osztály, objektum. Az osztály szerkezete. Az objektum
Adatstruktúrák, algoritmusok, objektumok
Adatstruktúrák, algoritmusok, objektumok 2. Az objektumorientált programozási paradigma 1 A szoftverkrízis Kihívások a szoftverfejlesztés módszereivel szemben 1. A szoftveres megoldások szerepe folyamatosan
Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
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
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.
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
Java és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
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/
MUNKAANYAG. Szabó Mária. Programozás - Objektumorientált. gyakorlatban. A követelménymodul megnevezése: Informatikai ismeretek
Szabó Mária Programozás - Objektumorientált programozás a gyakorlatban A követelménymodul megnevezése: Informatikai ismeretek A követelménymodul száma: 1155-06 A tartalomelem azonosító száma és célcsoportja:
Nagy bonyolultságú rendszerek fejlesztőeszközei
Nagy bonyolultságú rendszerek fejlesztőeszközei Balogh András balogh@optxware.com A cég A BME spin-off-ja A Hibatűrő Rendszerek Kutatócsoport tagjai alapították Tisztán magánkézben Szakmai háttér Hibatűrő
Programozási technológia 1.
ngleton Sin ELTE-IK + st: boo ol Programozási technológia 1. 2. gyakorlat: Programozási paradigmák, az objektumorientált tált programozás Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
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.
Programozási Technológia 1. 1. előadás bevezetés. Előadó: Lengyel Zsolt
Programozási Technológia 1. 1. előadás bevezetés Előadó: Lengyel Zsolt Tartalom Információk a tantárggyal kapcsolatban Programozási technológiai eszközök áttekintése UML tervezőeszközök JAVA fejlesztőeszközök,
Szoftverminőségbiztosítás
NGB_IN003_1 SZE 2014-15/2 (13) Szoftverminőségbiztosítás Szoftverminőség és formális módszerek Formális módszerek Formális módszer formalizált módszer(tan) Formális eljárások alkalmazása a fejlesztésben
é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
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat
Bevezetés a programozásba előadás: Alapvető programtervezési elvek
Bevezetés a programozásba 2 12. előadás: Alapvető programtervezési elvek Miről lesz szó A félév célja a nagyobb programrendszerek felépítésében való részvétel képességét megszerezni Mindenki a saját widgetkészletének
Miskolci Egyetem Általános Informatikai Tanszék
Software tesztelés Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés SWTESZT / 1 A tesztelés feladata Két alapvető cél rendszerben található hibák felderítése annak ellenőrzése, hogy a
A tesztelés feladata. Verifikáció
Software tesztelés Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés SWTESZT / 1 A tesztelés feladata Két alapvető cél rendszerben található hibák felderítése annak ellenőrzése, hogy a
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
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
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
JAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
Részletes szoftver tervek ellenőrzése
Részletes szoftver tervek ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/~majzik/ Tartalomjegyzék A részletes
Bevezetés a Programozásba II 1. előadás. Szoftverfejlesztés, programozási paradigmák
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 1. előadás, programozási paradigmák 2014.02.10. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
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
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 VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
Programtervezés. Dr. Iványi Péter
Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű
Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 5. gyakorlat 1 Objektumorientáltság Egységbezárás és információ elrejtése (absztrakt adattípus) Adatok és rajtuk végzett műveletek egységbezárása (osztályok írása, múlt hét) Öröklődés Polimorfizmus
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
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
Rekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010
Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása
2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
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
Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:
Software engineering (Software techológia) Bevezetés, alapfogalmak Utolsó módosítás: 2006. 02. 16. SWENGBEV / 1 Történelem 1. 60-as évek Megoldandó problémák: egyedi problémákra kis programok Fejlesztő:
Bevezetés, a C++ osztályok. Pere László
Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK
Webes alkalmazások fejlesztése
Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni
Komponens alapú fejlesztés
Komponens alapú fejleszté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
Objektum orientált programozás (Object Oriented Programming = OOP)
Objektum orientált programozás (Object Oriented Programming = OOP) Ajánlott irodalom: Angster Erzsébet: Az objektumorientált tervezés és programozás alapjai Dr. Kondorosi Károly, Dr. László Zoltán, Dr.
... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat
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
III. OOP (objektumok, osztályok)
III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit
Azonnali fizetési rendszer megvalósítása
Azonnali fizetési rendszer megvalósítása 2017. 05. 24. Keretek, alapvetések, megoldandók (minden projekt résztvevőnek) 24/7/365-ös működés (folyamatos működés a karbantartások, upgrade-ek alatt is). Tranzakciók
OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.
OOP #6 (VMT és DMT) v1.0 2003.03.07. 19:33:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_06-1 - E jegyzet másolata