K-INFO
HU
EN
Belépés

Szoftver projekt laboratórium

Software Project Laboratory
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Szoftver projekt laboratórium
Software Project Laboratory
Tantárgykód BMEVIIIAB11
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 0 0 2
jelleg (kapcsolt/önálló) önálló
Tanulmányi teljesítmény/értékelés típusa félévközi érdemjegy
Tantárgy kreditértéke 4
Tantárgyfelelős
DR. Goldschmidt Balázs
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
Irányítástechnika és Informatika Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram
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.


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.

Tanulmányi eredmények

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

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

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.  

Tanulástámogató anyagok

Online források
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.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(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 alapjai 2. (C++, objektumorientáltság) Szoftvertechnológia (UML)   
Képesség típusú kompetenciák
(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
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(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 alapjai 2. (C++, objektumorientáltság) Szoftvertechnológia (UML)   
Általános szabályok
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.  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.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás
IMSc program: 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 pontok: 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.
Ajánlott tantárgyak
Programozás alapjai 3. (Java)
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.