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:
[email protected] 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 −
2 db zárthelyi megírása
− −
Csak a kitűzött feladatot megoldó, önállóan megvalósított, hibátlanul működő, letesztelt program fogadható el. 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:
−
A 80-as évek:
− −
Ügyviteli feladatok (pl. raktárkészlet, megrendelések, szállítások ütemezése) 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?