1 / 27

Az informatikus munkája inkább mérnöki munka. Technológia kell. -Módszer. -Szabályok.

Múlt alkalommal:. Az informatikus munkája inkább mérnöki munka. Technológia kell. -Módszer. -Szabályok. -Szervezés. 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ép. forgalmi lámpa.

kalani
Download Presentation

Az informatikus munkája inkább mérnöki munka. Technológia kell. -Módszer. -Szabályok.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Múlt alkalommal: Az informatikus munkája inkább mérnöki munka. Technológia kell. -Módszer. -Szabályok. -Szervezés. 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ép forgalmi lámpa Specifikációs interface {pjel, zjel} következmények: inteface {stop, go}

  2. Részleges domén leírás: 1: ~ stop  ~ go Pjel 2: stop  ~ go Pjel Zjel Zjel 3: ~ stop  go 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)

  3. 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.

  4. 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).

  5. 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.

  6. 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.

  7. 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ő;)

  8. 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).

  9. 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.

  10. 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"!)

  11. 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;

  12. 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.

  13. 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.

  14. 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.

  15. 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 c a Display-lift Információs-gép b d Lobby display 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

  16. 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

  17. A lift pozícióját mutató display. Hotel lift c a Model lift modell-gép e Lift modell f Lift model f g Displaymodel display-gép b Lobby display 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};

  18. 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.

  19. Modellezési relációs viszonyok. jelenségek közötti megfeleltetés egyszerű valóságos világ (domain) modell világ (model domain) 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.

  20. 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.

  21. 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;

  22. 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

  23. 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".

  24. 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.

  25. informálisan megfogalmazott probléma (valóságos világban: domain) Tevékenységek láncolata A probléma formálisan leírt megoldása (számítógépen) 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)).

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

  27. Informálisan megfogalmazott probléma, korlátok. A géppel történő megoldás specifikációja Szoftverfejlesztő helyesség ellenőrzése É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;

More Related