Szoftver-technikák

A tantárgy angol neve: Software Technologies

Adatlap utolsó módosítása: 2006. július 1.

Tantárgy lejárati dátuma: 2015. január 31.

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

Villamosmérnöki Szak

Műszaki Informatika Szak

Szakirányi tárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAU4313   4/0/0/v 5 1/1
3. A tantárgyfelelős személy és tanszék Dr. Charaf Hassan,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Charaf Hassan

Docens

Aut. és Alk. Inf Tanszék

Benedek Zoltán

Tanársegéd

Aut. és Alk. Inf Tanszék

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

Programozás technológiája

6. Előtanulmányi rend
Ajánlott:
7. A tantárgy célkitűzése

A tárgy keretében a hallgatók megismerik az objektum-orientált szoftver tervezés és ké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) és az automatikus kódgeneráláson alapuló gyors alkalmazás-fejlesztés (RAD - Rapid Application Development) struktúráit és programozási alapjait.

A tematika fontos részét képezik a szoftver rendszerek tervezésének elvei, továbbá a megfelelő mértékű absztrakció és a csökkentett bonyolultságú programfelépítés fontosságának bemutatása. Az elvi megfontolásokat haladó szintű C++ nyelvi tervezési minták (Design Patterns) szemléltetik.

A szoftver technikák sorát a haladó szintű Windows programozási ismeretek lehetőségeinek bemutatása, ehhez kapcsolódóan a szabványos osztálykönyvtárak szerepének és jelentőségének elemzése, az ismert osztálykönyvtárak (Libraries: MFC) összehasonlítása folytatja.

A fejlesztési koncepciók körébe tartozó technikákon túlmenően a tematika a szoftver életciklusban több alkalommal is szerephez jutó forráskód menedzselés fontosabb (SourceSafe, ClearCase, CVS, és egyéb eszközök) elveit is tartalmazza.

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 legelterjedtebb platformokon (Windows, Linux) a legkorszerűbb eszközökkel és technológiákkal szoftverek tervezésére és készítésére.


8. A tantárgy részletes tematikája

Win32 API

  • API fogalma
  • Eseményvezérelt programozás (üzenetsorok)
  • Ablak-kezelő eljárások
  • Dialógus- és gyerekablakok
  • GDI, DDE, DLL

Szoftverrendszerek tervezése

  • Életciklus modellek
  • Objektum-orientált tervezés: jelölésrendszer és fejlesztési folyamat
  • Unified Process életciklus modellje
  • Unified Modeling Language (UML) áttekintése
  • Objektum-orientált analízis, analízis sémák (Analysis Patterns)
  • Objektum-orientált tervezés: rendszer tervezés, vezérlés implementálása (pl.: eseményvezérelt), részletes tervezés
  • Tervezési sémák (Design Patterns)
  • Framework (strukturált felépítésből Objektum-orientált rendszer)

MFC

  • CObject: Serialization, Dump
  • RTTI
  • Template-ek: CArray, CList
  • Message Map: CWinApp, CWinThread, CCmdTarget
  • Architektúra
  • Load/Save, Undo
  • View
  • OnDraw

Tesztelés – Hibakeresés és javítás

Forráskód menedzselés (SourceSafe, CVS)

X-Window/KDevelop

  • A Linux felépítése és programkönyvtári, X Alapfogalmak
  • X11 kliens-szerver, X protokoll
  • erőforrások (ablak, pixmap, fontkészlet, színek...)
  • biztonság: az xhost parancs
  • események, callback függvények
  • eszközkészletek (toolkits)
  • widgetek és widgetkészletek, window manager, gyökér ablak
  • Az Xlib programozása
  • Ablakok kezelése
  • Események kezelése
  • Színek és grafika
  • Az X Toolkit Intrinsics (Xt) – az eszközkészletek objektum-orientált támogatása
  • Programozás KDevelop környezetben
  • A Qt eszközkészlet (felhasználói felületelemek, a signal/slot modell, előre definiált dialógusablakok, eseménykezelés)
  • A Qt/KDE alkalmazások architektúrája (Document, View, Application, MDI, dialógusablakok)

Esettanulmány

Az előadásokon – ahol erre lehetőség van – egy egyszerűprogram megvalósításán keresztül mutatjuk be az elméletet és a technológiákat.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Előadás. Fakultatívan (Az órán kívül) laborban mutatjuk az előadásokon elhangzott témák gyakorlati lehetőségeit.

10. Követelmények

a. A szorgalmi időszakban: Zárthelyi + házifeladat

b. A vizsgaidőszakban: vizsga

c. Elővizsga: van

13. Jegyzet, tankönyv, felhasználható irodalom

Dr. Charaf Hassan. Tanszéki segédletek elektronikus formában

15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Charaf Hassan

Docens

Aut. és Alk. Inf Tanszék

Benedek Zoltán

Tanársegéd

Aut. és Alk. Inf Tanszék

Bányász Gábor

Tanársegéd

Aut. és Alk. Inf Tanszék