Szoftver projekt laboratórium

A labor célja

Objektumorientált alkalmazás készítése UML (Unified Modeling Language) leírással, JAVA-ban megvalósítva, iteratív és inkrementális folyamat alapján. A hallgatók 4-5 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. 

Fontos Információk
 

Február 7-én szerdán 9.00-kor a QI teremben fakultatív eligazítás lesz.
 

Laborfeladat

A laborfeladat módosult! (2018-03-19) A módosított laborfeladat itt érhető el.

Csapatsorszámok

A csapatok sorszámai a beosztást követően itt érhetők el.

 

A csapatok megalakulása

A tárgyat felvett hallgatók a NEPTUN [at] nk [dot] hszk [dot] bme [dot] hu és NEPTUN [at] nc [dot] hszk [dot] bme [dot] hu e-mail címekre a tárgy indulásáról üzenetet kapnak. A csapatok kialakítása a tárgyfelelős dolga, aki ennek során maximálisan igyekszik figyelemmel lenni hallgatóság javaslatára. Különösen kivételes helyzetektől eltekintve a hallgatóság javaslata lesz elfogadva. Egy csapatban 4 vagy 5 tag lehet. Egy hallgató csak egy csapatnak lehet tagja. A megalakult csapat nevet és vezetőt választ magának.

A csapatot február 11. (vasárnap) 23:59-ig regisztralni kell a csapat vezetőjének. A csapatok a http://www.iit.bme.hu/hercules weblaprol indulva vehetők fel, felhasználva a NEPTUN [at] nk [dot] hszk [dot] bme [dot] hu és NEPTUN [at] nc [dot] hszk [dot] bme [dot] hu cimre kiküldött e-mailben található password-ot. A levelet a regisztrációs héten kiküldjük a tárgyat a neptunban felvett hallgatóknak.

A csapatnak azt a kívánságát, hogy mikor (8-tól vagy 12-től) kíván konzultálni, a csapatalakítás során az űrlap MEGJEGYZÉS rovatába lehet beleírni ("DE" vagy "DU"). Ezt a megjegyzést a csapatok foglalkozásokhoz való rendelésekor igyekszünk figyelembe venni, de oktatói és teremkapacitás-korlátok miatt előfordulhat, hogy a csapat nem a preferált alkalomra lesz beosztva.

Az IMSc programban részt vevő csapatok esetén a délutáni időpontot tekintjük alapértelmezésnek, de az IMSc csapatok a délelőtti időpontot is jelölhetik. A besorolás során az IMSc csapatok időpontkérelme élvez előnyt.

Az IMSc-s csapatokban az IMSc-s hallgatóknak többségben kell lenni.

Azon hallgatók csapatba sorolásáról, akik a megadott időpontig nem tudtak csapathoz kapcsolódni, de a tárgyat a NEPTUNban felvették, a tárgyfelelős dönt.
 

Csapatok beosztása

A csapatok és tagjainak felsorolása a http://www.iit.bme.hu/hercules weblaprol indulva érhetők el február 12-én este.
 

Konzultációk

A tárgy oktatói (továbbiakban konzulensek) szerdán 8.15 és 10.00 valamint 12.15 és 14.00 között a csoportbeosztással együtt definiált termekben laboratóriumi gyakorlat címen konzultációt tartanak.

A konzultációk 70%-án kötelező a csapatből legalább egy fő megjelenése. 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 tárgyfelelős jelöli ki. A konzulens a félév közben nem változtatható.

Február 7-én, szerdán 8.30-kor fakultatív eligazítás lesz, ahol bárki választ kaphat kérdéseire. Ha valaki addig nem tudott csapatot szervezni vagy csapathoz csatlakozni, akkor különösen érdemes eljönnie, mert ez kiváló alkalom lehet arra is, hogy társakat találjon.
 

Kapcsolattartás

  • A tárgy e-mail címe: projlab KUKAC directory.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: projlab=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:
    • a csapat neve,
    • a tagok neve, NEPTUN-kódja, e-mail címe,
    • a csapat konzulensének neve
       

A feladatok leadása, késedelem

A félév során 11 feladatot kell megoldani. 11 beadandó anyag (8 dokumentáció, 3 dokumentáció+szoftver) mindegyike feltétele egy-egy konzultáció sikeres teljesítésének (beugró). Az egyes feladatok elfogadásának feltétele, hogy a csoport az összes előző feladatát sikerrel teljesítse

A Szkeleton, Prototípus és Grafikus változat teljesítésének feltétele, hogy a feladatra a kapható pontok legalább 41%-át a csoport megkapja. A többi feladat esetén a sikeres teljesítés feltétele, hogy a nyomtatott dokumentációt a konzulens megkapja és elfogadja.

Egy konzultáció alkalmával csak egy otthoni feladatot lehet kiadni. Minden nap késedelemért az adható pontok értékének 10 %-ával megegyező negatív pont jár. A napforduló 15:00-kor van, a szombat és a vasárnap együttesen egy napnak számít. 10 napon túli késéssel is leadható a feladat, mivel ez feltétele a többi feladat elfogadásnak.

Dokumentumokkal kapcsolatos tudnivalók

A dokumentumokat általában papírra kinyomtatva kell beadni.

Valamennyi leadott dokumentum címoldala a letölthető sablon szerintinek kell lennie (minta és sablon a modulok között található). Amennyiben a címoldal a sablonban megadottól eltér, a dokumentumot figyelmen kívül hagyjuk. A dokumentumokat a közreadott sablonok kibővítésével kell elkészíteni.

Valamennyi lap oldalszámozással ellátott, tartalmazza az anyag címét, a csapat nevét és a címlapon szereplő dátumot. A lapokat nem szabad összetűzni, hanem lefűzhető, átlátszó műanyag irattartóban (bugyi) kell beadni.

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:

  • a történés kezdetének időpontját, nap-óra pontossággal
  • a történés időtartamát, óra felbontással
  • a szereplő(k) nevét (Kérjük a szereplők VEZETÉKNEVÉT használni)
  • a tevékenység leírását.

Amennyiben a tevékenységben több szereplő vesz részt, akkor az a tevékenység csak értekezlet lehet, amelynek az eredményei DÖNTÉSEK. A döntéseket precízen meg kell szövegezni (Pl.: Az X objektum Y és Z metódusainak kódját W készíti el Q határidőre).

Ha a bejegyzés egyetlen személyhez kötődik, akkor meg kell adni, hogy a tevékenység milyen dologra irányul. A dolog a feladat kapcsán elkészítendő termék, amelynek a (esetleg korábban) beadott anyagban megtalálhatónak kell lenni.

A naplóbejegyzés felbontásának egysége szöveges, rajzos anyag esetében az ábra, diagram, vagy kb. fél-egy oldalnyi szöveg. Kódban az egység a metódus. (Pl.: A 3. ábrán látható szekvencia-diagram kidolgozása, vagy az X objektum Y és Z metódusainak kódolása és belövése.)

Az elkészítendő anyagok között az egyes szakaszok zárásakor szerepel É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 hétfőn 14:00 és 14:15 között az I épület földszintjén kell átadni az IIT munkatársának. Kivétel május 2-a, amikor a leadandó anyagot a laborvezetőnek a laborfoglalkozás során kell átadni.

Az átvételre kijelölt személy az anyag átadójával aláírat 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 közvetlenül a konzulensnek kell átadni (eseti megállapodás alapján) vagy leadható az IIT oktatási adminisztrációjában is (IB316). Az átvétel idejét az anyagon rögzítik. Az anyag bármilyen más módon történő (posta, futár, közvetítő stb.) továbbítása esetén az átvétel ideje a konzulens általi kézhezvétel időpontja.

Május 19., péntek 14 óra után semmiféle anyagot nem fogadunk el.

Beadandó szoftverek
A programok a http://www.iit.bme.hu/hercules weblapról indulva tölthetők fel. A feltöltendő anyagot egyetlen zip fájlba kell becsomagolni. Egyéb kompressziós eljárásokkal (tar, rar, 7z, arj, stb) készült csomagokkal nem foglalkozunk. A feltöltésre vonatkozó határidő megegyezik az írásos dokumentum beadásának határidejével.

Az egyes munkaszakaszokban a feltöltés legkorábbi időpontjai:

  • szkeleton - március 12. 18:00.
  • protó - április 9. 18:00.
  • grafikus - május 1. 18:00.

A feltöltés végső határideje mindegyik szakaszra május 19. 14.00 óra. Ezt követően semmilyen anyagot nem lehet feltölteni.

Minden szakaszhoz maximum 3 alkalommal lehet anyagot feltölteni. Az elsőt követő változatok érvényességére vonatkozóan a konzulensekkel történő megállapodás a mértékadó.

A forrásprogramnak a laboratóriumban rendszeresített (nem a hallgatók által írt package hozzáadása nélküli) JDK 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ó.


Osztályozá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 - 50 - 20, a megszerezhető pontok száma részenként 100.

Mindegyik részből minimálisan 41 pontot kell elérni, valamint mindegyik részben a programra kapható pontok 41 %-át meg kell szerezni (program nélkül nincs jegy!).

Ha a csapat bármely részre vonatkozóan nem teljesíti a fenti minimum követelményt, akkor az egyéni közreműködés mértékétől függetlenül valamennyi tag elégtelen osztályzatot kap.

A csapatok a három értékelés alkalmával meghatározzák a tagok munkában való részvételét, egymáshoz viszonyított arányait. Az arányoknak a naplóbeli bejegyzésekkel arányosnak kell lennie. Ezen arányok utólagos megváltoztatása nem lehetséges. A csapatokon belüli eredő arányt az értékelések 1, 1.5 és 2-szeres súlyozásával számoljuk. Különlegesen kivételes helyzetekben (amennyiben az értékelés nem igazítható a naplóban dokumentált tevékenységekhez, a csapat szétesett, illetőleg a felvett jegyzőkönyvek tartalma alapján) a konzulens a csapat tagjainak meghallgatásával, esetenként anélkül is, az eredő arányt megváltoztathatja. 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.

PontJegy
0-401
41-542
55-683
69-824
83-5

A három lépcső

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

  • szkeleton
  • prototípus
  • grafikus

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. 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. Ez a program is parancssorból futtatható és karakteres ernyőkezelést alkalmaz. 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 vezérelhető és követhető, ugyanakkor a vezérlés fájlból is történhet és a megjelenítés fájlba is logolható, ezzel megteremtve a rendszer tesztelésének lehetőségét. Különös figyelmet kell fordítani a parancssori 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 ( grafikus ) 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.