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 programozás technológiája

    A tantárgy angol neve: Software Engineering

    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

    Szoftver technológia mellékszakirány-keresztfélév

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIFO4132 7 4/0/0/v 5 1/1
    3. A tantárgyfelelős személy és tanszék Dr. László Zoltán Ferenc,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    dr. László Zoltán

    adjunktus

    Irányítástechnika és Informatika

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

    - programozási gyakorlat

    - digitális technika

    - informatika

    6. Előtanulmányi rend
    Ajánlott:

    A tárgyat a mellékszakirány hallgatói vehetik fel

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

    A tárgy nagy méretü szoftver rendszerek tervezésének, fejlesztésének, karbantartásának tanitását tüzi ki célul, bemutatva a szoftver, mint termék elöállitásához szükséges mérnöki tevékenység technikáit és módszereit. A tárgy a technikai aspektusok kiemelése mellett foglalkozik a technológiák adminisztrativ vonatkozásaival is ( management ).

    A tárgyat abszolválva a hallgatók képesek

    - megérteni és kezelni a nagy méretü szoftver rendszerek fejlesztésének problémáit;

    - részt venni nagy projektekben.

    A tárgy kidolgozásánál - a korábbi évek tapasztalataiból kiindulva - két-lépcsős Software Engineering oktatási modellt vettünk alapul, ahol a hallgatók egy félév alatt előadásokon keresztül megismerik a technikákat és metodológiákat, majd a következö félévben a Projekt labor keretében alkalmazzák a tanultakat.

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

    Hét Téma

    1. Mi a software engineering ? A szoftver technológia kialakulása, fejlödése. Technológia, tudomány, oktatás. A szoftver krizis. A problémák, az okok, a hitek és a megoldások.
    2. A rendszerfejlesztés folyamata, annak dimenziói. Absztrakció és formalizálás, fogalmi és implementációs modellek. A szoftver, mint termék. Életciklusmodellek. A szoftver projekt tervezése. A fejlesztési folyamat érettségi modellje (CMM). A fontosabb költségelemek és becslésük. Projekt terv.
    3. Követelmények elemzése, definiálása. A specifikáció nézőpontjai: funkcionális, strukturális, dinamikus. Specifikációs módszerek: adatfolyamábra, adatszerkezetek leirása, entitás relációs diagrammok.
    4. Dinamikus viselkedés specifikálása, kiterjesztett állapotgép. Formalizálási lehetőségek: algebrai axiómák, Petri-gráfok.
    5. A programtervezés elvei. Absztrakció és információ rejtés. Döntések és absztrakciók. Föbb absztrakciós stratégiák. Dijkstra-elv. Modul. Modularizálás. Kohézió és csatolás.
    6. Szoftver architektúrák. Data-flow, Call-and-return, Data-centered, Virtual machines. Adatfolyam és adatstruktúra orientált tervezés.
    7. Jackson System Development (JSD). Specifikációs eszközök, az eljárás lépéseinek lényege.
    8. Az objektum orientált programtervezés alapfogalmai: objektum, üzenet, metódus, adatbeágyazás, polimorfizmus, dinamikus kötés, példány, osztály, prototipus, tipus, öröklés. A Unified Modeling Language.
    9. Objektum orientált rendszerek UML modellezése.
    10. OO Unified Process. Tervezési feladat megoldása.
    11. Felhasználói felület tervezése. Metaforák, WIMP, direkt manipulációk. Parancsnyelvi interfész. Hibajelzések, help, hipermédia rendszerek. Implementálás, kódolás, programozási technikák. Hordozhatóság, újrahasznosithatóság.
    12. Integráció, verifikáció és validáció. Verifikációs módszerek. Tesztelés és debug technikák. A megbizhatóság alapfogalmai. Rendelkezésre állás.
    13. A szoftver management. A szoftver minősége, szabványok. A szoftver karbantartása. A karbantartási feladatok, és mellékhatások. Konfigurációs management.
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    előadás

    10. Követelmények
    1. A szorgalmi időszakban:

    Nincs követelmény

    b. A vizsgaidőszakban:

    A vizsga írásbeli.

    11. Pótlási lehetőségek

    A vizsgák a TVSZ-nek megfelelően pótolhatók

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

    Tanulmányi időszakban az előadások után, vizsgaidőszakban nincs.

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

    Kondorosi, László, Szirmay-Kalos: Objektum orientált szoftver fejlesztés, ComputerBooks, Bp., 1997

    A tárgy weboldaláról (http://kfarkas.iit.bme.hu/~ptuser/) letölthető kb. 600 darab előadás fólia (magyar és angol nyelven egyaránt), az ugyanonnan letölthető segédletek, kidolgozott mintafeladatok és vizsgasorok.

    Sommerville, I. – Szoftver rendszerek fejlesztése (Software Engineering, 6th ed) Panem kiadó, Debrecen, 2002

    Sommerville, I. - Software Engineering, Addison-Wesley PC. Reading Massachusettes, 2001.

    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, Addison-Wesley, 1999.

    Fairly, R.E. - Software Engineering Concepts, McGraw-Hill, New York, 1985.

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

    :

    Kontakt óra

    56

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

    44

    Vizsgafelkészülés

    50

    Összesen

    150

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

    Név:

    Beosztás:

    Tanszék, Int.:

    dr. László Zoltán

    adjunktus

    Irányítástechnika és Informatika