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ó    

    A korszerű szoftverfejlesztés gyakorlata

    A tantárgy angol neve: Modern Software Development

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

    Tantárgy lejárati dátuma: 2009. november 24.

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

    Villamosmérnöki Szak

    Műszaki Informatika Szak

    Választható tárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAU9082   4/0/0/v 5 1/1
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Balássy György

    Tanszéki mérnök

    AAIT

    Kovács Ferenc

    Tanársegéd

    AAIT

    Levendovszky Tihamér

    Tanársegéd

    AAIT

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

    Egy objektum orientált programozási nyelv ismerete (C++, C#, vagy Java nyelv ismerete ajánlott)

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

    A tárgy keretében a hallgatók megismerkednek a könnyen értelmezhető, jól karbantartható, és értelmezhető kód készítésének gyakorlatával az Extreme Programming (XP) technikái segítségével. Ennek során külön hangsúlyt kap a szoftver mint karbantartható, újrafelhasználható termék. A cél, hogy a hallgató megismerje a legkorszerűbb módszereket az áttekinthető szoftver létrehozására. Egy n-rétegű vállalati információs rendszer esettanulmányán keresztül a tárgy bemutatja azoknak a funkcióknak (hibakezelés, naplózás, biztonság stb.) a megvalósítási módjait, amelyek az ipari gyakorlatban alapkövetelmények a megbízható alkalmazásokkal szemben. A tárgy átfogó és teljes képet ad a csoportos szoftverfejlesztés körülményeiről és a kódíráson túlmutató fejlesztői feladatokról (dokumentáció, tesztelés, telepítés, üzemeltetés). A modellezés kívül esik a tárgy keretein. Az órák keretében a hallgatók számára lehetőség nyílik az előadás anyagának gyakorlati alkalmazására is, az egyes előadásokhoz, témakörökhöz kapcsolódóan számítógépes laborgyakorlatok segítik a bemutatott ismertek elsajátítását.

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

    Extreme programming

    • Bevezetés: szoftverfejlesztési projektek tipikus problémái, bevezető a szoftverfejlesztési módszertanokba, az eXtreme Programming módszertana, a fejlesztési ciklus
    • Architekturális tervezés
      • Az adatbázis-réteg megvalósítása: teljesítmény optimalizálás, cache, szerver független megoldások, kapcsolat nélküli működés, elosztott adatbázisok
      • Webes kontra vastag kliens: előnyök, hátrányok, választási szempontok, önmagukat frissítő alkalmazások
      • Tervezési kérdések: Design Patternek alkalmazása a tervezés során, a vállalati információs rendszerek tervezési mintái, prezentációs rétegbeli minták, domain rétegbeli minták, elosztottság és párhuzamosság mintái (tranzakciók, megbízható üzenetküldés, stb.)

    A kódbiztonság

    • Központi hibakezelés: Hibakezelés az alkalmazás különböző szintjein, elosztott hibakezelés, hibakezelés webalkalmazásban, hibakezelés szinkron folyamatokban
    • Nyomkövetés és hibakeresés (trace, debug): diagnosztikai szolgáltatások a .NET Frameworkben (Trace és Debug), naplókészítés többrétegű alkalmazásban, naplókészítés többszálú alkalmazásban, naplófájlok feldolgozása, Enterprise Instrumentation Framework (EIF)
    • Kódbiztonság: A Windows biztonsági alrendszere
      (felhasználók, jogosultságok, házirendek, service-ek, access control listek), SQL injection, cross-site scripting, buffer overrun, input vizsgálata reguláris kifejezésekkel, a “least privilege”-elv
    • Többszálú alkalmazások problémá: processzek és szálak, biztonságos szinkronizáció, párhuzamos hibafelderítés, platformok közötti különbségek, biztonságos és hatékony IPC
    • Alkalmazások menedzselhetősége, WMI használata

    Programozás újrafelhasználásra és karbantartásra

    • Tesztelés és kódminőség: A tesztelés szerepe a fejlesztési ciklusban, unit testing, teljesítmény tesztelés, webalkalmazások tesztelése, teljesítmény-számlálók és riasztások a Windowsban
    • Csoportmunka: forráskód kezelő rendszerek szerepe, alapfunkciói, csoportmunka a fejlesztői ciklusban, szerepek és folyamatok a fejlesztő csapatban (fejlesztő, tesztelő stb.), konfiguráció és változáskezelés, bugtracking
    • Iteratív minőségjavítás: Refactoring: bevezetés, gyakori problémák és megoldásuk
    • Globalizáció és lokalizáció: kultúra beállítások a .NET keretrendszerben, input feldolgozás és output formázás kultúra alapján, magyar ékezetek kérdése, a területi beállítások szerepe, alkalmazások honosítása erőforrás fájlok segítségével, többnyelvű Windows alkalmazások, többnyelvű ASP.NET webalkalmazások
    • Üzemeltetési kérdések: amit üzemeltetőnek tudnia kell, új rendszer bevezetésének lépései, interakció más infrastrukturális rendszerekkel, monitorozás, Code Access Security konfigurálása, kódverziók kezelése (betöltési folyamat, frissítés), alkalmazások konfigurálása
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    (előadás, gyakorlat, laboratórium):

    Előadás + Gyakorlat

    10. Követelmények

    a. A szorgalmi időszakban: Házi feladat

    b. A vizsgaidőszakban: Szóbeli vizsga

    1. Elővizsga: Van
    11. Pótlási lehetőségek

    A házi feladatot a szorgalmi időszak végéig be kell adni. Ezt később pótolni nem lehet.

    12. Konzultációs lehetőségek

    Igény szerint előre egyeztetett időpontban.

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

    1. Albert István et. al: A .NET Framework és programozása, ISBN: 9-639-13162-8

    2. Óravázlatok, és elektronikus tanszéki jegyzetek

    3. Kent Beck: Extreme Programming Explained, ISBN: 0-201-61641-6

    4. Alistair Cockburn: Agile Software Development, ISBN: 0-201-69969-9

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

    (a tantárgyhoz tartozó tanulmányi idő körülbelüli felosztása a tanórák, továbbá a házi feladatok és a zárthelyik között):

    Kontakt óra

    60

    Félévközi készülés órákra

    0

    Felkészülés zárthelyire

    0

    Házi feladat elkészítése

    50

    Kijelölt írásos tananyag elsajátítása

    20

    Vizsgafelkészülés

    20

    Összesen

    150

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

    Név:

    Beosztás:

    Tanszék, Int.:

    Balássy György

    Tanszéki mérnök

    AAIT

    Kovács Ferenc

    Tanársegéd

    AAIT

    Levendovszky Tihamér

    Tanársegéd

    AAIT