Debreceni Egyetem Informatikai Kar. Az UML eszközeinek bemutatása egy komplex rendszer tervezésén keresztül
|
|
- Péter Király
- 9 évvel ezelőtt
- Látták:
Átírás
1 Debreceni Egyetem Informatikai Kar Az UML eszközeinek bemutatása egy komplex rendszer tervezésén keresztül Témavezetı: Pánovics János számítástechnikai munkatárs Készítette: Grépály Csaba János V. programtervezı matematikus Debrecen, 2007
2 Tartalomjegyzék 1 BEVEZETÉS Mi az UML? Az UML története A tervezett rendszer 5 AZ UML DIAGRAMJAI ÉS KITERJESZTÉSI MECHANIZMUSAI Diagramok Kiterjesztési mechanizmusok Kommentek 9 2 STRUKTURÁLIS DIAGRAMOK Osztálydiagram Objektumdiagram Komponensdiagram Alkalmazási diagram 21 3 VISELKEDÉSI DIAGRAMOK Használati eset diagram Aktivitás-diagram Szekvencia-diagram Kommunikációs diagram A szekvencia és kommunikációs diagramok összehasonlítása Idızítési diagram 40 4 MODELLMENEDZSMENT DIAGRAMOK Csomagdiagramok 41 5 ÖSSZEFOGLALÁS 43 6 IRODALOMJEGYZÉK 44 2
3 3
4 1 Bevezetés 1.1 Mi az UML? A Unified Modeling Language(UML) egy objektum-orientált szemléletre épülı elemzıés tervezıeszköz. Kiterjedt eszközrendszere lehetıvé teszi a különbözı objektum-orientált koncepciók, fogalmak jelölését, de ugyanakkor használható struktúrált módszerrel elkészítetett modellek ábrázolására is. Közvetlen örököse a korábbi három legnépszerőbb objektum-orientált módszertan, a Booch-módszer, a Rumbaugh és társai által összeállított OMT, valamint a Jacobson-féle OOSE jelöléseinek, közvetlenül ennek a három módszertannak és a hozzájuk tartozó jelölésrendszernek az összevont és letisztított változata. Az UML egy grafikus eszköz, azaz a modellt különbözı diagramok segítségével ábrázolja. Az UML ugyanakkor egy nyelv, azaz szintatktikai és szemantikai szabályok összessége. A szintatktikai szabályok a szimbólumrendszert, azok formáját, és kapcsolódási módjaikat definiálják, a szemantikai szabályok pedig az egyes szimbólumok, illetve a szimbólumok kapcsolatainak értelmezését definiálják. Az UML egy modellezı nyelv, ahol a modellezı jelzı arra utal, hogy segítségével csupán az alkalmazás vázlatát készíthetjük el, a teljes implementációt nem. Az UML egy olyan eszköz, amelynek segítségével a szoftverrendszerek fejlesztıi, tervezıi specifikálhatják, vizuálizálhatják, és dokumentálhatják a fejlesztett szoftverrendszerek modelljét, egy kész, rendelkezésre álló szabványt nyújt a szoftveripar szereplıinek. Ezen túlmenıen az UML az egységesítésnek köszönhetıen segíti az alkalmazás tervezıi, fejlesztıi közötti kommunikációt, kiválóan megfelelı az információcsere eszközének. 1.2 Az UML története Az UML vázlatos története: 4
5 1970-es évek közepe: az elsı objektum-orientált modellezınyelvek megjelenése : ebben az idıszakban egyre nagyobb igény jelentkezik az objektumorientált modellezınyelvek iránt, a modellezınyelvek száma megsokszorozódik 1994: Grady Booch és James Rumbaugh a nyelvek egyesítésének céljából megkezdik az egységes modellezınyelv kidolgozását, melyet Unified Method-nak neveznek el 1995: csatlakozik a társasághoz Ivar Jacobson, elkészül az egységesített modellezınyelv elsı, 0.8-as verziója, immár Unified Modeling Language néven 1996: elkészül az UML 0.9-es verziójának specifikációja, valamint megalakul a legnagyobb informatikai cégek(microsoft, Oracle, HP, DEC, Rational Software, stb.) támogatásával az UML Partners konzorcium, az UML kidolgozásának támogatásának céljából 1997: elkészül az UML 1.0-ás verziójának specifikációja, majd az 1.1-es verzió, melyeket az OMT szabványosít 1998: elkészül a 1.2-es verzió 1999: elkészül az 1.3-as verzió 2000: elkészül az 1.4-es verzió 2000/2001: elkezdıdik az UML 2.0-ás verziójának kidolgozása 2003: elkészül az 1.5-ös verzió 2004: az UML 2.0 dokumentációjának elkészülése 1.3 A tervezett rendszer A tervezett rendszer célja, hogy webes megjelenítési felületet biztosítson amatır zenekarok részére. A zenekaroknak legyen lehetıségük információkat elhelyezni a zenekarról, a zenekar tagjairól, zenéjük mőfajáról, a zenekar által készített albumokról, és a zenekar által tervezett fellépésekrıl. Az oldal látogatóinak legyen lehetıségük a zenekarok böngészésére, a zenekarok albumainak megtekintésére, keresni a zenekarok, illetve az albumok között. Az oldalnak lehetıséget kell biztosítania, hogy a zenekarok bemutatkozhassanak rajta keresztül. Legyen lehetıség a zenekar történetét bemutatni, röviden bemutatni a zenekar 5
6 tagjait, és ezekhez kapcsolódó fényképeket elhelyezni. A zenekar tudja megadni az eddig elkészített albumait, az ezekhez kapcsolodó információkat, mint például tracklista, borító, helyezhesse el az oldalon. Ezen túl a zenekar elérhetıségét is lehessen elhelyezni. Az oldal látogatóinak legyen lehetıségük a különbözı zenekarokat bemutató lapokat böngészni, az adott zenekarok albumait megtekinteni. A látogatók legyenek képesek az albumok között keresni, azokat böngészni, és az adott albumot elkészító zenekar információt megtekinteni. Az oldal szervezıi idırıl-idıre koncerteket szerveznek, az oldalon megjelenı zenekaroknak.a koncertek helyszínét és idıpontját a szervezık a rendszeren kívül szervezik, majd a lehetséges körülményeket elhelyezik az oldalon. Ezen kívül meghatároznak egy mőfajt is, ezt is elhelyezik az elıbbi információk mellett. Az adott mőfajú zenét játszó zenekarok jelentkeznek a koncertre, majd egyeztetnek a szervezıkkel. 6
7 Az UML diagramjai és kiterjesztési mechanizmusai 1.4 Diagramok Az UML különbözı diagramjai a modellezett alkalmazást különbözı nézıpontokból, különbözı nézetekbıl szemléltetik. Ebbıl fakadóan az egyes diagramok között elıfordulhatnak átfedések, azaz megtörténhet, hogy a rendszer ugyanazon pontját modellezzük rajtuk, de a diagramok típusától függıen ugyanazt a dolgot más megvilágításban láthatjuk. A strukturális diagramok a rendszer statikus jellemzıit, a statikus elemeket és ezek kapcsolatait, ezáltal a rendszer belsı struktúráját modellezik. A strukturális diagramokon modellezett elemek egy keretrendszert definiálnak, amely keretrendszeren belül megvalósulhat az alkalmazás dinamikája, viselkedése. A strukturális diagramok: osztálydiagram objektumdiagram komponensdiagram alkalmazási diagram A viselkedési diagramokon a strukturális diagramokon modellezett elemek dinamikáját, a rendszer mőködése közben megvalósított viselkedését modellezhetjük. Ezek a diagramok fejezik ki, hogy az erıforrások hogyan hajtják végre a feladataikat, hogyan mőködnek együtt a rendszer céljainak megvalósítása közben. A viselkedési diagramok: használati eset diagram aktivitás-diagram szekvencia-diagram kommunikációs diagram idızítési diagram 7
8 Ezen túl az UML lehetıvé teszi a modell menedzsmentjével kapcsolatos diagramok használatát is. Segítségükkel például a rendszer és alrendszereinek struktúráját modellezhetjük. Ilyen diagramok: csomagdiagram 1.5 Kiterjesztési mechanizmusok Az UML szabványos jelölései a modellek ábrázolásának mindössze egy általános keretét határozzák meg. A kiterjesztési mechanizmusok teszik lehetıvé, hogy az általános jelölésrendszert a fejlesztés által megkövetelt irányba specializáljuk. Ennek segítségével kiegészíthetjük a modellünket, az UML-t pedig alkalmassá tehetjük arra, hogy a szabvány keretein belül az alkalmazás szakterületének, az alkalmazott technológiának és a fejlesztési módszernek megfelelı jelölésekkel is rendelkezzen. Az UML a következı három kiterjesztési mechanizmust definiálja: sztereotípia, megszorítás, kulcsszavas értékek. A sztereotípia egy olyan eszköz, amelynek segítségével az alkalmazás elemei magas szinten tipizálhatóak, azaz általános céljuknak és jellegüknek megfelelıen csoportosíthatóak. Olyan új építıelemek bevezetését teszi lehetıvé, amelyek már meglévı elemekre épülnek, de segítségükkel az épített modell specializációja válik lehetıvé. A sztereotípiákat francia idézıjelek között adjuk meg. A megszorításokkal a modellelemek olyan jellemzıit adhatjuk meg, amelyeket másképpen nem tudunk kifejezni. A megszorítás olyan általános eszköz, melynek segítségével a modellünket pontosítani tudjuk, egy olyan körülményt tudunk kifejezni segítségével, amely körülménynek a modellelemre vonatkozóan, annak teljes életciklusa során fenn kell állnia. Például egy attribútumra vonatkozó megszorításnak fenn kell állnia az attribútumot tartalmazó objektum teljes életciklusán keresztül. Megszorításokat a modellelemek mögött kapcsos zárójelek között adhatjuk meg. A kulcsszavas értékek segítségével a modellelemek specifikációját név-érték párok segítségével explicit módon további speciális jellemzıkkel egészíthetjük ki. Kulcsszavas értékeket a modellelem mellet név = érték formában, kapcsos zárójelek között adhatunk meg. 8
9 1.6 Kommentek Természetesen lehetetlenség az összes, az alkalmazásfejlesztés során felmerülı fogalomra megfelelı kifejezési formát, jelölést, vagy eszközt találni. Ennek ellensúlyozására az UML megengedi, hogy bármely modellelemhez kommentet, tájékoztató jellegő szöveges magyarázatot főzzünk. A kommenteket egy szaggatott vonallal a modellelemhez kötött téglalapban helyezhetjük el. 9
10 2 Strukturális diagramok 2.1 Osztálydiagram Az osztálydiagramok alapját az osztály fogalma jelenti. Az osztály az objektumorientált paradigma központi fogalma, a valós világ fogalmainak magas szintő absztrakciója, amely lehetıvé teszi az adatmodell és a funkcionális modell együttes kezelését. Az absztrakció során felmerülı adatokat attribútumokkal, a különbözı viselkedéseket pedig metódusokkal modellezzük. Ennek megfelelıen az osztályok modellezésekor annak nevét, attribútumait, és mőveleteit kell meghatároznunk. Az UML az osztályok modellezésekor nem foglalkozik a metódusok implementációjával, csak az interfésszel, amelyen keresztül a metódusokhoz hozzáférhetünk, és az UML ezeket az interfészeket nevezi mőveletnek. Az osztályok jelölése a diagramon egy téglalappal történik, amely három részre oszlik: névrész, attribútumrész, és mőveletrész. Ezek a részek a nevüknek megfelelıen az osztály definíciójának különbözı információit tartalmazzák. A diagramon, annak részletezettségétıl függıen, az attribútum- és mőveletrészek elmaradhatnak, egyedül a névrésznek kötelezı szerepelnie. Az osztály jelölésében a legfelsı rész a névrész, amely az adott osztály nevét tartalmazza. Az elnevezés nagyon fontos, hiszen a modellezett rendszer alapvetı erıforrásait, elemeit azonosítjuk vele, így a névnek egyedien és félreérthetetlenül kell azonosítania az osztály által definiált objektum típusát. A névrész alatt helyezkedik el az attribútumrész, mely az osztály attribútumainak felsorolását, az attribútumok listáját tartalmazza. Az attribútumok definíciójánál az attribútumokra vonatkozóan például a következı információkat rögzíthetjük: láthatóság származtatás név típus multiplicitás alapértelmezett érték 10
11 Az attribútumok definíciójának alakja: [láthatóság] [/] név [: típus] [multiplicitás] [alapérték]. A láthatóság az objektum-orientált paradigma bezárás fogalmát hivatott megvalósítani, azt fejezi ki, hogy az adott attribútum az alkalmazás mely pontjáról érhetı el, hivatkozható. Az UML a következı láthatósági szintek használatát teszi lehetıvé: privát láthatóság, ekkor, az attribútum csak az adott osztályban használható, jelölése: - csomag láthatóság, ekkor az attribútum az osztályt tartalmazó csomagból hivatkozható, jelölése: ~ publikus láthatóság, ekkor az attribútumot látja az összes osztály, jelölése: + védett láthatóság, ekkor az attribútumokhoz csak a leszármazott osztályok férhetnek hozzá, jelölése: #. Az egyes szintek értelmezése megegyezik az objektum-orientált paradigma láthatósági szintjeinek értelmezésével. Az attribútumok értéket kaphatnak valamilyen más attribútumból vagy adatból egy képlet alapján számítva. Ekkor azt mondjuk, hogy az attribútum értéke származtatott érték és ezt a neve elıtt elhelyezett / jellel jelöljük. Az attribútum neve kifejezi azt a szempontot, amely alapján az adott attribútum leírja az osztály példányait, ezért fontos, hogy lehetıleg minél kifejezıbb legyen, és az osztályon belül egyedinek kell lennie. Az attribútumok nevét kötelezı megadni. A típus segítségével az attribútum által felvehetı értékek tartományát határozzuk meg. A típus lehet az UML valamely típusa, egy programozási nyelvbıl származó típus, vagy a modellben szereplı objektumtípus. A multiplicitás azt fejezi ki, hogy az adott attribútumhoz hány érték tartozhat. A multiplicitást szögletes zárójelek között adhatjuk meg egy tartománnyal, azaz a tartomány alsó és felsı határának meghatározásával. Ha az attribútumhoz tartozó értékek száma egy konkrét szám, akkor a tartomány alsó és felsı határát is ez a szám jelöli. Azt, hogy a tartomány felülrıl nem korlátos, a felsı határ helyén egy *-gal jelölhetjük. Ha egy attribútum számossága nagyobb mint egy, értelmezhetünk az értékek között rendezettséget, és ezt a multiplicitást követıen elhelyezett {isordered} tag-el fejezhetjük ki. Az alapértelmezett érték megadásával azt az értéket határozhatjuk meg, amely értéket az attribútumok a példányok létrejöttekor felvesznek. 11
12 A mőveletrészben a mőveleteket, az osztály objektumainak lehetséges viselkedésmódjait soroljuk fel listaszerően. A viselkedésmódok implementációjáról az osztálydiagram semmilyen információt nem tartalmaz, csupán az osztály objektumai által kínált szolgáltatások, viselkedések meghívásának feltételeit modellezi. A mőveletek felsorolásakor a következı információkat rögzíthetjük: láthatóság név paraméterlista visszatérési érték típusa A mőveletek definíciójának alakja: [láthatóság] név [(paraméterlista)] : visszatérési típus. A láthatóság az attribútumok láthatóságához hasonlóan azt jelzi, hogy az adott mővelet az alkalmazás mely pontjáról hívhatóak, aktiválhatóak. A megadható láthatósági szintek és jelölésük megegyezik az attribútumoknál elmondottakkal. A név azonosítja az osztály objektumának egy viselkedésmódját, egy szolgáltatását, ennek megfelelıen kifejezınek kell lennie és kötelezı megadni. A mőveletek esetén az egyediség nem követelmény a név esetében, viszont a mővelet szignatúrájának, azaz a név, paraméterlista, visszatérési típus hármasnak egy osztályon belül minden mőveletre vonatkozóan egyedinek kell lenni. A paraméterlista segítségével megadhatjuk a mővelet mögött álló viselkedés megvalósításához szükséges inputot. Az egyes paramétereket név : típus alakban, egymástól vesszıvel elválasztva adhatjuk meg. A visszatérési érték típusa a mővelet mögött álló viselkedés outputjának típusát adja meg. A diagramon a példányszintő és osztályszintő mőveletek között az utóbbiak definíciójának aláhúzásával tehetünk különbséget. 12
13 Zenekar -id[1] : int -nev[1] : string -tagok[1..*] : Tag -bemutatkozas[1] : string -albumok[1..*] : Album -koncertek[0..*] : Koncert +getnev() : string +gettagok() : Tag +getbemutatkozas() : string +getalbumok() : Album +setnev() +setbemutatkozas() +addalbum() +addtag() A különbözı szoftverrendszerek erıforrások sokaságából épülnek fel, mely erıforrások együttmőködnek egymással. Ahhoz, hogy az erıforrások egymással együtt tudjanak mőködni, kommunikálniuk kell, tehát tudatában kell lenniük a többi erıforrás létezésének, és ezen túlmenıen valamilyen viszonyban, kapcsolatban is kell állniuk egymással. Az UML az erıforrások mint modellelemek kapcsolatainak modellezésére háromféle kapcsolattípus használatát ajánlja: asszociáció, általánosítás és függıség. A rendszerben együttmőködı objektumoknak a feladatok, felelısségek megosztásához szükségük van arra, hogy a rendszerben levı többi objektumot elérhessék, kommunikálhassanak egymással. Ezeket a kommunikációs útvonalakat, melyeken keresztül majd az objektumok információkat továbbíthatnak, az osztálydiagramokon asszociációkkal modellezük. Asszociációnak nevezzük az osztályok objektumai között lehetséges strukturális kapcsolatokat, azaz olyan kapcsolatok, amelyeket az objektum maga szolgáltat, így amikor az adott objektum elérhetı, akkor kapcsolatai is elérhetıek. Az UML az asszociációt a résztvevı osztályok között húzott vonallal modellezi. A leggyakoribbak a bináris asszociációk, ezek olyan asszociációk, amelyekben két osztály vesz részt. Természetesen elıfordulhatnak magasabbrendő asszociációk is, ám ezeket többnyire felbontják, visszavezetik bináris asszociációk sorozatára. Az asszociációk elnevezése ugyanolyan fontos, mint például az, hogy az osztályokat és az osztályok attribútumait elnevezzük. Az elnevezés elsıdleges célja, hogy világosan, érthetıen kifejezze az asszociáció célját. Ezen túl, az elnevezés fontos lehet abban az esetben, amikor két osztály között több asszociációt adunk meg, ekkor a kapcsolatok azonosításában is segíthet. 13
14 Az UML az asszociációkat jelölı vonalak végeit külön entitásként kezeli, amelyekhez az asszociációt leíró információkat rendelhetünk. Ezekkel az információkkal tulajdonképpen szabályokat definiálunk, amely szabályok az adott osztályok példányai közötti kapcsolatokra vonatkoznak. Az asszociációk végeinek legfontosabb jellemzıi: szerepek számosság rendezettség navigálhatóság változtathatóság Az asszociáció végeihez szerepeket rendelhetünk, melyek a megfelelı osztály példányainak a kapcsolatban betöltött szerepét fejezik ki. Az szerepek számossága azt jelzi, hogy az adott asszociációt megvalósító kapcsolatokban hány objektum vehet részt az egyik, illetve a másik oldalról. Az multiplicitás jelölése az attribútumok számosságának jelöléséhez hasonló, csak ebben az esetben nem kellenek a szögletes zárójelek. Az asszociáció egyik végéhez rendelt számosság azt fejezi ki, hogy az asszociáció másik oldalán álló osztály egy objektumához hány objektum kapcsolódhat az elıbbi oldalról. Abban az esetben, ha asszociáció egyik végének számossága nagyobb mint egy, az UML lehetıvé teszi, hogy szükség esetén jelöljük az objektumok rendezettségét. Ezt az {ordered} tag elhelyezésével jelölhetjük. A navigálhatóság annak igényét fejezi ki, hogy az asszociációban résztvevı osztályok példányai a kapcsolaton keresztülnavigálva elérhetik a kapcsolódó objektumokat. Vagyis egy objektum elérheti a hozzá kapcsolódó objektumokat, ha az asszociációban feltüntettük a navigálhatóságot a megfelelı irányban. A navigálhatóság kifejezésére az asszociációt jelölı vonal végére helyezett nyílfejeket használhatjuk. A szerepek változtathatósága az asszociációk által definiált kapcsolatokra értelmezhetı mőveleteket fejezi ki. A {frozen} tag elhelyezésével például elıírhatjuk, hogy miután a kapcsolat létrejött, ne lehessen azt megváltoztatni, vagy törölni. Ha azt akarjuk kifejezni, hogy csak újabb kapcsolatok kialakítását szeretnénk engedélyezni, azt az {addonly} tag segítségével tehetjük meg. 14
15 Az asszociációk nagy részében a résztvevı osztályok egyenrangúak, azaz egyik osztály sem alárendeltje a másiknak, és egymástól függetlenek, csak kommunikálnak, információt cserélnek egymással. Az aggregáció az asszociáció egy speciális típusa, amely az összetett, komplex elemek modellezését segíti, egy speciális asszociáció, mely két elem között fennálló egész/rész viszonyt fejez ki. Az aggregációban az egész állapotának része a rész állapota, de ugyanakkor a rész más egészeknek is a részét képezheti, és az egész irányítja a részek mőködését. Az UML az aggregációs viszonyt az asszociáció egész részénél elhelyezett rombusszal jelöli. A kompozíció az aggregációnál is szigorúbb kapcsolattípus, amelyben az aggregációnál elmondottakon túlmenıen az egész felelıssége a rész élettartamának menedzselése is. Azaz az egész határozza meg a rész létrejöttének és elhalálozásának körülményeit is, a részek élettartama is az egésztıl függ, a részek nem létezhetnek egészek nélkül, és a rész kizárólag egyetlen egészhez tartozhat. A kompozíció jelölése egy olyan vonallal történik, amely az egész felıl egy telt rombuszban végzıdik. Az UML a kompozíciós viszonyt az egész résznél elhelyezett telt rombusszal jelöli. 15
16 Gyakran szükség lehet arra, hogy az asszociációkról egyéb információkat is kifejezzünk, ne csak magát a viszony leírását modellezzük. Mivel az objektum-orientált paradigmában az információkat attribútumként modellezzük, ebbıl következik, hogy asszociációkat osztályokkal, úgynevezett asszociációs osztályokkal modellezzük. Az asszociációs osztályok, mivel osztályok, saját maguk is részt vehetnek asszociációkban. Az osztályok jellegzetességeinek összegyőjtése során észrevehetjük, hogy bizonyos jellemzık, viselkedések több osztályban is felmerülnek, ismétlıdnek. Ha találunk olyan osztályokat, amelyek közös attribútumokkal, mőveletekkel és asszociációkkal rendelkeznek, akkor lehetséges, hogy az osztályok által képviselt fogalmaknak létezik közös, általános fogalma. Ekkor ezeket a közös jellemzıket kiemelhetjük egy olyan osztályba, amelyet az általános fogalomra utaló névvel látunk el, és összekapcsolhatjuk, egy speciális viszonyt létesíthetünk azokkal az osztályokkal, amelyekbıl a közös tulajdonságokat kiemeltük. Az általánosítás egy viszonyt fejez ki a szuperosztály és annak egy vagy több alosztálya között. Az alosztály örökli a szuperosztály attribútumait és mőveleteit, és az alosztály példányai minden olyan helyen elıfordulhatnak, ahol a szuperosztály egy példánya elıfordulhat. Az UML az általánosítás viszonyt az alosztályból az ısosztályba vezetı háromszögben végzıdı nyíllal jelöli. Az általánosítás viszonyhoz sztereotípiát és megszorítást is hozzárendelhetünk. Az UML által támogatott harmadik kapcsolattípus a függıség. Az UML definíciója szerint egy modellelemtıl függ egy másik modellelem, ha a definíciójának megváltozása a másik, azaz a függı elem megváltozását is eredményezheti. A függıséget nemcsak osztályok között értelmezhetünk, hanem többféle modellelem között, például csomagok között is. A függıségi viszonyok minısítéséhez sztereotípiákat használhatunk. Az UML a következı elıredefiniált sztereotípiák használatát támogatja a függıségek minısítésére: <<use>>: a függı elem definíciója felhasználja a másik modellelem definícióját. Ez az alapértelmezett függıség, ezért csak akkor adjuk meg, ha hangsúlyozni szeretnénk, hogy nem más jellegő függıségrıl van szó <<derive>>: a függı elem származtatott, azaz csak koncepcionális, és csak a másik elembıl számítható <<friend>>: olyan speciális használati módot jelöl, amikor a függı elem jogosult elérni a használt elem védett és privát jellegzetességeit is <<call>>: a függı elem meghívja a használt elemet vagy annak egy mőveletét 16
17 <<instantiate>>: a függı osztály a használt osztálynak megfelelı típusú objektumokat hoz létre <<instanceof>>: a függı elem a használt elem példánya <<refine>>: ezzel jelölhetjük, hogy a függı elem azonos a használt elemmel, de annak több részletét tartalmazza <<trace>>: nyomkövetéssel a fejlesztés során a modell kialakításának lépéseit ábrázoljuk A függıséget a diagramon a függı elemtıl, osztálytól a használt modellelemhez, osztályhoz húzott szaggatott vonalú sztereotípiával ellátott nyíllal jelölhetjük. 17
18 Album -id : int -eloado : object -cim : string -trackek : Track +getcim() : string +geteloado() : object +setcim() +seteloado() +addtrack() 1..* Tartalmazza 1 1..* Track -id : int -cim : string -stilus : string +getcim() : string +getstilus() : string +setcim() +setstilus() Tag Zenekar -id[1] : int -nev[1] : string -tagok[1..*] : Tag -bemutatkozas[1] : string -albumok[1..*] : Album -koncertek[0..*] : Koncert * -id : int -nev : string -bemutatkozas : string +getnev() : string +getbemutatkozas() : string +getnev() : string +gettagok() : Tag +getbemutatkozas() : string +getalbumok() : Album +setnev() +setbemutatkozas() +addtag() +addalbum() 1 0..* Koncert -id[1] : int -idopont[1] : object -helyszin[1] : string -mufaj[1] : string -nev[1] : string -zenekarok[0..*] : Zenekar +getidopont() : object +getnev() : string +gethelyszin() : string +getzenekarok() : Zenekar Üzleti logika +bejelentkezes() +setalbumcim() +addtrackalbum() +albumment() +albummentadatbazisba() 18
19 2.2 Objektumdiagram Az objektumdiagramok segítségével a rendszert alkotó objektumok egy adott idıpillanatban felvett állapotát modellezhetjük. A diagram segítségével konkrét helyzeteket, vagy ennél absztraktabban, jellemzı helyzeteket is felvázolhatunk. Az objektumdiagram kiválóan alkalmas az osztálydiagramok tesztelésére, annak ellenırzésére, hogy konkrét adatok, kapcsolatok esetén helytálló a modellünk. Az objektum jelölése egy téglalappal történik, melybe aláhúzva beleírjuk az adott objektum elnevezését. Az objektum neve két részbıl áll: az objektum azonosító nevébıl és az objektum osztályának nevébıl, melyeket kettısponttal választunk el egymástól. Anonim objektumok esetén, vagyis olyan szituációkban, amikor azt akarjuk kifejezni, hogy egy osztály minden példányára érvényes a modellezett körülmény, az elnevezésbıl csak a kettıspont és utána az osztály neve szerepel. Az osztályok attribútumokkal rendelkeznek, és az osztály példányai ezen attribútumokra értékeket vesznek fel. Az attribútumértékek együttesen meghatározzák az adott objektum állapotát. Egy objektum által felvett attribútumértékeket az objektum névrésze alatt, az osztálydiagramhoz hasonlóan attribútumrésznek nevezett szekcióban sorolhatjuk fel. Ennek alakja: az attribútum neve után megadjuk a konkrét értéket. Nem kötelezı az összes attribútumértéket feltüntetni, elég azokat megadni, amelyek szükségesek a helyzet jellemzése szempontjából. Az objektumok az attribútumaikon túl, kapcsolatokkal is rendelkeznek. Azt, hogy az egyes objektumok milyen kapcsolatokkal rendelkezhetnek, az osztálydiagramon az asszociációk megadásával rögzítettük. Az objektumok között fennálló kapcsolatok az osztályok között modellezett asszociációk példányai, elıfordulásai. Az objektumok között fennálló kapcsolatokat hasonlóan az osztályok közötti asszociációkhoz az objektumok között húzott vonallal jelölhetjük. 2.3 Komponensdiagram Az alkalmazás logikai tervének elkészülte után a terv fizikai implementációjának megtervezése lehet a következı lépés. Ennek az elsı és az egyik legfontosabb kérdése az alkalmazás fizikai szerkezetének modellezése. A komponensdiagram célja az alkalmazást 19
20 alkotó fizikai szoftvermodulok és azok egymáshoz való viszonyának modellezése. A diagram alkalmas a kész alkalmazás fizikai szerkezetének vázolására, valamint a fejlesztés során használt állományok közötti viszonyok szemléltetésére. A komponens egy olyan eszköz, amelynek segítségével az alkalmazás különbözı fejlesztés alatt álló, vagy már kész alkotóelemeit összefoghatjuk. Komponensek lehetnek például: forrás-állományok kód-állományok programkönyvtárak futtatható állományok dokumentumok adatállományok A komponenseket a diagramon egy téglalappal jelölhetjük, amelynek baloldalán két téglalap alakú címkét veszünk fel. A komponenseket névvel láthatjuk el, amelyet a téglalapba írunk, és szintén a téglalapba írva sztereotípiával kifejezhetjük azt a szerepet, amelyet az adott komponens az alkalmazás architektúrájában betölt. Az UML által elıredefiniált, komponensekhez rendelhetı sztereotípiák: <<executable>>: jelöli a futtatható programot tartalmazó állományt <<library>>: programkönyvtár, melyre egy program hivatkozik, a hivatkozás lehet statikus vagy dinamikus <<table>>: adatbázistábla <<file>>: forráskódot, vagy adatot tartalmazó állomány <<document>>: jelöli a dokumentumot tartalmazó állományt Azokat a komponenseket, amelyek végrehajtható kódot, függvényeket, programokat tartalmaznak, a funkcióikon keresztül érhetjük el. Ezeket a funkciókat kiemelhetjük, csoportosíthatjuk interfészekbe, és a diagramon az interfészek szokásos jelölésével modellezhetjük. Az ily módon kiemelt interfészeket a komponens elemei implementálják, realizálják. 20
21 2.4 Alkalmazási diagram Az alkalmazási diagram segítségével az alkalmazást mőködtetı hardver egységeit és az azok között fennálló fizikai kapcsolatokat modellezhetjük, azaz a végrehajtási környezetet, architektúrát szemléltethetjük. Ezen felül az alkalmazást alkotó egyes komponensek elhelyezkedését is modellezhetjük. A diagrammal jól ábrázolható az alkalmazás készülékigénye, valamint például a több gépen futó kliens/szerver alkalmazások fizikai felépítése és az azokon mőködı komponensek. A diagram alapvetı alkotóeleme a csomópont, amely egy olyan eszközt reprezentál, amely munkát végez. A csomópont többnyire egy számítógépes egységet, egy hardverelemet jelképez, mint például egy lemezmeghajtó, vagy egy szervergép. A csomópontokat az azonosítás céljából névvel kell ellátni. A csomópontokat a diagramon egy kockával jelölhetjük. A csomópontok lényegi tartalmaként ábrázolhatóak a rajta elhelyezkedı komponensek, a lényegesebb adatelemek pedig objektumokként jeleníthetıek meg. A csomópontokhoz attribútumokat és mőveleteket is definiálhatunk, és ezen felül a csomópontok kapcsolatban is állhatnak más csomópontokkal, azaz asszociációkat is értelmezhetünk közöttük, amelyeket a csomópontokat összekötı vonalak segítségével jelölhetünk. 21
22 3 Viselkedési diagramok 3.1 Használati eset diagram A használati eset diagram egyedi az UML diagramok között abban a tekintetben, hogy a rendszer felhasználóinak a rendszerrel szemben támasztott elvárásait, követelményeit modellezi, leírja azokat a jellemzıket, amelyeket a felhasználók a rendszertıl elvárnak. Ugyanakkor a részletekrıl, azaz a diagram segítségével összegyüjtött követelmények megvalósításáról, implementációjáról semmiféle információt nem tartalmaz a diagram. Az alkalmazással szemben támasztott követelmények összegyőjtésének, és a használati eset diagram kialakításának legfontosabb lépései: a rendszeren kívül esı, de ahhoz kapcsolódó szereplık, aktorok összegyőjtése a rendszer viselkedését, funkcióit, céljait kifejezı használati esetek összegyőjtése az elızı lépésekben összegyőjtött elemek kapcsolatainak vizsgálatával a modell finomítása A használati eset diagram célja egy olyan rendszeren kívüli nézıpont biztosítása, amely a rendszer és a rendszeren kívül esı, de a rendszerhez kapcsolódó dolgok viszonyát jeleníti meg. A követelmények feltárásának elsı lépése annak meghatározása, hogy a rendszeren kívül esı elemek milyen módon kapcsolódnak a rendszerhez. Ezeket a kapcsolódásai módokat nevezi az UML aktoroknak. Az aktor tulajdonképpen egy szerepkört fejez ki, azaz a rendszerhez kapcsolódó elemek egy típusát azonosítja. Aktor lehet egy felhasználó, egy hardvereszköz, vagy akár egy másik alkalmazás is. Természetesen elıfordulhat, hogy például egy személy több szerepkörben is kapcsolódik a rendszerhez, és ennek a fordítottja is igaz lehet, azaz hogy több személy is ugyanabban a szerepkörben kapcsolódik a rendszerhez. Az aktorok jelölésére többféle lehetıség kínál az UML. Azokat az aktorokat, amelyek mögött személyek állnak, általában egy pálcikaemberrel jelöljük, és alá írjuk az adott aktor 22
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é
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.
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
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.
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/
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
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)
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
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
Rendszer szekvencia diagram
Rendszer szekvencia diagram Célkitűzések A rendszer események azonosítása. Rendszer szekvencia diagram készítése az eseményekre. 2 1.Iteráció Az első igazi fejlesztési iteráció. A projekt kezdeti szakaszában
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
Az objektumorientált megközelítés elınye: Hátránya:
1 Egy objektumorientált architekturális modell a rendszert lazán kapcsolódó, jól definiált interfészekkel rendelkezı objektumok halmazára tagolja. Az objektumok a többi objektum által biztosított szolgáltatásokat
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus 5-ös Kurzus (UML) Visszatekintés: történelmi szempontok Az UML létrejötte UML-1 (Unified Modeling Language) és UML-2 Magyarul
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
Bánsághi Anna 2014 Bánsághi Anna 1 of 72
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 12. ELŐADÁS - UML MODELLEZÉS 2014 Bánsághi Anna 1 of 72 I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma Procedurális
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 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)
Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 08. 10. 16. Ficsor Lajos. Unified Modeling Language UML / 1
Unified Modeling Language (UML) Áttekintés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 08. 10. 16. Unified Modeling Language UML / 1 Szüks kségessége Az objektum orientált fejlesztési
Áttekintés. rténete 1. Az UML törtt. Miskolci Egyetem Általános Informatikai Tanszák. Ficsor Lajos UML / 1
UML / 1 Unified Modeling Language (UML) Áttekintés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 08. 10. 16. Unified Modeling Language UML / 1 Szüks kségessége Az objektum orientált
Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely
Programozás 1. 2.gyakorlat
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
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
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
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
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:
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
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
Irányítástechnika 1. 9. Elıadás. PLC-k programozása
Irányítástechnika 1 9. Elıadás PLC-k programozása Irodalom - Helmich József: Irányítástechnika I, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler Ildikó: PLC programozás az IEC 1131-3 szabvány
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
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.
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
A relációs adatmodell
A relációs adatmodell E. Codd vezette be: 1970 A Relational Model of Data for Large Shared Data Banks. Communications of ACM, 13(6). 377-387. 1982 Relational Databases: A Practical Foundation for Productivity.
Dinamikus modell: állapotdiagram, szekvencia diagram
Programozási : állapotdiagram, szekvencia diagram osztályszerep Informatikai Kar Eötvös Loránd Tudományegyetem 1 osztályszerep Tartalom 1 2 3 osztályszerep 2 Bevezető Állapot Interakciós Tevékenység osztályszerep
Az egyed-kapcsolat modell (E/K)
Az egyed-kapcsolat modell (E/K) Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 4.1. Az egyed-kapcsolat (E/K) modell 4.2. Tervezési alapelvek 4.3. Megszorítások
Adatbáziskezelés alapjai. jegyzet
Juhász Adrienn Adatbáziskezelés alapja 1 Adatbáziskezelés alapjai jegyzet Készítette: Juhász Adrienn Juhász Adrienn Adatbáziskezelés alapja 2 Fogalmak: Adatbázis: logikailag összefüggı információ vagy
DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül
DEBRECENI EGYETEM INFORMATIKAI KAR Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül Témavezető: Pánovics János egyetemi tanársegéd Készítette: Hegedűs József programtervező
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
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
Adatbázis rendszerek 6.. 6. 1.1. Definíciók:
Adatbázis Rendszerek Budapesti Műszaki és Gazdaságtudományi Egyetem Fotogrammetria és Térinformatika 6.1. Egyed relációs modell lényegi jellemzői 6.2. Egyed relációs ábrázolás 6.3. Az egyedtípus 6.4. A
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
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
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
10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)
10-es Kurzus OMT modellek és diagramok OMT metodológia OMT (Object Modelling Technique) 1 3 Modell és 6 Diagram Statikus modell : OMT Modellek és diagramok: Statikus leírása az összes objektumnak (Név,
Szakdolgozat. Pongor Gábor
Szakdolgozat Pongor Gábor Debrecen 2009 Debreceni Egyetem Informatikai Kar Egy kétszemélyes játék számítógépes megvalósítása Témavezetı: Mecsei Zoltán Egyetemi tanársegéd Készítette: Pongor Gábor Programozó
Hardver leíró nyelvek (HDL)
Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.
ÓRAREND SZERKESZTÉS. Felhasználói dokumentáció verzió 2.5. Budapest, 2011.
Felhasználói dokumentáció verzió 2.5. Budapest, 2011. Változáskezelés Verzió Dátum Változás Pont Cím Oldal Felületi színezések (terem, vagy oktatóhiány 2.1 2009.05.04. 2.13. színezése fel volt cserélve,
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,
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
Fogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)
Fogalmi modellezés Ontológiák Alkalmazott modellező módszertan (UML) Fogalom képzés / kialakítás Cél: Példák: A fogalom képzés segít minket abban, hogy figyelmen kívül hagyjuk azt, ami lényegtelen idealizált
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
Programozási technológia
Programozási technológia UML emlékeztető, Öröklődés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. UML Osztályok jelölése A diagramokban az osztály jelölésénél a nevét, az attribútumok nevét és a műveletek
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
Excel Hivatkozások, függvények használata
Excel Hivatkozások, függvények használata 1. Fejezet Adatok, képletek, függvények Adatok táblázat celláiba írjuk, egy cellába egy adat kerül lehet szám, vagy szöveg * szám esetén a tizedes jegyek elválasztásához
Adatbázisok 1. Az egyed-kapcsolat modell (E/K)
Adatbázisok 1 Az egyed-kapcsolat modell (E/K) Témakör: Az egyed-kapcsolat modell (E/K) Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 4.1. Az egyed-kapcsolat (E/K)
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?
KEDVEZMÉNYEZETTEK ALAPVETİ TÁJÉKOZTATÁSI KÖTELEZETTSÉGEI. Új Magyarország Fejlesztési Terv
KEDVEZMÉNYEZETTEK ALAPVETİ TÁJÉKOZTATÁSI KÖTELEZETTSÉGEI Új Magyarország Fejlesztési Terv A projektek az Európai Unió támogatásával, az Európai Regionális Fejlesztési Alap társfinanszírozásával valósulnak
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
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
Objektumorientáció, objektumorientált szemlélet
Objektumorientáció, objektumorientált szemlélet Adatbáziskezelés és könyvtári rendszerszervezés 1 2014 Objektumorientált elemzés/tervezés Azt a fejlesztési szemléletet, amelyben a modellezett rendszer
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
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
5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés
Sapientia - Erdelyi Magyar TudományEgyetem (EMTE) Csíkszereda 5. Előadás tartalma Magas szintű adatbázismodellek Adatmodellezés Az Egyed-kapcsolat (E/K) diagramok C.J. Date szerinti kapcsolatok Varjúláb
UML. Unified Modeling Language Egységesített Modellező Nyelv
UML Unified Modeling Language Egységesített Modellező Nyelv Modell A modell egy rendszer (bonyolult probléma vagy szerkezet) absztrakciója, amely a megértést és a kezelhetőséget célozza. A modell az adott
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
Excel Hivatkozások, függvények használata
Excel Hivatkozások, függvények használata 1. Fejezet Adatok, képletek, függvények Adatok táblázat celláiba írjuk, egy cellába egy adat kerül lehet szám, vagy szöveg * szám esetén a tizedes jegyek elválasztásához
7. rész: A specifikációtól az implementációig az EJB rétegben
7. rész: A specifikációtól az implementációig az EJB rétegben Bakay Árpád NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu A tananyag készült az ELTE-IKKK projekt támogatásával Tartalom Tervezés lépései
GráfRajz fejlesztői dokumentáció
GráfRajz Követelmények: A GráfRajz gráfokat jelenít meg grafikus eszközökkel. A gráfot többféleképpen lehet a programba betölteni. A program a gráfokat egyedi fájl szerkezetben tárolja. A fájlokból betölthetőek
83/2004. (VI. 4.) GKM rendelet. a közúti jelzőtáblák megtervezésének, alkalmazásának és elhelyezésének követelményeiről
83/2004. (VI. 4.) GKM rendelet a közúti jelzőtáblák megtervezésének, alkalmazásának és elhelyezésének követelményeiről A közúti közlekedésrıl szóló 1988. évi I. törvény 48. -a (3) bekezdése b) pontjának
Könyvtári kölcsönzések kezelése
Könyvtári kölcsönzések kezelése Célkitőzés Feladatunk egy egyetemi könyvtár kölcsönzéseit nyilvántartó rendszert elkészítése, amely lehetıséget nyújt a könyvtár tagjainak, illetve könyveinek nyilvántartása.
Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre 2010-09-27 1.0
Object Orgy PROJEKTTERV 1 (9) Projektterv 1 Összefoglaló 2 Verziók Ez az projekt projektterve, ahol kitérünk a megrendelt szoftver elvárt szolgáltatásaira, és a tárgy keretein belül a projekt során felhasználandó
Útmutató a MATARKA adatbázisból való adatátvételhez
Útmutató a MATARKA adatbázisból való adatátvételhez A MATARKA - Magyar folyóiratok tartalomjegyzékeinek kereshetı adatbázisa a következı címrıl érhetı el: http://www.matarka.hu/ A publikációs lista kinyerése
Tartalomjegyzék. Bevezetés...2
Tartalomjegyzék Bevezetés...2 1. Követelmény analízis...3 1.1. Áttekintés...3 1.2. Használati eset diagram (use case)...3 1.3. Alkalmazási példa...5 2. Modellezés...6 2.1. Osztálydiagram...6 2.2. Osztályok
é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
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,
Programozás I. 2. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 2. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Vizuális modellezés Programozás: Modellezés és tervezés Implemetálás (Kódolás) Dokumentálás és Tesztelés
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
Operációs rendszerek
Operációs rendszerek Hardver, szoftver, operációs rendszer fogalma A hardver a számítógép mőködését lehetıvé tevı elektromos, elektromágneses egységek összessége. A számítástechnikában hardvernek hívják
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"
Utolsó módosítás:
Utolsó módosítás: 2012. 02. 20. 1 Bonyolult rendszerekkel csak úgy tudunk dolgozni, hogy először egy egyszerűbb modellt építünk, megvizsgáljuk a rendszert különböző szempontokból. A modellezés nagyon általános
Adatstruktúrák, algoritmusok, objektumok
Adatstruktúrák, algoritmusok, objektumok 1. Számítási modellek és programozási paradigmák 1 Modellezési alapelvek A modellezés célja A modellezés célja a világ minél teljesebb körő megértése Elemek, folyamatok,
VÍZÓRA NYÍLVÁNTARTÓ RENDSZER
Debreceni Egyetem Informatikai Kar VÍZÓRA NYÍLVÁNTARTÓ RENDSZER Dr. Kuki Attila Egyetemi Adjunktus Informatikai Rendszerek és Hálózatok Tanszék GYÖKÉR RÓBERT Mérnök Informatikus levelezı Debrecen 2009.
Irányítástechnika alapvetı célja
Irányítástechnika alapvetı célja Folyamat Tevékenység Forgalom Termelékenység Biztonság, Egyenletesség, Változások követése, Termék növelése minıségének javítása Az energia felhasználás csökkentése Az
Rendszertervezés 4. A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger, Mária
Rendszertervezés 4. A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger, Mária Rendszertervezés 4. : A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger,
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen
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
Verzió: 1.7 Dátum: 2010-02-18. Elektronikus archiválási útmutató
Verzió: 1.7 Dátum: 2010-02-18 Elektronikus archiválási útmutató Tartalom 1 Bevezetés... 2 2 Az archiválandó e-akta összeállítása... 2 2.1 Metaadatok kitöltése... 2 2.2 Az archiválandó e-akta összeállítása...
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!)
Szoftvertechnológia 2008/2009. tanév 2. félév 3. óra. Szoftvertechnológia
Szoftvertechnológia Szabolcsi Judit 2008 (Ajánlott irodalom: R. A. Maksimchuk E. J. Naiburg: UML földi halandóknak. Kiskapu Kiadó, Budapest 2006. és Harald Störrle: UML 2. Panem Kiadó, Budapest 2007.)
III. Alapfogalmak és tervezési módszertan SystemC-ben
III. Alapfogalmak és tervezési módszertan SystemC-ben A SystemC egy lehetséges válasz és egyben egyfajta tökéletesített, tovább fejlesztett tervezési módszertan az elektronikai tervezés területén felmerülő
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
Absztrakt feltöltése az ITDK 2013 konferenciára
Absztrakt feltöltése az ITDK 2013 konferenciára 1. regisztráció A rendszer használatához elıször is regisztrációra van szükség. Ezt a felhasználó a kezdıképernyı jobb felsı sarkában lévı Bejelentkezés
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
Térképek jelentése és elemzése
Térképek jelentése és elemzése Ontológiák Az ontológiák termekre, csomópontokra (koncepciókra) és összeköttetésekre (kapcsolatokra) vonatkozó listák, amik importálhatóak és hozzáadhatóak a VUE térképekhez,
3. rész: A követelmények részletezése, kidolgozása. Bakay Árpád dr. NETvisor kft (30)
3. rész: A követelmények részletezése, kidolgozása Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu A mai anyag Kis ZH Követelmények (folyt) Rendszerezett követelmények és Use Case-ek
Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék. Állatmenhely webalkalmazás tervezése UML segítségével
Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék Állatmenhely webalkalmazás tervezése UML segítségével Témavezető: Pánovics János egyetemi tanársegéd Készítette: Deák Zoltán programtervező
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
ELTE, Informatikai Kar december 12.
1. Mi az objektum? Egy olyan változó, vagy konstans, amely a program tetszőleges pontján felhasználható. Egy olyan típus, amelyet a programozó valósít meg korábbi objektumokra alapozva. Egy olyan változó,
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:
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