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

Hasonló előadás


Az előadások a következő témára: "Java 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."— Előadás másolata:

1 Java 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 Köszöntő Szeretettel köszöntöm Önt, kedves hallgató ott a képernyő túloldalán. Angster Erzsébet vagyok, a Programozás tantárgy vezető tanára. Azzal az elhatározással ültem ide erre az oldalra, hogy segítsek Önnek, sőt megpróbáljak kedvet csinálni tanulmányaihoz, apró programjai elkészítéséhez. Önnek tisztában kell lennie azzal, hogy ez a tárgy nem a magolós tárgyak közé tartozik, a tananyag elsajátításához hónapokra van szükség. E tárgy tanulása során kialakul majd egyfajta gondolkodás, melyhez feltétlenül gyakorlási és érési időre van szükség. Hogy mennyi időre, az természetesen az egyéntől is függ. Van, aki most lát életében először programot, van, aki már komolyabb rutinra tett szert. Van, aki lassabban, de alaposabban tanul, mások gyorsabban, de felületesebben. Én a kettő közül feltétlenül az előbbit választanám. (Itt jön be az első kép) A tananyag mintegy 20 fejezetből áll, úgy, ahogy a tankönyvben is. Minden fejezet elején látni fogja, hogy pontosan hol tart az anyagban. Ajánlatos az egyes fejezetek végén egy kicsit elidőzni, a tankönyv kérdéseire válaszolni, valamint néhány feladatot megoldani.

2 I. Bevezetés a programozásba II. Objektumorientált paradigma
Java 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 Köszöntő Szeretettel köszöntöm Önt, kedves hallgató ott a képernyő túloldalán. Angster Erzsébet vagyok, a Programozás tantárgy vezető tanára. Azzal az elhatározással ültem ide erre az oldalra, hogy segítsek Önnek, sőt megpróbáljak kedvet csinálni tanulmányaihoz, apró programjai elkészítéséhez. Önnek tisztában kell lennie azzal, hogy ez a tárgy nem a magolós tárgyak közé tartozik, a tananyag elsajátításához hónapokra van szükség. E tárgy tanulása során kialakul majd egyfajta gondolkodás, melyhez feltétlenül gyakorlási és érési időre van szükség. Hogy mennyi időre, az természetesen az egyéntől is függ. Van, aki most lát életében először programot, van, aki már komolyabb rutinra tett szert. Van, aki lassabban, de alaposabban tanul, mások gyorsabban, de felületesebben. Én a kettő közül feltétlenül az előbbit választanám. (Itt jön be az első kép) A tananyag mintegy 20 fejezetből áll, úgy, ahogy a tankönyvben is. Minden fejezet elején látni fogja, hogy pontosan hol tart az anyagban. Ajánlatos az egyes fejezetek végén egy kicsit elidőzni, a tankönyv kérdéseire válaszolni, valamint néhány feladatot megoldani.

3 I. Bevezetés a programozásba
1. A számítógép és a szoftver 2. Adat, algoritmus 3. A szoftver fejlesztése Köszöntő Szeretettel köszöntöm Önt, kedves hallgató ott a képernyő túloldalán. Angster Erzsébet vagyok, a Programozás tantárgy vezető tanára. Azzal az elhatározással ültem ide erre az oldalra, hogy segítsek Önnek, sőt megpróbáljak kedvet csinálni tanulmányaihoz, apró programjai elkészítéséhez. Önnek tisztában kell lennie azzal, hogy ez a tárgy nem a magolós tárgyak közé tartozik, a tananyag elsajátításához hónapokra van szükség. E tárgy tanulása során kialakul majd egyfajta gondolkodás, melyhez feltétlenül gyakorlási és érési időre van szükség. Hogy mennyi időre, az természetesen az egyéntől is függ. Van, aki most lát életében először programot, van, aki már komolyabb rutinra tett szert. Van, aki lassabban, de alaposabban tanul, mások gyorsabban, de felületesebben. Én a kettő közül feltétlenül az előbbit választanám. (Itt jön be az első kép) A tananyag mintegy 20 fejezetből áll, úgy, ahogy a tankönyvben is. Minden fejezet elején látni fogja, hogy pontosan hol tart az anyagban. Ajánlatos az egyes fejezetek végén egy kicsit elidőzni, a tankönyv kérdéseire válaszolni, valamint néhány feladatot megoldani.

4 I. Bevezetés a programozásba
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

5 A számítógép részei

6 Objektum A valós világban előforduló dolog, melynek vannak adatai (tulajdonságai) és van viselkedésmódja. 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. Szoftver Egy számítógépes rendszer meg nem fogható, nem fizikai összetevői.

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

8 Gépi kód (natív kód, tárgykód)
LDA $05 ADC $20 $05 HLT Assembly nyelv Mnemonik LDA ADC Gépi kód (natív kód, tárgykód) $02 $05 $10 $20 $05 $01 $02 $05 Töltsd az akkumulátorba az 5-öt $10 $20 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:

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

10 Alacsony szintű nyelv (Assembly nyelv) (Mnemonikok, címek)
Magas szintű nyelv (Java) (Változók, magas szintű utasítások) JMP BELEP A: BYTE 7 I: BYTE 0 BELEP: LDA 5 STA I LDA 0 UJRA: ADD A DEC I JNZ UJRA STA A HLT { int a = 7 ; a = a * 5 ; }

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

12 Program fordítása Fordító program Fordítási hibák Forrásprogram
Error 109:Variable Error 133:Too much Fordítási hibák Var A: Byte ; Begin A:= A*5 ; ... End. Forrásprogram Fordító program Tárgykód vagy

13 Program szerkesztése Szerkesztő program 1. Tárgykód Szerkesztési hibák
1. Tárgykód Error Szerkesztési hibák Szerkesztő program 2. Tárgykód Futtatható program vagy

14 Program futása Futó program Adatok Adatok Futási hibák Átlag: 6 10 6 2
Futási hibák vagy

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)

16 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.
Fordító (Compiler) Egy program, mely a teljes forrásprogramot gépi kódra, illetve közbenső bájtkódra alakítja. É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.

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

18 Bájtkód futtatása interpreterrel
00971CDF 0000F3F1 Bájtkód (App.class) Memória a … … 7 35 00971CDF 0000F3F1

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

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

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

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

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)

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

25 I. Bevezetés a programozásba
2. Adat, algoritmus 1. Az algoritmus fogalma 2. Változó, típus 3. Tevékenységdiagram 4. Pszeudokód 5. Az algoritmus tulajdonságai

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 Vezérlőszerkezetek: szekvencia szelekció (elágazás) iteráció (ciklus) feltétel nélküli ugrás Strukturált algoritmus alapelemei

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.

28 Változó Névvel azonosított memóriaterület, melynek változhat az értéke
Például: aktTanuló Szív Zsazsa true 1976 02 01 év:number név:String lány:boolean nap:number hó:number szülDátum:Date aktTanuló:Tanuló

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”

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

31 Pszeudokód Adatok eljárás kiir(tanulo: Tanuló)
aktTanuló: Tanuló legTanuló: Tanuló 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

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ó) else if (dátum1.év==dátum2.év) & (dátum1.hó==dátum2.hó) & (dátum1.nap>dátum2.nap) end if return ok end későbbi függvény

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

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

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

36 I. Bevezetés a programozásba
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

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

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

39 A szoftver élete A szoftver élete fejlesztési ciklusokból áll
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

40 Fejlesztési ciklus Munkafázisok Iterációk Követelményfeltárás Analízis
. # 1 2 n + m Követelményfeltárás Főbb munkafolyamatok Analízis Tervezés Implementáció Teszt Munkafázisok Felmérés Kidolgozás Konstrukció Átadás Előkészítő Iterációk Egy iteráció a kidolgozás fázisban

41 Munkafázisok Felmérés (Inception) feladat elképzelése, feltérképezése
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 Átadás (Transition) a felhasználó kipróbálja a rendszert, jelzi a feljesztőnek a hibákat és a további igényeket

42 Főbb munkafolyamatok Követelményfeltárás követelmények összegyűjtése
dokumentációja: követelményspecifikáció (feladatspecifikáció) 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

43 Főbb munkafolyamatok (folyt.)
Tervezés a feladat lényegi megoldása dokumentációja: programterv Implementálás kódolás a programterv alapján dokumentációja: forráskód 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

44 Tesztelés Tesztelési módszerek éles tesztelés (futtatás)
szárazteszt (fejben futtatá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

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


Letölteni ppt "Java 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."

Hasonló előadás


Google Hirdetések