Számítógép labor 4.

és

Projekt labor

Projekt definíció


A labor célja
Objektum orientált alkalmazás készítése UML (Unified Modeling Language) leírással, az informatikus Számítógép labor 4-ben JAVA-ban, a villamos Projekt laborban C-ben, C++-ban, vagy JAVA-ban (választható) megvalósítva, RUP (Rational Unified Process) processz szerint.
A hallgatók 3-4 fõs csoportokban dolgoznak és készítik el a dokumentumokat a megadott ütemezés szerint. A dokumentumokat a megadott formátumban, általában nyomtatott változatban kell beadni.

A csapatok megalakulása
A csapatok kialakítása a hallgatóság feladata. Egy csapatban 3-nál kevesebb vagy 4-nél több tag nem lehet. Egy hallgató csak egy csapatnak lehet tagja. A megalakult csapat nevet és vezetõt választ magának.

A csapat vezetõje a megalakulásáról február 18 (vasarnap). 17:00-ig e-mail-ben értesíti a tárgyfelelõst.

Azok a hallgatók, akik a megadott idõpontig nem tudtak csapathoz kapcsolódni, errõl a tényrõl az említett határidõig ugyancsak e-mail-ben értesítik a tárgyfelelõst. Ezeknek a hallgatóknak a csapatba sorolásáról a konzulensek döntenek. A döntésrõl az érintettek e-mailben kapnak tájékoztatást.
Azon hallgatók beosztásáról, akik a fenti határidõt elmulasztják, külön intézkedik a tárgyfelelõs.

Konzultációk
A tárgy oktatói (továbbiakban konzulensek) az alábbi idõpontban és helyeken laboratóriumi gyakorlat címen konzultációt tartanak.

A villamos hallgatók Projekt laborjának ideje és helye:
  • Péntek, 10.15 – 12.00 R 4 M teremben
  • A konzultáción általában a megjelenés nem kötelezõ. A konzultáción a hallgatók kérdéseket tehetnek fel.
    A konzulensnek jogában áll a csapatot konzultációra berendelni. A berendelt csapat tagjainak a megjelenés kötelezõ.
    Az egyes csapatok konzulensét, a konzultáció helyét és idejét a tárgyfelelõs jelöli ki, a lehetõségek határain belül figyelembe véve a csapatok által preferált idõpontot, a NEPTUN szerinti jelentkezést. A konzulens a félév közben nem változtatható. A csapatok a besorolásról e-mailben vagy a tárgy home-page-én tájékoztatást kapnak.

    Kapcsolattartás
    A tárgy e-mail címe: szglab4@eniac.iit.bme.hu
    A laborral kapcsolatos minden levelet, beleértve a tárgyfelelõsnek szóló leveleket is, a fenti e-mail címre kell küldeni.
    A subject mezõ legyen: szglab=CSAPATNÉV (vagy NEPTUN-kód, egyéni levél esetében).
    A csapatnév csak angol karaktereket tartalmazhat.
    Minden levél törzsének elején szerepelnie kell:


    Nyomtatott dokumentumok
    A dokumentumokat általában papírra kinyomtatva kell beadni.
    Valamennyi leadott dokumentumnak kell tartalmaznia egy címoldalt, amelyen megtalálható:

    Valamennyi lap oldalszámozással ellátott és a láblécben tartalmazza a csapat nevét és a címlapon szereplõ dátumot. A lapokat egymáshoz rögzíteni kell tûzõgéppel. A spirálozást kérjük mellõzni, mivel a leadott anyagokat csapatonként idõrendben lefûzzük.

    Minden leadott anyag végén a csapat naplója áll. Naplót a leadott anyaghoz MINDIG kell készíteni, függetlenül attól, hogy a részletes feladatdefinícióban van-e erre vonatkozó utalás. A napló tartalmazza az elõzõ beadás óta eltelt idõszak történéseit idõrendben. A naplóból egyértelmûen ki kell derülnie, hogy az egyes anyagrészeket ki és mennyi idõ alatt készítette.

    A napló bejegyzésekbõl áll. Minden bejegyzésnek tartalmaznia kell:


    Az elkészítendõ anyagok között szerepelhet ÉRTÉKELÉS.
    Az értékelés megadja a csapat tagjainak a projekt kezdete óta az értékelésig eltelt idõben elért eredményhez történõ hozzájárulásának százalékos mértékét. Az értékelés tehát egy táblázat, amely tartalmazza valamennyi csapattag nevét és minden névhez egy százalékos értéket. A százalékértékek összegének 100-nak kell lenni. Az értékelést a csapatnak közösen kell megtennie. Az anyag címoldalán a tagok aláírása azt is jelenti, hogy az aláíró tag az értékeléssel egyetért.

    A konzulensek bármikor elõírhatják, hogy a csapat az elõrehaladásról, annak esetleges akadályairól, a projekt állásáról jelentést, riportot, jegyzõkönyvet készítsen.

    Amennyiben az elkészült anyag bármely részével kapcsolatosan a csapat tagjai nem jutnak egyezségre, akkor az egyéni álláspontokat dokumentálni kell és a konzulens segítségét kell kérni.

    Az anyagokat a beadásra elõírt oktatási hetet követõ hétfõn (ünnep alkalmával és az utolsó héten az alábbi rendelkezés szerint) 15.00 és 16.00 óra között kell átadni az I épület 3. emeletén az IIT bejáratánál.
        április 17., kedd 16.00 és 17.00 között  (húsvét)
        április 28., szombat 15.00 és 16.00 között (hétfõi munkarend kormányhatározat alapján)
        május 18., péntek 15.00 és 16.00 között (utolsó tanítási nap)
    Az átvételre kijelölt személy az anyag átadójával aláirat egy listát. Aláírás hiányában az anyag beadásával kapcsolatos reklamációt nem fogadunk el.
    Késedelem esetén az anyagot a konzulensnek kell átadni. A konzulens az átvétel idejét az anyagon rögzíti. Az anyag betehetõ a konzulens vagy a tárgyfelelõs fach-jába is. Ez esetben a beadás idõpontját a konzulens határozza meg. Ez az idõpont nem vitatható.
    Május 18., péntek 16 óra után semmiféle anyagot nem veszünk át.
     

    Programok
    A programok forráskódját e-mailben attachmentként elküldve tömörített (Winzip7 vagy arj2.3) formában kell beadni. A levélnek az írásos anyag beérkezési határidejére meg kell érkeznie.
    A forrásprogramnak a HSZK-ban rendszeresített JDK 1.3 alatt (villamos hallgatóknál Borland C++) alatt lefordíthatónak és futtathatónak kell lenni. A forráskódok mellett meg kell adni szükség szerint valamennyi olyan installálási útmutatást és kezelési leírást, amelynek alkalmazásával a tárgykód elõállítható és futtatható.
     

    Késedelmes beadás
    Minden nap késedelem az adható pontok értékét 10 %-kal csökkenti. A napforduló 16.00-kor van, a szombat és a vasárnap együttesen egy napnak számít.

    Ütemterv
    A táblázatban szereplõ dátumok a határidõk.
     
    1 febr. 18. Team bejelentkezése
    2 febr. 26. Követelmények leírása
    3 márc. 5.  Követelmény, projekt, funkcionalitás
    4 márc. 12. Analízis modell kidolgozása
    5 márc. 19.  Szkeleton tervezése
    6 márc. 26.  Szkeleton beadása
    7 ápr. 2.  Prototípus koncepciója
    8 ápr. 9. Részletes tervek
    9 ápr. 17.  Prototípus készítése, tesztelése
    10 ápr. 23. Prototípus beadása
    11 ápr. 28. Grafikus felület specifikációja
    12 máj. 7. Grafikus változat készítése
    13 máj. 14. Grafikus változat beadása
    14  máj. 18. Értékelés

    A kiadott feladatot három lépcsõben kell megvalósítani.


    A szkeleton változat 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. Az objektumoknak csak az interfésze definiált. Valamennyi metódus az indulás pillanatában az ernyõre szöveges változatban kiírja a saját nevét, majd meghívja azon metódusokat, amelyeket a szolgáltatás végrehajtása érdekében meg kell hívnia. Amennyiben a metódusból valamely feltétel fennállása esetén hívunk meg más metódusokat, akkor a feltételre vonatkozó kérdést interaktívan az ernyõn fel kell tenni és a kapott válasz alapján kell a továbbiakban eljárni. A szkeletonnak alkalmasnak kell lenni arra, hogy a különbözõ forgatókönyvek és szekvencia diagramok ellenõrizhetõk legyenek. A kitûnõ szkeleton osztott képernyõvel dolgozik. Az ernyõ egyik része szolgál a szöveges üzenetek és párbeszédek lefolytatására, a másik félben egy szekvencia diagramot célszerû kirajzolni. Csak karakteres ernyõkezelés fogadható el, mert ez biztosítja a rendszer egyszerûségét.

    A prototípus program célja annak demonstrálása, hogy a program elkészült, 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. Különös figyelmet kell fordítani az interfész logikájára, felépítésére, valamint arra, hogy az mennyiben tükrözi és teszi láthatóvá a program mûködését, a beavatkozások hatásait.

    A teljes változat a prototípustól elvileg csak a kezelõi felület minõségében különbözhet. Ennek változatnak az értékelésekor a hangsúlyt sokkal inkább a megvalósítás belsõ szerkezetére, semmint a külalakra kell helyezni.

    Az ütemterv ezen három-lépcsõs felbontásnak megfelelõen az adott határidõre elkészítendõ feladatokat jelöli ki.

    Az alábbiakban részletesen az egyes határidõs feladatok megoldásával és beadásával kapcsolatos tudnivalókat. Az ütemterv az elsõ két héten nem túl feszített, hogy a félév indulása kapcsán esetleg felvetõdõ – elsõsorban adminisztrációs – problémák ne okozzanak végzetes lemaradást.
     

    1. Team bejelentkezés
    Beadandók:
    1.1 az szglab4@eniac.iit.bme.hu címre küldött e-mailben a csapat vezetõje megadja a csapat definícióját. Ez tartalmazza a csapat nevét, a tagok nevének, NEPTUN-kódjának és e-mail címének felsorolását.
    Pontszám: 0
    Késedelmes teljesítés esetén a késedelem mértéktõl függõen max. 10 büntetõpont adható.
     

    2. Követelmények leírása
    Beadandók nyomtatásban:
    2.1. a feladat kb. 4000 karakteres részletezettségû magyar nyelvû leírása.
    2.2. szótár. A szótár a részletes leírás alapján készítendõ dokumentum. Egy szótári bejegyzés definiálásához csak más szótári bejegyzések és köznapi – a feladattól független – fogalmak használhatók fel. A szótár mérete kb. 1 oldal legyen.
    Pontszám: 5
    Fontos ! Sem a leírásban sem a szótárban nem szerepelhetnek számítástechnikai és informatikai szavak, kifejezések.
    Ne feledkezzenek el a fedõlapról és (az elsõ) naplóról.
     

    3. Követelmény, projekt, funkcionalitás
    Beadandók nyomtatásban:
    3.1. Követelmény definíció
    3.2. Projekt terv
    3.3. Essential use-case-ek
    3.4. Use case diagram
    Pontszám: 20

    A 3.1. és 3.2. dokumentumok tartalomjegyzéke a labor segédletben több formában is megtalálható. Az egyes változatok között alapvetõ különbség nincs. A csapatoknak jogukban áll a mintákból kiindulva a dokumentumokat önállóan definiálni.
     

    4. Analízis modell kidolgozása
    Beadandók nyomtatásban:
    4.1. Objektum katalógus
    4.2. Osztályok leírása
    4.3. Statikus struktúra diagramok
    4.4. Szekvencia diagramok (inicializálásra, és a use-case-ekre)
    4.5. State-chartok
    Pontszám: 35
     

    5. Szkeleton tervezése
    Beadandók nyomtatásban:
    5.1. A szkeleton model valóságos use-case-ei
    5.2. Kollaborációs diagramok
    5.3. A szkeleton kezelõi felületének terve, dialógusok
    5.4. Architektura, ütemezés
    Pontszám: 20
    Az elkészítendõ anyag tartalával kapcsolatos információk megtalálhatók a segédlet 6. fejezetében (Szkeleton tervezése, implementálása)
     

    6. Szkeleton beadása
    Beadandók nyomtatásban:
    6.1. A letölthetõ program fordításával és futtatásával kapcsolatos útmutatás. Ennek tartalmaznia kell leltárszerûen az egyes fájlok pontos nevét, méretét byte-ban, keletkezési idejét, valamint azt, hogy a fájlban mi került megvalósításra.
    6.2. Értékelés
    Beadandó program:
    Forráskódok e-mailben elküldve tömörített (Winzip7 vagy arj2.3) formában attachmentként. Az anyagoknak pontosan meg kell felelni a nyomtatott listában szereplõkkel. A forrássorok legalább 20 %-ának kommentárnak kell lennie.
    Pontszám: 20
     

    7. Prototípus koncepciója
    Beadandók nyomtatásban:
    7.1. Prototípus interface definiciója
    7.2 .Összes részletes use-case
    7.3. Tesztelési terv
    Pontszám: 35
    Az anyag legfontosabb része a prototípus kezelõi felületének terve. A proto (karakteres) input és output felületeit úgy kell kialakítani, hogy az input fájlból is legyen vehetõ illetõleg az output fájlba menthetõ legyen. A use-case-eknek a részletezettsége feleljen meg a kezelõi felületnek, azaz a felület elemeire kell hivatkozniuk.
    A tesztelési tervben definiálni kell, hogy a be- és kimeneti fájlok egybevetésével miként végezhetõ el a program tesztelése. A tervben már meg kell adni teszt forgatókönyveket és specifikálni kell azokat a segédprogramokat, amelyek a tesztelést támogatják.
     

    8. Részletes tervek
    Beadandók nyomtatásban:
    8.1. Objektumok és metódusok tervei. (State chartok és Activity diagramok)
    8.2. A tesztek részletes tervei
    8.3. A tesztelést támogató programok tervei
    Pontszám: 30
    Az anyag két részre koncentrál, egyfelõl a protóra, másfelõl a tesztelésre.
    A proto kapcsán meg kell adni valamennyi objektumra az állapotgép modellt, ha van olyan neki. Valamennyi metódusra vonatkozóan röviden szövegesen definiálni kell a metódusban realizált algoritmusokat valamint a nem triviális algoritmusok esetén activity diagramot kell rajzolni.
    A tesztek részletes tervei alatt meg kell adni azokat a bemeneti adatsorozatokat, amelyekkel a program mûködése ellenõrizhetõ. Minden bemenõ adatsorozathoz definiálni kell, hogy az adatsorozat végrehajtásától a program mely részeinek, funkcióinak ellenõrzését várjuk és konkrétan milyen eredményekre számítunk, ezek az eredmények hogyan vethetõk össze a bemenetekkel.
    A tesztadatok elõállítására, a tesztek eredményeinek kiértékelésére szolgáló segédprogramok architekturális és részletes terveit kell elkészíteni.
     

    9. Prototípus készítése, tesztelése
    Ezen a héten nem kell anyagot beadni.
     

    10. Prototípus beadása
    Beadandók nyomtatásban:
    10.1. A letölthetõ program fordításával és futtatásával kapcsolatos útmutatás. Ide értendõ a tesztprogramok használatával kapcsolatos elõírások és a tesztadatok is. Ennek tartalmaznia kell leltárszerûen az egyes fájlok pontos nevét, méretét byte-ban, keletkezési idejét, valamint azt, hogy a fájlban mi került megvalósításra.
    10.2. A tesztelés eredményeinek összefoglalása
    10.3. Értékelés
    Beadandó program:
    Forráskódok e-mailben elküldve tömörített (Winzip7 vagy arj2.3) formában attachmentként. Az anyagoknak pontosan meg kell felelni a nyomtatott listában szereplõkkel. A forrássorok legalább 20 %-ának kommentárnak kell lennie.
    Pontszám: 35
    Az átadott írásos dokumentációnak elegendõnek kell lenni ahhoz, hogy a tesztelés eredményeit reprodukálni lehessen a csapat tagjainak közremûködése nélkül. A tesztek eredményeinek összefoglalása, kiértékelése kapcsán jegyzõkönyv formában tanusítani kell, hogy a program mely bemenetekre mely válaszokat adta, és ezekbõl az eredményekbõl mennyiben lehet a helyes mûködésre következtetni. Itt kell megadni azt is, hogy a tesztek alapján mit és miért kellett változtani a programon, illetõleg milyen változtatások szükségesek a továbbiakban és esetleg milyen egyéb tesztek szükségesek.
     

    11. Grafikus felület specifikálása
    Beadandók nyomtatásban:
    11.1. A menûrendszer, a kezelõi felület grafikus képe
    11.2. A felület mûködésének elve, a grafikus rendszer architektúrája (struktúra diagramok)
    11.3. A grafikus objektumok felsorolása, kapcsolatuk az alkalmazói rendszerrel (szekvencia diagramok)
    Pontszám: 40
    A megoldandó feladat lényege, hogy az elkészült, tesztelt alkalmazói programra rá kell helyezni egy grafikus felületet. Részletesen indokolni kell az alkalmazásban a grafika miatt szükséges esetleges módosításokat, azoknak szerepét és hatásait.
     

    12. Grafikus változat készítése
    Ezen a héten nem kell anyagot beadni.
     

    13. Grafikus változat beadása
    Beadandók nyomtatásban:
    13.1. A letölthetõ program fordításával és futtatásával kapcsolatos útmutatás (install utasítás is). Ennek tartalmaznia kell leltárszerûen az egyes fájlok pontos nevét, méretét byte-ban, keletkezési idejét, valamint azt, hogy a fájlban mi került megvalósításra..
    13.2. Valamennyi korábban készített dokumentum aktualizált változata
    13.3. A projekt tapasztalatai
    13.4. Értékelés
    Beadandó program:
    Forráskódok e-mailben elküldve tömörített (Winzip7 vagy arj2.3) formában attachmentként. Az anyagoknak pontosan meg kell felelni a nyomtatott listában szereplõkkel. A forrássorok legalább 20 %-ának kommentárnak kell lennie. Installálható, játszható változatot is kell készíteni.
    Pontszám: 60
    A leírásnak részletes útmutatást kell adni arra, hogy miként kell elkészíteni az installálható változatot. Az installálható változatnak reprodukálhatónak kell lenni a megküldött anyagokból. Az install változat a követelményeknek megfelelõ gépen installálhatónak és futtathatónak kell lennie.
    Nyomtatásban és elektronikus formában egyaránt be kell adni valamennyi korábban készült dokumentum aktualizált változatát, amely megfelel a jelenlegi állapotnak, amelyen végigvezették az idõközben történt változtatásokat. A csak elektronikus formában küldött anyag nem elegendõ !
    A projekt tapasztalatait összegzõ részben a csapatoknak a projektrõl kialakult véleményét várjuk. A megválaszolandók köre az alábbi. Mit tanultak a projektbõl konkrétan és általában ? Mi volt a legnehezebb és a legkönnyebb ? Összhangban állt-e az idõ és a pontszám az elvégzendõ feladatokkal ? Ha nem, akkor hol okozott ez nehezséget ? Milyen változtatási javaslatuk van ? Milyen feladatot ajánlanának a projektre ? Szívesen fogadunk minden egyéb kritikát és javaslatot. Ezt az anyagot e-mailben is meg kell küldeni.
     

    14. Értékelés
    Ezen héten nem kell anyagot beadni.
     
     

    Értékelés
    A beadott dokumentumokat a konzulensek pontozzák. A pontozáskor figyelembe veszik a kidolgozás helyességét, minõségét és az ütemezettséget. (ld. a késedelemrõl szóló részt). A három rész (szkeleton, proto, grafikus) aránya: 30 - 40 - 30, a megszerezhetõ pontok száma 100.
    A csapatok a három értékelés alkalmával meghatározzák a tagok egymáshoz viszonyított arányait. A csapatokon belüli eredõ arányt az értékelések 1, 1.5 és 2-szeres súlyozásával számoljuk. A konzulens szükség esetén a csapat tagjainak egyetértésével az arányokon változtathat.
    A csapat által megszerzett pontszámot szorozzuk a csapat tagjainak számával, majd ezt arányítjuk az eredõ arány szerint.

    Az így kapott pontszámok alapján az alábbi táblázat szerint határozzuk meg a jegyet.
     
        -40 1
    41-54 2
    55-68 3
    69-82 4
    83- 5