Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Integrált fejlesztés Java platformon

    A tantárgy angol neve: Integrated Development on Java Platform

    Adatlap utolsó módosítása: 2012. augusztus 31.

    Tantárgy lejárati dátuma: 2015. június 30.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Mérnök Informatikus szak

    Szakmai törzsanyag, Kötelezően választható

    Szabadon választható tantárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIJV51   4/0/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Goldschmidt Balázs,
    A tantárgy tanszéki weboldala http://www.iit.bme.hu/~viiijv51
    4. A tantárgy előadója
    Dr. Goldschmidt BalázsdocensIIT
    5. A tantárgy az alábbi témakörök ismeretére épít Java programozás, szoftver technológia.
    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyTeljesítve("BMEVIIIAV51") )

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:

    Kötelező: Szoftver laboratórium 3 (VIIIA212), Szoftver technológia (VIIIA217)

    Ajánlott: Adatbázisok (VITMA311)

    A tantárgyat nem vehetik fel azok, akik már előzőleg teljesítették a VIIIAV51 (Integrált fejlesztés JAVA platformon) tantárgyat.

    7. A tantárgy célkitűzése A tárgy célja az integrált rendszerfejlesztés alapjainak elsajátítása, gyakorlatban történő tudatos alkalmazása Java környezetben. A korszerű integrált fejlesztőkörnyezetek (Eclipse), tesztelést támogató eszközök (JUnit), objektum-relációs adatbáziskezelők használatának megismerése, verzió- és hibakövetés elveinek megértése. A J2EE technológia alapjainak (servlet, JSP, JSF, XML-kezelés, web-service-ek) megismerése. Biztonsági kérdések integrált fejlesztés során. A tárgy hangsúlya a korszerű fejlesztőeszközök és technológiák integrált, komplex alkalmazásának megismertetésén van. A hallgatók a félév során egy egyszerű web-alapú intranetes rendszer moduljainak kifejlesztésén keresztül a gyakorlatban is megismerkednek a fenti technológiák alkalmazásának lehetőségeivel. A félév végén meghívott, külsős előadók tartanak beszámolót arról, hogy közepes méretű IT vállalatoknál milyen módon folyik az integrált fejlesztés Java platformon.
    8. A tantárgy részletes tematikája
    1. Bevezető: Eclipse fejlesztőkörnyezet megismerése. Programfejlesztés története. IDE megközelítések, az Eclipse története. Az Eclipse platform felépítése, az OSGi rétegek. Eclipse pluginek működése. Workspace, adaptable pattern, workbench, debug, team, help. Eclipse JDT, főbb részei, Core (Java search, model, AST), refaktorálás, UI perspektívák. Java editor.
    2. Verzió- és hibakövetés alapelvei. Történeti áttekintés, backup, csoportmunka, merge. Alapfogalmak. Változások követése, weave, delta, skip-delta. Csoportmunka támogatása: egyidejű hozzáférés, több változat párhuzamos fejlesztése, távoli elérés. RCS, CVS, SVN, ezek támogatása eclipse-ben.
    3. Fordítás automatizálását támogató eszközök (make, ant). Függőségek problémája, példák. Eszköztámogatás. Make és a makefile. Makefile fogalmak, működés, rövidítések. Makefile mintaillesztés, változók, include. Makefile haladóknak. Ant alapjai, előnyei, fogalmak. Projekt, cél, parancs, property, útvonal. Ant parancssori interfésze. Ant parancsok: fájlkezelés, fordítás, archiválás, tesztelés, egyéb. Ant példa.
    4. A perzisztencia lényege, problémái. Szerializálás, terminológia, szabályok, folyamat. Öröklés problémái. ObjectInput és ObjectOutput. Szerializálható mezők, helyettesítés, externalizálás, struktúra, osztály-verziók. Szerializálás gyakorlat.
    5. Hibernate: jellemzők, alapok. Az alapfeladat megoldása. Leképzés: tag-ek, típusok, kollekciók, asszociációk, komponensek, öröklés. Működés, architektúra. Objektumok állapotai. Konfigurálás, identitás. Objektumok állapotai, tranzakciók, lekérdezések, HQL. Hibernate gyakorlat.
    6. Feladatkiadás, megbeszélés, részletezés. OO adatbázisok. Objectstore, alapfogalmak. Szálak és session-ök. Az adatbázis kezelése: létrehozás, megnyitás, lezárás, szemétgyűjtés, verziókezelés. Tranzakciók, speciális objektumok. Root, kollekciók, query, szabad változók.
    7. Java és XML. Az XML története, jellemzői, jólformáltság, validitás. XML Schema-k. Alapfogalmak, gyökér, default és fix értékek, attribútumok, típusmegkötések, indikátorok, megfeleltetések, példák. XPath, elérések, útvonalak, predikátumok, dzsóker-karakterek, csomópont-függvények, axis, pcanon 500dath, operátorok, függvények. XSLT példán keresztül, ciklus, rendezés, kiválasztás, sablonok.
    8. SAX parser, alapok, implementálás, ContentHandler interfész, Locator interfész, feldolgozási utasítás, hibakezelés, példák. Dokument Object Model, Document, Node, NodeList, NamedNodeMap. Specialitások. JDOM alapok.Java Servletek. Servlet architektúra. Java csomagok, Servlet osztály és ősei, segédosztályok. Paraméterátadás, ServletRequest, válaszgenerálás, session-kezelés. Programozási példák. Szervlet felépítése és deployment-je, konfiguráció.
    9. Szoftvertesztelés alapfogalmai. Általános tesztelési folyamat. Tesztelési alapelvek. Független tesztelés szintjei. Tesztelés a szoftverfejlesztési életciklusokban. Tesztelési szintek (egység, integrációs, rendszer, elfogadási tesztek) és típusok (funkcionális, nem-funkcionális, strukturális, karbantartási). Statikus tesztelés, szemlézés.
    10. Dinamikus tesztelés (specifikáció alapú, struktúra alapú, tapasztalat alapú). Kódábrázolási technikák. Utasítás, ág, döntés, feltételtesztelés. Teszt menedzsment. Teszt szereplők. Kockázat alapú teszttervezés. Teszttervek követelményei. Tesztriportok követelményei. Egységtesztelés a gyakorlatban (Eclipse JUnit, Mock objektumok). Felülettesztelés a gyakorlatban (SwingUnit).
    11. SOA, web-szolgáltatás fogalma, SOAP, SOAP envelope, WSDL 1.1 és szerkezete, WSDL 2.0-ban történt változások. Adatcsere minták (MEP), web-szolgáltatás API-k (Windows Communication Foundation, Java API for XML-based Web-Services). Web-szolgáltatás szabványok: WS-Addressing, Message Transmission Optimalization Mechanism (MTOM), WS-Security, WS-SecureConversation, WS-Trust, WS-Federation, WS-ReliableMessaging, WS-Coordination, WS-AtomicTransaction, aszimmetrikus kulcsú kriptográfia, X.509-es tanúsítvány, XML titkosítás, XML digitális aláírás.
    12. Informatikai biztonság alapvető fogalmai (biztonság, sérülékenység, kockázat, védelmi intézkedések, stb.). Biztonság kialakításának módja, kockázatelemzés. Védelmi intézkedések fajtái. Biztonság helye a szoftverfejlesztéseben. Biztonsági követelmények és azok viszonya más követelményekhez. Jellegzetes problémák, sérülékenységek, és azok kiküszöbölési módja.
    13. Meghívott előadó
    14. Feladatbeszedés, konzultáció
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás.
    10. Követelmények a. A szorgalmi időszakban: Az aláírás megszerzéséhez: egy nagy feladat megoldása.

    b. A vizsgaidőszakban: az aláírást a fenti módon megszerző hallgatók egy írásbeli vizsgát tesznek. A nagyfeladatra legalább jó osztályzatot kapó hallgatók megajánlott jegyet kapnak.

    c. Elővizsga: a tárgy hallgatóival való egyeztetés alapján.

    11. Pótlási lehetőségek
    A nagyfeladat a pótlási héten pótlólag beadható.

    12. Konzultációs lehetőségek Igény szerint a tárgy hallgatóival egyeztetve.
    13. Jegyzet, tankönyv, felhasználható irodalom

     

     A tárgy előadás-fóliái a tárgy weboldalán
     David Carlson: Eclipse Distilled, Addison-Wesley, 2005, ISBN 0321288157
     http://www.eclispe.org
     http://www.tutorial-omondo.com/
     Ramnivas Laddad: Aspect Oriented Refactoring, Addison-Wesley, 2006, ISBN 0321304721
     http://www.eclipse.org/aspectj
     Vincent Massol with Ted Husted : JUnit in Action, Manning Publications, 2004, ISBN: 1930110995
     http://www.junit.org

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra56
    Félévközi készülés órákra8
    Felkészülés zárthelyire 
    Házi feladat elkészítése8
    Kijelölt írásos tananyag elsajátítása 
    Vizsgafelkészülés48
    Összesen120
    15. A tantárgy tematikáját kidolgozta

    Dr. Goldschmidt Balázs
    Simon Balázs
    Bóka Gábor
    Szigeti Szabolcs