Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Java - I. / 1 Angster Erzsébet: OO tervezés és programozás, Java I. kötet alapján  Készítette: Andor Gergely és Angster Erzsébet  Ellenőrizte: Dr. Szelezsán.

Hasonló előadás


Az előadások a következő témára: "Java - I. / 1 Angster Erzsébet: OO tervezés és programozás, Java I. kötet alapján  Készítette: Andor Gergely és Angster Erzsébet  Ellenőrizte: Dr. Szelezsán."— Előadás másolata:

1

2 Java - I. / 1 Angster Erzsébet: OO tervezés és programozás, Java I. kötet alapján  Készítette: Andor Gergely és Angster Erzsébet  Ellenőrizte: Dr. Szelezsán János  Jóváhagyta: Lengyel Zsuzsánna

3 Java - I. / 2 I.Bevezetés a programozásba II.Objektumorientált paradigma III.Java környezet IV.Java programozási alapok V.Osztályok használata, készítése VI.Konténerek

4 Java - I. / 3 1.A számítógép és a szoftver 2. Adat, algoritmus 3.A szoftver fejlesztése

5 Java - I. / 4 1. A számítógép és a szoftver 1.Objektum, adat, program 2.Programozási nyelv 3.A program szerkesztése, fordítása, futtatása 4.A szoftverek osztályozása 5.Szoftverkrízis 6. A szoftver minőségének jellemzői 7. Moduláris programozás 8. Módszertanok

6 Java - I. / 5 A számítógép részei

7 Java - I. / 6 Program Számítógép számára érthető instrukciók sorozata, mely az adatok megfelelő számításaival és mozgatásaival egy feladat megoldását célozza. Objektum A valós világban előforduló dolog, melynek vannak adatai (tulajdonságai) és van viselkedésmódja. Szoftver Egy számítógépes rendszer meg nem fogható, nem fizikai összetevői.

8 Java - I. / 7 A programozó és a számítógép közötti kommunikációs nyelv Programozási nyelv Emberi nyelv „Szorozd meg a 7-et 5-tel!” Programozási nyelv { int a = 7 ; a = a * 5 ; } Forráskód Gépi nyelv 00971CDF 0000F3F1 Gépi kód

9 Java - I. / 8 Gépi kód (natív kód, tárgykód) $02 $05 $10 $20 $05 $01 LDA $05 ADC $20 $05 HLT Assembly nyelv Mnemonik LDA ADC HLT $02$05 Töltsd az akkumulátorba az 5-öt $10$20$05 Add össze és tedd az akkumulátorba a $20 címen levő értéket és az 5-öt! $01 Állj meg! Utasításkód:Paraméterek:

10 Java - I. / 9 A $20 címen levő byte-ot szorozzuk meg 5-tel! Akkumulátor: Memória: A program belépési pontja: $22 Adatok $07 $00 $07 $00 $05 $07 $05 $07 $05 $00 $07 $05 $07 $04 $07 $03 $0E $07 $02 $15 $07 $01 $1C $07 $00 $23 $00 $23

11 Java - I. / 10 Alacsony szintű nyelv (Assembly nyelv) (Mnemonikok, címek) Magas szintű nyelv (Java) (Változók, magas szintű utasítások) JMPBELEP A:BYTE7 I:BYTE0 BELEP:LDA5 STAI LDA0 UJRA:ADDA DECI JNZUJRA STAA HLT { int a = 7 ; a = a * 5 ; }

12 Java - I. / 11 Programozás fordító-szerkesztő környezetben  Forrásprogram (forráskód) megírása  Fordítás  Szerkesztés  Futtatás A programkészítés folyamata

13 Java - I. / 12 Program fordítása Fordító program Error 109:Variable Error 133:Too much Fordítási hibák Var A: Byte ; Begin... A:= A*5 ;... End. Forrásprogram 00011101 11001110 00001111 01010101 00111000 11111111... Tárgykód vagy

14 Java - I. / 13 Program szerkesztése Szerkesztő program Error 500... Szerkesztési hibák 00011101 11001110 00001111 01010101 00111000 11111111... 1. Tárgykód 11001110 00001111 01011101 00111000 00011101 10110111... 2. Tárgykód 00011101 11001110 00001111 01010101 00111000 11111111... Futtatható program vagy

15 Java - I. / 14 Futó program 00011101 11001110 00001111 01010101 00111000 11111111 … Program futása 10 6 2 Adatok Átlag: 6 Adatok Futási hibák vagy

16 Java - I. / 15 Programozás Java környezetben  Forrásprogram (forráskód) megírása  Forráskód lefordítása bájtkódra (javac.exe)  JVM (Java Virtual Machine, java.exe) Modulok összeszerkesztése (linker) Bájtkód értelmezése, fordítása, futtatása lépésenként (interpreter)

17 Java - I. / 16 Értelmező (Interpreter) Egy program, mely a forrásprogramot vagy a bájtkódot utasításonként értelmezi, fordítja le, és hajtja végre. Fordító (Compiler) Egy program, mely a teljes forrásprogramot gépi kódra, illetve közbenső bájtkódra alakítja. Bájtkód A magas szintű forráskód és a gépi kód közötti gépfüggetlen közbenső kód.

18 Java - I. / 17 javac.exe Fordítóprogram Java program fordítása App.java : 7 : Class int not found Fordítási hibák … int a = 7 ; a = a * 5 ; … Forráskód (App.java) 00971CDF 0000F3F1 Bájtkód (App.class) vagy

19 Java - I. / 18 … …... Memória a 00971CDF 0000F3F1 Bájtkód (App.class) Bájtkód futtatása interpreterrel 700971CDF350000F3F1

20 Java - I. / 19 Szoftverkrízis (1968)  Igények, követelmények egyre nagyobbak  szabványosítás  felhasználóbarátság  elronthatatlanság  gyors elkészítés  karbantarthatóság  minél alacsonyabb költségek  A programok, programrendszerek egyre bonyolultabbak, áttekinthetetlenek

21 Java - I. / 20  A programot olyan egységekre kell bontani, melyek egymástól minél kevésbé függenek áttekinthetőek karbantarthatóak Paradigmaváltás: strukturált  OO Adat Művelet Adat Művelet Modul1 Modul2

22 Java - I. / 21 A minőségi szoftver jellemzői  Helyesség  Hibatűrés  Karbantarthatóság, bővíthetőség  Újrafelhasználhatóság  Kompatibilitás  Felhasználóbarátság  Hordozhatóság  Hatékonyság  Ellenőrizhetőség  Integritás (sérthetetlenség)  Szabványosság

23 Java - I. / 22 Moduláris programozás  Oszd meg és uralkodj!  Adatok (információ) elrejtése  Döntések elhalasztása  Döntések kimondása  Felülről lefelé tervezés (top-down)  Alulról felfelé tervezés (bottom-up) Irányelvek: Tervezési irányzatok (modulokra bontás irányai):

24 Java - I. / 23 Módszertan  Programfejlesztési (szoftverfejlesztési) módszertan Hogyan készítsük el a szoftvert? Adatok (objektumok) és algoritmusok meghatározása Modulokra bontás; modulok elkészítése és összerakása Például: strukturált, objektumorientált (Egységesített Eljárás, Unified Process)

25 Java - I. / 24 Módszertan (folyt.)  Grafikus jelölésrendszer (modellező nyelv) Például: UML (Unified Modeling Language, Egységesített Modellező Nyelv)  CASE eszköz Például: Rational Rose

26 Java - I. / 25 2.Adat, algoritmus 1.Az algoritmus fogalma 2.Változó, típus 3.Tevékenységdiagram 4.Pszeudokód 5.Az algoritmus tulajdonságai

27 Java - I. / 26 Algoritmus  Algoritmus: Utasításoknak olyan sorozata, amely egy feladat megoldásához vezet  Program: Egy számítógép által érthető algoritmus Strukturált algoritmus alapelemei  Vezérlőszerkezetek: szekvencia szelekció (elágazás) iteráció (ciklus) feltétel nélküli ugrás

28 Java - I. / 27 Feladatspecifikáció Hannibál tanár úr azt kapja feladatul: határozza meg a legfiatalabb lánytanulót az osztályában. Meg kell adnia a kérdéses lány nevét és születési dátumát.

29 Java - I. / 28 Változó  Névvel azonosított memóriaterület, melynek változhat az értéke  Például: aktTanuló Szív Zsazsa true 19760201 év:number név:Stringlány:boolean nap:number hó:number szülDátum:Date aktTanuló:Tanuló

30 Java - I. / 29 Típus  Minden változónak van egy jól meghatározott típusa!  Gyakori típusok: number (szám). Például: 45, -1.2. boolean (logikai), értéke true vagy false. String (szöveg). Például: “Szív Zsazsa”. Date (dátum), összetett típus, 3 számból áll: év, hó, nap. Például (1976,02,01). Értékadás (=) Például: aktTanuló.név = “Szív Zsazsa”

31 Java - I. / 30 out: legTanuló.név, legTanuló.szülDátum [aktTanuló.lány & aktTanuló.szülDátum > legTanuló.szülDátum] [sikerült] legTanulo.szülDatum = (1900,01,01) legTanuló = aktTanuló in: aktTanuló out: "Nincs lány" [legTanulo.szülDatum != (1900,01,01)] Ha ő lány és fiatalabb, akkor megjegyezzük [else] Tevékenységdiagram in: aktTanuló [else] Adatok:  aktTanuló: Tanuló  legTanuló: Tanuló

32 Java - I. / 31 Pszeudokód  Algoritmus kiir(tanulo: Tanuló) out: tanuló.név, tanuló.szülDátum.év, tanuló.szülDátum.hó, tanuló.szülDátum.nap end kiir eljárás  Adatok aktTanuló: Tanuló legTanuló: Tanuló

33 Java - I. / 32 későbbi(dátum1:Date, dátum2:Date): boolean ok : boolean = false if (dátum1.év>dátum2.év) ok = true else if (dátum1.év==dátum2.év) & (dátum1.hó>dátum2.hó) ok = true else if (dátum1.év==dátum2.év) & (dátum1.hó==dátum2.hó) & (dátum1.nap>dátum2.nap) ok = true end if return ok end későbbi függvény

34 Java - I. / 33 legfiatalabbLány() legTanuló.szülDátum = (1900,01,01) in: aktTanuló while sikerült if (aktTanuló.lány & későbbi(aktTanuló.szülDátum, legTanuló.szülDátum)) legTanulo = aktTanulo end if in: aktTanulo end while fő algoritmus

35 Java - I. / 34 if legTanulo.szulDatum != (1900,01,01) out: "Legfiatalabb lány:" kiir(legTanuló) else out: "Nincs lány" end if end legfiatalabbLány

36 Java - I. / 35 Az algoritmus tulajdonságai  Lépésekből (elemi tevékenységekből, utasításokból) áll  Minden lépés egyértelműen végrehajtható  Hivatkozhatunk benne összetett lépésekre is  A végrehajtandó utasításoknak valamilyen célja van  Véges számú lépésből áll  Adatokon manipulál általában vannak bemenő (input) adatai legalább egy kimenő (output) adatot eredményez

37 Java - I. / 36 3. A szoftver fejlesztése 1.A szoftverfejlesztés alkotómunka 2.Az Egységesített Eljárás 3.Követelményfeltárás 4.Analízis 5.Tervezés 6.Implementálás (kódolás) 7.Tesztelés 8.Dokumentálás

38 Java - I. / 37 A szoftver fejlesztése  Egységesített Eljárás (Unified Process): Módszertan a fejlesztés módjára vonatkozóan  UML (Unified Modeling Language, Egységesített Modellező Nyelv): Grafikus jelölésrendszer a szoftver különböző nézeteinek modellezésére  Java: Magas szintű programnyelv programjaink implementálásához

39 Java - I. / 38 Egységesített Eljárás  Fogalmak felhasználó, megrendelő, szoftverfejlesztő aktor: aki vagy ami a rendszert használja használati eset: a használatnak egy értelmes, kerek egysége  OMT + Booch + OOSE módszerek egységesítése  Főbb jellemzői Használatieset-vezérelt Architektúra központú Iteratív és inkrementális (növekvő)

40 Java - I. / 39 A szoftver élete  Minden fejlesztési ciklus végén a szoftverfejlesztő átad a megrendelőnek egy szoftver verziót Fejlesztési ciklus Fejlesztési ciklus … Idő A kész verzió átadása  A szoftver élete fejlesztési ciklusokból áll

41 Java - I. / 40 Fejlesztési ciklus

42 Java - I. / 41 Munkafázisok  Kidolgozás (Elaboration) rendszer architektúrájának kialakítása  Konstrukció (Construction) főleg tervezés és kódolás eredménye: a rendszer béta verziója  Felmérés (Inception) feladat elképzelése, feltérképezése  Átadás (Transition) a felhasználó kipróbálja a rendszert, jelzi a feljesztőnek a hibákat és a további igényeket

43 Java - I. / 42 Főbb munkafolyamatok  Analízis megoldhatóság, erőforrásigény feltérképezése a feladat elemzése, pontosítása irányvonalak, nagyvonalú tervek megadása megoldási eszközök, módszerek kiválasztása dokumentációja: szakterületi objektummodell és a használati esetek  Követelményfeltárás követelmények összegyűjtése dokumentációja: követelményspecifikáció (feladatspecifikáció)

44 Java - I. / 43 Főbb munkafolyamatok (folyt.)  Implementálás kódolás a programterv alapján dokumentációja: forráskód  Tervezés a feladat lényegi megoldása dokumentációja: programterv  Tesztelés a program működésének ellenőrzése tudatosan összeállított tesztadatokkal dokumentációja: kész program és a tesztadatok

45 Java - I. / 44 Tesztelés  Hibafajták szintaktikai (formai) hiba: forráskódrészlet, melyet a fordító nem tud értelmezni szemantikai (logikai, tartalmi) hiba: a program nem logikusan vagy nem a leírás szerint működik  Tesztelési módszerek éles tesztelés (futtatás) szárazteszt (fejben futtatás)

46 Java - I. / 45 Dokumentálás  Felhasználói dokumentáció felhasználóknak szól útmutató a szoftver használatához  Fejlesztői dokumentáció fejlesztőknek szól a fejlesztés szakaszainak eredményeit tartalmazza


Letölteni ppt "Java - I. / 1 Angster Erzsébet: OO tervezés és programozás, Java I. kötet alapján  Készítette: Andor Gergely és Angster Erzsébet  Ellenőrizte: Dr. Szelezsán."

Hasonló előadás


Google Hirdetések