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ó    

    Szoftver projekt laboratórium

    A tantárgy angol neve: Software Project Laboratory

    Adatlap utolsó módosítása: 2023. október 18.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Mérnök informatikus szak, BSc képzés
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIAB11 4 0/0/2/f 4  
    3. A tantárgyfelelős személy és tanszék Dr. Goldschmidt Balázs,
    4. A tantárgy előadója Dr. Goldschmidt Balázs
    5. A tantárgy az alábbi témakörök ismeretére épít

    Programozás alapjai 2. (C++, objektumorientáltság)

    Szoftvertechnológia (UML) 

     

    6. Előtanulmányi rend
    Kötelező:
    (NEM TárgyTeljesítve_Képzésen("BMEVIIIAB06") )

    ÉS

    ((EgyenCsoportTagja("INFO - 2022 - MINTATANTERV HALLGATÓI") ÉS
    TárgyEredmény( "BMEVIMIAB04" , "aláírás" , _ ) = -1 )

    VAGY

    ((EgyenCsoportTagja("2014_tanterv_hallgatoi_info") VAGY
    EgyenCsoportTagja("5NAA8_2022 előtti tanterv")) ÉS


    TárgyTeljesítve("BMEVIIIAB00") ÉS
    (TárgyEredmény( "BMEVIIIAB01" , "aláírás" , _ ) = -1 ) VAGY
    TárgyEredmény( "BMEVIMIAB04" , "aláírás" , _ ) = -1 ))

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:
    Programozás alapjai 3. (Java)
    7. A tantárgy célkitűzése A tárgy célja, hogy a hallgatókat megismertesse a csoportmunkával, valamint az iteratív, inkrementális fejlesztési módszertan és az UML alkalmazásával valós környezetet szimuláló helyzetben. Ennek során a feladat egy objektumorientált alkalmazás készítése UML (Unified Modeling Language) leírással, Java nyelven megvalósítva, előre definiált, inkrementális és iteratív módszertani lépéseket követve. A hallgatók 5 fős csoportokban dolgoznak és készítik el a szoftvert, ami egy folyamatosan készülő dokumentáció fejezeteiben és elektronikus mellékleteiben ölt testet.
    8. A tantárgy részletes tematikája
    A kiadott feladatot három fázisban kell megvalósítani.

    - A szkeleton fázis célja annak bizonyítása, hogy az objektum és dinamikus modellek a definiált feladat egy modelljét alkotják. A szkeleton egy program, amelyben már valamennyi, a végső rendszerben is szereplő business objektum szerepel.

    - A prototípus fázis célja a szoftver egy olyan változatának kifejlesztéseamely helyesen működik, valamennyi feladatát teljesíti. A prototípus változat egy elkészült program kivéve a kifejlett grafikus interfészt. A változat tervezési szempontból elkészült, az ütemezés, az aktív objektumok kezelése megoldott. A business objektumok - a megjelenítésre vonatkozó részeket kivéve - valamennyi metódusa a végleges algoritmusokat tartalmazza. A megjelenítés és működtetés egy alfanumerikus ernyőn követhető, ugyanakkor a megjelenítés fájlban is logolható, ezzel megteremtve a rendszer tesztelésének lehetőségét.

    - A grafikus fázis során készül el a szoftver grafikus felhasználói felülete. A teljes (grafikus) változat a prototípustól csak a kezelői felület minőségében különbözhet. Ennek a változatnak az értékelésekor a hangsúlyt sokkal inkább a megvalósítás belső szerkezetére, semmint a külalakra helyezzük.

    A projekt ütemezése az alábbi lépéseket követi:

    1. Team-ek szervezése, a feladat kiadása.

    Szkeleton fázis

    2. Követelmény, projekt, funkcionalitás. A követelmények specifikálása, projekt terv, use case-ek, use case diagramok, szójegyzék készítése.

    3. Analízis modell kidolgozása 1. A RUP alapján analízis modell első változatának elkészítése UML jelöléssel. Figyelni kell az objektumorientált elvek helyes alkalmazására, az elkészült dokumentáció belső konzisztenciájára.

    4. Analízis modell kidolgozása 2. A RUP alapján analízis modell javított változatának elkészítése UML jelöléssel. Továbbra is figyelni kell az objektumorientált elvek helyes alkalmazására, az elkészült dokumentáció belső konzisztenciájára

    5. Szkeleton tervezése. A modell helyességét ellenőrző Szkeleton alkalmazás specifikálása. Ezen belül meg kell adni azokat a teszteseteket, amikkel a modell helyessége ellenőrizhető, amelyek implementálásával a helyesség igazolható.

    6. Szkeleton alkalmazás implementálása, majd bemutatása. Másik csoport által készített alkalmazás tesztelése, ennek jegyzőkönyvezése.

    7. tavaszi szünet. Ekkor semmilyen labor nincs, egy hetet elbukunk a félévből. 

    Prototípus fázis

    8. Prototípus koncepciója. A grafikus felület nélküli szoftverváltozat valóságos use case-einek megadása, a szoftver input-output interfészének specifikációja, a tesztesetek nagyvonalú felsorolása.

    9-10. Részletes tervek. A prototípus osztályainak részletes specifikációja. Ezen belül ki kell térni az összes megvalósítandó osztály minden metódusára, attribútumára. Ha szükséges, akkor pszeudonyelven kell specifikálni az implementálandó algoritmusokat. A tesztek részletes megadása a korábban definiált input-output interfészleírás alapján. Minden teszt esetén be kell mutatni, hogy milyen fukcionalitást ellenőriz, milyen bemenő inputra milyen eredményt várunk és ezek automatikus végrehajtása és ellenőrzése miként végezhető el. 

    11. Prototípus implementálása, tesztelése és bemutatása. Másik csoport által készített alkalmazás tesztelése, ennek jegyzőkönyvezése.

    Grafikus fázis

    12. Grafikus kezelői felület specifikálása. A szükséges változtatások megadása UML jelöléssel, az új illetve módosult osztályok részletes specifikációja.

    13-14. Grafikus felület implementálása, tesztelése, bemutatása. Másik csoport által készített alkalmazás tesztelése, ennek jegyzőkönyvezése.


    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A félév során heti rendszerességgel kell a projektben előrehaladást mutatni. Minden héten egy előre definiált időpontban kell leadni az arra a hétre elkészítendő projektterméket, majd a hét során az órarendi konzultációs alkalommal kell az oktatókkal a következő alkalomra készítendő termék részleteivel kapcsolatos megbeszélésen részt venni. Az egyes hetek során a követelménydefiníciótól az UML-ben definiált analízis modell elkészítésén és a modellnek egy szkeleton szoftverrel történő validációján keresztül kell eljutni először egy konzolos felületű alkalmazás megtervezéséig, megvalósításáig és teszteléséig, majd ezt követően egy újabb iterációban kell az alkalmazás grafikus felületét megtervezni, elkészíteni és tesztelni.  
    10. Követelmények

    Szorgalmi időszakban:

     A félévben egy projektfeladat során egységes dokumentációt, valamint a hozzá tartozó elektronikus mellékleteket kell elkészíteni.


    A tudás és képesség típusú kompetenciaelemek meglétének vizsgálatára részteljesítmény értékelést alkalmazunk, amely folyamatos, oktatói témavezetéssel, konzultációval segített alkotás (projektfeladat) létrehozása alapján történik. A kidolgozás minősége alapján az egyes fejezetekre és mellékletekre külön-külön előre meghatározott maximumú pontot lehet kapni.


    Az attitűd, az önállóság és felelősségvállalás típusú kompetenciaelemek meglétének vizsgálatára szintén részteljesítmény értékelést alkalmazunk, amely folyamatosan, a tantárgy tanulmányi foglalkozásain és a feladat megoldása során tanúsított teljesítmény és aktivitás (részvétel a szervezett csoportmunkában) alapján történik. A dokumentáció minden egyes elemének (fejezeteknek és mellékleteknek) a beadására ütemezést adunk. Az ütemezésben definiált leadási időpontoktól el lehet térni, de az eltérés esetén naponta az adott elemre adható pontszám 10%-a negatív értékkel kerül felszámításra (kötbér). A napforduló a beadási ütemezésben megadott időpontban (óra-perc) van, a szombat és a vasárnap együttesen egy napnak számít. Az egyes elemek elfogadásának szükséges feltétele, hogy a megelőző fejezetek és mellékletek mind elfogadásra kerüljenek. Ezen felül a projekt egyes fázisaiban a csoportok megadják az egyes tagok hozzájárulását a csoport eredményéhez (munkaarány). A naplóbejegyzések alapján a tárgyfelelős ezen módosíthat.


    A fenti módon előálló értékelés eredményét a hallgatói csoporthoz rendeljük.


    A Szkeleton, a Prototípus és a Grafikus fázis egyes zárófejezetei és a hozzájuk tartozó mellékletek elfogadásának szükséges feltétele, hogy ezekre az elemekre a maximálisan kapható pontok legalább 40%-át a csoport megszerezze.


    A Szkeleton, a Prototípus és a Grafikus fázisok mindegyikében a fázisban megszerezhető pontok legalább 40%-át el kell érni.


    A fenti feltételek együttes teljesülése esetén az egyes tagok érdemjegyét a csoport eredő pontszáma, valamint a tagok által végzett munkaarány alapján határozzuk meg. Amennyiben a feltételek bármelyike nem teljesül, akkor a tárgyat a csoport egyik tagja sem teljesítette.

     Vizsgaidőszakban:

    Nincs. 

    11. Pótlási lehetőségek Az egyes fejezetek és mellékletek legkésőbb a szorgalmi időszak utolsó hetének utolsó munkanapján 14.00 óráig adhatók le. A már leadott anyagok nem pótolhatók.
    12. Konzultációs lehetőségek A laboratóriumi foglalkozások alkalmával.
    13. Jegyzet, tankönyv, felhasználható irodalom
    Sommerville, I. – Szoftver rendszerek fejlesztése (Software Engineering, 6th ed) Panem kiadó, Debrecen, 2002
    Sommerville, I. - Software Engineering, 6th ed. Addison-Wesley PC. Reading Massachusettes, 2001.
    Kondorosi, László, Szirmay-Kalos: Objektum orientált szoftver fejlesztés, ComputerBooks, Bp., 1997
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, Addison-Wesley, 1999.
    Larman C. : Applying UML and Patterns, Prentice-Hall, 1998.

    A tanszék web-lapjáról letölthető segédletek.

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra28
    Félévközi készülés órákra12
    Felkészülés zárthelyire0
    Házi feladat elkészítése80
    Kijelölt írásos tananyag elsajátítása0
    Vizsgafelkészülés0
    Összesen120
    15. A tantárgy tematikáját kidolgozta
    dr. Goldschmidt Balázs, egyetemi docens, IIT
    dr. Simon Balázs, egyetemi docens, IIT

    IMSc tematika és módszer
    Az IMSc programban részt vevő hallgatók számára az laboron további elmélyülést biztosító irodalmat ajánlunk.

    Az IMSc programban részt vevő hallgatóknak igény szerint tanórán kívüli konzultációs lehetőséget biztosítunk.

    IMSc pontozás Minden fejezet és melléklet esetén, amennyiben a rá kapott eredő értékelés az elérhető pontszámok 80%-nál több, a csapat számára IMSc pont adható. Így a félév során 20 IMSc pont gyűjthető. Azok a hallgatók, akik a tárgyból jelest kapnak, megszerzik a csapat által megszerzett IMSc pontokat is.