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 = "BMEVIIIAA00", 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 = "BMEVIIIAA03", 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)

ÉS Training.Code=("5N-A8")


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