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ó    

    Szoftver-technikák

    A tantárgy angol neve: Software Techniques

    Adatlap utolsó módosítása: 2009. február 4.

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

    Budapesti Műszaki és

    Gazdaságtudományi EgyetemVillamosmérnöki és Informatikai Kar
    Mérnök-informatikus szak BSc. képzésKötelező
    BSc. képzés
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUA218 4 3/1/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Charaf Hassan, Automatizálási és Alkalmazott Informatikai Tanszék
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Charaf Hassan

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Dr. Levendovszky Tihamér

    adjunktus

    Automatizálási és Alkalmazott Informatikai Tanszék

    Benedek Zoltán

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

    5. A tantárgy az alábbi témakörök ismeretére épít

    A C++ programozási nyelv és Java alapok ismerete.

    6. Előtanulmányi rend
    Kötelező:
    (( Aláírás( ahol a TárgyKód = "BMEVIIIA217", ahol a Ciklus = tetszőleges)
    VAGY
    Aláírás( ahol a TárgyKód = "BMEVIIIAB01", ahol a Ciklus = tetszőleges)
    VAGY
    Aláírás( ahol a TárgyKód = "BMEVIFO2228", ahol a Ciklus = tetszőleges)
    VAGY KépzésLétezik("5N-MGAIN"))

    ÉS

    ( TárgyEredmény( ahol a TárgyKód = "BMEVIIIA114", ahol a Típus = "JEGY", ahol a Ciklus = tetszőleges, ahol a KépzésKód = tetszőleges) >= 2
    VAGY TárgyEredmény( ahol a TárgyKód = "BMEVIEE1227", ahol a Típus = "JEGY", ahol a Ciklus = tetszőleges, ahol a KépzésKód = tetszőleges) >= 2
    VAGY TárgyEredmény( ahol a TárgyKód = "BMEVIEEA112", ahol a Típus = "JEGY", ahol a Ciklus = tetszőleges, ahol a KépzésKód = tetszőleges) >= 2
    VAGY TárgyEredmény( ahol a TárgyKód = "BMEVIEE1239", ahol a Típus = "JEGY", ahol a Ciklus = tetszőleges, ahol a KépzésKód = tetszőleges) >= 2
    VAGY TárgyEredmény( ahol a TárgyKód = "BMEVIMH1506", ahol a Típus = "JEGY", ahol a Ciklus = tetszőleges, ahol a KépzésKód = tetszőleges) >=2
    VAGY TárgyEredmény( ahol a TárgyKód = "BMEVIEEAA00", ahol a Típus = "JEGY", ahol a Ciklus = tetszőleges, ahol a KépzésKód = tetszőleges) >= 2 ))
    VAGY
    Szakirány( ahol a SzakirányKód = "KIEGIBSC", ahol a Ciklus = "2007/08/1")

    ÉS NEM ( TárgyEredmény( "BMEVIAUAB00" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUAB00", "FELVETEL", AktualisFelev()) > 0)


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

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:

    A tárgyat csak azok vehetik fel, akik teljesítik a következőket:

    Szoftvertechnológia (VIIIA217) tárgyból aláírás megszerzése

                              VAGY

    A programozás technológiája (VIFO2228) tárgyból kreditpont megszerzése

    7. A tantárgy célkitűzése

    A tárgy keretében a hallgatók megismerik az objektum-orientált szoftverkészítés technikáit, valamint az eseményvezérelt programozás legfontosabb módszereit. A hallgatók elsajátítják a grafikus felhasználói felület (GUI - Graphical User Interface), gyors alkalmazás-fejlesztés (RAD - Rapid Application Development) struktúráit és programozási alapjait, megismerik a modern felügyelt futtatókörnyezetek és osztálykönyvtárak fontosabb szolgáltatásait (reflexiós technikák, adatkötés, rajz és szöveg megjelenítése, stb.), valamint betekintést kapnak a feladatok párhuzamos futtatásának lehetőségeibe és az ennek során használatos szinkronizációs technikákba. A tárgy hangsúlyt fektet a különböző kliensoldali (vastag, webes, mobil) alkalmazások fejlesztésének bemutatására. Ezen túlmenően a tárgy ismerteti a szoftverrendszerek tervezésének kapcsán a gyakrabban használt architekturális és tervezési mintákat .

    A tárgy hallgatása során elsajátított ismereteket esettanulmányok reprezentálják.

    Összefoglalva a tárgy megadja az alapokat ahhoz, hogy a hallgatók képesek legyenek a mindenkori legelterjedtebb platformokon az aktuális eszközökkel és technológiákkal korszerű szoftverek készítésére.

    8. A tantárgy részletes tematikája
    • ·         Objektum-orientált technikák: az UML és a kód kapcsolata, interfész alapú programozás., öröklés szabályozása, property-k (tulajdonságok), attribútumok, event-ek és delegate-ok, az eseményvezérelt programozás alapjai.·         Felügyelt futtatókörnyezetek.·         Vastag kliens alkalmazások fejlesztése. §  Üzenet alapú platformok  Eseményvezérelt alkalmazások, vezérlők (control-ok) kezelése.§  Rajz és szöveg megjelenítése, speciális technikák (double buffering)§  Többszálú alkalmazások fejlesztése, szinkronizációs problémák és megoldásuk §  Moduláris felhasználói felület kialakítása·         Többkomponensű alkalmazások fejlesztése·         Reflexiós technikák·         Adatkezelés, adatkötés alapok·         Architekturális tervezési minták: rétegelés, Model-View-Controller, Document-View. Esettanulmány.·         Tervezési minták. Áttekintés. Néhány kiemelt tervezési  minta bemutatása (Singleton, Adapter, Observer, Bridge, Proxy, Memento, Command, stb.). Esettanulmány.·         Webes alkalmazások fejlesztése. Architektúra, kliensoldali szkriptek, szerveroldali szkriptek, kliens- és szerveroldali vezérlők használata, eseményvezérelt szerver oldali programozás. Esettanulmány.·         Webes alkalmazások fejlesztéséhez kapcsolódó tervezési minták (Page Controller, Table Proxy, stb.)
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Előadás, gyakorlat.


    10. Követelmények

    a.              A szorgalmi időszakban:

    (1) Az ismeretek alkalmazását és készségszintű megértését a félév során folyamatosan tartott laborgyakorlatok segítik. A laborgyakorlatokon való részvétel kötelező.(2) Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak alatt 1 alkalommal nagy zárthelyivel mérjük.

       Az aláírás feltételei:

    ·  Legalább megfelelő szintű zárhelyi eredmény a szorgalmi időszak végéig.

    ·  A hallgató a laborgyakorlatokat rendszeresen látogatta: hét gyakorlat van, ebből egy  lehet teljesítetlen. A pótlási héten két gyakorlat pótolható. Példák: ha valaki a félév során hat gyakorlatot teljesített, akkor a pótlási héten nem kell gyakorlatot pótolnia. Ha ötöt teljesített, akkor egyett kell pótolnia, ha négyet, akkor kettőt, ha hármat, akkor az aláírás nem megszerezheztő.

     

     

    b.       A vizsgaidőszakban:

              A vizsga írásbeli. A kreditpont megszerzésének feltétele: legalább elégséges vizsgaosztályzat elérése.

    11. Pótlási lehetőségek
      • A sikertelen zárthelyi a szorgalmi időszakban tartott pótzárhelyi dolgozat legalább elégséges szintű megírásával pótolható. A zárhelyi ezt követően a pótlási héten pótolható a TVSZ szerint (anyaga megegyezik a zárthelyi anyagával).
      • A vizsgák a TVSZ-nek megfelelően pótolhatók
    • ~
    12. Konzultációs lehetőségek
    • Igény szerint előadóval egyeztetve.

    13. Jegyzet, tankönyv, felhasználható irodalom
      • Charaf Hassan, Benedek Zoltán, Levendovszky Tihamér: Szoftver technikák egyetemi jegyzet elektronikus formában.
      • Buschmann et al.: A System of Patterns, Willey, 1996 Tom Pender, Tom Pender, UML Bible, Wiley, 2003, ISBN: 0764526049.
      • Gamma, Helm, Johnson, Vlissides: Design Patterns, Addison-Wesley, 1994.
    • ~
    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ákra20
    Felkészülés zárthelyire24
    Házi feladat elkészítése-
    Kijelölt írásos tananyag elsajátítása-
    Vizsgafelkészülés20
    Összesen120
    Kontakt óra56
    Félévközi készülés órákra20
    Felkészülés zárthelyire24
    Házi feladat elkészítése-
    Kijelölt írásos tananyag elsajátítása-
    Vizsgafelkészülés20
    Összesen120
    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Charaf Hassan

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Dr. Levendovszky Tihamér

    adjunktus

    Automatizálási és Alkalmazott Informatikai Tanszék

    Benedek Zoltán

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék