1.) A programfejlesztés hagyományos életciklus modellje és adattípus.

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

Programozási feladatok
Adatelemzés számítógéppel
ADATBÁZISOK.
Probléma formálisan specifikált: valós világ (domai) (hibás eredmény) ködös határ (félreértés, hiba) formális világ (megoldás) A specifikáció csak nagyvonalakban.
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
Lambda kalkulus.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Kötelező alapkérdések
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék IT rendszerek modellezése Micskei Zoltán
IT infrastruktúra modellezése
Készítette: Vadász Péter
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Vizuális modellezés Uml és osztálydiagram UML eszközök
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához.
Java programozási nyelv 3. rész – Osztályok I.
Adatbázis-kezelés ACCESS program:
Adatbázis rendszerek I
Differenciál számítás
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
6. előadás Hatókör, láthatóság, élettartam. Változók leképzése a memóriára. Blokkszerkezetes nyelvek. Kivételkezelés.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
Copyright, 1999 © Szlávi Péter Prioritási sor típuskonstrukció Szlávi Péter ELTE Informatika Szakmódszertani Csoport
Nem determinisztikusság és párhuzamosság. A nem determinisztikusság a párhuzamosságban gyökeredzik. Példa: S par  parbegin x:=0   x:=1   x:=2 parend;
Önleíró adatok: XML INFO ÉRA, Békéscsaba
Szoftvertechnológia Rendszertervezés.
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.
Objektumorientált tervezés és programozás II. 3. előadás
Természetes és formális nyelvek Jellemzők, szintaxis definiálása, Montague, extenzió - intenzió, kategóriákon alapuló gramatika, alkalmazások.
Gyakran előforduló tervezési hibák és elkerülésük Jelek és változók Jelek és változók Bufferek és belső dummy jelek Bufferek és belső dummy jelek Vektorok.
Absztrakt adattípusok kAkAÓ Objektumorientált programozás. In: Nyékyné Gaizler Judit (szerk.): Programozási nyelvek, Kiskapu, Budapest, pp
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
VÉGES AUTOMATA ALAPÚ TERVEZÉSI MODELL
Rendszerek stabilitása
XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET.
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
Egyenesvonalú (lineáris) adatszerkezetek
Lineáris algebra.
Objektumvezérelt rendszerek tervezése
MI 2003/6 - 1 Elsőrendű predikátumkalkulus (elsőrendű logika) - alapvető különbség a kijelentéslogikához képest: alaphalmaz. Objektumok, relációk, tulajdonságok,
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
Ficsor Lajos CPP2 / 1 Származtatási mechanizmus a C++ nyelvben Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
A közszolgáltatásokra kifejlesztett általános együttműködési modell GYÁL VÁROS ÖNKORMÁNYZATÁNÁL Gyál, szeptember 30.
Programozás I. 3. gyakorlat.
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Paraméter továbbítás. (parameter passing) Paraméteres specifikációk: Pl.: string(spec) : hasonló specifikációk családja; string(nat); string(data); string(integer);
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Számítási eszközfejlődés XX. század második fele: 1943: Neumann János analóg számítógépe az ENIAC. (Ballisztikus problémák). Manhattan terv es, 1960-as,
Félcsoport (semigroup) = ({s},{ *: s s  s [infix]}. semigroup is a type specification = sorts: s oprs: *: s s  s [infix] eqns: m 1, m 2, m 3  s (m 1.
Paraméterátadó-morfizmus diagramja: p: tartalmazás SPEC SPEC 1 h : SPEC  SPEC' h 1 : SPEC 1  SPEC 1 ' SPEC' SPEC 1 ' p': tartalmazás SPEC: paraméter.
Példa. Az ábrázolás szemléltetése.  = ({stack, elem },{ create :  stack; push : stack elem  stack}),  = ( {vector, nat, elem}, { create c :  vector.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Szemantikai adatmodellek
Script nyelvek előadás
Adatbázis alapismeretek
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Compiler illetve interpreter nyelvek
Típusok Halmaz (a világ objektumai közül néhány) Neve van
Adatbáziskezelés.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Programozási nyelvek alapfogalmai
Adatszerkezetek -- Típusok
Előadás másolata:

1.) A programfejlesztés hagyományos életciklus modellje és adattípus. A programfejlesztés hagyományos modellje. A programfejlesztés absztrakciós és formalizációs modellje. Modularizáció, modul. Top down design. Tervezés lépésenkénti finomítással. Eredmény: absztrakt adattípus. Modulokból programkonstrukciót támogató nyelvek. Adattípus létrehozásának célja. Adattípus a programozási nyelvekben. Adattípus leírása = deklaráció leírása + implementáció leírása. Információ elrejtés. (information hiding). Információ beburkolás. (encapsulation). Absztrakt adattípus. Paraméteres adattípus. Adattípusok formális specifikációja, specifikációs módszerek.

2.) Adattípus univerzális algebrai modellje. Típusspecifikációk: alphabet, nat,string, Paraméterek szerepei az algebrák specifikációjában. Kiértékelések. Szignatúra:  = (S,OP), Adott  = (S,OP) szignatúrához tartozó  - algebra (totális algebra). Algebra felírási formája. Term szintaktikai definíciója. Példák: nat, bintree, …; A term kiértékelése. Kiterjesztett értékadás. Egyenlet. Helyes egyenlet. Specifikáció.

3.) Absztrakt adattípus. Adott  = (S, OP); a szignatúrához tartozó X változókkal. Egyenlet, helyes egyenlet. Specifikáció. -algebrák közötti homomorfizmus, izomorfizmus. Egy adott  szignaturához tartozó absztrakt adattípus definíciója. típus neve( paraméterek listája ) is a type specification = … Szemantikát leíró egyenletek (axiómák). Korlátozás, attributum függvény: deklaráció, axióma.

4.) Adattípus specifikációja: példák. Példák típus specifikációkra: nat, bool, natbool, natsq; string(alphabet); list(elem, n: natbool); Boolalgebra;

5.) Specifikáció újrafelhasználása: specifikáció morfizmus. Specifikáció morfizmus speciális esetei. Kitüntetett sortú szignatúra morfizmus. Átnevezés (renaming). Példa line(symbol) string(data) alapján. Szignatura morfizmus definíciója. A h:  ’ szignatúra morfizmus kiterjesztése változókra. A h:  ’ szignatúra morfizmus kiterjesztése termekre. A h:  ’ szignatúra morfizmus kiterjesztése egyenletek formájában adott axiómákra. Specifikáció morfizmus. Paraméterátadó-morfizmus diagramja. A paraméterátadás jelentése.

6.) Paraméterátadó-morfizmus diagramja. Példa: string(data), Morfizmus diagramm kommutatívitása. Adattípus osztály specifikációja. Láthatósági viszonyok. Interfész rész. Konstrukciós rész. Megnyilvánulási, viselkedési rész. Megvalósítási rész. Példa: A halmaz típusosztály specifikációja szóbeli specifikáció alapján. A nat típus osztályspecifikációja.

7.) Adva a táblázat informális specifikációja: null: az üres táblázat létrehozása; assign(t,k,e): a t táblázat k kulcsához egy e elem hozzárendelése. read(t,k): a t táblázat k kulcsához tartozó elem kiolvasása. length(t): a t táblázatban lévő nem üres elemek száma, ami nem lehet nagyobb mint n. Legyen a táblázat neve table, az elem neve data. Készítsük el a táblázat típusának specifikációját.

8.) Típusosztály specifikációjának elkészítése adott informális specifikáció alapján. Pl. kupactáblázat. Legyen a kupactáblázat típus neve heaptable. A kupactáblázat olyan táblázat, amelynek indexeihez kupacok tartoznak. hnull : az üres kupactáblázat létrehozása; hassign(ht,j,a) : a ht kupactáblázatba a j indexhez az a adat behelyezése; hdelete(ht,j) : a ht kupactáblázatból a j indexnél a legnagyobb adat kitörlése; hread(ht,j) : ht kupactáblázatból a j indexnél a legnagyobb adat kiolvasása; hlength(ht) : a ht kupactáblázatban lévő adatok száma; A kupactáblázatban lévő adatok számának maximuma: n; n  0; Ábrázoljuk a kupactáblázatot egy olyan vektorral, amelynek adatai bag-ek: rep : bvector natbool  heaptable; Készítsük el a kupactáblázat osztályának specifikációját.

9.) Specifikáció elemzése. Tulajdonságok felírása a koncepció alapján. h:  ’ szignatúra morfizmus kiterjesztései (változókra, termekre, egyenletek formájában adott axiómákra). Termek származtatása (termek derivációja). Származtatott egyenlet. Példák. Származtatott egyenlet helyessége. Egyenlőség axióma és helyettesítési szabály. Példák. Strukturális indukció. Tételek bizonyítása, támadási stratégiák. Példák.

10.) Kettős specifikáció: reprezentáció. Az absztrakt és konkrét objektumok az egymáshoz való viszonya. Reprezentáció. Reprezentációs függvény. Példák. A reprezentáció tétele. (Állítás, bizonyítás). A reprezentációs függvény implicit definíciója, rekurzív definíciója. Példák. Reprezentációs függvények egyenlőségének a bizonyítási módszere. Példa halmaz két ábrázolása vektorral, egyenlőség bizonyítása. Shift műveletek.

11.) Paraméter továbbítás. Mechanizmus: paraméter továbbítás. Morfizmus diagram kommutációja. Paraméter továbbítás formális definíciója. Szemléltető példa: string. Paramétereket tartalmazó paraméter továbbítás (Parameterized parameter passing.) Példa: Paraméter-átadás morfizmusa: h: data  set(data); Ismételt paraméter átadás. Példa: bintree(string(matrix(int))).

12. Modul specifikációkon értelmezett alapvető operációk. Kompozíció. Példa: Export és import interfészek összeillesztésével létrehozott modulspecifikáció. Interfész megvalósításai: Interfész egzakt megvalósítása (realizációja). Interfész megvalósítása.

13.) Objektum modul, az objektumhoz való szabványos hozzáférhetőséggel. Az objektumon végzendő operációk fázisai, állapot. Egy specifikációs nyelv a szinkronizációra. Individuum változók, az akciók szintaktikai formája. Individuumok halmazán értelmezett reláció. Szintaxis, szemantika. Paraméterekre vonatkozó relációk az elsőbbségi relációban. Axiómák. Erőforráshoz való hozzáférési korlátozások. Korlátos buffer szinkronizációs axiómája. Absztrakt szinkronizáció tulajdonságai. A blokkolt állapot definíciója. Blokkolás mentesség definíciója.

14. A szinkronizáció absztrakt specifikációjának implementálása. A body rész számára konkrét specifikációs módszer. Adott p operáció adott e erőforráshoz való viszonyai. Operációk akcióinak adott erőforráson való végrehajtásának jellemzése. Erőforráshoz való viszonyok formális. A count(p.) értékek nyilvántartása adott e esetén, szinkronizációs állapottér. Az állapottér kiértékelése. Akciók megvalósítása. Jelölés a body részben, példa: nat típus.

15.) Típusöröklődés morfizmus modellje. Az öröklődés mint két típusosztály közötti reláció és annak jelentése. Az öröklődés definíciója a morfizmus diagram alapján. Szemantikai inkonzisztencia, verem és sor mint szemléltető példa. Liskov-féle szubsztitúciós elv, (szemantikai öröklődési követelmény). Alfüggvény definíciója. Szemantikai alfüggvény definíciója. Liskov féle értelemben vett szemantikai öröklődéssel előállított típus definíciója. Likov féle értelemben vett szemantikai öröklődéssel előállított típus tétele és annak bizonyítása. A tétel megfogalmazása elő - utófeltételes specifikáció esetére.