projekt - Java technológiákon alapuló web-alkalmazás
Követelmények, pontozás |
Projekt témák |
Saját témák
Követelmények, pontozás:
Kizáró jellegű:
- (legalább részben) működő alkalmazás
- a diák tudjon tájékozódni a projekt kódjában, azaz kérésre tudja megmondani, hogy:
- egy bizonyos funkcionalitás pontosan hol illetve hogyan van implementálva
- egy bizonyos kódrésznek mi a szerepe, hogyan működik
- apró módosításokat helyben tudjon megoldani
- egyénileg (!) megírt kód.
- a kód megfelelőképpen legyen kommentezve
- ne tartalmazzon "szemetet" (nem használt kódrészek, változók, stb.)
Pontozási kritériumok:
(a vastag betűvel szedett pontszámok összege 60 - ez a tanult és laboron begyakorolt technológiákat/szempontokat foglalja magában -,
egyéb "extrákkal" további 20 pont gyűjthető)
- utolsó két hétben bemutatott működő projekt - 5 pont (szesszióban is be lehet mutatni a projektet, de arra már nem jár ez az 5 pont)
- bejelentkezés, szessziókövetés helyes lekezelése - max. 10 pont
legalább kétféle jogosultsággal rendelkező felhasználótípus
- kliens oldali technológia alkalmazása - max. 5 pont
(CSS, JavaScript vagy más kliensoldali scriptnyelv
a megfelelő indoklással, hogy miért ...)
- AJAX technológia beépítése az alkalmazásba - +5 pont
- JSP (legalább 3) - max. 10 pont
- beleértve a JSP-kkel való helyes gazdálkodást (nagyon hasonló nézetre felesleges két különböző JSP-t írni, mellőzzük a copy/paste-et),
ésszerű hibakezelés, szoftverergonómiai szempontok figyelembevétele (minél kevesebb kattintás/oldalváltás)-
- JSP Tag-ek használata - max. 5 pont (standard JSP tag-ek; illetve elmekönyvtárak: JSTL, Struts, stb), +5 (saját elemek haszálata)
- adatbázishozzáférés (JDBC) - max. 10 pont
(JDBC-re alapuló más technológia, keretrendszer) - +5 pont
- nemzetköziesítés - max. 5 pont
(az alkalmazás legalább kétnyelvű legyen, property-file-ok használata statikus szövegek helyett, ékezetek...)
- a megjelenítés, vezérlés és modell szétválasztása (MVC elv) - max. 10 pont
- egyéb - max. +5 pont, indokolt esetben (pl. kurzuson nem ismertetett egyéb technológia használata)
Projekt témák:
Megj.:
A fenti követelmények ismeretében lehet saját projekt témát javasolni (2007. dec. 21-én 16 óráig, azaz a pénteki
laborig), hasonló (nem túl részletes, azaz az alább megadottaknál nem részletesebb) specifikáció alapján.
A specifikációt e-mailben kell elküldeni a labhu@scs... címre.
Amint a pontozási kritériumokból is kiderül, a hangsúly a tanult technológiák helyes alkalmazásán van, NEM a projekt
komplexitásán.
Aki a megadott dátumig (dec. 21) nem javasolt saját témát, az a sorszámának megfelelő témát választja az alább megadottak közül:
1. Különböző erőforrások használatának órarendje/nyilvántartása
Pl. a Farkas Gyula Egyesület az alábbi erőforrásokkal rendelkezik (az alábbiak csak fiktív adatok):
- 2 vetítő
- 1 digitális fényképezőgép
- 1 vetítővászon
- 2 laptop
...
Ezeket bizonyos felhasználók igénybe vehetik
- rendszeresen (a hét egy bizonyos napján bizonyos időintervallumban)
- egyszeri alkalomra (igénybevétel: dátum, időpot-tól -> dátum, időpont-ig)
Funkcionalitások:
- bejelentkezés:
- adminként
- felhasználóként (regisztráció szükséges)
Admin:
- új erőforrás hozzáadása
- már lejárt lefoglalások törlése
(- üzenet küldése vmelyik felhasználónak)
Felhasználó:
- információ lekérése: egy adott erőforrás (vagy az összes) mikor szabad/foglalt, illetve ki foglalta le
- lefoglalni kívánt erőforrás kiválasztása
- lehetőség arra, hogy
- egy órarendből kiválassza azt a -még szabad- intervallumot, amikor neki szüksége van rá
- megjelölje az időintervallumot, ami alatt használatba szeretné venni:
kölcsönvétel dátuma, időpontja -> visszaszolgáltatás dátuma, időpontja
A rendszer visszajelez, hogy a kívánt időben az illető erőforrás foglalt-e vagy sem, és ez utóbbi esetben
nyilvántartásba veszi, hogy az erőforrás a kiválasztott időben foglalt.
2. Teszt-program:
Megj.: ha valakinek "vizsga-fóbiája" lenne ettől a projekttől, nevezheti kvíz-játéknak is... :)
Funkcionalitások:
- bejelentkezés
- adminként
- vizsgázóként (regisztrálás szükséges)
Admin:
- új kérdés+válaszok (1 helyes, 3 helytelen) bevitele
- régebb bevitt kérdés törlése/módosítása
- kérdések/válaszok listázása
- vizsgázók eredményeinek megtekintése
Vizsgázó:
- vizsga - indítógomb -> az adatbázisból (véletlenszerűen) generált kérdéssorozat
- variációk:
- egyszerre egy kérdés látható, ">>" következő gomb (visszalépni nem lehet), időzítés nincs, kérdésenként menti az eredményt
- minden kérdés látható egyidőben egy oldalon (vagy oldalakra tördelve, amik közt lehet navigálni). Küldés gombra menti az összes választ
- végül: elért pontszám kiírása
3. Sportközpont-használat nyilvántartása:
Egy egyetemi kampusz sportközpontjában legalább háromféle pálya/eszköz bérelhető (pl. kosárpálya, ping-pong asztal,
bicikli, stb.).
A sportközpontnak van egy órarendje (pl. naponta 8:00-20:00, hétvégén 8:00-23:00). A nyitvatartási időben óránként
bérelhetők az egyes termek/eszközök (azaz x órára, ahol x természetes szám).
Funkcionalitások:
- bejelentkezés
- adminként
- diákként (regisztráció szükséges, cím, telefonszám, szak, illetve studkönyv-szám
megadásával)
Admin:
- új terem/eszköz bevitel (darabszám illetve órabér megadásával)
- korábbi adatok módosítása/törlése
- minden egyes eszköz/terem esetén bejelölheti, hogy azok mikor foglaltak, milyen indokkal
(kétféle lehetőség: pl. minden hétfőn 8-tól 10-ig kosáredzést tart az egyetem csapata, vagy x dátumon n db.
ping-pong asztal foglalt, ping-pong bajnokság)
Diák:
- látja a sportközpont órarendjét
- saját regisztrációs adatok módosítása
- terem/eszköz lefoglalása (dátum, illetve mettől meddig) - a rendszer nyilvántartja,
hogy mikor ki mit foglalt le, kiírja, ha sikeres volt a lefoglalás (értelmes hibaüzenet, ha nem), és azt, hogy mennyibe
kerül ("törzsvendégek" számára legyen kedvezmény)
- lekérdezheti, hogy egy bizonyos dátumon bizonyos termek/eszközök mikor szabadok/foglaltak
(legyen lehetősége a lekérdezést követően itt is a lefoglalásra)
4. Segédprogram órarend-készítéshez:
Feltételezzük, hogy hétfőtől péntekig reggel 8:00-tól este 20:00-ig kell beosztani az órákat, tudva, hogy minden óra
(labor/kurzus/szeminárium) két órát tart.
(Megj.: lehet általános iskolás órarend is, akkor óránkénti a beosztás 8:00-tól 14:00-ig és nincs labor/kurzus/szeminárium).
Funkcionalitások:
- bejelentkezés
- adminként (órarendkészítő)
- tanárként (csak az admin által megadott felhasználók léphetnek be, regisztrálásra nincs lehetőség)
Admin:
- tanár adatainak bevitele (név, tanított tantárgyak, tantárgyanként: óraszám
(labor/kurzus/szeminárium), melyik évfolyamnak szól)
- korábban bevitt adatok módosítása/törlése
- (a megadottak közül valamelyik) óra hozzáadása az órarendhez/ törlése az órarendből
- annak listázása/ellenőrzése, hogy az órarend jelenlegi állapota szerint egy bizonyos tanár kérései
(lásd lennebb) milyen mértékben vannak betartva vagy sem
- az összes olyan kérés listázása, amelyek konfliktusban vannak az órarend jelenlegi
állapotával (jelöljük meg az órarendben is - fontosság szerint különböző színekkel- az illető órákat, amelyek a kérések alapján nem jó helyen vannak)
Tanár:
- megtekintheti a saját órarendjét (legalábbis az eddig beosztott órákat)
- max. 3 kívánsága lehet, melyek közül mindenik az alábbi formájú:
-[bizonyos (vagy bármely) óra] [legyen/ne legyen] [a megadott napon][mettől][meddig][fontos/kevésbé fontos]
5. Kisebb "házi" könyvtár nyilvántartása:
Funkcionalitások:
- bejelentkezés:
- adminként
- látogatóként (regisztráció szükséges)
Admin:
- új könyv hozzáadása, példányszámot is megjelölve
- (pl. elveszett...) könyv törlése
Látogató:
- regisztrációs adatok módosítása
- könyv kikeresése szerző/cím/... alapján
- könyv kölcsönzése (a rendszer lementi, hogy az illető könyvet ki vette kölcsön, illetve mikor. A könyvet kölcsönző
személy e-mailcímét is tároljuk)
- könyv visszaszolgáltatásának jelzése
- üzenet küldése egy megadott felhasználónak, akinél az általunk kölcsönözni kívánt könyv éppen van
6. Rendezvény szervezés:
Funkcionalitások:
- bejelentkezés
- adminként
- szervezőként (csak az admin által megadott felhasználók léphetnek be, regisztrálásra nincs lehetőség)
Admin:
- szervezők adatainak bevitele/módosítása/törlése
- új rendezvény megnevezése
- kiválasztott rendezvényhez részfeladat hozzáadása (részfeladat neve, határidő, ameddig meg kell oldani), illetve annak kijelölése, hogy ki felel a részfeladat megoldásáért
- személyes üzenet küldése egy bizonyos szervezőnek
- összesítés egy kiválasztott rendezvény esetén: megoldatlan/megoldott részfeladatok, túllépett
határidők (pl. különböző színnel való érzékeltetése) / kérésre egy bizonyos részfeladattal kapcsolatos részletek megjelentetése vagy eltűntetése
Szervező:
- az admintól kapott üzenetek listázása/törlése
- a rábízott (megoldott/megoldatlan) részfeladatok listázása
- megoldatlan részfeladatok állapotának módosítása (újabb jelentés hozzáadása az aktuális dátummal,
illetve lezárása, szintén az aktuális dátummal)
- azon rendezvények esetén, amelyekben ő is szerepet kapott, megtekintheti, hogy a többiek hogy állnak
az egyes részfeladatokkal (csak ezek állapotát láthatja, a részletek -jelentések- nélkül)
7. Online határidőnapló:
Funkcionalitások:
- bejelentkezés
- tulajdonosként
- barátként (akit a tulajdonos annak jelöl meg)
- látogatóként (regisztrálás szükséges)
Tulajdonos:
- barátok adatainak bevitele/ regisztrált felhasználók barátként való megjelölése
- új program bevitele (program neve, hol, mettől meddig tart), titkos vagy láthatják a barátok
- a többiek (barátok, látogatók) programajánlatának megtekintése/ ajánlott program hozzáadása a határidőnaplóhóz
(amennyiben nincs időpontütközés az eddigiekkel)/ajánlat törlése
- program törlése a határidőnaplóból
Barát:
- a tulajdonos nyilvánossá tett programjának megtekintése
- új programajánlat (mi, hol, mikor)
Látogató:
- új programajánlat (mi, hol, mikor)
Saját témák: