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 Tárgykód vagy

14 Java - I. / 13 Program szerkesztése Szerkesztő program Error Szerkesztési hibák Tárgykód Tárgykód Futtatható program vagy

15 Java - I. / 14 Futó program … Program futása 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 CDF350000F3F1

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 é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, 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. / 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