Az informatikus munkája inkább mérnöki munka. Technológia kell. -Módszer. -Szabályok. -Szervezés. Múlt alkalommal: Programfejlesztés = leírások készítése.

Slides:



Advertisements
Hasonló előadás
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Advertisements

Informatikai tudásleképezés paradigmái és problémái Szekeres András Márk.
Információbiztonság vs. informatikai biztonság?
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
SZENT ISTVÁN EGYETEM GAZDASÁG- ÉS TÁRSADALOMTUDOMÁNYI KAR TUDOMÁNYOS DIÁKKÖRI KONFERENCIA NOVEMBER 25. AUTO-SZŰRŐ FEJLESZTÉSE OLAP JELENTÉSEK UTÓLAGOS,
Rendszertervezés GIMP.
96 csatornás QAM modulátor 96 csatornás QAM modulátor Kötetlen beszélgetés arról, hogy milyen irányba fejlődik a híradástechnika Készítette: Zigó József.
Rendszerfejlesztés.
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.
Az integrált áramkörök (IC-k) tervezése
A Microsoft rendszermenedzsment víziója A Dynamic Systems Initiative A System Definition Model Az üzemeltetésre tervezett szoftverek A SDM jelentősége.
INFORMÁCIÓRENDSZEREK FEJLESZTÉSÉNEK IRÁNYÍTÁSA.. Alkalmazás - projekt Alkalmazás - a vállalat tökéletesítésére irányuló új munkamódszer projekt - az új.
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
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
13.a CAD-CAM informatikus
Logika Érettségi követelmények:
OBJEKTUMORIENTÁLT PROGRAM
Vizuális modellezés Uml és osztálydiagram UML eszközök
Adatbázis alapú rendszerek
2011. szeptember Az információtechnológia menedzselése Az információs rendszer fejlesztése Image of the slide: www2.raritanval.edu/departments/busadmin/.../Ch07-IntrotoBusiness.ppt.
Szintézis Keresztes Péter, 2005 A GAJSKI-KUHN DIAGRAM Alapelv: Rendezzük a digitális- rendszerek leírásait célok és szintek szerint.
Ideális kontinuumok kinematikája
Adatmodellek - egy eszközrendszer, mellyel leírható a vizsgált valóság, - több különböző absztrakciós szinten is létezhet, - megkülönböztetünk DBMS-hez.
Persa György Témavezető: Szabó Csanád Pázmány Péter Katolikus Egyetem Információs Technológiai Kar 1.
Mérnöki objektumok leírása és elemzése virtuális terekben c. tantárgy Budapesti Műszaki Főiskola Neumann János Informatikai Kar Intelligens Mérnöki Rendszerek.
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
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.
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.
Az UML 4 rétegű metamodell szerkezete
Döntéselőkészítés, döntéstámogatás
Szoftvertechnológia Rendszertervezés.
Kell –e érzékenyíteni a munkáltatókat? Csapó Gábor OSGOOD Szolgáltató Az OFA FoglalkoztaTárs – Társ a foglalkoztatásban című TÁMOP – /
Objektumorientált tervezés és programozás II. 3. előadás
Készítette: Gergó Márton Konzulens: Engedy István 2009/2010 tavasz.
Szintaktikai, szemantikai szabályok
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
ONTOLÓGIA és TUDÁSREPREZENTÁCIÓ Szőts Miklós Alkalmazott Logikai Laboratórium
A csillagászat keletkezése
VÉGES AUTOMATA ALAPÚ TERVEZÉSI MODELL
Logika szeminárium Előadó: Máté András docens Demonstrátorok:
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.
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
1. Vevő Érték Milyen ÉRTÉKEKET akarunk? 2. Források Milyen FORRÁSAINK vannak? 3. Analógia a területek között Hol keressük az INSPIRÁCIÓT? 4. A tulajdonságok.
Objektumvezérelt rendszerek tervezése
Mesterséges Intelligencia 1. Eddig a környezet teljesen megfigyelhető és determinisztikus volt, az ágens tisztában volt minden cselekvésének következményével.
Logika szeminárium Előadó: Máté András docens Demonstrátorok:
Programozás, programtervezés
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Szimuláció.
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.
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.
Winnie the pooh & friends
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Antenna Hungária Rt. Átalakítási Bizottság, Külső Szakértői Munkacsoport Előadás 02:52:15, június június június 26.
Adatbázisszintű adatmodellek
Számítógépes szimuláció Első előadás Gräff József.
Minőségmenedzsment alapjai Minőségmenedzsment alapjai November 27. Dénes Rita.
Virtuálisjelenlét-alkalmazások Tézis A virtuális azaz látszólagos jelenlétnek két oldala különíthető el: a virtuális valóság (virtual reality),
EUCIP konferencia október 20. Cséfalvay Katalin Fejlesztés (BUILD) modul.
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
Adatstruktúrák Algoritmusok Objektumok
Számítógépes szimuláció
“Tudásmegosztás és szervezeti problémamegoldás a mesterséges intelligencia korában” Levente Szabados Technológiai Igazgató.
Logika szeminárium Barwise-Etchemendy: Language, Proof and Logic
Fordítás (formalizálás, interpretáció)
Projekt neve Cég neve Előadó neve
Relációs adatmodell, normálformák
Előadás másolata:

Az informatikus munkája inkább mérnöki munka. Technológia kell. -Módszer. -Szabályok. -Szervezés. Múlt alkalommal: Programfejlesztés = leírások készítése. 2.) A számítógép, a külvilág és az ügyfél. számítógépforgalmi lámpa Specifikációs interface {pjel, zjel} következmények: inteface {stop, go}

Részleges domén leírás: 1: ~ stop  ~ go 2: stop  ~ go 3: ~ stop  go Zjel Pjel A domén leírás áthidalja a szakadékot a követelmény és a specifikáció között. (Követelményben: lámpa; Specifikációban: pulzus)

Három leírás: követelmény, specifikáció, domén (tartomány) leírás. Mindhárom foglalkozik a valóságos világ jelenségeivel. domén leírás  specifikáció  követelmény; (Ha a gép specifikáció szerinti és a probléma-világunk az, amit leírtunk, akkor teljesül a követelmény is). Kell-e három leírás? Egy összevont leírás: -Általában áttekinthetetlen. -Különböző követelmények jelennek meg egy leírásban.

Megkívánt tulajdonságok leírása: követelmény + specifikáció. (Példánkban: követelmény: stop, go váltakozva, specifikáció: Pjel, Zjel váltakozva). Kijelentő tulajdonságok leírása: domain leírás. (példánkban a lámpa színeknek és a pulzusjeleknek az összekapcsolása; (stop, Pjel), (go, Zjel).

A valóság leírása, amelyben a probléma létezik. Domain jelenségek leírása (informális); Követelmények leírása (informális); Specifikáció (formális). Mind a három foglalkozik a tekintetbe vett világban lejátszódó jelenségekkel és állapotokkal. (Első kettő különbözik a harmadiktól). A specifikációs jelenségek közösek a gépi világ jelenségeivel: Ezek formálisaknak tekintendők. A specifikációval szemben támasztott követelmény: Teljes és egyértelmű legyen: mint a program és az azt végrehajtó gép.

A világ jelenségei informálisan mutatkoznak meg. A szoftver fejlesztőjének kell a formalizálást kigondolnia. Dijkstra: „One of the greatest difficulties in software development is formalization – capturing in symbolic representation a worldly computational problem so that the statements obtained by following rules symbolic manipulation are useful statements once translated back into the language of the world.” Formalizáció: (általában elhanyagolt a szoftver fejlesztésében) - Deszignációk (megnevezések). - Formális definíciók.

Deszignáció (jelenségek leírása, pontos megnevezése). A követelményekben és valós világ leírásában szereplő jelenségek leírása.) A deszignációban formális terminusokat használunk, (pl. matlogika); és –szükség szerint informális- szabályokat, amelyek a valóságos jelenségek példányait egyértelműen azonosítják. Példa. Egy öröklődési rendszer részproblémája: mother(x,y)  x is the mother of y. Ez még sok féle lehet, ezért mother(x,y)  x is the human generic mother of y. (Ez így kevés lehet: adaptációs, pótmama, mostoha, nevelő szülő;)

Alapvető fontosságú: Leírás legyen adekvát. (A domén leírások és a követelmények alapjainak leírása esetén). (Ha ez nem megy akkor a választott osztályszerkezet miatt másikkal kell próbálkozni). Pl. Egy nemzetközi cég, amely iroda bútorokkal foglalkozik. Deszignáció: chair(x)  is a single unit of furniture whose primary use is to provide seating for one person. (Filozófusok szoktak ezzel játszani, hogy az élő nyelvekben ez egy olyan szó, amelynek a jelentésében lévő bizonytalanságot szinte lehetetlen megszüntetni. Csak szöveg-környezetben derül ki, hogy miről van szó. De egy cég esetében a fenti definíció elég lehet).

Formális definíciók. (A deszignációkban megadtuk a jelenségeket, pontos, viszonylag kis számú szükséges a világunk leírásához). A formális definíciókban ezeket használjuk fel számunkra hasznos továbbiak jelenségek definiálásához. Például: Definíció: sybling(a,b) = a  b  (  p,q)( (mother(p,a)  mother(p,b)) (father(q,a)  father(q,b))). Deszignáció – definíció. Deszignáció: megfigyelések egy osztályát írja le. Definíció: kényelmesen használható terminológiákat vezet be.

Példa: leltár. Feltevés. Adottak a deszignációk: Bevétel(e,q,t)  e az az esemény, amely t időpontban következett be, amikor a raktárba q darab egység érkezett be. Kiadás(e,q,t)  e az az esemény, amely t időpontban következett be, amikor a raktárból q darab egység kiadásra került. A raktárban lévő készlet definíciója: Mennyiség(sum,t); Mennyiség(sum,tt) = (  e | ((Bevétel(e,q,t)  Kiadás(e,-q,t))  t<tt) = sum; (Nem mond újat ez a definíció a "világról"!)

Deszignáció és definíció: Deszignáció: Instock(qty,tt)  tt időpontban a raktárban lévő ládák száma. Definíció: Instock(0,t0); (  qty,tt)(Instock(qty,tt)  (  e |((receive(e,q,t))  issue(e,-q,t))  t  tt) = qty;

Modell. Analitikus modell. A tartomány analitikus modellje egy olyan formális leírás, amelyből a tartomány további tulajdonságai következtethetők. Pl. Differenciál egyenletekkel leírt rendszer; Pl. Az ital automata működését diagram írja le. Ikon modell. A tartomány ikon modellje egy olyan reprezentáció, amely a tartomány külső megjelenését mutatja be. Pl. A tervező elkészíti az épület külső megjelenésének rajzát. Analóg modell. Egy helyettesítő tartományban elkészített modell azzal a céllal, hogy a megalkotandó rendszer működését szimuláljuk információ nyerés céljából.

Példa. Lift kijelző rendszer egy szállodában. Követelmény. A rendszer tartsa nyilván haladási irányát (fel, le) és a szintek azonosítóját (hol(i)), ahol tartózkodik. A lift tartózkodási helye és haladási iránya legyen folyamatosan látható a hallban kihelyezett panelen.

A lift össze van kötve egy számítógéppel, amely egy információs panelt vezérel a hallban. A liftet minden szinten figyeli egy érzékelő és az adja a jelet a panelre). Az itt várakozó láthatja: Melyik szinten van a lift. Milyen irányban haladva állt meg az adott szinten.

A lift egy modellje. A lift össze van kötve egy számítógéppel, és egy információs panellel a hallban. (A liftet minden szinten figyeli egy érzékelő és az adja a jelet a panelre). Hotel lift Lobby display Információs-gép Display-lift a b c d a: {szenzor(f)}b: {lámpabe(p), lámpaki(p)} c: {fel, le, hol(f)}d: {lámpa állapotok} f: emelet azonosító;p: piros

A hotel liftnek és a lift modelljének nincsenek közös fenoménjei. Az állapotjelenség a lift esetében: f. Az állapot jelenség a modell esetében: c. Ezeket meg kell egymásnak feleltetni. A lift állapotai: fel, le, hol(f). A modell állapotjellemzői: Mfel, Mle, Mhol(c); Ezekre is rendre meg kell egymásnak feleltetni. Kézenfekvő a modellt két részre bontani

A lift pozícióját mutató display. Hotel lift Lift modell modell-gép Model lift a e c f Lift model Lobby display display-gép Displaymodel g b f d a: {szenzor(f)}; c: {fel, le, hol(f)}; b: {lámpabe(p), lámpaki(p)}; d: {állapotok} e: {liftmod konstr. oprs}; g: {liftmod accessoprs}; f: {liftmodel állapotok};

A gyakorlati kérdések megoldása számos problémát vet fel a megfeleltetésnél. hol(f) = T, ha a lift az f-edik szinthez minden más szintnél közelebb van. Ennek alapján kellene megfeleltetni. hol(f) és Mhol(c)-t. A közelséget a szenzor mutatja. Mhol(c) = T akkor és csak akkor, ha senzor(f) = T. A helyes megoldás: Ha a lift megy az első szintről a második szintre, akkor Mhol(1) mindaddig igaz marad, amíg a lift nem ért elég közel a második szinthez. Amikor ezt a közelséget a senzor(2) jelzi, azaz állapotot vált, akkor lesz az Mhol(2) értéke igaz.

Modellezési relációs viszonyok. valóságos világ (domain) modell világ (model domain) jelenségek közötti megfeleltetés egyszerű valós jelenségek Pl. lift. f = 0,1,...,8; hol(f) modell jelenségek Mf = 0,1,...,8; Mhol(c); c = Mf; Mhol(f) akkor és csak akkor igaz, ha hol(f) igaz.

A gyakorlati kérdések megoldása számos problémát vet fel a megfeleltetésnél. hol(f) = T, ha a lift az f-edik szinthez minden más szintnél közelebb van. Ennek alapján kellene megfeleltetni: hol(f) és Mhol(c) értékét. A közelséget a szenzor mutatja. Mhol(c) = T akkor és csak akkor, ha senzor(f) = T. A helyes megoldás: Ha a lift megy az első szintről a második szintre, akkor Mhol(1) mindaddig igaz marad, amíg a lift nem ért elég közel a második szinthez. Amikor ezt a közelséget a senzor(2) jelzi, azaz állapotot vált, akkor lesz az Mhol(2) értéke igaz. Nehezebb: (fel : Mfel), (le : Mle) megfeleltetés.

Induláskor: Mfel  ~Mle; Nyilvántartandó: Hhol(k) értéke. Legyen az épület 8 emeletes. Mhol(n+1) igaz lesz, ha Mhol(n) előtte igaz volt  (n = 0,...,6): Mfel  ~Mle; Mhol(8) igaz lesz, ha Mhol(7) előtte igaz volt  Mle  ~Mfel; Mhol(n-1) igaz lesz, ha Mhol(n) előtte igaz volt  (n = 2,...,8): Mle  ~Mfel; Mhol(0) igaz lesz, ha Mhol(1) előtte igaz volt  Mfel  ~Mle; Mhol(n) igaz lesz már x second óta folyamatosan  (n = 1,...,7): ~Mle  ~Mfel;

4. Modellezési relációs viszonyok. Valós világ és modell világ. Probléma dekompozíció. Szemléltető példa: öntöző rendszer

Ebben az előadásban eddig mi elsősorban azzal foglalkoztunk, hogy miképpen írjuk le a mi világunkban jelentkező problémát és kevésbé a gép által végrehajtandó szoftver rendszer megtervezésével. Kérdés vajon ez a szoftverfejlesztő feladata-e? Barry Boehm (1994): "While the hardware and systems engineers sat around the table discussing their previous system architectures, the software engineers sat on the side, waiting for someone to give them a precise specification they could turn into code".

Kérdés vajon ez a szoftverfejlesztő feladata-e? Alkalmazási terület szakembere: Specifikációs tűzfal előtti. Szoftverfejlesztő: Specifikációs tűzfal és ami utána. A szoftver fejlesztő szakember nem lehet minden alkalmazási területen specialista. (Például az általunk tárgyalt közlekedési átkelésnél a közlekedési mérnök feladata a közlekedési adatok elemzése alapján az átkelés megtervezése, paraméterek meghatározása). A nagy bonyolultságú gyakorlati problémák bonyolultságának kezelése a gép oldaláról nézve szinte reménytelen vállalkozás. A specifikációs tűzfal utáni mechanikusan végrehajtott programozási feladat - a valóságos probléma ismerete nélkül - számos hibalehetőséget rejt magában.

informálisan megfogalmazott probléma (valóságos világban: domain) A probléma formálisan leírt megoldása (számítógépen) Tevékenységek láncolata Követelmény interfész: (az ügyfél kívánságának a megfogalmazása a valóságos világban; (stop, go)). Specifikációs interfész: (a gép számára megírt megoldás a formális világban; (elektromos jelek: piros, zöld)).

informálisan megfogalmazott probléma (valóságos világban: domain) A probléma formálisan leírt megoldása (számítógépen) Tevékenységek láncolata Informálisan megfogalmazott probléma + korlátok. A géppel történő megoldás specifikációja

Informálisan megfogalmazott probléma, korlátok. A géppel történő megoldás specifikációja helyesség ellenőrzése Szoftverfejlesztő Értelmesség. Órajel; kimenőjel...X1ff;...; bejövőjel...X207;... Órajel; kimenőjel...read27;...; bejövőjel...boton 8; Követelmény szerinti helyesség; Ellentmondás mentesség; Teljesség;