Szoftver projekt laboratórium
VIIIAB11 | Mérnökinformatikus BSc | Kredit: 4
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.
A tárgy oktatói
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.
- 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.