„Szoftvertechnológia - Videójegyzet” változatai közötti eltérés
kiemelések |
a →19, |
||
| (93 közbenső módosítás, amit 4 másik szerkesztő végzett, nincs mutatva) | |||
| 1. sor: | 1. sor: | ||
{{Vissza|Szoftvertechnológia#Vide.C3.B3}} | {{Vissza|Szoftvertechnológia#Vide.C3.B3}} | ||
[[Szoftvertechnológia_-_Videójegyzet#toc|→ Ugrás a tartalomjegyzékhez]] (alulra került, hogy ne vegyen el olyan sok helyet a dokumentum elején) | |||
'''A Szoftvertechológia videók itt megtekinthetőek, innen letölthetőek:<br /> | |||
http://bme.videotorium.hu/hu/channels/details/902,Szoftvertechnologia''' | |||
A 2010-es videókhoz készült, időbélyegzőkkel ellátott [[Media:szofttech_video_jegyzet_timestamps_v1.pdf|videójegyzet]] Wiki-aloldallá átalakított, kiegészített változata. Segítségével könnyű megkeresni adott anyagot a videókban.<br /> | A 2010-es videókhoz készült, időbélyegzőkkel ellátott [[Media:szofttech_video_jegyzet_timestamps_v1.pdf|videójegyzet]] Wiki-aloldallá átalakított, kiegészített változata. Segítségével könnyű megkeresni adott anyagot a videókban.<br /> | ||
| 6. sor: | 11. sor: | ||
Fontos, hogy ez alapvetően csak gyorsan össze lett firkálva, tehát nem túl rendezett, nem teljes, vannak elütések, stb., nem igazán volt idő ezekre is figyelni (talán érthető módon), de egy kis kiegészítésnek talán jó. Pl. betájolható, melyik rész melyik videóban, merre van, kereshetők a kulcsszavak. | Fontos, hogy ez alapvetően csak gyorsan össze lett firkálva, tehát nem túl rendezett, nem teljes, vannak elütések, stb., nem igazán volt idő ezekre is figyelni (talán érthető módon), de egy kis kiegészítésnek talán jó. Pl. betájolható, melyik rész melyik videóban, merre van, kereshetők a kulcsszavak. | ||
== 1. előadás == | Úgy alakítottam ki valamiféle hierarchiát az elemek között, hogy az előadás <nowiki><h2></nowiki>-tag legyen, a konkrét diasor <nowiki><h3></nowiki>-tag, az időbélyeg <nowiki><h4></nowiki>-tag, a konkrét dia címe pedig <nowiki><h5></nowiki>-tag. Így legenerálódik belőle egy hierarchikus [[Szoftvertechnológia_-_Videójegyzet#toc|→tartalomjegyzék]] is (igaz, jó hosszú), a fejezetek belinkelhetők, az alfejezetek külön-külön szerkeszthetők. --[[Szerkesztő:Harapeti|Haraszin Péter]] ([[Szerkesztővita:Harapeti|vita]]) 2013. június 9., 18:52 (UTC) | ||
A Java-jegyzet (1-4. videó) még elkészítendő!! | |||
== [http://bme.videotorium.hu/hu/recordings/details/5409,Szoftvertechnologia_-_1._eloadas 1. előadás] == | |||
===== 4: Kettős célkitűzés: ===== | ===== 4: Kettős célkitűzés: ===== | ||
| 31. sor: | 40. sor: | ||
* Igény meghaladja a gyártás képességeit → gagyi szoftverek is kikerülnek. | * Igény meghaladja a gyártás képességeit → gagyi szoftverek is kikerülnek. | ||
* Minőség | * Minőség | ||
* legacy: nagyon régi szoftverek (30éves), működnek, de érdemes lenne korszerűsíteni, ami irdatlan pénz, | * legacy: nagyon régi szoftverek (30éves), működnek, de érdemes lenne korszerűsíteni, ami irdatlan pénz, munka → honnan kezdjük? | ||
munka → honnan kezdjük? | |||
===== 19: Minőség ===== | ===== 19: Minőség ===== | ||
| 45. sor: | 53. sor: | ||
(therac tanulmány) | (therac tanulmány) | ||
== 2. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5410,Szoftvertechnologia_-_2._eloadas 2. előadás] == | ||
SW Oktatás Dilemmája: | SW Oktatás Dilemmája: | ||
| 56. sor: | 64. sor: | ||
* hordozók meddig lesznek üzemképesek? | * hordozók meddig lesznek üzemképesek? | ||
* óriási karbantartási költségek | * óriási karbantartási költségek | ||
* | * '''Készítsük úgy, hogy könnyű legyen karbantartani!''' | ||
===== 36: célok ===== | ===== 36: célok ===== | ||
| 65. sor: | 73. sor: | ||
===== 37,38:Mérnökség, engineering ===== | ===== 37,38:Mérnökség, engineering ===== | ||
* | * '''Költséghatékony''' megoldást kell készíteni (milyen tényezők, súlyozás) | ||
* | * '''gyakorlati''' problémák megoldása (tömegszerűség, nagyban gyártás) | ||
* | * '''tudományt''' alkalmazunk (megismételhető, ellenőrizhető, reprodukálható eszközök) | ||
* | * '''építünk''' | ||
* | * '''az emberiség szolgálatában''' (szabályokkal, szabványokkal, előírásokkal kell foglalkoznunk) | ||
===== 39-42: Fejlődés ===== | ===== 39-42: Fejlődés ===== | ||
| 83. sor: | 91. sor: | ||
1750 Pápai tudósok, stabil-e a kupola szerkezete? → Előbb volt kupola, utána mérés! | 1750 Pápai tudósok, stabil-e a kupola szerkezete? → Előbb volt kupola, utána mérés! | ||
1850 Hidat kell építeni → Előbb mérések maketten, és csak utána építkezés! | 1850 Hidat kell építeni → Előbb mérések maketten, és csak utána építkezés! | ||
* | * '''Előre''' kell mérni, nem utólag! | ||
* | * | ||
* ne írja meg mindenki ugyanazt: könyvtárakba szervezzük, ami már megvan | * ne írja meg mindenki ugyanazt: könyvtárakba szervezzük, ami már megvan | ||
| 127. sor: | 135. sor: | ||
* hatalmas keretrendszerek | * hatalmas keretrendszerek | ||
== 3. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5411,Szoftvertechnologia_-_3._eloadas 3. előadás] == | ||
=== 1.diasor/ === | === 1.diasor/ === | ||
| 191. sor: | 199. sor: | ||
* Pénz, Adó (egyéb pénzügyi fogalmak) | * Pénz, Adó (egyéb pénzügyi fogalmak) | ||
** → leképezés → Fájl, adatbázis (implementációfüggő fogalmak) | ** → leképezés → Fájl, adatbázis (implementációfüggő fogalmak) | ||
* | * Spirális vonalon, magas absztrakciós szintről indulunk, és hozzárendelünk implementációfüggő dolgokat | ||
===== 10,11, ICOM modell: InputControlOutputMechanism ===== | ===== 10,11, ICOM modell: InputControlOutputMechanism ===== | ||
* Folyamat, a bemenetből állít elő kimenetet, megkötések és erőforrások hozzáadásával | * Folyamat, a bemenetből állít elő kimenetet, megkötések és erőforrások hozzáadásával | ||
| 228. sor: | 236. sor: | ||
** Használat, karbantartás | ** Használat, karbantartás | ||
== 4. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5412,Szoftvertechnologia_-_4._eloadas 4. előadás] == | ||
===== 14, SW élete ===== | ===== 14, SW élete ===== | ||
| 253. sor: | 261. sor: | ||
===== 18, Deliverables ===== | ===== 18, Deliverables ===== | ||
* Mikor érünk a speci végére? | * Mikor érünk a speci végére? | ||
* Követelményfázis vége, ha elkészült a | * Követelményfázis vége, ha elkészült a '''rendszerdefiníció és a projektterv''' → de mik ezek? | ||
Szabványok írják elő, van tartalomjegyzék. PFR: ellenőrzés | Szabványok írják elő, van tartalomjegyzék. PFR: ellenőrzés | ||
* Specifikáció: formális leírás | * Specifikáció: formális leírás | ||
** RequirementSpecification: Követelmények technikai része | ** RequirementSpecification: Követelmények technikai része | ||
** Preliminary user's manual: felhasználói dokumentumok, felületek! | ** Preliminary user's manual: felhasználói dokumentumok, felületek! | ||
** Verifikációs terv (előzetes változata): hogyan fogunk ellenőrizni? Mi a feltétele, hogy átadjuk? Hogyan ellenőrizzük a terméket? | ** Verifikációs terv (előzetes változata): hogyan fogunk ellenőrizni? Mi a feltétele, hogy átadjuk? Hogyan ellenőrizzük a terméket? SRR | ||
* Architekturális tervezés: milyen elemekből épül? Azok hogyan kapcsolódnak? Nagy komponensek leírása, PDR | * Architekturális tervezés: milyen elemekből épül? Azok hogyan kapcsolódnak? Nagy komponensek leírása, PDR | ||
* Részletes tervezés: megmondjuk a programozónak, mit csináljon → munka lebontása elemi lépésekre, melyek kiadhatók, ellenőrizhetők: WBS. | * Részletes tervezés: megmondjuk a programozónak, mit csináljon → munka lebontása elemi lépésekre, melyek kiadhatók, ellenőrizhetők: WBS. | ||
| 308. sor: | 316. sor: | ||
* 5 szint van: 1 kezdetleges, 5 legjobb | * 5 szint van: 1 kezdetleges, 5 legjobb | ||
# 1: gyakorlatilag bárki | # 1: gyakorlatilag bárki | ||
# 2: van valamiféle ismétlődő technika, fejlesztési folyamat, nagyvonalakban definiált | # 2: van valamiféle ismétlődő technika, fejlesztési folyamat, nagyvonalakban definiált dokumentációs minták. Nem szabványosak | ||
dokumentációs minták. Nem szabványosak | |||
# 3: definiált: van egy meghatározott fejlesztési folyamat, szabványok szerinti folyamatok | # 3: definiált: van egy meghatározott fejlesztési folyamat, szabványok szerinti folyamatok | ||
# 4: mérés van: folyamat állapota jósolható a mérési eredményekből | # 4: mérés van: folyamat állapota jósolható a mérési eredményekből | ||
| 337. sor: | 344. sor: | ||
* csoportok tagjai között harmónia | * csoportok tagjai között harmónia | ||
* aki nem fér a csapatba, azt el kell távolítani | * aki nem fér a csapatba, azt el kell távolítani | ||
* | * '''Brooks törvénye''': késésben lévő projekthez új embert adunk, csak tovább késik (bele kell tanulniuk, a többieket ez hátráltatja) | ||
tanulniuk, a többieket ez hátráltatja) | |||
* MagicSeven: kb ~7-tel érdemes csapatot alkotni | * MagicSeven: kb ~7-tel érdemes csapatot alkotni | ||
| 354. sor: | 360. sor: | ||
* ShortTerm, rövidtáv, akár napi szintre (melyik nap mit kell csinálni) | * ShortTerm, rövidtáv, akár napi szintre (melyik nap mit kell csinálni) | ||
== 5. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5413,Szoftvertechnologia_-_5._eloadas 5. előadás] == | ||
Menedzser | Menedzser | ||
| 425. sor: | 431. sor: | ||
* Kis projekt – jó becslés | * Kis projekt – jó becslés | ||
* Nagy projekt – csökkenő pontosság | * Nagy projekt – csökkenő pontosság | ||
* Az igény fordított! | * Az igény fordított! Alapvető ellentmondás | ||
==== 00:43:54 ==== | |||
==== 00:47:08 ==== | |||
===== 24,25 Becslés ===== | ===== 24,25 Becslés ===== | ||
* Indokolhatónak kell lennie | * Indokolhatónak kell lennie | ||
| 442. sor: | 449. sor: | ||
==== 01:03:03 ==== | ==== 01:03:03 ==== | ||
===== 26-31, Mérések ===== | ===== 26-31, Mérések ===== | ||
* Fejlesztéshez mekkora | * Fejlesztéshez mekkora '''erőfeszítés''' szükséges? Hány ember, mibe kerül? Milyen nagy/bonyolult? | ||
* SW | * SW '''méret''': Hogyan mérjük a bonyolultságot? LineOfCode és FunkcióPontElemzés (kódsorok | ||
száma és Adott funkciók meghatározása) | száma és Adott funkciók meghatározása) | ||
* | * '''Komplexitás''' hogyan mérhető? | ||
* Mese: 50.p körül (pályázat, balesetek) | * Mese: 50.p körül (pályázat, balesetek) | ||
| 455. sor: | 462. sor: | ||
==== 01:06:00 ==== | ==== 01:06:00 ==== | ||
===== 34, Bevezetés ===== | ===== 34, Bevezetés ===== | ||
* | * '''Hatáskör''': mi tartozik a projektbe, hol vannak a határok? | ||
* SW funciók | * SW funciók | ||
* Teljesítmény és viselkedés | * Teljesítmény és viselkedés | ||
| 490. sor: | 497. sor: | ||
* Változtatás menedzsment (hogyan mennek végbe változtatások, hogy vannak nyilvántartva) | * Változtatás menedzsment (hogyan mennek végbe változtatások, hogy vannak nyilvántartva) | ||
== 6. előadás | == [http://bme.videotorium.hu/hu/recordings/details/5414,Szoftvertechnologia_-_6._eloadas 6. előadás] == | ||
=== 4.diasor === | |||
==== 00:14:33 ==== | ==== 00:14:33 ==== | ||
| 571. sor: | 580. sor: | ||
** Üzleti folyamat, szabályzat alakítása | ** Üzleti folyamat, szabályzat alakítása | ||
== 7. előadás 5. diasor == | == [http://bme.videotorium.hu/hu/recordings/details/5415,Szoftvertechnologia_-_7._eloadas 7. előadás] == | ||
=== 5. diasor: Specification, Life-cycle ([http://directory.iit.bme.hu/belso/st/p11_6.pdf 2013: Part11 (p11_6.pdf)]) === | |||
==== 00:01:00 ==== | ==== 00:01:00 ==== | ||
| 580. sor: | 591. sor: | ||
==== 00:01:35 ==== | ==== 00:01:35 ==== | ||
===== 4, ===== | ===== 4, ===== | ||
* Funkcionális kép: DFD, DataFlowDiagram + | * Funkcionális kép: DFD, DataFlowDiagram + Folyamatspecifikáció | ||
* Szerkezeti: ERD, EntitásRelációsDiagram és adatspecifikációk: kik a szereplők, köztük mik a viszonyok | * Szerkezeti: ERD, EntitásRelációsDiagram és adatspecifikációk: kik a szereplők, köztük mik a viszonyok | ||
* Időzítés: STD, StateTrans..Diagram, Állapotgép, időben hogyan hajtjuk végre ezen funkciókat | * Időzítés: STD, StateTrans..Diagram, Állapotgép, időben hogyan hajtjuk végre ezen funkciókat | ||
| 623. sor: | 634. sor: | ||
* ‘‘‘Jelölések‘‘‘ (írás, olvasás, mindkettő → nem részletezzük, hogy sikerül-e) | * ‘‘‘Jelölések‘‘‘ (írás, olvasás, mindkettő → nem részletezzük, hogy sikerül-e) | ||
===== | ==== 00:21:17 ==== | ||
===== Feladat, [http://directory.iit.bme.hu/belso/st/p11-x-hu-ex.pdf 2013: Gyak11_1 - p11-x-hu-ex.pdf], 3. dia, "Adja meg, hogy önmagukban helyesek-e a következő adatfolyamábra illetve context diagram részletek !" ===== | |||
Bal fentről jobbra, majd le: | Bal fentről jobbra, majd le: | ||
1, H: Két terminátor nem köthető össze, hogy lenne adatmozgatás? Kell Process | 1, H: Két terminátor nem köthető össze, hogy lenne adatmozgatás? Kell Process | ||
| 632. sor: | 645. sor: | ||
6, H: Store-ból csak Processzel lehet kivenni | 6, H: Store-ból csak Processzel lehet kivenni | ||
===== | ==== 00:26:40 ==== | ||
===== Feladat, Mozijegyeladás, [http://directory.iit.bme.hu/belso/st/p11-x-hu-ex.pdf 2013: Gyak11_1 - p11-x-hu-ex.pdf], 5. dia, "A mozi előadásait az előadás jellemzőinek (film címe, előadás időpontja, helyárak) megadásával a mozi vezetője definiálja..." ===== | |||
* Követelmény leírás → formalizálni, specifikációvá alakítani | * Követelmény leírás → formalizálni, specifikációvá alakítani | ||
| 656. sor: | 671. sor: | ||
* Műsorterv definiálás: eladható székek definiálása → kimenet: eladandó székek | * Műsorterv definiálás: eladható székek definiálása → kimenet: eladandó székek | ||
== 8. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5416,Szoftvertechnologia_-_8._eloadas 8. előadás] == | ||
=== 5.diasor/ === | === 5.diasor. 2013: [http://directory.iit.bme.hu/belso/st/p12_6.pdf Part12 - p12_6.pdf] - Specification 2 === | ||
===== 11, Specifikáció ===== | ===== 11, Specifikáció ===== | ||
* Formális leírás készítése, mely eleget tesz a követelményeknek | * Formális leírás készítése, mely eleget tesz a követelményeknek | ||
| 664. sor: | 679. sor: | ||
* Funkcionális kép (mit kell csinálni), strukturális kép (kik a résztvevők), dinamika (időbeli viselkedés) | * Funkcionális kép (mit kell csinálni), strukturális kép (kik a résztvevők), dinamika (időbeli viselkedés) | ||
* Funkcionalitás lényege, hogy adat transzformációként képzeljük el (bejövőből valamilyen kimenő adat), formális leírása a ContextDiagram (ebbe beleugorva szétszedtük elemi folyamatokra, adatáramlásra, adattárolásra) | * Funkcionalitás lényege, hogy adat transzformációként képzeljük el (bejövőből valamilyen kimenő adat), formális leírása a ContextDiagram (ebbe beleugorva szétszedtük elemi folyamatokra, adatáramlásra, adattárolásra) | ||
* Process speci: minden process felbontható DataFlow ábrává, míg primitív nem lesz → ekkor szoktunk process specit írni: | * Process speci: minden process felbontható DataFlow ábrává, míg primitív nem lesz → ekkor szoktunk process specit írni: | ||
** Milyen paramétereink vannak (InputOut) | ** Milyen paramétereink vannak (InputOut) | ||
** Tevékenységek leírása | ** Tevékenységek leírása strukturált angol nyelvvel + szerkezeti konstrukció a tevékenységek összefűzésére, kapcsolatuk szerint: | ||
*** szekvencia, egymás után | *** szekvencia, egymás után | ||
*** szelekció, választás: vagy ezt, vagy azt | *** szelekció, választás: vagy ezt, vagy azt | ||
*** iterálunk, adott tevékenységet hajtjuk végre adott feltételszer/ig | *** iterálunk, adott tevékenységet hajtjuk végre adott feltételszer/-ig | ||
==== 00:07:45 ==== | ==== 00:07:45 ==== | ||
| 697. sor: | 711. sor: | ||
==== 00:35:05 ==== | ==== 00:35:05 ==== | ||
===== 19 | |||
==== 00:38:55 ==== | |||
=== váltás, 2013: [http://directory.iit.bme.hu/belso/st/p12-x-hu-ex.pdf Gyak12 - p12-x-hu-ex.pdf], 4. dia === | |||
===== 19 ===== | |||
* Szekvencia (struct):<code> data = a + b + c</code> | * Szekvencia (struct):<code> data = a + b + c</code> | ||
* Selection (enumeráció): <code> data = [ a | b | c ] </code> | * Selection (enumeráció): <code> data = [ a | b | c ] </code> | ||
| 708. sor: | 727. sor: | ||
** A szöveg is jól felülírja | ** A szöveg is jól felülírja | ||
* Ezek hogyan kapcsolódnak egymáshoz | * Ezek hogyan kapcsolódnak egymáshoz | ||
* DVD, példány, szállító, ügyfél, kölcsönöz (határidő miatt), profil | * DVD, példány, szállító, ügyfél, kölcsönöz (határidő miatt), profil | ||
=== vissza, XML (What is XML?); 2013: [http://directory.iit.bme.hu/belso/st/p12_6.pdf Part12 - p12_6.pdf], 12. dia === | |||
==== 00:55:10 ==== | ==== 00:55:10 ==== | ||
| 718. sor: | 738. sor: | ||
* Szintaktika (pl. elkezdek egy tag-et, azt be is zárom) | * Szintaktika (pl. elkezdek egy tag-et, azt be is zárom) | ||
* Szemantika (Értelmes-e, tudunk-e vele mit kezdeni), leírása XML sémával vagy DTD-vel (DocumentTypeDefinition) (önleírók) | * Szemantika (Értelmes-e, tudunk-e vele mit kezdeni), leírása XML sémával vagy DTD-vel (DocumentTypeDefinition) (önleírók) | ||
* | * '''W3C''' társaság → tutorialok | ||
==== 01:02:26 ==== | ==== 01:02:26 ==== | ||
| 739. sor: | 759. sor: | ||
* Pl 1.08p | * Pl 1.08p | ||
* Lehet egyben nyitó és záró tag (üres): <email /> ugyanaz, mint <email></email> | * Lehet egyben nyitó és záró tag (üres): <email /> ugyanaz, mint <email></email> | ||
* | * '''Megkötések''' nevekre: lehet betű, szám, egyéb; nem kezdődik számmal; XML szóval nem kezdünk; Nem tartalmaz Space-t | ||
==== 01:10:45 ==== | ==== 01:10:45 ==== | ||
| 750. sor: | 770. sor: | ||
==== 01:13:38 ==== | ==== 01:13:38 ==== | ||
===== 25, Elem vs. attribútum ===== | ===== 25, Elem vs. attribútum ===== | ||
* Alapszabály: ha egy attribútum a szerkezetben levő dologra vonatkozik, akkor legyen | * Alapszabály: ha egy attribútum a szerkezetben levő dologra vonatkozik, akkor legyen '''eleme''' | ||
* | * '''Attribútum''', ha nem magának az ábrázolt dolognak a lényege, hanem az XML leírással (adatszerkezettel) függ össze (pl. személy sorszáma) | ||
==== 01:17:07 ==== | ==== 01:17:07 ==== | ||
| 762. sor: | 782. sor: | ||
==== 01:20:20 ==== | ==== 01:20:20 ==== | ||
===== 27, Validáció ===== | ===== 27, Validáció ===== | ||
* XML doksi | * XML doksi '''jól formált''', ha megfelel az XML '''szintaxisnak''' | ||
* | * '''érvényes''', ha megfelel a DTD/XML Sémában megadott formának, '''szemantikailag''' helyes | ||
* <code> <![CDATA[”……”]]></code> CodeData, figyelmen kívül lesz hagyva | * <code> <![CDATA[”……”]]></code> CodeData, figyelmen kívül lesz hagyva | ||
== 9. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5417,Szoftvertechnologia_-_9._eloadas 9. előadás] == | ||
Speci – formális leírás | Speci – formális leírás | ||
3 szempont: funkcionális kép (mit kell tenni), | 3 szempont: funkcionális kép (mit kell tenni), '''szerkezeti''' (elemek, adatok, kapcs), dinamikus (időbeli) | ||
=== XML folytatás, 2013: [http://directory.iit.bme.hu/belso/st/p12_6.pdf 12. Part12_6 - p12_6.pdf] === | |||
==== EA8/01:21:52 ==== | ==== EA8/01:21:52 ==== | ||
| 810. sor: | 832. sor: | ||
** DTD: <code><!ATTLIST person number CDATA #REQUIRED></code> | ** DTD: <code><!ATTLIST person number CDATA #REQUIRED></code> | ||
** XML: <code><person number="5677" /></code> | ** XML: <code><person number="5677" /></code> | ||
=== váltás, feladat: 2013: [http://directory.iit.bme.hu/belso/st/p12-x-hu-ex.pdf Gyak12 - p12-x-hu-ex.pdf], 5. dia, 13:56-nál 6. dia, 15:43-nál 7. dia, 16:18 8. dia === | |||
==== 00:12:40 ==== | |||
===== Példák, 13p – 23p ===== | ===== Példák, 13p – 23p ===== | ||
| 825. sor: | 851. sor: | ||
Lift másodikra → fel vagy lefelé indul? Mi a korábbi állapot, oda hogyan kerültem, stb… | Lift másodikra → fel vagy lefelé indul? Mi a korábbi állapot, oda hogyan kerültem, stb… | ||
* → Szekvencia, sorrendi hálózat, eseménysorrendek → állapotok, állapottábla | * → Szekvencia, sorrendi hálózat, eseménysorrendek → állapotok, állapottábla | ||
==== 00:33:20 ==== | |||
===== Példa 33p ===== | ===== Példa 33p ===== | ||
| 831. sor: | 859. sor: | ||
alma 24 körte 73 97 | alma 24 körte 73 97 | ||
* Beolvasás karakterenként → új karakter egy esemény. | * Beolvasás karakterenként → új karakter egy esemény. | ||
* Osztályozzuk az eseményeket! ( | * Osztályozzuk az eseményeket! (következő állapot/tevékenység) | ||
(állapot) Szeparátor Számjegy Sorvége Egyéb | |||
Accept | (állapot) Szeparátor Számjegy Sorvége Egyéb | ||
(elfogadunk) Accept/ Get/X=f(c) | Accept (elfogadunk) Accept/ Get/X=f(c) (BejöttSzám Felvesz) accept / print; Y = 0; Wrong | ||
(BejöttSzám Felvesz) accept / print; Y = 0; Wrong | Wrong (rossz adat) Accept/ Wrong accept / print; Y = 0; Wrong | ||
Wrong | Get (SzámJött) Accept/Y=Y+X(SUM+=Szám) Get/X=X*10 + f(c) accept / Y=Y+X;print; Y = 0; Wrong | ||
(rossz adat) Accept/ Wrong accept / print; Y = 0; Wrong | |||
Get | |||
(SzámJött) Accept/Y=Y+X | |||
(SUM+=Szám) Get/X=X*10 + f(c) accept / Y=Y+X; | |||
print; Y = 0; Wrong | |||
* Jön esemény, Osztályozzuk, ez alapján lesz oszlopunk, vagyunk épp egy állapotban → Állapot+Esemény helyen van egy tevékenység, Végrehajtom, Majd következő állapot | * Jön esemény, Osztályozzuk, ez alapján lesz oszlopunk, vagyunk épp egy állapotban → Állapot+Esemény helyen van egy tevékenység, Végrehajtom, Majd következő állapot | ||
| 847. sor: | 871. sor: | ||
* STD: State Transition Diagram | * STD: State Transition Diagram | ||
==== 00:23:20 | ==== 00:23:20 ==== | ||
=== Vissza a diákhoz, 2013: [http://directory.iit.bme.hu/belso/st/p12_6.pdf 12. Part12_6 - p12_6.pdf], 23. dia, Specification2 / DTD - DTD Attributes === | |||
=== Vissza a diákhoz, 2013: [http://directory.iit.bme.hu/belso/st/p13_6.pdf 13. Part13_6 - p13_6.pdf], 23. dia, 4. dia, Specification3 / Behavior model - Behavior modeling === | |||
==== 01:06:40 ==== | |||
==== 01:07:16 ==== | ==== 01:07:16 ==== | ||
==== 01:08:18 ==== | ==== 01:08:18 ==== | ||
| 859. sor: | 889. sor: | ||
==== 01:12:34 ==== | ==== 01:12:34 ==== | ||
===== 36, Kombinált DFD ===== | ===== 36, Kombinált DFD ===== | ||
=== Vissza a diákhoz, 2013: [http://directory.iit.bme.hu/belso/st/p12_6.pdf 12. Part12_6 - p12_6.pdf], 10. dia, Specification2 / Other models - Syntax graph === | |||
==== 01:12:53 ==== | ==== 01:12:53 ==== | ||
| 864. sor: | 896. sor: | ||
* Főleg kifejezések megadására lehet használni | * Főleg kifejezések megadására lehet használni | ||
* Átjutni balról jobbra | * Átjutni balról jobbra | ||
== 10. | ==== 01:18:45 ==== | ||
===== 38, Backus - Naur form BNF ===== | |||
== [http://bme.videotorium.hu/hu/recordings/details/5418,Szoftvertechnologia_-_10._eloadas 10. előadás] == | |||
Specifikáció: formális leírás sw-re, mely kielégíti a követelményeinket. Funkcionális, szerkezeti, időbeli kép | Specifikáció: formális leírás sw-re, mely kielégíti a követelményeinket. Funkcionális, szerkezeti, időbeli kép | ||
=== 5.Diasor/ === | === 5.Diasor. 2013: [http://directory.iit.bme.hu/belso/st/p12_6.pdf 12. Part12_6 - p12_6.pdf], 24. dia, Specification2 / Algebraic axioms - Algebraic axioms (An algebra is a set of objects...) === | ||
==== | ==== 00:00:47 ==== | ||
===== 39, Algebrai axiómák, Absztrakt adatszerkezetek ===== | ===== 39, Algebrai axiómák, Absztrakt adatszerkezetek ===== | ||
* Adatszerkezetek: tömb, bináris fa, láncolt listák… | * Adatszerkezetek: tömb, bináris fa, láncolt listák… | ||
| 901. sor: | 935. sor: | ||
===== 41, Műveletek, 29p ===== | ===== 41, Műveletek, 29p ===== | ||
* Három kategória: Konstruktor, Modifier, Behavior | * Három kategória: Konstruktor, Modifier, Behavior | ||
* Konstruktor: minimális adathalmaz, szükséges ahhoz, hogy az összes lehetséges adatszerkezetet | * '''Konstruktor''': minimális adathalmaz, szükséges ahhoz, hogy az összes lehetséges adatszerkezetet elő tudjam állítani. Van adatszerkezet-típusú visszatérési értéke és bővíti is a halmazt! Pl. stacknél: new(), push() → Új stack | ||
elő tudjam állítani. Pl | * '''Modifier'''/módosító: szintén új adatszerkezetet állít elő, de csak módosítja az adatszerkezetet, nélküle is tudunk létrehozni. Pl. stacknél: pop(), empty() | ||
* Modifier: | * '''Behavior'''/viselkedés: adatszerkezet jellemzője az eredmény. Visszatérési értékei között nincs adatszerkezet-típus. | ||
* Majd a Behaviort és Modifiert alkalmazzuk a konstruktoron. | |||
* | ** modifier(konstruktor)= ... | ||
* Majd a Behaviort és | ** behaviour(konstruktor)= ... | ||
* lásd még: [[Media:szofttech_algebrai_axiomak.pdf|Algebrai axiómák hasznos segédlet]] | |||
==== 00:28:00 ==== | ==== 00:28:00 ==== | ||
| 917. sor: | 952. sor: | ||
===== 45-46, Példa, lista, 42p ===== | ===== 45-46, Példa, lista, 42p ===== | ||
==== 00:56: | ==== 00:56:36 ==== | ||
===== Petri nets, modeling concurrent processes ===== | |||
(nincs meg a 2013. tavaszi diák között a hivatalos honlapon) | |||
==== 01:03:25 ==== | ==== 01:03:25 ==== | ||
===== 47-48, Petri hálók 58p ===== | ===== 47-48, Petri hálók 58p ===== | ||
| 948. sor: | 988. sor: | ||
===== 54, Nagyon szép ábra, 1:23p ===== | ===== 54, Nagyon szép ábra, 1:23p ===== | ||
== | ==== utolsó dia: Petri-hálóknál: Example: Reserve two resources ===== | ||
== [http://bme.videotorium.hu/hu/recordings/details/5419,Szoftvertechnologia_-_11._eloadas 11. előadás] == | |||
=== Specification / Specification, fejezetcímek - 2013: [http://directory.iit.bme.hu/belso/st/p13_6.pdf Part12 - p12_6.pdf], 12. dia === | |||
==== 00:00:41 ==== | ==== 00:00:41 ==== | ||
==== 00:01:00 ==== | ==== 00:01:00 ==== | ||
| 977. sor: | 1 020. sor: | ||
==== 00:13:08 ==== | ==== 00:13:08 ==== | ||
===== 65-66, UsersManual, 13p körül ===== | ===== 65-66, UsersManual, 13p körül ===== | ||
* Bevezetés, | * Bevezetés, rendszeráttekintés, Getting Started, rendszerhasználat, összetettebb műveletek, Error-üzenetek, How-to | ||
* Bevezetés: általános áttekintés a projektre, milyen elérési pontok | * Bevezetés: általános áttekintés a projektre, milyen elérési pontok | ||
* Rendszer áttekintése! | * Rendszer áttekintése! | ||
* | * Getting Started: install, login, főmenü, help | ||
* Rendszer használata | * Rendszer használata | ||
* | * Extra szolgáltatások részletezése | ||
* Error: jól értelmezhetők legyenek | * Error: jól értelmezhetők legyenek | ||
---- | ---- | ||
Specifikáció vége | |||
---- | |||
=== PÉLDÁK megoldása === | |||
===== | === 1. [http://directory.iit.bme.hu/belso/st/p11-x-hu-ex.pdf p11-x-hu-ex.pdf] (2013, Specification problems) === | ||
==== 00:20:40 (specifikációs diák vége) ==== | |||
===== "Miért rossz az alábbi ábra?" (lehet ilyen vizsgán) ===== | |||
=== 2. [http://directory.iit.bme.hu/belso/st/p12-x-hu-ex.pdf p12-x-hu-ex.pdf] (2013) === | |||
==== 00:24:03 ==== | |||
===== 2013: 2. dia - "Olyan nyilvántartást akarunk készíteni..." ===== | |||
[[File:Szofttech_videójegyzet_02._p12-x-hu-ex.pdf,_2._Olyan_nyilvántartást_akarunk_készíteni.png|400px]] | |||
=== 3. [http://directory.iit.bme.hu/belso/st/p12-x-hu-ex.pdf p12-x-hu-ex.pdf] (2013) === | |||
==== 00:29:25 ==== | |||
===== 2013: 3. dia, "A kari TDK konferenciára..." ===== | |||
[[File:Szofttech_videójegyzet_03._p12-x-hu-ex.pdf,_3._A_kari_TDK_konferenciára.png|400px]] | |||
=== 4. [http://directory.iit.bme.hu/belso/st/p12-x-hu-ex.pdf p12-x-hu-ex.pdf] (2013) === | |||
==== 00:42:48 ==== | |||
===== 2013: 11. dia, "Az alábbi három XML részlet közül melyik helyes szintaktikailag ? Egy személy (person) leírására melyiket választaná, miért ?" ===== | |||
=== 5. [http://directory.iit.bme.hu/belso/st/ipt6maj30.pdf 2006. május 30-i vizsga - ipt6maj30.pdf] === | |||
==== 00:44:15 ==== | |||
===== | ===== 2013: 5. feladat, "5. Definiálja az adatfolyam-ábrán szereplı CU vezérlőegység egy lehetséges állapottábláját úgy, hogy az konzisztens legyen (ne legyen ellentmondásban) az adatfolyam és adatspecifikációval !" ===== | ||
Állapot / Esemény Tudor Vidor Kuka | Állapot / Esemény Tudor Vidor Kuka | ||
| 1 002. sor: | 1 074. sor: | ||
A megadott tevékenységeket meg csak úgy be kell szórni valahova (get, proc, write) | A megadott tevékenységeket meg csak úgy be kell szórni valahova (get, proc, write) | ||
===== 4. ===== | === 6. [http://directory.iit.bme.hu/belso/st/p13-x-hu-ex.pdf Gyak13_1 - p13-x-hu-ex.pdf] === | ||
===== 5. ===== | ==== 00:57:00 ==== | ||
===== 2013: 4. dia (vagy 2006. június 17-i vizsga - (ipt6jun17).pdf, 3. feladat) ("Egy adatfolyam-ábrán szereplő vezérlőegységet az alábbi állapotgéppel írunk le:..." ===== | |||
[[File:Szofttech_videójegyzet_06._p13-x-hu-ex.pdf,_4._Egy_adatfolyam-ábrán_szereplő_vezérlőegységet_az_alábbi_állapotgéppel_írunk_le.png|400px]] | |||
=== 7. 2013: [http://directory.iit.bme.hu/belso/st/p12-x-hu-ex.pdf Gyak12_1 - p12-x-hu-ex.pdf] === | |||
==== 1:01:30 ==== | |||
===== 2013: 13. dia, ill. 2005. május 24-i vizsga - (ipt5maj24).pdf, 5. feladat ("Algebrai axiómák segítségével specifikálja az alábbi műveletekkel jellemzett, maximum 10 elemet tartalmazó halmazt (minden elem különböző) ! Az axiómák felírásakor megengedett összehasonlító művelet használata.") ===== | |||
Algebrai axiómák | Algebrai axiómák | ||
| 1 013. sor: | 1 096. sor: | ||
//Halmaz, vagyis 1 elem csak egyszer szerepelhet! | //Halmaz, vagyis 1 elem csak egyszer szerepelhet! | ||
== 12. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5420,Szoftvertechnologia_-_12._eloadas 12. előadás] == | ||
==== Feladatmegoldás ==== | ==== Feladatmegoldás ==== | ||
=== 11. ea. 7. példájának folytatása. 7. 2013: [http://directory.iit.bme.hu/belso/st/p12-x-hu-ex.pdf Gyak12_1 - p12-x-hu-ex.pdf] === | |||
===== 2013: 13. dia, ill. 2005. május 24-i vizsga - (ipt5maj24).pdf, 5. feladat ("Algebrai axiómák segítségével specifikálja az alábbi műveletekkel jellemzett, maximum 10 elemet tartalmazó halmazt (minden elem különböző) ! Az axiómák felírásakor megengedett összehasonlító művelet használata.") ===== | |||
Egy karakter, és az 1 karakterből álló string nem ugyanaz!!! | Egy karakter, és az 1 karakterből álló string nem ugyanaz!!! | ||
| 1 033. sor: | 1 119. sor: | ||
DUPLO(ADD(s,x)) = igaz, DUPLO(s), vagy ha az utolsó karakter = x, az utolsó hozzáadottal egyezik | DUPLO(ADD(s,x)) = igaz, DUPLO(s), vagy ha az utolsó karakter = x, az utolsó hozzáadottal egyezik | ||
===== Petri | ==== 00:22:57 ==== | ||
===== 2013: 14. dia, ill. 2003. június 14-i vizsga - (ipt3jun14).pdf, 5. feladat, ill. 2005. január 4-i vizsga - (ipt5jan4).pdf, 5. feladat ("Algebrai axiómák segítségével specifikálja az alábbi műveletekkel jellemzett stringet ! Az axiómák felírásakor megengedett a két karaktert összehasonlító művelet használata.") ===== | |||
==== 00:34:30 ==== | |||
===== Petri-hálós feladat, Elérhetőségi gráf: markerezés. [http://directory.iit.bme.hu/belso/st/ipt2jun15.pdf 2002. június 15-i vizsga - ipt2jun15.pdf], 1. feladat ("Az ábrán szereplő markerezésből kiindulva adja meg a Petri-háló elérhetőségi gráfját!") (2013. tavaszi diákban már nincs Petri-háló!) ===== | |||
1100 → 0110 vagy 1001 → … → 0020 → 0011 → 0020 → 0011… | 1100 → 0110 vagy 1001 → … → 0020 → 0011 → 0020 → 0011… | ||
=== 6.Diasor, 37p. === | === 6.Diasor, 37p. 2013: [http://directory.iit.bme.hu/belso/st/p14_6.pdf Part14 - p14_6.pdf] elejétől: Design / Introduction... === | ||
==== 00:36:51 ==== | |||
===== Design / Introduction ===== | |||
==== 00:38:34 ==== | ==== 00:38:34 ==== | ||
==== 00:40:18 ==== | ==== 00:40:18 ==== | ||
| 1 098. sor: | 1 192. sor: | ||
* Fan-out: 1 modul hány alárendeltnek parancsol (7 körül jó) | * Fan-out: 1 modul hány alárendeltnek parancsol (7 körül jó) | ||
* Fan-in: „hány főnökünk van közvetlenül”, erre nehéz számot mondani, | * Fan-in: „hány főnökünk van közvetlenül”, erre nehéz számot mondani, | ||
* Vezérlés és döntési hatáskör, döntés hasítás fogalma | * Vezérlés és döntési hatáskör, döntés hasítás fogalma | ||
== 13. | ===== Design / Basic Concepts, Modularity - Afferent, Efferent (2013: 13. dia) ===== | ||
== [http://bme.videotorium.hu/hu/recordings/details/5421,Szoftvertechnologia_-_13._eloadas 13. előadás] == | |||
=== 2013: [http://directory.iit.bme.hu/belso/st/p14_6.pdf Part14 - p14_6.pdf], Design / Basic Concepts === | |||
===== Modularity - Structure diagram, 2013: 12. dia; az új anyag a Scope of control, Scope of decision ===== | |||
Tervezés: a speciből kiindulva megmondjuk, hogy mit kell csinálni ahhoz, hogy legyen szoftverünk. Munkaterv, kotta készítése, napi teendőkre → részleteket feltárjuk | Tervezés: a speciből kiindulva megmondjuk, hogy mit kell csinálni ahhoz, hogy legyen szoftverünk. Munkaterv, kotta készítése, napi teendőkre → részleteket feltárjuk | ||
| 1 124. sor: | 1 223. sor: | ||
* Mérete | * Mérete | ||
* Kapcsolás ideje, mikor jön létre | * Kapcsolás ideje, mikor jön létre | ||
* pl. 16perc | * pl. 16perc | ||
* Mit kommunikálunk? | * Mit kommunikálunk? | ||
** Adat: leggyengébb, Ismerjük a paramétereket, primitív paraméterek (pl. int) | ** Adat: leggyengébb, Ismerjük a paramétereket, primitív paraméterek (pl. int) | ||
** Stamp csatolás: Összetett adatot adunk át (pl. rekord, struktúra). Ugyanazt a szerkezetet kell | ** Stamp csatolás: Összetett adatot adunk át (pl. rekord, struktúra). Ugyanazt a szerkezetet kell ismerni a két félnek → függenek egy harmadiktól | ||
ismerni a két félnek → függenek egy harmadiktól | ** Kontrol: vezérlést adunk át, pl. EOF, a másik modul működését befolyásoljuk, vagyis kívülről vezéreljük | ||
** Kontrol: | |||
** KözösAdatok: pl. globális adatok → kinek a kezében van? | ** KözösAdatok: pl. globális adatok → kinek a kezében van? | ||
** Tartalmi jellegű: Egyik programrészből (pl. modul) a másik programrész kódját adatkezelem. | ** Tartalmi jellegű: Egyik programrészből (pl. modul) a másik programrész kódját adatkezelem. | ||
| 1 136. sor: | 1 233. sor: | ||
** Minél több adatot adunk át (paraméter), annál nagyobb valószínűséggel lesz baj. | ** Minél több adatot adunk át (paraméter), annál nagyobb valószínűséggel lesz baj. | ||
** Legjobb: 1 paraméter. | ** Legjobb: 1 paraméter. | ||
* Mikor jön létre | * Mikor jön létre | ||
** Program írásakor | ** Program írásakor | ||
| 1 149. sor: | 1 245. sor: | ||
===== 18-19, Kohézió: összetartó erő ===== | ===== 18-19, Kohézió: összetartó erő ===== | ||
* Objektumok mennyire állnak közel egymáshoz? Milyen a kohézió? | * Objektumok mennyire állnak közel egymáshoz? Milyen a kohézió? | ||
* ''' | * '''Funkcionálisan kohézív''', ha egyetlen egy funkciót valósít meg, pl. gyökvonás. Csak azért van ott leírva minden, mert szükséges az adott folyamathoz | ||
* '''Szekvenciális''' kohézió: lazább, pl. GetValidInput: Vesz egy inputot, és megnézi, hogy érvényes-e. | * '''Szekvenciális''' kohézió: lazább, pl. GetValidInput: Vesz egy inputot, és megnézi, hogy érvényes-e. | ||
** Gyengébb, hiszen két dolgot végez el. Nem jó, bontsuk inkább két részre. | ** Gyengébb, hiszen két dolgot végez el. Nem jó, bontsuk inkább két részre. | ||
| 1 159. sor: | 1 255. sor: | ||
==== 00:56:50 ==== | ==== 00:56:50 ==== | ||
===== 20, Történelem ===== | ===== 20, Történelem (Design / Design Methods - History (Early 70s - Structured Programming, etc.)) ===== | ||
* Srukturált programozás (pl. Pascal), strukturált tervezés, srukturált analízis, formális módszerek, objektumorientáltság, újrahasznosíthatóság, komponens-alapú | * Srukturált programozás (pl. Pascal), strukturált tervezés, srukturált analízis, formális módszerek, objektumorientáltság, újrahasznosíthatóság, komponens-alapú | ||
| 1 165. sor: | 1 261. sor: | ||
===== 21, Strukturált programozás ===== | ===== 21, Strukturált programozás ===== | ||
* '''Top-Down''', fentről lefelé haladunk | * '''Top-Down''', fentről lefelé haladunk | ||
* Dijkstra | |||
* Oszd meg és uralkodj, bontsuk szét | * Oszd meg és uralkodj, bontsuk szét | ||
* Hierarchikus szerkezet | * Hierarchikus szerkezet | ||
| 1 179. sor: | 1 276. sor: | ||
==== 01:14:44 ==== | ==== 01:14:44 ==== | ||
===== 26, Strukturált analízis ===== | ===== 26, Strukturált analízis (Structured analysis) ===== | ||
* DeMarco | * DeMarco | ||
** DFD – a problémát adatok áramlásaként ábrázolja | ** DFD – a problémát adatok áramlásaként ábrázolja | ||
** Draw Structure Chart – a programot funkcionális komponensek hierarchiájában írja le. A DFD-ből származik | ** Draw Structure Chart – a programot funkcionális komponensek hierarchiájában írja le. A DFD-ből származik | ||
== 14. | |||
===== Design / Software Architectures - Architecture fogalmi meghatározása, ami köv. előadáson kerül megtárgyalásra ===== | |||
== [http://bme.videotorium.hu/hu/recordings/details/5422,Szoftvertechnologia_-_14._eloadas 14. előadás] == | |||
=== Design / Software Architectures - Architecture 2013: Software Architectures / Concepts - Architecture ("art and science of building; design or style of building(s) [Oxford dictionary, 1989]") - [http://directory.iit.bme.hu/belso/st/p15_6.pdf Part15_6 - p15_6.pdf], elejétől === | |||
==== 00:00:42 ==== | ==== 00:00:42 ==== | ||
| 1 232. sor: | 1 334. sor: | ||
==== 00:18:54 ==== | ==== 00:18:54 ==== | ||
===== 33 | |||
* | ==== 00:20:54 ==== | ||
* Középen egy nagy adatbázis (oszlop-sorok) | ===== 33. BlackBoard ===== | ||
* megfelel a hagyományos adatbáziskezelő rendszereknek | |||
* Középen egy nagy adatbázis (oszlop-sorok) (repository (shared data)) | |||
* Hozzá csatlakoznak processzek | * Hozzá csatlakoznak processzek | ||
* → Nagy közös adatszerkezetek, amin egymástól független processzek dolgoznak | * → Nagy közös adatszerkezetek, amin egymástól független processzek dolgoznak | ||
* Tranzakciók | * Tranzakciók | ||
[[File:Szofttech_Vizsga_Software_Architectures_Patterns_Blackboard_(repository_(shared_data)).png|400px]] | |||
==== 00:22:34 ==== | |||
* Előnye: | * Előnye: | ||
** Felelősségek nagyon jól el vannak különítve | ** Felelősségek nagyon jól el vannak különítve | ||
| 1 243. sor: | 1 352. sor: | ||
** Nehéz tesztelni, pl. átírok valamit a központi adatbázisban, megnézzük, a többi kis rész működik-e továbbra is… | ** Nehéz tesztelni, pl. átírok valamit a központi adatbázisban, megnézzük, a többi kis rész működik-e továbbra is… | ||
** Nem épp hatékony, magas overhead, ráadásul gyorsan változik | ** Nem épp hatékony, magas overhead, ráadásul gyorsan változik | ||
==== 00: | |||
===== 34 | ==== 00:28:12 ==== | ||
===== 34. Interpreter, 30p körül ===== | |||
* Egy egyszerű kis virtuális gép (pl. állapotgép, tábla) | * Egy egyszerű kis virtuális gép (pl. állapotgép, tábla) | ||
* Fogom az | * Fogom az eventet, ez, és az aktuális állapot alapján becímzünk a táblába, a táblából kiolvasom az értéket, és átteszem a következő állapotra, parancskódra egy switch, majd megyek az elejére | ||
értéket, és átteszem a következő állapotra, parancskódra egy switch, majd megyek az elejére | * Engine (maga a program), control state (aktuális állapot), pseudocode (lényegében az állapottábla), program state (adatelemek, amik kellenek a végrehajtáshoz, inputok) | ||
* Engine (maga a program), | |||
[[File:Szofttech_Vizsga_Interpreter_architekturális_minta.png|400px]] | |||
==== 00:40:48 ==== | |||
===== 35, ObjektumOrientált ===== | ===== 35, ObjektumOrientált ===== | ||
* Absztrakt adatszerkezetet implementálunk, amik (az osztályok) egymás metódusait hívják meg. | * Absztrakt adatszerkezetet implementálunk, amik (az osztályok) egymás metódusait hívják meg. | ||
==== 00: | ==== 00:43:02 ==== | ||
===== 36, Event Based, implicit invocation, 43p. ===== | ===== 36, Event Based, implicit invocation, 43p. ===== | ||
* „Előfizetői” minta | * „Előfizetői” minta | ||
* Van egy eseményforrás, ahova beregisztrálnak azok az elemek, akik ezekben érdekeltek, és ha | * Van egy eseményforrás, ahova beregisztrálnak azok az elemek, akik ezekben érdekeltek, és ha változik történik, értesülnek | ||
változik történik, értesülnek | |||
* Sok overhead és nehézség, de használjuk, pl. ablakkezelő | * Sok overhead és nehézség, de használjuk, pl. ablakkezelő | ||
* Előny: objektum interfész, sok event | * Előny: objektum interfész, sok event | ||
| 1 267. sor: | 1 379. sor: | ||
** Korrektség bizonyítása szinte reménytelen (kik kapták meg, milyen sorrendben → ezt igazolni) | ** Korrektség bizonyítása szinte reménytelen (kik kapták meg, milyen sorrendben → ezt igazolni) | ||
==== 00: | ==== 00:49:31 ==== | ||
===== 37, Layered, Rétegelt szerkezet ===== | ===== 37, Layered, Rétegelt szerkezet ===== | ||
* Vízszintesen, a hívások között definiál szinteket | * Vízszintesen, a hívások között definiál szinteket | ||
| 1 275. sor: | 1 388. sor: | ||
* Hátrány: nem minden rendszernél használható, teljesítmény szempontjából probléma lehet a funkciók szétválasztása | * Hátrány: nem minden rendszernél használható, teljesítmény szempontjából probléma lehet a funkciók szétválasztása | ||
[[File:Szofttech_Vizsga_Layered_architecture_pattern.png|400px]] | |||
==== 00:51:20 ==== | ==== 00:51:20 ==== | ||
==== 00:53:00 ==== | ==== 00:53:00 ==== | ||
===== 38-44, Kliens-Szerver, 54p ===== | ===== 38-44, Kliens-Szerver, 54p ===== | ||
* Ált. 3 réteg: | * Ált. 3 réteg: | ||
| 1 289. sor: | 1 400. sor: | ||
* Sokszor 2 fizikai rétegen helyezzük el. | * Sokszor 2 fizikai rétegen helyezzük el. | ||
==== EA14/00:59: | |||
[[File:Szofttech_Vizsga_Software_Architectures_Patterns_Client-server_logical_tiers.png|400px]] | |||
==== 00:54:14 ==== | |||
==== 00:55:11 ==== | |||
==== 00:55:33 ==== | |||
==== 00:59:12 (EA14/00:59:12 == EA15/00:00:40) ==== | |||
===== 45, SOA: Service Oriented Architecture ===== | ===== 45, SOA: Service Oriented Architecture ===== | ||
* pl. Argep.hu, brókerek (kigyűjti az infókat, és ajánlatot mutat) | * pl. Argep.hu, brókerek (kigyűjti az infókat, és ajánlatot mutat) | ||
| 1 295. sor: | 1 413. sor: | ||
* WSDL: Webes szolgáltatások leírása | * WSDL: Webes szolgáltatások leírása | ||
* SOAP: XML-es kommunikáció web szolgáltatások eléréséhez | * SOAP: XML-es kommunikáció web szolgáltatások eléréséhez | ||
* UDDI: | * UDDI: „yellow pages”, szakmák szerint milyen szolgáltatások hol vannak | ||
[[File:Szofttech_Vizsga_Software_Architectures_Patterns_SOA.png|400px]] | |||
* UDDI (Universal Description, Discovery and Integration) | |||
** enables discovery of WSDL | |||
** is accessed using SOAP | |||
* WSDL ([http://www.w3.org/TR/wsdl Web Services Description Language]) | |||
** describes WS | |||
** binds to SOAP | |||
* SOAP ([http://www.w3.org/TR/soap/ Simple Object Access Protocol]) | |||
** enables communication between WS | |||
* WS (Web Services) | |||
==== EA14/01:07:05 == EA15/00:02:03 ==== | ==== EA14/01:07:05 == EA15/00:02:03 ==== | ||
| 1 308. sor: | 1 438. sor: | ||
===== 47, ===== | ===== 47, ===== | ||
* SOAP: Simple Object Access Protocol | * SOAP: Simple Object Access Protocol | ||
** Üzenetformátum, RPC-t takar el ( | ** Üzenetformátum, RPC-t takar el (Remote Procedure Call, távoli eljáráshívás) | ||
** Különböző Node-okat definiál | ** Különböző Node-okat definiál | ||
*** Sender: küld egy üzenetet | *** Sender: küld egy üzenetet | ||
*** Receiver: vesz | *** Receiver: vesz | ||
*** Intermediary: közbenső elem | *** Intermediary: közbenső elem | ||
** Header,Body → | ** Header, Body → Strukturált | ||
* UDDI: UniversalDescription, Discovery and Integration 1:12p | * UDDI: UniversalDescription, Discovery and Integration 1:12p | ||
** Aranyoldalak szerű könyv | ** Aranyoldalak-szerű könyv | ||
** Előfizethető | ** Előfizethető | ||
==== EA14/01:12:58 == EA15/00:03:46 ==== | ==== 01:12:58 (EA14/01:12:58 == EA15/00:03:46) ==== | ||
===== 48, SOE, Service Oriented Enterprise: Szolgáltatásmérnökség ===== | ===== 48, SOE, Service Oriented Enterprise: Szolgáltatásmérnökség (2013: 24. dia) ===== | ||
* Szolgáltatási rendszer | * Szolgáltatási rendszer | ||
* Szabványosítás | * Szabványosítás | ||
* Folyamatok | * Folyamatok | ||
== 15. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5423,Szoftvertechnologia_-_15._eloadas 15. előadás] == | ||
* BPEL: Üzleti folyamat leíró nyelv | === Software architecture, 2013: [http://directory.iit.bme.hu/belso/st/p15_6.pdf Part15 - p15_6.pdf] === | ||
===== 2013: 21. dia, SOA - Service Oriented Architecture ===== | |||
===== SOE – Service Oriented Enterprise ===== | |||
* BPEL (Business Process Execution Language): Üzleti folyamat leíró nyelv | |||
** Dokumentum flow jelleg, mikor-milyen lépések (amik esetleg újabb szolgáltatások igénybevételét jelentik), melyek mögött emberi tevékenység járhat | ** Dokumentum flow jelleg, mikor-milyen lépések (amik esetleg újabb szolgáltatások igénybevételét jelentik), melyek mögött emberi tevékenység járhat | ||
* Végrehejtásra két mód: | * Végrehejtásra két mód: | ||
** Orchestration: zenekar vezénylése, egy process ami leírja a folyamatot, tartozik hozzá egy végrehajtógép, ami a process elemeit végrehajtja | ** '''Orchestration''': zenekar vezénylése, egy process ami leírja a folyamatot, tartozik hozzá egy végrehajtógép, ami a process elemeit végrehajtja (''orkesztráció (orchestration) – egy központ ismeri a teljes folyamatot, az kér szolgáltatást az együttműködőktől, akik csak a saját dolgukat végzik.'') | ||
** Choreography: ha elkezdődik a folyamat (pl. érkezik megrendelés), továbbítjuk az első állomásra, ahol az előírt tevékenységet végrehajtják. Majd, hogy hova kell továbbküldeni (szolgáltatást kérni), azt tudja az első állomás. | ** '''Choreography''': ha elkezdődik a folyamat (pl. érkezik megrendelés), továbbítjuk az első állomásra, ahol az előírt tevékenységet végrehajtják. Majd, hogy hova kell továbbküldeni (szolgáltatást kérni), azt tudja az első állomás. | ||
Nincs központi rész | Nincs központi rész (''koreográfia (choreography) – a folyamat nincs központosítva, minden résztvevő a dolgát elvégezve az általa ismert következő résztvevő(ke)t aktivizálja.'') | ||
* BPEL4WS: BPEL web service-ekhez. | * BPEL4WS: BPEL web service-ekhez. | ||
* WS-*: WebService Szabványok, ajánlások | * WS-*: WebService Szabványok, ajánlások | ||
| 1 341. sor: | 1 476. sor: | ||
* WS-Coord: Hosszú távú tranzakcióknál használatos | * WS-Coord: Hosszú távú tranzakcióknál használatos | ||
[[File:Szofttech_Vizsga_Software_Architectures_Patterns_SOE.png|400px]] | |||
==== 00:15:56 - 00:22:36 ==== | |||
* elektronikus közigazgatás, stb.-ről magyarázat, aztán Software Architectures / Document részt átugrottuk | |||
=== váltás, 7. diasor: JSD / Content (Jackson System Development) (Introduction, Case study, Steps in details) (2013: ??) === | |||
==== 00:22:36 ==== | |||
==== 00:22:55 ==== | ==== 00:22:55 ==== | ||
==== 00:29:10 ==== | ==== 00:29:10 ==== | ||
| 1 364. sor: | 1 504. sor: | ||
==== 00:44:14 ==== | ==== 00:44:14 ==== | ||
===== 8 | ===== 8. JSD: lépések ===== | ||
* | |||
* 6 lépés van (1. Entity action step, 2. Entity structure step, 3. Initial model step, 4. Function step, 5. System timing step, 6. Implementation step), ezek szétbonthatók 3 fő lépésre (Model step, Network step, Implementation step) (ld. 44:36) | |||
# Model step: modelleket készítünk | |||
## Entity action step: Kik az entitások, az alapanyagok, ezekkel mi történik, az ő életét mik változtatják meg, milyen akciók történnek | |||
## Entity structure step: entitáshoz hozzákapcsoljuk azokat az eseményeket, akciókat, amik vele történnek, és ezen akciókat még időben rendezzük is, tehát sorrendet fogjuk megadni (közös események is lesznek) | |||
# Network Step: processek hálója, összefüggő processek hálózata jön létre (egyik process üzenget a másiknak, egyik process olvasgat a másikból, stb.) | |||
## Initial model step: előző lépésben összegeztük az eseményeket, ha szimulációt akarunk készíteni, akkor az entitásokon értelmezett események feldolgozására létrehozunk egy modellt; ekkor entitások történetéből megalkotjuk a processt, számítástechnikai modell. Elkészítjük a modellező processt. | |||
## Function step: ha megvannak a modellek, amik szimulálják a világot, akkor azokra kell tenni funkciókat (mivel végül is ezért csináltuk az egész modellezést, hogy legyenek funkciók) (lásd csónakázós példa, funkció: számolja ki, mennyi volt a napi leghosszabb csónakázást, vagy mennyi volt az átlagos csónakázás, stb.) | |||
# Implementation Step: ha megvan az összetett processhálónk, akkor azt implementálni is kell | |||
## System timing step: megmondjuk az időzítéseket, ezek alapján fogjuk az ütemezést elkészíteni: a processeket a meghatározás után valahogy ütemeztetni kell. | |||
## Implementation step: implementáció elkészítése. | |||
==== 00:49:16 ==== | ==== 00:49:16 ==== | ||
| 1 468. sor: | 1 611. sor: | ||
* Hazárd lehetősége | * Hazárd lehetősége | ||
== 16. előadás == | ===== JSD / Steps in details (Step 6: Implementation step), 29. dia (2013: ??) (köv. előadáson még ezt folytatja) ===== | ||
== [http://bme.videotorium.hu/hu/recordings/details/5424,Szoftvertechnologia_-_16._eloadas 16. előadás] == | |||
=== 2013: [http://directory.iit.bme.hu/belso/st/p1_6.pdf Part1 - p1_6.pdf], 7. dia: Introduction / Course information (Assessment, homework...) === | |||
=== JSD / Introduction - JSD steps ismét; mai téma JSD / Steps in details (Step 6: Implementation step), 29. dia (2013: ??) === | |||
==== 00:13:50 ==== | ==== 00:13:50 ==== | ||
==== 00:18:31 ==== | ==== 00:18:31 ==== | ||
===== 29,30, Implementáció ===== | ===== 29,30, Implementáció ===== | ||
| 1 480. sor: | 1 630. sor: | ||
készíteni és vigyázni kell a funkcionalitással, funkc. túlhangsúlyozása zsákutcába vezethet | készíteni és vigyázni kell a funkcionalitással, funkc. túlhangsúlyozása zsákutcába vezethet | ||
=== 8. diasor, OO, UML ( | === 8. diasor, OO, UML (objektumorientált modellező nyelv), RUP; OO Concepts / Content (fejezetcímek: Towards OO, Object Semantics (Objects, Requests, Types, Interfaces, Operations), Object Implementation (Execution, Constructions models; Class, Method), Design Principles (Inheritance, Object variables, Law of Demeter)); 2013: [http://directory.iit.bme.hu/belso/st/p14_6.pdf Part14 - p14_6.pdf], 19. diától (OO Concepts / Design by Contract) === | ||
==== 00:22:48 ==== | |||
==== 00:25:19 ==== | ==== 00:25:19 ==== | ||
==== 00:27:00 ==== | ==== 00:27:00 ==== | ||
| 1 505. sor: | 1 656. sor: | ||
* Absztrakt adatszerkezetek: Adat absztrakció és Procedurális interfész | * Absztrakt adatszerkezetek: Adat absztrakció és Procedurális interfész | ||
* Problémák | * Problémák | ||
** Vagy | ** Vagy névprobléma, vagy kódláthatósági probléma (35p körül) | ||
** Hiányoznak a generikus struktúrák | ** Hiányoznak a generikus struktúrák | ||
** InFix operációk: a+b vagy +(a,b) (→ utóbbi a prefix) | ** InFix operációk: a+b vagy +(a,b) (→ utóbbi a prefix) | ||
*** Vagyis Infix fenn van tartva meghatározott típusokra | *** Vagyis Infix fenn van tartva meghatározott típusokra | ||
* Paradigma: nézetrendszer | * Paradigma: nézetrendszer | ||
** | ** Gondolkodásmódbeli váltás | ||
** Az | ** Az alapvető konstrukció, amire építkezünk, azok az objektumok | ||
** Objektumok vannak, amik együttműködnek egymással | ** Objektumok vannak, amik együttműködnek egymással | ||
** Ennek a kialakítására OO módszertan | ** Ennek a kialakítására: OO módszertan | ||
** Objektumok (kb.: entitás) | ** Objektumok (kb.: entitás) | ||
==== 00:44:08 ==== | ==== 00:44:08 ==== | ||
| 1 563. sor: | 1 714. sor: | ||
futárok, (→ ezek objektumok) | futárok, (→ ezek objektumok) | ||
* Típus: azon objektumtípusok, melyek kielégítik az interfészt | * Típus: azon objektumtípusok, melyek kielégítik az interfészt | ||
* Kielégíti a Liskov féle helyettesítési elvet: ha az A interfész B-ből származik, akkor egy olyan | * Kielégíti a Liskov féle helyettesítési elvet: ha az A interfész B-ből származik, akkor egy olyan objektum, ami támogatja A interfészt, akkor azt bárhol lehet használni olyan helyen, ahol B-nek van deklarálva. Vagyis: B szupertípus, A származtatott típus. A kompatibilis B. A az egy B. Pl. 18. dia | ||
objektum, ami támogatja A interfészt, akkor azt bárhol lehet használni olyan helyen, ahol B-nek | |||
van deklarálva. Vagyis: B szupertípus, A származtatott típus. A kompatibilis B. A az egy B. Pl. 18. dia | |||
==== 01:08:35 ==== | ==== 01:08:35 ==== | ||
| 1 573. sor: | 1 722. sor: | ||
szolgáltatáskéréssel elérhető (vagyis egy szolgáltatás meghív egy operációt) | szolgáltatáskéréssel elérhető (vagyis egy szolgáltatás meghív egy operációt) | ||
** Általános szignatúrása: | ** Általános szignatúrása: | ||
oneway (!= void), Visszatérési érték , Identifier (neve, pl. SetX), Paraméterek (5, 6, stb), | oneway (!= void), Visszatérési érték, Identifier (neve, pl. SetX), Paraméterek (5, 6, stb), | ||
Exception (milyen kivételt dobhat), Contexek | Exception (milyen kivételt dobhat), Contexek | ||
| 1 609. sor: | 1 758. sor: | ||
*** Identitás, egyediség: minden objektumnak saját élete van (referenciák problémája) | *** Identitás, egyediség: minden objektumnak saját élete van (referenciák problémája) | ||
== | ===== OO Concepts / Obj. Implementation - The Construction Model ===== | ||
=== 8.diasor === | == [http://bme.videotorium.hu/hu/recordings/details/5425,Szoftvertechnologia_-_17._eloadas 17. előadás] == | ||
elején: részletek a HF-ről | |||
=== 8.diasor; OO Concepts / Obj. Implementation - The Construction Model (Behavior, Structure, State, Identity) === | |||
==== 00:06:33 ==== | ==== 00:06:33 ==== | ||
===== mai anyag innentől: Class ("An object describes...") (2013: ??) ===== | |||
==== 00:08:40 ==== | ==== 00:08:40 ==== | ||
==== 00:09:40 ==== | ==== 00:09:40 ==== | ||
| 1 622. sor: | 1 778. sor: | ||
* Nem csak öröklés során lehet a struktúrát kibővíteni, hanem felül is definiálhatjuk a meglévő (ősosztálybeli) fogalmakat. (29.dia) | * Nem csak öröklés során lehet a struktúrát kibővíteni, hanem felül is definiálhatjuk a meglévő (ősosztálybeli) fogalmakat. (29.dia) | ||
* Absztrakt operáció (30.dia): csak deklaráljuk, nincs megvalósítva, de mindenhova öröklődik, ahol viszont saját példányt kell definiálni. | * Absztrakt operáció (30.dia): csak deklaráljuk, nincs megvalósítva, de mindenhova öröklődik, ahol viszont saját példányt kell definiálni. | ||
==== 00:13: | |||
=== 2013: [http://directory.iit.bme.hu/belso/st/p14_6.pdf Part14_2 - p14_2.pdf], 19. dia (OO Concepts / Design by Contract - Design by Contract - Bertrand Meyer) === | |||
==== 00:13:45 ==== | |||
==== 00:18:24 ==== | ==== 00:18:24 ==== | ||
==== 00:20:26 ==== | ==== 00:20:26 ==== | ||
| 1 704. sor: | 1 864. sor: | ||
* Megoldás: kapcsolat rejtése. | * Megoldás: kapcsolat rejtése. | ||
=== | === 9.Diasor, UML / Content fejezet-áttekintés, 2013: [http://directory.iit.bme.hu/belso/st/p4_6.pdf Part4_6 - p4_6.pdf] === | ||
==== 1:15:14 ==== | |||
==== 01:15:27 ==== | ==== 01:15:27 ==== | ||
===== 2, Unified Programming Language, áttekintés ===== | ===== 2, Unified Programming Language, áttekintés ===== | ||
| 1 717. sor: | 1 879. sor: | ||
==== EA17/01:19:44 ==== | ==== EA17/01:19:44 ==== | ||
==== EA17/01:23:47 == EA18/00:01:00 ==== | ==== EA17/01:23:47 == EA18/00:01:00 ==== | ||
== [http://bme.videotorium.hu/hu/recordings/details/5426,Szoftvertechnologia_-_18._eloadas 18. előadás] == | |||
=== folyt. 2013: [http://directory.iit.bme.hu/belso/st/p4_6.pdf Part4_6 - p4_6.pdf], 6. diától === | |||
==== EA17/01:23:47 == EA18/00:01:00 ==== | |||
===== UML / Introduction - Scope of the UML (Fuses the concepts...) ===== | |||
===== 4,5, UML: ===== | ===== 4,5, UML: ===== | ||
* Egyesít régebbi | * Egyesít régebbi módszertanokat | ||
* Nyitott dolog, kiterjeszthető | * Nyitott dolog, kiterjeszthető | ||
* Standard, modellező nyelv, nem folyamat | * Standard, modellező nyelv, nem folyamat | ||
| 1 801. sor: | 1 972. sor: | ||
==== 00:36:52 ==== | ==== 00:36:52 ==== | ||
===== 18, 36p körül ===== | ===== 18, 36p körül ===== | ||
* Ha attribútum sora alá van húzva, akkor class-scope (vagyis static, az osztály hatáskörébe | * Ha attribútum sora alá van húzva, akkor class-scope (vagyis static, az osztály hatáskörébe tartozik). | ||
tartozik). | |||
* pl. van a1 és a2, akkor mennyi lesz az „a*” attribútumok értéke. NINCS több „a”, csak 1, a végeredmény 5 lesz a példában. | * pl. van a1 és a2, akkor mennyi lesz az „a*” attribútumok értéke. NINCS több „a”, csak 1, a végeredmény 5 lesz a példában. | ||
| 1 865. sor: | 2 035. sor: | ||
==== 01:08:33 ==== | ==== 01:08:33 ==== | ||
==== 01:14:48 ==== | ==== 01:14:48 ==== | ||
===== utolsó dia: UML / Class Diagram - AssociationEnd ===== | |||
== [http://bme.videotorium.hu/hu/recordings/details/5427,Szoftvertechnologia_-_19._eloadas 19. előadás] == | |||
=== UML / Class Diagram - Association (Name, Property string, stb. ismétlés...; Multiplicity, Name, Navigability ismétlés...), mai óra anyaga: AssociationEnd - Visibility, Ownership, 2013: [http://directory.iit.bme.hu/belso/st/p4_6.pdf Part4 - p4_6.pdf], 35. dia === | |||
==== EA19/00:01:50 ==== | ==== EA19/00:01:50 ==== | ||
==== 00:03:44 ==== | ==== 00:03:44 ==== | ||
==== 00:04:26 ==== | ==== 00:04:26 ==== | ||
| 1 908. sor: | 2 086. sor: | ||
*** Role-nak is van láthatósága, tulajdonoson kívül látja-e más | *** Role-nak is van láthatósága, tulajdonoson kívül látja-e más | ||
*** Role tulajdonosa lehet az asszociáció (vagy a hozzá kapcs. classifier) | *** Role tulajdonosa lehet az asszociáció (vagy a hozzá kapcs. classifier) | ||
== | |||
===== UML / Introduction - Scope of the UML (Fuses the concepts...) ===== | |||
===== Qualifier, minősítő 36, dia ===== | ===== Qualifier, minősítő 36, dia ===== | ||
| 1 935. sor: | 2 115. sor: | ||
* Ha az interfész attribútumokat deklarál, abból még nem következik, hogy azok attribútumként lesznek elérhetők (hanem pl. műveleteken keresztül) | * Ha az interfész attribútumokat deklarál, abból még nem következik, hogy azok attribútumként lesznek elérhetők (hanem pl. műveleteken keresztül) | ||
* Példák 29p. | * Példák 29p. | ||
** UML 1 | ** UML 1: Szaggatott vonal, nagy (üres) nyíllal: interfész implementálása | ||
** UML 2: Szaggatott vonal, normál nyíl, ráírva, hogy | *** http://i.imgur.com/0LfMGKt.png | ||
** UML 2: Szaggatott vonal, normál nyíl, ráírva, hogy <code>«realize»</code> | |||
*** A régi használatát várják el | *** A régi használatát várják el | ||
** Nyalóka: vonal, végén karika: ugyanaz, mint ez előzők | ** Nyalóka: vonal, végén karika: ugyanaz, mint ez előzők | ||
*** Elvárt interfész: Mit várok el; Miközben szolgáltatást végzek kell valaki, aki egy interfészt megvalósít. Jel: Nyalóka, túloldalon félkörrel bevonva | *** Elvárt interfész: Mit várok el; Miközben szolgáltatást végzek kell valaki, aki egy interfészt megvalósít. Jel: Nyalóka, túloldalon félkörrel bevonva | ||
http://i.imgur.com/oQtZpSM.png | |||
==== 00:34:46 ==== | ==== 00:34:46 ==== | ||
| 1 950. sor: | 2 133. sor: | ||
* 37p Class-Car | * 37p Class-Car | ||
==== PÉLDÁK, gyakorlás | === Példák, 2013: [http://directory.iit.bme.hu/belso/st/p5-p-hu-ex.pdf Gyak5 - p5-p-hu-ex.pdf], === | ||
===== | |||
==== 00:42:00 - PÉLDÁK, gyakorlás ==== | |||
===== 1. példa: 2. dia, "A mellékelt ábrán milyen UML elemek láthatóak ?", [http://directory.iit.bme.hu/belso/st/ipt6jan10a.pdf 2006. január 10-i vizsga_a - ipt6jan10a.pdf], 2. feladat ===== | |||
* Aggregáció: Nincs. Asszociáció egyik végén kéne legyen egy ‘‘‘rombusz‘‘‘ | * Aggregáció: Nincs. Asszociáció egyik végén kéne legyen egy ‘‘‘rombusz‘‘‘ | ||
* Függőség: Nincs. Szaggatott vonal, sima fejjel | * Függőség: Nincs. Szaggatott vonal, sima fejjel | ||
| 1 963. sor: | 2 150. sor: | ||
* Absztrakt osztály: Nincs (Italic, dőlttel jelölnénk) | * Absztrakt osztály: Nincs (Italic, dőlttel jelölnénk) | ||
* Sztereotípia: Van ( <<Interface>> ) | * Sztereotípia: Van ( <<Interface>> ) | ||
===== | |||
==== 00:46:03 ==== | |||
===== 2. példa: 3. dia, "Elkészítjük az alábbi X osztály két példányát, x1-et és x2-t. Ezt követően végrehajtjuk a következő két műveletet:", [http://directory.iit.bme.hu/belso/st/ipt4maj19.pdf 2004. május 19-i vizsga - ipt4maj19.pdf], 4. feladat ===== | |||
* 10-10, mert csak 1 a van, mival az static (aláhúzott) ! | * 10-10, mert csak 1 a van, mival az static (aláhúzott) ! | ||
===== | |||
==== 00:48:40 ==== | |||
===== 3. példa: 4. dia, [http://directory.iit.bme.hu/belso/st/v011218.pdf 2001. december 18-i vizsga - v011218.pdf], 5. feladat ===== | |||
* Egy ObjektumDiagram, rajzoljunk osztálydiagramot! | * Egy ObjektumDiagram, rajzoljunk osztálydiagramot! | ||
===== | |||
==== 00:54:26 ==== | |||
1 | |||
===== 4. példa: 5. dia, "A Villamos és Busz osztályok..." ===== | |||
==== 00:56:36 ==== | |||
===== 5. példa: 10. dia "Egy cégnél sok ember dolgozik, egy embernek több..." ===== | |||
==== 01:02:09 ==== | |||
===== 6. példa: 9. dia ("Az A osztályú objektum használni akar egy i interfészt...") ===== | |||
==== 01:07:56 ==== | |||
===== utolsó dia, 7. példa: 6. dia ("Az UML diagram alapján értékeljen minden állítást az alábbi kulcs segítségével!" "1. B bárhol helyettesíthető E-vel, mert az E a B leszármazottja....") ===== | |||
* B bárhol helyettesíthető E-vel, mert E a B leszármazottja: +++ | * B bárhol helyettesíthető E-vel, mert E a B leszármazottja: +++ | ||
* C bárhol helyettesíthető E-vel, mert D a C leszármazottja: -- | * C bárhol helyettesíthető E-vel, mert D a C leszármazottja: -- | ||
| 1 975. sor: | 2 179. sor: | ||
* D add(b:B) függvénye meghívhatja egy maraméterül kapott E count () metódusát, mert E megvalósítja az A interfészt: B-t kérünk paraméternek, fogalmunk sincs, hogy E micsoda: -+ | * D add(b:B) függvénye meghívhatja egy maraméterül kapott E count () metódusát, mert E megvalósítja az A interfészt: B-t kérünk paraméternek, fogalmunk sincs, hogy E micsoda: -+ | ||
* E meghívhatja egy D add() metódusát, mert van közös ősük: ++- | * E meghívhatja egy D add() metódusát, mert van közös ősük: ++- | ||
* E nem hívhatja meg egy D bar() metódusát, mert a metódus protected: D-nek nincs bar() | * E nem hívhatja meg egy D bar() metódusát, mert a metódus protected: D-nek nincs bar() metódusa (B-nek van, de private): +- | ||
metódusa (B-nek van, de private): +- | |||
* F meghívhatja egy D add(b:B) metódusát, mert E egygszerre a B és C osztály leszármazottja: -+ | * F meghívhatja egy D add(b:B) metódusát, mert E egygszerre a B és C osztály leszármazottja: -+ | ||
* D add(b:B) metódusából nem hívhatjuk meg D do() metósudát, mert a metódus absztrakt: | * D add(b:B) metódusából nem hívhatjuk meg D do() metósudát, mert a metódus absztrakt: nem absztrakt a metódus, hanem static, így meghívhatjuk: -- | ||
nem absztrakt a metódus, hanem static, így | |||
== 20.előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5428,Szoftvertechnologia_-_20._eloadas 20. előadás] == | ||
=== 2013: [http://directory.iit.bme.hu/belso/st/p5-p-hu-ex.pdf Gyak5 - p5-p-hu-ex.pdf] === | |||
==== PÉLDÁK, feladatok, gyakorlás ==== | ==== PÉLDÁK, feladatok, gyakorlás ==== | ||
==== 11. dia, "Az UML diagram alapján értékeljen minden állítást az alábbi kulcs segítségével ! -- D helyettesíthető E-vel, mert közös az ősük..." ==== | |||
=== váltás, UML / Package Diagram, 2013: [http://directory.iit.bme.hu/belso/st/p5_6.pdf Part5_6 - p5_6.pdf], 3. dia === | |||
==== 00:13:10 ==== | |||
==== 00:16:35 ==== | ==== 00:16:35 ==== | ||
| 1 990. sor: | 2 200. sor: | ||
* Minden elem csak 1 package-ben | * Minden elem csak 1 package-ben | ||
* Nevet vagy beleírjuk (ha nincs benne több doboz), vagy a fülre (jelölésben) | * Nevet vagy beleírjuk (ha nincs benne több doboz), vagy a fülre (jelölésben) | ||
==== 00:18:15 ==== | ==== 00:18:15 ==== | ||
===== 55, ===== | ===== 55, ===== | ||
| 2 070. sor: | 2 281. sor: | ||
==== 01:01:09 ==== | ==== 01:01:09 ==== | ||
===== 78, Use Case Diagram ===== | ===== 78, Use Case Diagram ===== | ||
* Statikus kép arról, hogy kik az együttműködők és milyen funkcionalitásban | * Statikus kép arról, hogy kik az együttműködők, és milyen funkcionalitásban | ||
* Actor: pálcikaember (ha belső Actor: 1:16p-nél), lába alá írva a szerepe (vagy Osztályt rajzolunk | * '''Actor''': pálcikaember (ha belső Actor: 1:16p-nél), lába alá írva a szerepe | ||
[doboz], rajta <<actor>> | ** (vagy Osztályt rajzolunk: [doboz], rajta <<actor>> sztereotípia) | ||
* Kapcsolatok felrajzolása (függőségek, asszociáció, generalizáció) | * Kapcsolatok felrajzolása (függőségek, asszociáció, generalizáció) | ||
| 2 098. sor: | 2 309. sor: | ||
==== 01:22:21 ==== | ==== 01:22:21 ==== | ||
==== 01:23:05 ==== | ==== 01:23:05 ==== | ||
===== 83-84, Use Case | ===== utolsó dia: 83-84, UML / Use Case Diagram - Use Case Properties (Use Case-jellemzők) ===== | ||
* Eseményfolyam | * Eseményfolyam | ||
* Speciális követelmények: nem funkcionális (pl. biztonság) | * Speciális követelmények: nem funkcionális (pl. biztonság) | ||
| 2 106. sor: | 2 317. sor: | ||
* Activity diagram (flow chart) | * Activity diagram (flow chart) | ||
* Use Case Diagram | * Use Case Diagram | ||
== 21, | |||
== [http://bme.videotorium.hu/hu/recordings/details/5429,Szoftvertechnologia_-_21._eloadas 21. előadás] == | |||
=== Interaction Diagram, 2013: [http://directory.iit.bme.hu/belso/st/p6_6.pdf Part6 - p6_6.pdf] === | |||
==== 00:03:01 ==== | ==== 00:03:01 ==== | ||
===== 86, Interaction, általános meggondolások, diagramok ===== | ===== 86, Interaction, általános meggondolások, diagramok ===== | ||
| 2 154. sor: | 2 369. sor: | ||
** Fej + FüggőlegesSzaggatottSzár: LifeLine, életvonal | ** Fej + FüggőlegesSzaggatottSzár: LifeLine, életvonal | ||
** Rajza van az üzenet, ami eseményeket határoz meg | ** Rajza van az üzenet, ami eseményeket határoz meg | ||
** | ** '''Szinkron''' üzenet: kis, '''teli''' '''fej'''. Lényegében C átadja a vezérlést A-nak | ||
** | ** '''Szaggatott, nyitott fejű vonal: return''' | ||
** Szaggatott vonalon függőleges doboz: Execution Specification, Execution Bar | ** Szaggatott vonalon függőleges doboz: Execution Specification, Execution Bar | ||
*** Valamilyen | *** Valamilyen '''tevékenység''' folyik | ||
** Az egész | ** Az egész '''körül egy doboz!''' | ||
** Bal felső sarokban | ** Bal felső sarokban '''név''' | ||
==== 00:23:54 ==== | ==== 00:23:54 ==== | ||
===== 94, Másik szekvencia diagram ===== | ===== 94, Másik szekvencia diagram ===== | ||
* Magát a bar-t nem ábrázoljuk (bár lehetne) | * Magát a bar-t nem ábrázoljuk (bár lehetne) | ||
* | * '''Nyitott fejű nyíl: Aszinkron küldés''' | ||
* Ferde nyíl: üzenet küldés sokkal korábban van, mint a megérkezése (közben megérkezhet másik üzenet is) | * Ferde nyíl: üzenet küldés sokkal korábban van, mint a megérkezése (közben megérkezhet másik üzenet is) | ||
** Pl. kártya kiadás indítás | ** Pl. kártya kiadás indítás | ||
| 2 187. sor: | 2 402. sor: | ||
==== 00:39:52 ==== | ==== 00:39:52 ==== | ||
96, Még egy szekvencia diagram | ===== 96, Még egy szekvencia diagram ===== | ||
* Példa máshol definiált szekvenciadiagram beépítésére, 40p | * Példa máshol definiált szekvenciadiagram beépítésére, 40p | ||
| 2 202. sor: | 2 417. sor: | ||
* Kapcsolatba hozható egy osztálydiagrammal | * Kapcsolatba hozható egy osztálydiagrammal | ||
* Példa 49p | * Példa 49p | ||
==== FELADAT, | |||
==== 00:44:28 ==== | |||
=== FELADAT, gyakorlás; 2013: [http://directory.iit.bme.hu/belso/st/p6-p-hu-ex.pdf Gyak6 - p6-p-hu-ex.pdf] === | |||
==== 00:51:00 ==== | |||
===== 2013: 6. dia ("Egy banki rendszerben bankkártyával pénzt tudunk felvenni...") ===== | |||
* UseCase Bankos példa, 79-82 diák, úgy nagyjából | * UseCase Bankos példa, 79-82 diák, úgy nagyjából | ||
=== [http://directory.iit.bme.hu/belso/st/v010626.pdf 2001. június 26-i vizsga - (v010626).pdf] === | |||
==== 01:02:12 ==== | |||
===== itt 7. feladat ("A síkbeli vektorok modellezésére legyen egy Sikvektor osztályunk, amelynek egyebek mellett legyen egy toString() metódusa a vektor kiírására....") ===== | |||
* Síkvektor, Osztály Diagram, Szekvencia Diagram, 1:02 | * Síkvektor, Osztály Diagram, Szekvencia Diagram, 1:02 | ||
== | === 2013: [http://directory.iit.bme.hu/belso/st/p6-p-hu-ex.pdf Gyak6 - p6-p-hu-ex.pdf] === | ||
==== 1 | ==== 01:07:37 ==== | ||
===== 2013: itt 20. dia, valamint [http://directory.iit.bme.hu/belso/st/v010113.pdf 2001. január 23-i vizsga - v010113.pdf], 6. feladat ("Gáz Géza rosszul érzi magát, és elmegy a háziorvosához. Elpanaszolja neki, hogy már két hete lázas, és a jobb lábfeje a kétszeresére dagadt."...) ===== | |||
* A vérvétel és a megküldés aszinkron események | |||
* Ha valami olyasmiről van szó, ami a továbbiakban is részt vesz valamilyen műveletben (pl. beutaló, recept), akkor tüntessük fel | |||
== [http://bme.videotorium.hu/hu/recordings/details/5430,Szoftvertechnologia_-_22._eloadas 22. előadás] == | |||
=== [http://directory.iit.bme.hu/belso/st/p6_6.pdf Part6 - p6_6.pdf] === | |||
==== 1. feladat ==== | |||
===== UML / Communication Diagram ábra a példával, 2013: 16. dia ===== | |||
==== 00:09:00 ==== | ==== 00:09:00 ==== | ||
| 2 229. sor: | 2 469. sor: | ||
* Időtartamot is jelölhetünk | * Időtartamot is jelölhetünk | ||
==== 00:16:42 ==== | ==== 00:16:30 ==== | ||
Interakciókat kivégeztük. | |||
=== váltás, State Machine Diagram, 2013: [http://directory.iit.bme.hu/belso/st/p7_6.pdf Part7 - p7_6.pdf], elejétől === | |||
==== 00:16:42 ==== | |||
==== 00:32:00 ==== | ==== 00:32:00 ==== | ||
==== 00:32:08 ==== | ==== 00:32:08 ==== | ||
| 2 273. sor: | 2 520. sor: | ||
* Ábra, 56p körül | * Ábra, 56p körül | ||
=== FELADATOK, Gyakorlás === | |||
===== | |||
=== [http://directory.iit.bme.hu/belso/st/v010605.pdf 2001. június 5-i vizsga - v010605.pdf] === | |||
==== 01:00:01 ==== | |||
===== 1. példa: 9. feladat a vizsgában ("Legyen egy O objektumunk, amelynek állapotát időnként menteni kell (egy Memento objektumba, annak setState() metódusát meghívva), hogy az később visszaállítható legyen...") ===== | |||
* mentés, állapotot meg kell őrizni, majd visszaállítani | |||
* Mentés kész – hogyan oldjuk meg, hogy ne legyen módosítható? | * Mentés kész – hogyan oldjuk meg, hogy ne legyen módosítható? | ||
** Pl. setState csak egyszer hajtható végre | ** Pl. setState csak egyszer hajtható végre | ||
** 1:15p… Játék interfészekkel | ** 1:15p… Játék interfészekkel | ||
===== | |||
=== 2013: [http://directory.iit.bme.hu/belso/st/p7-p-hu-ex.pdf Gyak7 - p7-p-hu-ex.pdf], 4. dia, illetve [http://directory.iit.bme.hu/belso/st/v011218.pdf 2001. december 18-i vizsga - v011218.pdf] === | |||
===== | ==== 01:17:13 ==== | ||
===== 2. példa: 8. feladat "Rajzoljon az eseményekről UML szekvencia-diagramot! Izidor jó fiú volt az idén..." ===== | |||
=== 2013: [http://directory.iit.bme.hu/belso/st/p6-p-hu-ex.pdf Gyak6 - p6-p-hu-ex.pdf, 19. dia] (ill. szöveg ugyanaz, mint [http://directory.iit.bme.hu/belso/st/ipt2maj30.pdf 2002. május 30-i vizsga - ipt2maj30.pdf], 7. feladat, csak ott kollaborációs diagram kell) === | |||
==== 01:26:32 ==== | |||
===== 3. példa: "Egy Alfa osztálybeli objektumnak van egy Beta..." ===== | |||
* Get és Remove nem a változónak megy, hanem a Kollekciónak! | * Get és Remove nem a változónak megy, hanem a Kollekciónak! | ||
== [http://bme.videotorium.hu/hu/recordings/details/5431,Szoftvertechnologia_-_23._eloadas 23. előadás] == | |||
== | === Feladatok - 2013: [http://directory.iit.bme.hu/belso/st/p7-p-hu-ex.pdf Gyak7 - p7-p-hu-ex.pdf] === | ||
===== | ===== 2013: 5. dia ("Az alábbi UML kommunikációs diagram alapján rajzoljon UML szekvencia diagramot ! Tüntesse fel a végrehajtást specifikáló téglákat is !") + (6:51-től kicsit visszaugrás erre a feladatra 7:40-ig) ===== | ||
* … | * … | ||
* Harún Ar-Rasíd, 12p | * Harún Ar-Rasíd, 12p | ||
==== 00:06:14 ==== | |||
===== 2013: [http://directory.iit.bme.hu/belso/st/p13-x-hu-ex.pdf Gyak13 - p13-x-hu-ex.pdf], 2. dia, ill. [http://directory.iit.bme.hu/belso/st/ipt2dec17.pdf 2002. december 17-i vizsga - ipt2dec17.pdf], 7. feladat ("Adva van egy objektumunk, amely két fő állapottal (A,B) rendelkezik. Az A állapotban a táblázatban megadott állapotgép működik. Az A állapotból B-be az 'off' esemény hatására kerül. Visszatérni az 'on'-ra fog, és ekkor ott folytatja, ahol a kilépéskor abbahagyta. Kezdetben az A állapot aktivizálódik, az A-n belül pedig az A2. Rajzolja meg az objektum state-chart-ját!") ===== | |||
=== 2013: [http://directory.iit.bme.hu/belso/st/p7-p-hu-ex.pdf Gyak7 - p7-p-hu-ex.pdf] === | |||
==== 00:12:44 ==== | |||
===== 8. dia, illetve [http://directory.iit.bme.hu/belso/st/ipt5maj24.pdf 2005. május 24-i vizsga - ipt5maj24.pdf], 7. feladat ("Harún ar-Rasíd repülő szőnyeget kap ajándékba tengerjáró Szindbádtól...") ===== | |||
=== Váltás, [http://directory.iit.bme.hu/belso/st/p7_6.pdf Part7 - p7_6.pdf] === | |||
==== 00:24:26 ==== | |||
===== 2013: 18. dia, UML / Beyond UML - Model structure ===== | |||
===== 121, Az UML-en túl, 24p ===== | ===== 121, Az UML-en túl, 24p ===== | ||
| 2 314. sor: | 2 590. sor: | ||
* ezután lévő Java-implementációt láthatjuk, hogyan generálta le az eszköz a Java-kódot az XMI-ból | * ezután lévő Java-implementációt láthatjuk, hogyan generálta le az eszköz a Java-kódot az XMI-ból | ||
=== 10.diasor === | === 10.diasor; 2013: [http://directory.iit.bme.hu/belso/st/p16_6.pdf Part16 - p16_6.pdf], elejétől, RUP / Content === | ||
==== 00:40:00 ==== | |||
==== 00:40:54 ==== | ==== 00:40:54 ==== | ||
===== 3, RUP: Rational Unified Process ===== | ===== 3, RUP: Rational Unified Process ===== | ||
| 2 426. sor: | 2 703. sor: | ||
==== EA23/01:14:07 == EA24/00:00:40 ==== | ==== EA23/01:14:07 == EA24/00:00:40 ==== | ||
==== EA23/01:14:27 == EA24/00:05:48 ==== | ==== EA23/01:14:27 == EA24/00:05:48 ==== | ||
===== 21-22, Use-Case model létrehozása ===== | ===== 21-22, Use-Case model létrehozása (RUP / Use cases - Use Case Model identification on ... 22. dia) ===== | ||
* Actor-based: Kik a szereplők, milyen felelősség? | * Actor-based: Kik a szereplők, milyen felelősség? | ||
* Event-based: Esemény alapú megközelítés, milyen események történnek a rendszerünkkel | * Event-based: Esemény alapú megközelítés, milyen események történnek a rendszerünkkel | ||
| 2 436. sor: | 2 713. sor: | ||
** Ki van kívül és ki van belül | ** Ki van kívül és ki van belül | ||
== 24. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5432,Szoftvertechnologia_-_24._eloadas 24. előadás] == | ||
=== folyt. 10.diasor; 2013: [http://directory.iit.bme.hu/belso/st/p16_6.pdf Part16 - p16_6.pdf] === | |||
===== RUP / Use cases - Requirement artifacts ábra, 21. dia ===== | |||
==== 00:07:07 ==== | ==== 00:07:07 ==== | ||
===== 23, Use-Case készítés ===== | ===== 23, Use-Case készítés ===== | ||
* Rendszertől elvárt funkcionalitások bent vannak a követelmények között; megállapítjuk a határt | * Rendszertől elvárt funkcionalitások bent vannak a követelmények között; megállapítjuk a határt | ||
| 2 601. sor: | 2 883. sor: | ||
* Algoritmusok részletei | * Algoritmusok részletei | ||
== 25. | ===== RUP vége, RUP / Implementation (Design Algorithms, ...) ===== | ||
== [http://bme.videotorium.hu/hu/recordings/details/5433,Szoftvertechnologia_-_25._eloadas 25. előadás] == | |||
=== 11. diasor, Verifikáció, validáció === | === 11. diasor, Verifikáció, validáció; 2013: [http://directory.iit.bme.hu/belso/st/p9_6.pdf Part9 - p9_6.pdf] === | ||
==== 00:01:54 ==== | ==== 00:01:54 ==== | ||
===== 3, Bevezetés, ===== | ===== 3, Bevezetés, V & V / Content (Verifikáció, Validáció) ===== | ||
* Verification, Verifikáció: Jól készítettük el a terméket? Előírásnak megfelel-e | * Verification, Verifikáció: Jól készítettük el a terméket? Előírásnak megfelel-e | ||
* Validation, Validáció: A jó terméket készítettük el? Ez az-e a produktum, amire a user vágyik | * Validation, Validáció: A jó terméket készítettük el? Ez az-e a produktum, amire a user vágyik | ||
| 2 667. sor: | 2 951. sor: | ||
==== 00:24:10 ==== | ==== 00:24:10 ==== | ||
===== 12, Testing, tesztelés – működés közben vizsgáljuk a programot ===== | ===== 12, Testing, tesztelés – működés közben vizsgáljuk a programot ===== | ||
* Konformancia vezérelt tesztelés: előírásoknak meg kell, hogy feleljen, a tesztekkel ezt | * Szoftvertesztelésben két megközelítés: | ||
* Hibadetektálás: | ** Konformancia-vezérelt tesztelés: a szoftverünk valamilyen szabályoknak, előírásoknak meg kell, hogy feleljen, a tesztekkel az a célom, hogy ezt a megfelelőséget igazoljam (pozitív éle van) | ||
** error: valamilyen | ** Hibadetektálás: a szoftvertesztelés nem más, mint a szoftver futtatása hibakeresés céljából (negatív éle van). Pl. lefagy a program, mert hibásan lett felvéve változó, mert valaki rosszul értelmezte a feladatot → hibasorrend. Hibákra definíciók (nincs egységes terminológia egyébként): | ||
** fault (bug): nem az van a | *** '''error''': valamilyen '''emberi''' tevékenység, annak hiánya, tévedés, elhanyagolás; emberhez köthető, valamit elront, és így ebből keletkezik egy bug | ||
** failure: kívülről | *** '''fault (bug)''': a program kódjában keletkezik egy hiba; nem az van a '''kódban''', aminek lennie kéne, vagy épp kihagytam valamit belőle; tehát '''kódbeli hiba''' (debuggolás során ezeket akarjuk megtalálni benne) (pl. ilyenek, mint hogy egy <code>*</code>-ot lehagytunk valahonnan, egy változó rossz értéket kapott, <code>==</code> helyett <code>=</code> áll a kifejezésben, stb.), ez pedig egy failure-t okoz | ||
*** '''failure''': amit kívülről '''láthatunk''' (pl. lefagy a szoftver, rossz eredményt ad), '''jelenség, amiben testet ölt a hiba'''; én ezekkel a hibákkal szembesülök, ehhez a failure-höz kell nekem majd megtalálnom a bugot, hogy a kódban ez mi miatt történt, vagy továbbmehetek, és rájöhetek, hogy tévedés történt, tehát error (pl. specifikációt félreértette, vagy hasonló), így deríthetem ki a hibát | |||
==== 00:29:08 ==== | ==== 00:29:08 ==== | ||
| 2 783. sor: | 3 068. sor: | ||
* Teljesítményriportok | * Teljesítményriportok | ||
== 26. előadás == | == [http://bme.videotorium.hu/hu/recordings/details/5434,Szoftvertechnologia_-_26._eloadas 26. előadás] == | ||
=== folyt. [http://directory.iit.bme.hu/belso/st/p9_6.pdf Part9 - p9_6.pdf] === | |||
===== V & V / Test - Test strategy, 35. dia ===== | |||
==== 00:00:43 ==== | ==== 00:00:43 ==== | ||
===== 35, Test Strategy, Teszt stratégiák ===== | ===== 35, Test Strategy, Teszt stratégiák ===== | ||
| 2 857. sor: | 3 147. sor: | ||
===== 52, Dokumentációk ===== | ===== 52, Dokumentációk ===== | ||
=== 12. diasor, 31p, CM: Configuration Management === | ===== V & V anyag vége... ===== | ||
=== váltás, 12. diasor, 31p, CM: Configuration Management, elejétől, 2013: [http://directory.iit.bme.hu/belso/st/p8_6.pdf Part8 - p8_6.pdf] === | |||
==== 00:31:08 ==== | |||
===== eleje: CM / Content ===== | |||
==== 00:32:10 ==== | ==== 00:32:10 ==== | ||
| 2 990. sor: | 3 285. sor: | ||
* Milyen eszköz? | * Milyen eszköz? | ||
==== FELADATOK, gyakorlás | ===== CM dia vége ===== | ||
=== 2013: [http://directory.iit.bme.hu/belso/st/p6-p-hu-ex.pdf Gyak6 - p6-p-hu-ex.pdf] === | |||
==== 1:05:55 - FELADATOK, gyakorlás ==== | |||
===== 1. feladat: 2013: 15. dia: ("Az A osztály „a” példánya készít egy B osztály „b” példányát. Rajzoljon kommunikációs és szekvencia diagramot !") ===== | |||
=== ?? dia === | |||
==== 01:11:04 ==== | ==== 01:11:04 ==== | ||
===== 2. feladat: Mik a jelölt UML elemek? ===== | |||
* bal oldalt: elvárt interfész, socket (required interface) | |||
* jobb oldalt: realizált, implementált interfész (provided interface) | |||
* alul: port | |||
=== 2013: [http://directory.iit.bme.hu/belso/st/p7-p-hu-ex.pdf Gyak7 - p7-p-hu-ex.pdf] === | |||
==== 01:12:12 ==== | ==== 01:12:12 ==== | ||
===== 3. feladat: "A postán Jóskának a postásnak odaadják a Mari néninek szóló levelet, amit Jóska bedob Mari néni postaládájába. Mari néni mikor hazaér, kiveszi a levelet a postaládából, ötször megtörli a szemüvegét, majd elolvassa a levelet. Rajzoljon kommunikációs diagramot !" ===== | |||
* sorrendek, üzenetek: | * sorrendek, üzenetek: | ||
** 1: give(l) [aszinkron] | ** 1: give(l) [aszinkron] | ||
| 3 006. sor: | 3 315. sor: | ||
* a postás csak hurcol egy referenciát a levélre | * a postás csak hurcol egy referenciát a levélre | ||
* felmerült a kérdés, hogy a postaláda a posthivatalhoz hasonlóan hosszasan tárolja a referenciát... hosszú távú store ott lehetne | * felmerült a kérdés, hogy a postaláda a posthivatalhoz hasonlóan hosszasan tárolja a referenciát... hosszú távú store ott lehetne | ||
=== [http://directory.iit.bme.hu/belso/st/stv_090127.pdf 2009. január 27-i vizsga - stv_090127.pdf] === | |||
==== 01:21:35 ==== | |||
==== 01:23:04 ==== | ==== 01:23:04 ==== | ||
===== 4. feladat: ===== | |||
* C függ X-től és X függ C-től | * C függ X-től és X függ C-től | ||
* X-et felhúzzuk qux(c)-vel, paraméterként kap c-t, tehát X amúgy nem tud c-ről, neki nincs c-je | * X-et felhúzzuk qux(c)-vel, paraméterként kap c-t, tehát X amúgy nem tud c-ről, neki nincs c-je | ||
| 3 017. sor: | 3 334. sor: | ||
* ha olyan lenne az ábra, két külön metódus van, két külön hívott metódus között van valami olyan tudás, ami túléli a két hívást, akkor van valami tárolt érték, akkor kell az asszociáció (szoros, tartós szemantikus kapcsolat, nem csak egy metódushívás idejéig kell, hogy fennálljon) – ha ilyen kapcsolat nem kell, hanem csak az adott paraméterezésből következik, akkor dependencia | * ha olyan lenne az ábra, két külön metódus van, két külön hívott metódus között van valami olyan tudás, ami túléli a két hívást, akkor van valami tárolt érték, akkor kell az asszociáció (szoros, tartós szemantikus kapcsolat, nem csak egy metódushívás idejéig kell, hogy fennálljon) – ha ilyen kapcsolat nem kell, hanem csak az adott paraméterezésből következik, akkor dependencia | ||
(ennek kapcsán visszatérve az előző Mari nénis példához, a postahivatal és levél között kéne megszüntetni a kapcsolatot, vagy pedig összekötjük a postaládát és levelet, és akkor hosszú távon tárolhatjuk benne, megmarad, bár nem hívunk rajta semmit sem a postás, sem a postaláda...) | (ennek kapcsán visszatérve az előző Mari nénis példához, a postahivatal és levél között kéne megszüntetni a kapcsolatot, vagy pedig összekötjük a postaládát és levelet, és akkor hosszú távon tárolhatjuk benne, megmarad, bár nem hívunk rajta semmit sem a postás, sem a postaláda...) | ||
== [http://bme.videotorium.hu/hu/recordings/details/5847,Szoftvertechnologia_Java_gyakorlat_-_1._eloadas Java 1. előadás] - TODO!! == | |||
== [http://bme.videotorium.hu/hu/recordings/details/5848,Szoftvertechnologia_Java_gyakorlat_-_2._eloadas Java 2. előadás] - TODO!! == | |||
== [http://bme.videotorium.hu/hu/recordings/details/5849,Szoftvertechnologia_Java_gyakorlat_-_3._eloadas Java 3. előadás] - TODO!! == | |||
== [http://bme.videotorium.hu/hu/recordings/details/5850,Szoftvertechnologia_Java_gyakorlat_-_4._eloadas Java 4. előadás] - TODO!! == | |||
{{RightTOC}} | |||
[[Kategória:Infoalap]] | |||