Programozás 1. 2.gyakorlat



Hasonló dokumentumok
Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Tartalom Kontextus modellek Viselkedési modellek Adat-modellek Objektum-modellek CASE munkapadok (workbench)

Előzmények

Modellalkotás UML-ben

A követelmények leírása

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

UML (Unified Modelling Language)

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010












A SZOFTVERTECHNOLÓGIA ALAPJAI

A C++ öröklés. (Előfeltétel: 12. tétel ismerete)

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

C++ programozási nyelv

Objektum Orientált Szoftverfejlesztés (jegyzet)

Metamodellezés. Simon Balázs BME IIT, 2011.

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Fogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)

Bánsághi Anna 1 of 67

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

rendszerszemlélető, adatközpontú funkcionális

Objektum orientált alapelvek

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

IBM Business Process Manager változat 8 alváltozat 5. Munkaerő-felvételi oktatóanyag

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Tartalomjegyzék. Bevezetés...2

Követelmény, projekt, funkcionalitás 41 CSK 1

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat

Az adatmodelleket többféleképpen is csoportosíthatjuk. Egyik csoportosítás:

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

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Adatbázis rendszerek I

DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül

Szkeleton tervezése. 100 Generalis faliora. Csapattagok: Konzulens: Szabó András március 21.

JAVA PROGRAMOZÁS 3.ELŐADÁS

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

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

A TANTÁRGY ADATLAPJA

Adatstruktúrák, algoritmusok, objektumok

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. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr. Szendrei Rudolf. Információk.

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Alkatresz::Alkatresz(string n; int csz, int a) { nev = n; cikkszam = csz; ar = a; };

Borkereskedő. Dokumentáció a Programozási módszertan elmélete című tárgy beadandó programjához. Magyar Attila mattila@inf.elte.hu

Város a válságban? Településpolitika a gazdasági válság idején. Új informatikai lehetőségek a településtervezés és fejlesztés eszköztárában


OKOSTELE. 0 Ft. szükséges. KÉPE. 0 Ft. 80 cm. 0 Ft. kezdőrész

Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

KINDERGARTEN. 46 InFoka. Dady Róbert. Csapattagok: Konzulens:


Objektum-orientált programozás

Programozási technológia 1.

E/K diagram átalakítása relációs adatbázistervre

Komplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018


Programozás III. - NGB_IN001_3


HOGYAN HASZNÁLHATJUK FEL A VIZUÁLIS PROGRAMOZÁS (.NET C#) TANÍTÁSÁHOZ AZ UML-ALAPÚ MODELLEZÉST?

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Analízis modell kidolgozása I.



C++ programozási nyelv









Az UML2 és a modell-vezérelt alkalmazásfejlesztés



Térinformatika 2. A valós világ modellezésének folyamata Végső, Ferenc

Kölcsönhatás diagramok

I. Objektumorientált programozás




SZET GYAK1: Követelmények ellenőrzése


A második, azaz az utolsó előtti félév az esslingeni masteren




Átírás:

Programozás 1. 2.gyakorlat

Ismétlés Objektum: Egy a való világból vett elem (ami lehet elvonatkoztatott is) számítógépes ábrázolása. Pl: Kurzus, Személy stb Minden Objektum rendelkezik: Állapottal Viselkedéssel Identitással

Ismétlés Objektum állapota Egy a lehetséges létezési lehetőségek közül Időben változhat Hajszín, életkor Attríbutumok határozzák meg Például : Egy embert vénnek nevezünk ha elmúlt már 50 éves, viszont túl fiatalnak egy lányt ha még nem töltötte be a 16-ot

Ismétlés Objektum viselkedés Meghatározza, hogy mit csinálhat az objektumunk Meghatározza, hogyan reagáljon más objektumok kölcsönhatásaira Operációk (metódusok) határozzák meg Például: Egy ember hozzászólhat illetve megérthet egy másik embert, vagy elszaladhat egy pók láttán

Ismétlés Objektum Identitása Minden objektum egyedi, még ha azonosnak is látszódnak: Még ha az állapotai megegyeznek akkor is! 2 hangya hasonló : Ugyanolyan kicsik Ugyanolyan színűek Ugyanannyi lábuk van... stb Mégsem ugyanarról a 2 hangyáról van szó

Osztály Az objektumok formai leírása, vagyis az objektumok egy olyan csoportjának a leírása, melyeknek megegyeznek : Attributumai, metódusai Más objektumokkal való kapcsolataik Viselkedésük

Osztálydiagram Minden egyes adott Objektum, amit a programunkban használunk az egy Osztály adott példánya Ezen osztályok összeségéből készíthetünk egy osztálydiagramot, amely leirja a programunk szerkezetét

Vizuális modellezés Egy program elkészítése nem csak abból áll, hogy jó főzök egy erős kávét, leülök és 10-20 perc alatt összedobok valamit, hogy müködjön... A kódoláson kívűl : Tervezés és Modellezés Dokumentálás Tesztelés Kódolás

Vizuális modellezés Célja, hogy jobban átláthatóbb legyen az egész program (rendszer) működése Egy programozási ismeretek nélküli személy is értse a program működésének fontos szakaszait Modellezés során, a komoly hibák már a kezdetekben észrevehetőek és kijavíthatóak (Ellenben egy már majdnem kész programmal)

Modell és diagram A modell egy rendszer teljes leírása, lényegében egy adatbázisról van szó, ami magába foglalja az egész rendszer életciklusát, azaz tartalmaz minden információt amire szükségünk lehet A diagram a model egy vetülete, azaz a rendszer egy részét (vagy egészét) vizuálisan ábrázolja

UML Unified Modeling Language Egységesített modellező nyelv Egy grafikus modellező nyelv OO tervezésre Probléma specifikálására Probléma megoldására Dokumentációra http://www.uml.org

UML Nyilt szabvány Különböző alkalmazási területekre alkalmazható Sok eszköz támogatja Teljes rendszer élteciklusát lehet a segítségével ábrázolni

UML Az UML a grafikus szemléltetést különböző nézetekben teszi lehetővé, így különböző diagrammokról beszélhetünk Use Case Szekvencia Osztály (Class) diagram Csomag diagram

UML Például: Dobozkák Nyilak Mik is ezek?

UML osztálydiagram Elemei: Osztályok, interfészek, csomagok, stb Kapcsolatok (nyilak) Asszociáció Aggregáció Kompozíció Öröklődés

Asszociáció Osztályok közötti kétírányú összeköttetés Használati kapcsolat - létük egymástól független, viszont legalább az egyik ismeri és/vagy használja a másikat Gyakorlatban: Egyik osztály használja egy másik osztály metódusait vagy magát az osztályt Megadható : Név Irány (egy vagy kettő)

Asszociáció Asszociációs osztály (részletek) Multiplicitás (résztvevők száma)

Aggregáció Rész-egész kapcsolat Tartalmazást fejez ki Egyik objektum tartalmazza a másikat A rész objektum léte függ az egész objektumtól Tojás = tojásfehérje + tojássárgája

Aggregáció 2 típusa van: Gyenge aggregáció Erős aggregáció Amikor egyszerüen aggregációt mondunk erre gondolun Gyakran kompozíciónak nevezzük

Gyenge aggregáció Egyik objektum része a másiknak Speciális asszociáció Nincs erős tartalmazás, azaz az objektum létezik a másik nélkül is

Kompozíció Erős tartalmazás, azaz az objektum nem tudna létezni a másik objektum nélkül Speciális aggregáció Erős aggregáció

Öröklődés Osztályok közötti kapcsolat, ahol egy adott osztály megosztja a strukturáját és/vagy viselkedését egy vagy több másik osztállyal Létrejön egy öröklődési hierarchia A származtatott (gyerek) osztály mindent örököl az ős (szülő) és kiegészítheti ezeket Egy származtatott osztály egy örökölt metódus saját implementációját is nyujtahtaja : polimorfizmus

Öröklődés

Előzőek egy példában

Kapcsolatok implementálása Asszociáció Az A osztály egy metódusának paramétere B típusú Az A osztály egy metódusa hívja a B osztály egy metódusát Az A osztály egy metódusa (lokálisan) példányosítja a B osztályt Az A osztály egy metódusának visszatérési értéke B Aggregáció Az A osztály tartalmaz egy B-re mutató pointert

Kapcsolatok implementálása Kompozíció Az A osztály tartalmaz egy B típusú adattagot Öröklődés Az A osztály a B osztályból származik

Eszközök A legnépszerűbb eszközök UML diagramm készítéséhez: ArgoUML BOUML Egyéb Pub-ban fenn van http://argouml.tigris.org http://bouml.free.fr/download.html Google :)

ArgoUML használata Nyissuk meg az ArgoUML-t Próbáljuk meg modellezni az előbb látott lakásos feladatot!

Feladatok Modellezd a kabinetet Megoldás : kabinet Modellezz egy bankkártyás fizetést ArgoUML Plusz pontért!

Kérdés???