Programozási Technológia 1. 1. előadás bevezetés Előadó: Lengyel Zsolt
Tartalom Információk a tantárggyal kapcsolatban Programozási technológiai eszközök áttekintése UML tervezőeszközök JAVA fejlesztőeszközök, -környezetek
Információk a tantárggyal kapcsolatban I/IV Képzés: Programtervező Informatikus BSc, nappali tagozat, C szakirány Tárgykód: IP-08cPROGT1 Cél: objektumelvű alkalmazások tervezéséhez szükséges szoftvertechnológiai eszközök megismerése, az elkészített terv JAVA platformú implementálásához szükséges ismeretek elsajátítása Előfeltétel: Programozás (IP-08cPROG, erős). Kreditszám: 6, óraszám: 3 óra előadás, 2 óra gyakorlat, 1 óra konzultáció
Információk a tantárggyal kapcsolatban II/IV Elérhetőségek: Honlap az Interneten: http://lengyel.web.elte.hu/ e-mail: lengyel.zsolt@informatics.elte.hu Személyesen: Programozáselmélet és Szoftvertechnológiai Tanszék, 2.618 Fogadóóra: csütörtök, 9:00 10:00, illetve előre egyeztetett időpontban
Információk a tantárggyal kapcsolatban III/IV Előadás tematikája: Szept. 14.: bevezetés Szept. 21.: statikus modell, osztályok Szept. 28.: osztálydiagram, osztályok közötti kapcsolatok Okt. 5.: öröklődés, absztrakt osztályok, interfészek, polimorfizmus Okt. 12.: objektumdiagram, osztályszintű elérés, adatok beolvasása Okt. 19.: fájlkezelés, kivételkezelés Okt. 26.: gyűjtemények és algoritmusok Nov. 9.: tervminták Nov. 16.: grafikus felhasználói felületek Nov. 23.: grafikus felhasználói felületek Nov. 30.: grafikus felhasználói felületelemek kommunikációja Dec. 7.: többrétegű alkalmazások Dec. 14.: dinamikus modell, állapotok és átmenetek, szekvenciák
Információk a tantárggyal kapcsolatban IV/IV Számonkérés: Gyakorlati jegy alapján megszerezhető vizsgajegy (összevont számonkérés) Minden gyakorlaton +/- feladat 2 db beadandó feladat bemutatása dokumentációval a határidő betartásával Csak a kitűzött feladatot megoldó, önállóan megvalósított, hibátlanul működő, letesztelt program fogadható el. 2 db zárthelyi megírása Legalább elégségesnek kell lennie mindkettőnek Legfeljebb 1 pótolható A félév végi jegy a beadandókra és a zárthelyikre kapott jegy átlaga, ha a +/- összesítése legalább 0
Programozási technológiai eszközök áttekintése Szoftvertechnológia Története Ágazatai Szoftvertervezés, programozási technológia Tervezési elvek Tervezési szempontok Modellezés, modellezőeszközök Tervminták
A szoftvertechnológia története I/III Az 1940-es évek közepe: az első elektronikus számítógép Az 50-es évek: Tudományos és műszaki feladatok Az első, program által vezérelt számítógépek Elektroncsövek A 60-as évek: Ismétlődő feladatok, algoritmusok Lyukkártya, nyomtató Adatgyűjtés, kiértékelés, folyamatvezérlés (hadiipar, űrkutatás)
A szoftvertechnológia története II/III A 70-es évek: Ügyviteli feladatok (pl. raktárkészlet, megrendelések, szállítások ütemezése) A 80-as évek: Személyi számítógépek Nagy rendszerek mellett kisvállalkozások, oktatás, játék, szórakozás A 90-es évek: Kommunikáció, távmunka, multimédia
A szoftvertechnológia története III/III Alkalmazásfejlesztési módszerek fejlődése Egyszerű alkalmazások, önálló fejlesztés Nagy rendszerek, fejlesztők együttműködése Szoftverkrízis Program = termék (funkció, minőség, költség, határidő) Előállítási technológia Projektmenedzselés
A szoftvertechnológia ágazatai Követelményelemzés (specifikáció készítése) Architektúra Tervezés Fejlesztés Tesztelés Karbantartás Szoftvermenedzsment Fejlesztési folyamat Tervezőeszközök Szoftverminőség Formális módszerek, programszintézis
Szoftvertervezési elvek Absztrakció Modularitás Architektúra Vezérlési hierarchia Adatszerkezetek Információelrejtés
Szoftvertervezési szempontok Újrafelhasználhatóság Bővíthetőség Hibatűrés, robusztusság Karbantarthatóság Modularitás Megbízhatóság Kompatibilitás Biztonság Használhatóság, felhasználóbarátság
Modellezés, modellezőeszközök Modell: a specifikációnak és a tervezési elveknek és szempontoknak megfelelő terv, mely alapján a program elkészíthető Modellező nyelv: olyan mesterséges nyelv, amely strukturált információt képes kifejezni, mely struktúrát a specifikáció határozza meg. Unified Modeling Language (UML): általános modellező nyelv (nem csak szoftvermodellezésre alkalmas), szerkezet és viselkedés szempontjából is leírja a modellt. Grafikus megjelenéssel rendelkezik. UML-ből automatikus programgenerálás is lehetséges
Tervminták Önállóan tervezni, hatékony, ugyanakkor újra felhasználható tervhez ötleteket kitalálni nehéz. A régebben már bevált tervek alapján viszont könnyebb dolgozni. Ilyen tervek megismeréséhez, elsajátításához sok gyakorlatra van szükség. Ezek a tervrészletek a tervminták. Tervezéskor hasonlóan használhatóak, mint programozás közben az újrafelhasználható kódrészletek.
UML tervezőeszközök ArgoUML - http://argouml.tigris.org/ StarUML - http://staruml.sourceforge.net/en/ Umbrello UML - http://uml.sourceforge.net/ PowerDesigner (fizetős) http://www.sybase.com/products/ modelingdevelopment/powerdesigner Microsoft Visio - (fizetős) http://office.microsoft.com/hu-hu/ visio/ Visual Paradigm - (fizetős) http://www.visualparadigm.com/product/vpuml/ (Eclipse UML Tools) (NetBeans)
JAVA fejlesztőeszközök és -környezetek (JAVA Runtime Environment (jre)) JAVA Development Kit (JDK) http://www.oracle.com/technetwork/java/javase/downlo ads/index.html JAVA dokumentáció - http://download.oracle.com/javase/6/docs/api/ NetBeans - http://netbeans.org/ Eclipse - http://www.eclipse.org/ JDeveloper - http://www.oracle.com/technetwork/developertools/jdev/overview/index.html JCreator - http://www.jcreator.com/ JBuilder - http://www.embarcadero.com/products/jbuilder IntelliJ IDEA - http://www.jetbrains.com/idea/
NetBeans cheat-sheet Futtatás: F6 Kódkiegészítő: Ctrl + szóköz Kód generálás: Alt + Insert Kód formázása: Alt + Shift + F Hibajavítási tippek: Alt + Enter Átnevezés: Ctrl + R Változó kiemelése egy kifejezésből: Shift + Alt + V Attribútum kiemelése egy kifejezésből: Shift + Alt + E Függvény készítése egy kódrészletből: Shift + Alt + M
Köszönöm a figyelmet! Kérdések?