Szoftver-technológia II. Modulok és OOP. Irodalom

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Szoftver-technológia II. Modulok és OOP. Irodalom"

Átírás

1 Modulok és OOP Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 7. 2

2 Modulok és objektumok Modulok Lexikálisan folytonos utasítás sorozatok, határoló elemekkel és saját azonosítóval ez egy tág definíció 3 Tervezési példa Melyik megoldás jobb? Miért? 4

3 A kívánatos struktúra Modulok maximális bels! kapcsolatok maximális interakció a modulon belül minimális küls! kapcsolatok minimális küls! interakció a modulok között Modul kohézió bels! interakció foka Modul csatolás modulok közötti interakció foka 5 Kohézió Modulon belüli interakciók foka, jellege 7 kategória: Információs Funkcionális Kommunikációs Procedurális Id!beli Logikai Esetleges 6

4 Esetleges kohézió Többféle, egymástól teljesen független tevékenységek egy modulba szervezve általában a modulméretre vonatkozó el!írások szüleménye pl.: print_next_line, reverse_string_of_characters_comprising_second_parameter, add_7_to_fifth_parameter, convert_fourth_parameter_to_floating_point 7 Esetleges kohézió (folyt.) Jellemz!k: nehéz karbantartani nem újra felhasználható 8

5 Logikai kohézió Logikailag (formálisan) hasonló tevékenységek, hívó modul választja ki, hogy pontosan melyik kerüljön végrehajtásara pl.: function_code = 7; new_operation (op code, dummy_1, dummy_2, dummy_3); // dummy_1, dummy_2, and dummy_3 are dummy variables, // not used if function code is equal to 7 9 Logikai kohézió (folyt.) Jellemz!k: interfészt nehéz megérteni több különböz! tevékenység kódja összefügghet nehéz az újra felhasználás 10

6 Id!beli kohézió Id!ben összefügg! tevékenységek sorozata egy modulban pl.: open_old_master_file, new_master_file, transaction_file, and print_file; initialize_sales_district_table, read_first_transaction_record, read_first_old_master_record (a.k.a. perform_initialization) 11 Id!beli kohézió (folyt.) Jellemz!k: tevékenységek egymással kevéssé függnek össze er!s kapcsolatok más modulok tevékenységeivel nem újra felhasználható 12

7 Procedurális kohézió Olyan tevékenységek végrehajtása, melyek a szoftvertermék használatához kapcsolódó eljárásokkal vannak összhangban pl.: read_part_number_and_update_repair_record_on_master_file 13 Procedurális kohézió (folyt.) Jellemz!: egyáltalán nem újra felhasználható 14

8 Kommunikációs kohézió A szoftvertermék használatához kapcsolódó tevékenységek, melyeket ugyanazokon az adatokon kell elvégezni pl.: update_record_in_database_and_write_it_to_audit_trail Jellemz!: nem újra felhasználható 15 Funkcionális kohézió A modul pontosan egy adott funkciót megvalósító tevékenységet végez pl.: write_to_floppy_disk 16

9 Funkcionális kohézió (folyt.) Jellemz!k: jobban újra felhasználható javító karbantartás egyszer"bb könnyebb hibalokalizálás kevesebb regressziós hiba könnyebb a termék b!vítése 17 Információs kohézió külön (saját) belépési pontú, független kódú m"veletek, azonos adatszerkezeteken végrehajtva pl.: 18

10 Csatolás Két modul közötti interakció foka, jellege 5 kategória: adat csatolás adatszerkezet csatolás vezérlési csatolás közös terület csatolás tartalom csatolás 19 Tartalom csatolás Az egyik modul a másik modul tartalmát közvetlenül (nem néven keresztül) eléri (adatok, vezérlés) Problémák a hivatkozott modul megváltoztatása a hivatkozó megváltoztatásával jár a két modul csak együtt újra felhasználható 20

11 Közös terület csatolás Csatolás globális adatterületen (globális változókon) keresztül pl.: 21 Közös terület csatolás (folyt.) olvashatatlan kód pl.: mellékhatások globálisok változtatása egy modulhoz a többi modul változtatásával jár nehéz újra felhasználás 22

12 Közös terület csatolás (folyt.) rejtett csatolás csatolási fok n!, pedig a modul nem változott (újabb modulok megjelenése a rendszerben) nehéz karbantartás, regressziós hibák pl. Linux kernel kód méret lineárisan n!tt a verziószámmal, összcsatolás exponenciálisan 23 Vezérlés csatolás Az egyik modul megváltoztatja a másik vezérlési folyamát vezérlési döntésekben szerepl! adatok átadása Nem független modulok ismerni kell a másik modul vezérlését 24

13 Adatszerkezet csatolás Összetett adatszerkezetek átadása, de csak részekre van szükség pl.: satellite_altitude kell, de satellite_coordinates_rec megy 25 Adatszerkezet csatolás (folyt.) Problémák melyik mez!k érdekesek, változnak? nehéz újra felhasználás adat hozzáférési, biztonsági kérdések 26

14 Adat csatolás Modulok között átadott adatok egységes, homogén adatelemeket jelentenek egyszer" adatok teljesen felhasznált összetett adatok Egyszer" karbantarthatóság, újra felhasználás 27 A megfelel! struktúra kialakítása Cél Nagyfokú kohézió Alacsony csatolás Tervezési elvek (absztrakciók) adat egységbezárás, betokozás információ elrejtés 28

15 Adat egységbezárás Nem alacsonyszint" adatszerkezetek és rajtuk elvégzend! m"veletek, hanem koncepcionális elemek m"veletek, funkciók valamint adatszerkezet koncepcionális függetlenség összes lényeges elem a modulban 29 Hagyományos (struktúrált) megközelítés problémái Hagyományos megközelítés adat absztrakció eljárás absztrakció egyik dominál a másikkal szemben 30

16 Adat egységbezárás OO nyelvekben 31 Információ elrejtés T.k. módosíthatósági architektúrális taktika Implementációs részletek elrejtése Közös terület csatolás csökkentése 32

17 Információ elrejtés OO nyelvekben 33 Absztrakt adattípusok adatokat reprezentáló adatszerkezetek + példányaikon elvégezhet! m"veletek adat absztrakció eljárás absztrakció könnyen b!víthet!k új m"veletekkel jól újra felhasználhatók 34

18 Szervezési koncepciók Modulok Modulok magas kohézióval, alacsony csatolással Adat egységbezárás Absztrakt adattípusok Információ elrejtés Objektumok 35 Objektumok Objektum absztrakt adattípus példánya információs kohéziós modul adatok (attribútum, adattag) m"velet (metódus, tagfüggvény) örökl!dés 36

19 Örökl!dés Új típusok hozhatók létre a korábban definiáltakból pl.: 37 Örökl!dés OO nyelvekben 38

20 Osztályok közötti kapcsolatok Generalizálás <-> Specializálás Asszociáció Aggregáció Kompozíció 39 Több-alakúság Klasszikus paradigma típusnak megfelel! függvény hívása pl.: 40

21 Több-alakúság (folyt.) OOP paradigma Eltér! megvalósítás az alosztályokban Automatikus kiválasztás Kés!i (futási idej") kötés 41 Több-alakúság OOP paradigma (folyt.) 42

22 Több-alakúság (folyt.) Polimorfizmus és kés!i kötés nehezen követhet! kód fordításkor nem derülnek ki hibák speciális tesztelés kell 43 Az OO paradigma Sikeres egyenl! súly az adatoknak és m"veleteknek jól tervezett osztályokkal modellezhet! az összes lényeges szempont az implementációs részletek rejtve maradhatnak alkalmas nagyméret" projektekhez lépésenkénti finomítás jó újra felhasználhatóság 44

23 Az OO paradigma (folyt.) Implementációs különbség a két paradigmában Eljárás 1 Eljárás 2 Üzenet M!velet 1 M!velet 2 Üzenet Adat szerkezet Attrib. M!velet 3 Eljárás 3 Üzenet Klasszikus OOP 45 Az OO paradigma (folyt.) El!nyök elemzési és tervezési fázis szorosabb kapcsolata objektumok (osztályok) az életciklus elején megjelennek könnyebb átmenet a fejlesztési fázisok között iterációs lehet!ség 46

24 Az OO paradigma (folyt.) Problémák törékeny bázis osztály bázis osztály változatása hatással van a leszármaztatottakra gondos el!zetes tervezés igénye öröklési lánc alján komplex osztályok nincs garancia jó kód írására nehezebb tanulási folyamat 47 OO programozási nyelvek 1960-as évek: Simula Osloi Számító Központ 1970-es évek: Smalltalk Xerox PARC 1980-as évek: C++ AT&T, B. Stroustrup Objective-C, Brad Cox 1995 Java Sun Microsystems 48

Komponens alapú fejlesztés

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

Részletesebben

Programozás III. - NGB_IN001_3

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

Részletesebben

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

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!)

Részletesebben

Objektumorientált paradigma és a programfejlesztés

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

Részletesebben

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Szoftver-mérés. Szoftver metrikák. Szoftver mérés Szoftver-mérés Szoftver metrikák Szoftver mérés Szoftver jellemz! megadása numerikus értékkel Technikák, termékek, folyamatok objektív összehasonlítása Mér! szoftverek, programok CASE eszközök Kevés szabványos

Részletesebben

Objektum orientált programozás Bevezetés

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

Részletesebben

OOP. Alapelvek Elek Tibor

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

Részletesebben

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

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

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

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

Részletesebben

Programfejlesztési Modellek

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ó

Részletesebben

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

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

Részletesebben

Szoftver újrafelhasználás

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

Részletesebben

Rendszer-modellezés, modellezési technikák

Rendszer-modellezés, modellezési technikák Rendszer-modellezés, modellezési technikák System engineering and modelling Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 8. Roger S. Pressman: Software Engineering, 5th e. chapter 10,

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály

Részletesebben

Objektumorientált paradigma és programfejlesztés Bevezető

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

Részletesebben

Szoftver architektúra, Architektúrális tervezés

Szoftver architektúra, Architektúrális tervezés Szoftver architektúra, Architektúrális tervezés Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 11. Roger S. Pressman: Software Engineering, 5th e. chapter 14. Bass, Clements, Kazman: Software

Részletesebben

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

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

Részletesebben

Objektum orientált software fejlesztés (Bevezetés)

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

Részletesebben

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II. Tervezési minták Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 8. E. Gamma, R. Helm, R. Johnson, J. Vlissides:Design patterns: Elements

Részletesebben

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. 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

Részletesebben

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? 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"

Részletesebben

Osztálytervezés és implementációs ajánlások

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

Részletesebben

Osztálytervezés és implementációs ajánlások

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

Részletesebben

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben

Részletesebben

Programozás módszertan p.1/46

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

Részletesebben

Programozási nyelvek Java

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:

Részletesebben

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila

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.

Részletesebben

Programozási alapismeretek 4.

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.)

Részletesebben

Már megismert fogalmak áttekintése

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

Részletesebben

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. 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:

Részletesebben

Java és web programozás

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:

Részletesebben

Rendszer-modellezés, modellezési technikák

Rendszer-modellezés, modellezési technikák Rendszer-modellezés, modellezési technikák System engineering and modelling Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 8. Roger S. Pressman: Software Engineering, 5th e. chapter 10,

Részletesebben

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

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

Részletesebben

Adatstruktúrák, algoritmusok, objektumok

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

Részletesebben

Szoftverminőségbiztosítás

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

Részletesebben

Szoftver-technológia I.

Szoftver-technológia I. Szoftver technológia I. Oktatók Sziray József B602 Heckenast Tamás B603 2 Tananyag Elektronikus segédletek www.sze.hu/~sziray/ www.sze.hu/~heckenas/okt/ (www.sze.hu/~orbang/) Nyomtatott könyv Ian Sommerville:

Részletesebben

Interfészek. PPT 2007/2008 tavasz.

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

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

Részletesebben

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből

Részletesebben

Java programozási nyelv

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

Részletesebben

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület

Részletesebben

Software Engineering Szoftver fejlesztés

Software Engineering Szoftver fejlesztés Software Engineering Szoftver fejlesztés Követelmény (kezelés, elemzés, specifikáció) Elemzés Tervezés (Architektúra) Engineering (Fejlesztés) System Engineering Business process engineering üzleti folyamatok

Részletesebben

A hierarchikus adatbázis struktúra jellemzői

A hierarchikus adatbázis struktúra jellemzői A hierarchikus adatbázis struktúra jellemzői Az első adatbázis-kezelő rendszerek a hierarchikus modellen alapultak. Ennek az volt a magyarázata, hogy az élet sok területén első közelítésben elég jól lehet

Részletesebben

ISA szimulátor objektum-orientált modell (C++)

ISA szimulátor objektum-orientált modell (C++) Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált

Részletesebben

Objektum Orientált Tervezés

Objektum Orientált Tervezés 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

Részletesebben

Eljárások és függvények

Eljárások és függvények Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012. Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

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:

Részletesebben

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

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

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Objektum orientált alapelvek

Objektum orientált alapelvek Krizsán Zoltán 1 [2012. február 12.] Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Programozási nyelvek A programozási eszközök absztrakciós

Részletesebben

Objektum orientált programozás (Object Oriented Programming = OOP)

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.

Részletesebben

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

Részletesebben

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus

Részletesebben

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,

Részletesebben

1. előadás Alapfogalmak Modellezés, a Bachman-féle fogalomrendszer, adatmodell,

1. előadás Alapfogalmak Modellezés, a Bachman-féle fogalomrendszer, adatmodell, 1. előadás, a Bachman-féle, adatmodell, Adatbázisrendszerek előadás 2008. szeptember 8. Az szemlélet és Debreceni Egyetem Informatikai Kar 1.1 A hagyományos adatkezelés problémái állománykezelés egyéni

Részletesebben

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék Programozás 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 11. Tantárgy célja, szükséges ismeretek Tantárgy célja,

Részletesebben

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázis rendszerek. dr. Siki Zoltán Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti

Részletesebben

Formális módszerek GM_IN003_1 Bevezetés

Formális módszerek GM_IN003_1 Bevezetés Formális módszerek GM_IN003_1 Formális módszerek Formális módszer! formalizált módszer(tan) Formális eljárások alkalmazása a fejlesztésben nincs olyan formális eljárás, ami egy komplex rendszer minden

Részletesebben

Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

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ő

Részletesebben

Adatszerkezetek 1. előadás

Adatszerkezetek 1. előadás Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk

Részletesebben

10. előadás. Alapfogalmak. Adatbázisrendszerek előadás november 28.

10. előadás. Alapfogalmak. Adatbázisrendszerek előadás november 28. 10. előadás Alapfogalmak Adatbázisrendszerek előadás 2016. november 28. OO, és Debreceni Egyetem Informatikai Kar Az előadások Elmasry & Navathe: Database Systems alapján készültek. 10.1 Hagyományos adatmodellek:

Részletesebben

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 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

Részletesebben

OO rendszerek jellemzői

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

Részletesebben

A szerzõrõl... xi Bevezetés... xiii

A szerzõrõl... xi Bevezetés... xiii TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Bánsághi Anna 2014 Bánsághi Anna 1 of 33 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Kogníció, koncepciók, modellek

Kogníció, koncepciók, modellek Kogníció, koncepciók, modellek A szoftver-technológia koncepcionális alapjai Irodalom Pléh Csaba: Bevezetés a megismeréstudományba, Typotex, 1998 Kognitív tudomány, Szerk.: Pléh Csaba, Osiris, 1996 M.

Részletesebben

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

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

Részletesebben

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

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

Részletesebben

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

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

Részletesebben

és az instanceof operátor

é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

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is

Részletesebben

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. 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

Részletesebben

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. 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

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/12 Tartalomjegyzék Miért

Részletesebben

Software Engineering

Software Engineering Software Engineering Software Engineering Software Engineering értelmezése Az a folyamat, mely eredményekénk létrehozunk egy adott feladatot megvalósító szoftver rendszert. Tevékenységek, technológia,

Részletesebben

1. Bevezetés A C++ nem objektumorientált újdonságai 3

1. Bevezetés A C++ nem objektumorientált újdonságai 3 Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.

Részletesebben

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció

Részletesebben

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

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

Részletesebben

Planning and Design of Information Systems. André Blokdijk, Paul Blokdijk ACADEMIC PRESS, 1987.

Planning and Design of Information Systems. André Blokdijk, Paul Blokdijk ACADEMIC PRESS, 1987. Planning and Design of Information Systems André Blokdijk, Paul Blokdijk ACADEMIC PRESS, 1987. 4.3 A tervezés határai Mi a tető, mi a lent, mi a centrum - tisztázni kell előre. A 4 modell milyen részlet

Részletesebben

Q = Átadandók Elvárások. Szoftver min ség és menedzsment -22. Tartalom. A szoftver min sége 2001 / Összefoglalás. Dr.

Q = Átadandók Elvárások. Szoftver min ség és menedzsment -22. Tartalom. A szoftver min sége 2001 / Összefoglalás. Dr. Szoftver min ség és menedzsment 22. Dr. Balla Katalin Tartalom Szoftvermin ség Mir l volt szó a tantárgy keretében? A szoftvermin ség költsége Folyamatjavítás Dr. Balla Katalin Szoftver min ség és menedzsment

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet

Részletesebben

Adatstruktúrák, algoritmusok, objektumok

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

Részletesebben

Szoftver követelmények meghatározása

Szoftver követelmények meghatározása Szoftver meghatározása Requirements engineering (analysis) Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 6-7. Roger S. Pressman: Software Engineering, 5th e. chapter 11. 2 Követelménymeghatározás

Részletesebben

Objektum orientált programozás (Object Oriented Programming = OOP)

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.

Részletesebben

Elosztott rendszer architektúrák

Elosztott rendszer architektúrák Elosztott rendszer architektúrák Distributed systems architectures Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 12. Andrew S. Tanenbaum, aarten van Steen: Distributed Systems: rinciples

Részletesebben

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea

Részletesebben

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

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

Részletesebben

Lehetséges óraelemzési szempontok (matematika) vázlat

Lehetséges óraelemzési szempontok (matematika) vázlat Lehetséges óraelemzési szempontok (matematika) vázlat I. A tervezés elemzése 1. Az óra témájának helye, szerepe a képzési folyamatban, a téma-struktúrában - Elzmények; mit kíván elérni; mi fogja követni

Részletesebben

Objektumelvű programozás

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é

Részletesebben

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek ADATBÁZIS-KEZELÉS Adatbázis-kezelő rendszerek Adat (Data) Észlelhető, felfogható ismeret Jelsorozat Tény, közlés Valakinek vagy valaminek a jellemzője Adatbázis (Data Base, DB) Hosszú ideig évekig meglévő

Részletesebben

Szoftver tervezés és design

Szoftver tervezés és design Szoftver tervezés és design Irodalom Frederick Brooks: Design of design, Addison-Wesley, 2010 M. Imaz, D. Benyon: Designing with blends, MIT Press, 2007 2 A mérnöki folyamat iterációk követelmények analízis

Részletesebben

Ismeretanyag Záróvizsgára való felkészüléshez

Ismeretanyag Záróvizsgára való felkészüléshez Ismeretanyag Záróvizsgára való felkészüléshez 1. Információmenedzsment az információmenedzsment értelmezése, feladatok különböző megközelítésekben informatikai szerepek, informatikai szervezet, kapcsolat

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

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

Részletesebben

SZOFTVERFEJLESZTÉSI TECHNOLÓGIÁK

SZOFTVERFEJLESZTÉSI TECHNOLÓGIÁK SZOFTVERFEJLESZTÉSI TECHNOLÓGIÁK Programnyelv fa: A nyilak irányába hatnak egymásra a nyelvek. Az ALGOL 60 előtt is voltak nyelvek (pl.: Fortran). Az aláhúzottak objektumorientált nyelvek (későbbiekben

Részletesebben

S0-02 Típusmodellek (Programozás elmélet)

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.

Részletesebben

Programozás alapjai. 7. előadás

Programozás alapjai. 7. előadás 7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való

Részletesebben

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 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

Részletesebben

Programozási technológia 1.

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

Részletesebben