OOP tervezés
9. előadás
IMPERATÍV PROGRAMOZÁS © Bánsághi Anna
[email protected]
9. ELŐADÁS - OOP TERVEZÉS
2014 © Bánsághi Anna
1 of 31
OOP tervezés
9. előadás
TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma Procedurális paradigma Generikus paradigma III. STRUKTÚRÁLT PROGRAMOZÁS Objektumorientált paradigma Moduláris paradigma
2014 © Bánsághi Anna
2 of 31
OOP tervezés
9. előadás
III. STRUKTÚRÁLT PROGRAMOZÁS OBJEKTUMORIENTÁLT PARADIGMA 1. Absztrakt adattípus 2. Objektumok, osztályok 3. OOP tervezés UML alapok Utazási iroda példa 4. Öröklődés 5. Adatszerkezetek megvalósítása
2014 © Bánsághi Anna
3 of 31
OOP tervezés
9. előadás
1. MODELLEZÉS a program szerkezetének és működésének tervezése az osztályok és objektumok szempontjából történik statikus tervezés a szerkezeti tervezésnél az osztályok tagjait, az osztályok / objektumok közötti kapcsolatokat adjuk meg dinamikus tervezés a programfutási tervezésnél az objektumok időbeli viselkedését, az állapotváltozásokat modellezzük az OOP tervezés eszköze a Unified Modeling Language (UML), amelyben 13 diagramtípus segítségével tervezhető meg a program szerkezete és működése
2014 © Bánsághi Anna
4 of 31
OOP tervezés
9. előadás
UML szabványos módon lehet rendszerek terveit elkészíteni alkalmas üzleti folyamatok, programfunkciók és adatbázis-sémák leírására a modellek automatikusan kódba fejthetők, tehát tetszőleges objektumorientált nyelvre átültethetők a nyelv kiterjeszthető, és lehetőséget ad a testreszabásra a nyelv leginkább a diagramok keretében mutatkozik meg
2014 © Bánsághi Anna
5 of 31
OOP tervezés
9. előadás
UML MODELLEK funkcionális modell a szoftver funkcionális követelményeit adja meg és a felhasználóval való interaktivitást (használati esetek diagramja, kihelyezési diagram) szerkezeti modell a program felépítését adja meg, milyen osztályok, objektumok, relációk alkotják a programot (osztálydiagram, objektumdiagram) dinamikus modell a program működésének lefolyását, az objektumok együttműködésének módját ábrázolja (állapotdiagram, szekvenciadiagram)
2014 © Bánsághi Anna
6 of 31
OOP tervezés
9. előadás
UML DIAGRAMOK
2014 © Bánsághi Anna
7 of 31
OOP tervezés
9. előadás
TERVEZÉS DIAGRAMOKKAL a fejlesztés különböző szakaszaiban az UML különböző diagramjait alkalmazzuk elemzés használati esetek, komponens, telepítési tervezés statikus csomag, osztály, objektum, komponens dinamikus állapot, szekvencia, aktivációs, interakciós áttekintési, kommunikációs tesztelés időzítés a fejlesztés iterációiban a korábban létrehozott diagramok újra alkalmazhatóak, tovább finomíthatóak
2014 © Bánsághi Anna
8 of 31
OOP tervezés
9. előadás
OBJEKTUMDIAGRAM a rendszerben megjelenő objektumokat, azok adatait és kapcsolatait leíró diagram az objektumnak megadjuk a nevét, a típusát, valamint adatainak pillanatnyi értékét több objektumdiagram is létezhet attól függően, hogy a rendszer mely állapotát jelenítik meg
2014 © Bánsághi Anna
9 of 31
OOP tervezés
9. előadás
OBJEKTUMDIAGRAM - ŰRTELESZKÓP
2014 © Bánsághi Anna
10 of 31
OOP tervezés
9. előadás
KOMMUNIKÁCIÓS DIAGRAM a rendszerben megjelenő objektumok közötti kommunikációt leíró diagram több kommunikációs diagram is létezhet attól függően, hogy milyen objektumokat adunk meg megadja az üzenetfolyamot reprezentáló metódusokat és az üzenetek típusát
2014 © Bánsághi Anna
11 of 31
OOP tervezés
9. előadás
KOMMUNIKÁCIÓS DIAGRAM - ŰRTELESZKÓP
2014 © Bánsághi Anna
12 of 31
OOP tervezés
9. előadás
SZEKVENCIA DIAGRAM a rendszerben folyó történések logikáját leíró diagram több szekvencia diagram is létezhet attól függően, hogy milyen objektumokat adunk meg megadja az üzenetfolyamban résztvevő metódusok sorrendjét
2014 © Bánsághi Anna
13 of 31
OOP tervezés
9. előadás
SZEKVENCIA DIAGRAM - ŰRTELESZKÓP
2014 © Bánsághi Anna
14 of 31
OOP tervezés
9. előadás
OSZTÁLYDIAGRAM a rendszerben szereplő osztályok szerkezetét és az objektumok közötti kommunikációval meghatározott kapcsolatokat definiálja az osztálynak megadjuk a nevét, valamint tagjainak halmazát (típusokkal, paraméterekkel) megadjuk a tagok láthatóságát látható ( + ), illetve rejtett ( - ) jelölésekkel megadjuk a kapcsolatok típusát és multiplicitását
2014 © Bánsághi Anna
15 of 31
OOP tervezés
9. előadás
OSZTÁLYOK KÖZÖTTI KAPCSOLATOK asszociáció egyszerű kommunikáció, az osztály meghívja más osztály nyilvános metódusát, vagy hivatkozik rá műveleteiben paraméterként vagy visszatérési értékként aggregáció egyik osztály példányai referencián keresztül hivatkoznak egy másik osztály példányaira kompozíció egyik osztály példányai fizikailag (értékként) tartalmazzák egy másik osztály példányait öröklődés egyik osztály (leszármazott) örökli a másik osztály (ős) tagjait 2014 © Bánsághi Anna
16 of 31
OOP tervezés
9. előadás
OSZTÁLYDIAGRAM - ŰRTELESZKÓP
2014 © Bánsághi Anna
17 of 31
OOP tervezés
9. előadás
2. UTAZÁSI IRODA PÉLDA Szimuláljuk egy utazási iroda repülőjáratokra történő jegyeladásait. A repülőtér meghirdeti járatait a férőhelyekkel és a szabad helyekkel. Minden járat kibocsátja a maga jegyeit. Az utazási irodák rendelhetnek a repülőtértől tetszőleges számú jegyet a járatokra, amely sikeres, ha van annyi jegy, és sikertelen, ha nincs legalább annyi jegy. A vásárlók jegyet vehetnek valamely utazási irodánál valamely járatra, mely sikeres, hogyha az adott utazási irodánál ott a jegy.
2014 © Bánsághi Anna
18 of 31
OOP tervezés
9. előadás
A FELADAT ELEMZÉSE főnevek igék
repülőtér, járat (férőhely, szabad hely), jegy, utazási iroda, vásárló meghirdet, kibocsát, rendel, vesz repülőtér meghirdet járatokat járat kibocsát jegyeket utazási iroda rendel jegyeket repülőtértől, járatra vásárló vesz jegyet utazási irodánál járatra
2014 © Bánsághi Anna
19 of 31
OOP tervezés
9. előadás
OBJEKTUMDIAGRAM
2014 © Bánsághi Anna
20 of 31
OOP tervezés
9. előadás
KOMMUNIKÁCIÓS DIAGRAM
2014 © Bánsághi Anna
21 of 31
OOP tervezés
9. előadás
SZEKVENCIA DIAGRAM
2014 © Bánsághi Anna
22 of 31
OOP tervezés
9. előadás
OSZTÁLYDIAGRAM
2014 © Bánsághi Anna
23 of 31
OOP tervezés
9. előadás
REPÜLŐTÉR OSZTÁLY
2014 © Bánsághi Anna
24 of 31
OOP tervezés
9. előadás
JÁRAT OSZTÁLY
2014 © Bánsághi Anna
25 of 31
OOP tervezés
9. előadás
JEGY OSZTÁLY
2014 © Bánsághi Anna
26 of 31
OOP tervezés
9. előadás
UTAZÁSI IRODA OSZTÁLY
2014 © Bánsághi Anna
27 of 31
OOP tervezés
9. előadás
VÁSÁRLÓ OSZTÁLY
2014 © Bánsághi Anna
28 of 31
OOP tervezés
9. előadás
MÁSODIK BEADANDÓ FELADATCSOPORT C# Fundamentals for Absolute Beginners channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners
Mod 11: alprogramok Mod 13: karakterláncok Mod 14: dátumok Mod 15: osztályok I. Mod 16: osztályok II. Mod 18: névterek Mod 19: láthatóság Mod 20: sorozatok, switch Mod 22: iterált típusok
2014 © Bánsághi Anna
29 of 31
OOP tervezés
9. előadás
KIKÖTŐ Kint lesz a honlapon
2014 © Bánsághi Anna
30 of 31
OOP tervezés
9. előadás
BEADÁS FORMAI KÖVETELMÉNYEI Hallgató_Neve_2.zip mod_11.cs mod_13.cs mod_14.cs mod_15.cs mod_16.cs mod_18.cs mod_19.cs mod_20.cs mod_22.cs kikoto nevű könyvtár
2014 © Bánsághi Anna
31 of 31