K-INFO
HU
EN
Login

Software Technologies

Szoftver-technikák
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Subject name (Hungarian, English)
Szoftver-technikák
Software Technologies
Subject code BMEVIAU4313
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 4 0 0
type (linked/independent)
Assessment type vizsga
Credits 5
Subject coordinator
DR. Charaf Hassan
position: egyetemi tanár
Responsible department
Faculty
Subject website
Primary curriculum type
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme

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.

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.

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

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.

Tanulástámogató anyagok

Not provided.

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Programozás technológiája
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Programozás technológiája
General rules
Követelmények: a. A szorgalmi időszakban: Zárthelyi + házifeladat b. A vizsgaidőszakban: vizsga c. Elővizsga: van
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses

Not provided.

Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.