2F Iskola fejlesztői dokumentáció Tartalomjegyzék 2F Iskola fejlesztői dokumentáció...1 1. Vizió...1 2. Követelmények...1 3. Üzleti modell...4 4. Telepítési modell...6 5. Használati esetek...7 6. Felhasználói felület terv...9 7. Adatmodell...10 8. Funciónális terv...11 9. Tesztelés...13 10. Bővíthetőség...14 11. Fejlesztői környezet...14 1. Vizió Készíts weblapot a 2F Iskolának! Az oldal lényege a cég és az oktatás bemutatása. (Aktuális weblapunkról a szöveges információk használata megengedett.) Az oldalon lehessen hírlevélre feliratkozni, valamint a feliratkozott tagoknak egy adminisztrációs felületen hírlevelet küldeni. Legfőbb értékelési szempontok: Design, szakmai megoldások (flash, php, mysql, stb.), egyéb funkciók (pl.: flash intró, vendégkönyv, fórum). (forrás: http ://www. 2fiskola. hu / palyazat2. html ) 2. Követelmények Funkcionális (felhasználói): Dinamikus modulok: - Tagok (regisztráció, belépés) - Tanfolyamok - Kirendeltségek - Hírlevél - Vendégkönyv - Fórum 1
Statikus modulok: - Főoldal (Céginfo lehet belőle később) Tagok : A rendszer kezelje a felhasználókat legalább 3 jogosultsági szinten (látogatók, tagok, rendszergazda). A látogatók megnézhetik a honlap bizonyos oldalait (kivétel adminisztrációs oldalak) és írhatnak a vendégkönyvbe. A tagok írhatnak a fórumba, illetve láthatják/módosíthatják az eddigi tanfolyamaikat (jelentkezett, elvégzett). A rendszergazda (lehetnek többen is) menedzseli az oldalt (beállítások, felhasználók és modulok kezelése). Bővíthetőség: tanfolyamvezető és moderátor jogosultsági szintek, tagok adatainak védelme/publikusságának beállíthatósága. A látogatók regisztrálás után tagok lesznek. A rendszergazda eleve speciális tagja a rendszernek, adatai nem publikusak. A felhasználó regisztráció után egy email-ben kapott linkre kattintva aktiválható. Az aktiválás után automatikusan belép. Ha a tagok közül valaki elfelejti a jelszavát, akkor az alapértelmezett email címe és a felhasználóneve megadásával elküldetheti magának emailben. A tagok adatai nem publikusak (fórum hozzászólásoknál néhány adat igen). Egy tag törlésekor a taghoz tartozó adatok is törlődnek (email, telefonszám, honlap, tanfolyami feliratkozások). Tagok adatai: név, felhasználónév, cím, email, weboldalak, telefonszámok, tanfolyamra jelentkezések. Tanfolyamok : Bármely felhasználó olvashatja. A jelentkezéshez regisztráció szükséges. Egy felhasználó ugyanarra a tanfolyamra csak egyszer jelentkezhet. A tanfolyamok kezelése (a lejelentkezés is) a rendszergazda feladata. A tanfolyam adatai között szerepel a tanfolyam neve, azonosítója, típusa (informatikai-info, nyelv-lang, stb.), státusz (lezárt-clos, nyitott-open, újranyitott-reop), kezdési időpont, befejezési időpont, jelentkezési határidő, időtartam (hónapokban, hetekben vagy napokban és órákban), leírás, tervezett csoportlétszám, jelenlegi csoportlétszám (nem publikus), tanfolyam jelentkezések lekérdezése tanfolyam szerint (tanfolyam adatainál: ki jelentkezett eddig - publikus). Bővíthetőség: tanfolyamvezető neve, tanfolyamvezető email címe (+ tanfolyamvezető jogosultsági szintet igényel), tanfolyam helye (kirend.), tanfolyam szintek (3), a státusz és típus dinamikus kezelése, a jelentkezés korlátozása határidő szerint, határidő vizsgálata (a kezdési időpont előtt legyen), tanfolyam leírás HTML képessé tétele. A tanfolyamokra jelentkezéskor nem kerülnek ellenőrzésre az olyan alapvető adatok, mint: tervezett csoportlétszám <= valós csoportlétszám, jelentkezési határidő és tanfolyam kezdésének és befejezésének idő összefüggései, a státusz állapotának figyelése. Kirendeltségek : Bármely felhasználó olvashatja. A rendszergazda és az office felhasználók (sajátjaikat) kezelik az adatokat (+,-, módosítás). Adatai: név, város, cím, irányítószám, tel, fax, email, web. A kirendeltségek egy bizonyos felhasználó típusnak (office) felelnek meg. Felhasználóként szerepelnek a rendszerben. Hírlevél: Bármely felhasználó feliratkozhat. Elég egy email cím és egy név, nem kell tagnak lenni. A név megadása a leiratkozás azonosításához szükséges. A rendszergazda kezeli az adatokat (+,-, módosítás). Adatai: cím, tartalom, a létrehozás időpontja, a küldés időpontja (nap). Bővíthetőség: kép vagy egyéb csatolt állomány küldése, választható HTML vagy egyszerű szövegként küldés. 2
Vendégkönyv : Bármely felhasználó használhatja. A rendszergazda kezeli az adatokat (+,-, módosítás). Moderálás lehetséges (módosítás, törlés) a rendszergazda részéről a vendégkönyv publikus oldalán. Adatai: beírás időpontja, beíró neve vagy email címe, üzenet. Bővíthetőség: HTML tag-ek korlátozása (pl: képbeszúrás tiltása), spam és vulgáris kifejezések tiltása. Fórum: Bármely felhasználó olvashatja, csak tagok írhatnak. A rendszergazda kezeli az adatokat (+,-, módosítás). Moderálás lehetséges (módosítás, törlés) a rendszergazda részéről. A fórumok (több féle kategória) topikokat tartalmaznak, és minden topikban hozzászólások vannak. A hozzászólások egy speciális típusa a témaindító hozzászólás. Ezzel indul a topik, ez a lap tetején látható minden oldalon. A témaindító csak a topik teljes törlésével távolítható el. A hozzászólások időbeli sorrend szerint rendezhetők normál vagy fordított sorrendben (alap). Az új hozzászólás lehet független az előző hozzászólásoktól illetve lehet válasz egy előző hozzászólásra. A hozzászólók felhasználónevére kattintva néhány alapadat elérhető a felhasználóról (felhasználónév, topikok, hozzászólások). Fórum adatai: Fórum neve (kategória), tartalmazott topikok száma, utolsó hozzászólás dátuma. Topik adatai: topik címe, tartalmazó fórum azonosítója, tartalmazott hozzászólások száma, topik látogatóinak száma (megtekintve), topik létrehozásának időpontja, utolsó hozzásszólás időpontja. Hozzászólás adatai: tartalmazó topik azonosítója, hozzászólás időpontja, hozzászóló neve, hozzászólás. Bővíthetőség: HTML tag-ek korlátozása/engedélyezése, moderátor jogosultsági szint, képbeszúrás tiltása/engedélyezése, avatar-ok és smile-k használata, idézés, a topiknyitó felhasználó általi módosítása. Nem funkcionális (technikai): - a rendszer szolgáljon ki napi 1000-10000 lapletöltést - a rendszer legyen többnyelvű - a rendszer legyen operációs rendszer és adatbázis független (a lehető legnagyobb mértékben) - a rendszer ingyenes futtatási környezetben is működjön Nem követelmények (bővíthetőség): - felhasználók IP alapú szűrése - látogatási statisztika - cikkek modul - a dátumok bevitele grafikus felületű naptárból (JS) - WYSIWYG szerkesztő 3
3. Üzleti modell A látogatókhoz tartozó fő üzleti funkciók a vendégkönyvbe írás, a hírlevélre feliratkozás és a regisztráció. Ekkor az adatok bevitelével új felhasználó, hozzászólás vagy feliratkozás jön létre, majd a megváltozott adatok véglegesítésre kerülnek. 4
A tagokhoz tartozó fő üzleti funkciók a saját felhasználói adatok kezelése, a topik létrehozása, a hozzászólás a topikhoz és a tanfolyamra feliratkozás. Ekkor az adatok bevitelével új topik, hozzászólás vagy feliratkozás jön létre, majd a megváltozott adatok véglegesítésre kerülnek. A rendszergazdához tartozó fő üzleti funkciók a felhasználók kezelése, vendégkönyv moderálás, a hírlevelek kezelése, a tanfolyamok kezelése és a fórum moderálása. Ekkor az adatok bevitelével új tanfolyam vagy hírlevél jön létre, majd a megváltozott adatok véglegesítésre kerülnek. 5
4. Telepítési modell A telepítés optimális esetben 2 szerver és 1 kliens gépet vesz igénybe. A kliens gépen csak egy böngésző telepítése szükséges. Az egyik szerveren fut az alkalmazás, a másikon az adatbázis szerver. A 2 szerver futhat egy gépen is. Az alkalmazásszerveren 4 részre osztható logikailag az alkalmazás: controller, service, DAO és domain részekre. A controller a vezérlő, mely a kliens gépről érkező kéréseket dolgozza fel. Használja a service részt, mely összefogja az alkalmazás funkcióit és interfészt biztosít az adott funkció felé. Továbbá lehetővé teszi, hogy a kliens többféle legyen (RMI-vastag vagy böngészővékony). A DAO az adatok hozzáférését végzi a domain réteg felhasználásával, melyben az adatok átmenetileg tárolódnak. 6
5. Használati esetek A látogató számára elérhető funkciók az alábbi 6 használati esetben láthatók. A látogató a honlapot megnyitva, regisztráció nélkül a övetkező funkciókat érheti el: hírlevélre feliratkozás (az email cím és a neve megadásával rendszeres üzenetet kaphat az oldal üzemeltetőitől e-mailben), vendégkönyvbe írás (az email cím vagy név megadásával véleményét a vendégkönyv listába küldheti), a fórum és a tanfolyamok között böngészhet. A további funkciók használatához regisztrálnia kell, majd bejelentkezni. A tagokhoz (regisztrált, belépett látogatók) 3 használati eset kapcsolódik: a fórumba írás (topik hozzáadása, hozzászólás egy topikhoz), saját adatok kezelése (személyes adatok módosítása, email, telefon, weblap kezelése) és a tanfolyamra jelentkezés. 7
A rendszergazdához 5 használati eset kapcsolódik: tagok kezelése, tanfolyamok és feliratkozások kezelése, hírlevelek és feliratkozások kezelése, fórum hozzáadása és moderálása, vendégköny moderálása. 8
6. Felhasználói felület terv A felhasználói felület két nagyobb részre osztható. Az egyik rész minden oldalon ugyanaz (1,2,3,4,6), a másik pedig a dinamikusan változó tartalom (5). 1 banner vagy céglogo 2,3,4 oldalmenü (menü, belépés, hírlevél) 5 tartalom 6 lábléc 9
7. Adatmodell A kapcsolatoknál a fekete a több, a fehér az egy kapcsolat. 10
8. Funciónális terv A rendszer egy felhasználókezelési csomagra épül (usermanager), a 2F iskolához kapcsolódó része 8 csomagot (alrendszer) tartalmaz, melyben 5 réteg különül el. Web: A vezérlő csomag, mely a JSP és HTML lapokról érkező kéréseket dolgozza fel, majd továbbítja a választ a JSP lapokra. A MainController osztály a formokról érkező adatbevitel 11
feldolgozáson kívüli funkciókat végzi. A formok feldolgozását az XxxFormController osztályok végzik. Service: A szerviz csomag, mely összefogja az alkalmazás funkcióit. Ezen a csomagon keresztül érhetőek el az üzleti objektumok és az adatkapcsolatot biztosító réteg. Lehetővé teszi az alkalmazás elérését több típusú kliensen keresztül (vastag, vékony) interfészeken keresztül. Dao: Az adatkapcsolati csomag biztosítja a hozzáférést az adatbázishoz. Az interfészek segítségével könnyedén cserélhető a specifikus adatbázis utasítások. Domain: Az üzleti csomag, mely az adatbázisból kiolvasott és beírandó adatokat átmenetileg tárolja. A logic csomag az adatok beviteli helyességét ellenőrzi. Util: A rendszer kiegészítő funkcióit tartalmazó csomag. Az osztályok részletes leírása a javadoc dokumentációban található. 12
9. Tesztelés Látogató: Regisztráció - OK Aktiválás (url-re figyelni!) - OK Belépés OK (elfelejtett jelszó link a belépés oldalra) Kilépés - OK Elfelejtett jelszó - OK Hírlevélre feliratkozás (a feliratkozás szövegét és az url-t javítani kell jav.) - OK Vendégkönyvbe írás hiba: formon az email neve hiányzik, ha be van valaki jelentkezve (jav.) és fordított időrendi sorrend kellene (jav.) - OK Fórum olvasás (rendezés utolsó hozzászólás szerint jav.) - OK Tanfolyamok böngészése - OK Kiredeltségek böngészése - OK Angol/Magyar váltás OK Felhasználó: Saját adatok kezelése (email, tel, weblap): adatok szerkesztése OK, email, tel, weblap hozzáadása/módosítása: hiba (felhasználónév nincs a hide-ban jav) OK, email alapértelmezettnek beáll - OK Fórumba írás: topik hozzáadása hiba: a topiknyitó hiányzik, jav. - OK, hozzászólás - OK Tanfolyamra jelentkezés - OK Rendszergazda: Tagok kezelése: tag törlésekor hiba (emailek törlése) jav - OK Hírlevelek kezelése: OK Vendégkönyv (Vélemények) kezelése - OK Fórum kezelése: topik törlés hiba: a service nem volt impl Jav., témaindító törlésekor a topikból is törölni kellene jav. OK Tanfolyamok kezelése: tanfolyamok törlésénél a jelentkezések nem törlődnek jav OK 13
10. Bővíthetőség A rendszer bővíthetőségéről információ a követelmények részen található. 11. Fejlesztői környezet JAVA (1.5) http://java.sun.com/ Eclipse IDE (3.0.2): http://www.eclipse.org/ UML IDE (Eclipse plugin, 2.0.0): http://www.omondo.com/ Spring Framework (1.1.5) http://www.springframework.org/ MySQL (4.0.18) http://www.mysql.com/ DB designer (4) http://www.fabforce.net/dbdesigner4/ Tomcat (5.5.9) http://jakarta.apache.org/tomcat/ Windows XP Home http://www.microsoft.com/ 14