Szoftverarchitektúrák. 12. Sorozat portál (követelmény specifikáció)



Hasonló dokumentumok
A Java EE 5 plattform

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Felhasználói kézikönyv

JAVA webes alkalmazások

KlausenMobi. Követelmény dokumentáció. Verzió: 1.0. Dátum: Státusz: Released

DuneHD.hu. Kompatibilis médialejátszók: Dune HD Center Dune BD Prime Dune HD Base 2.0 Dune HD Base 3.0 Dune BD Prime 3.0

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Zimbra levelező rendszer

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

Sú gó az ASIR/PA IR Públikús felú lethez

Példa webáruház kialakítás rendszerdokumentáció

Duál Reklám weboldal Adminisztrátor kézikönyv

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

ALKALMAZÁS KERETRENDSZER

JavaScript Web AppBuilder használata

Junior Java Képzés. Tematika

Osztott rendszerek, Java EE. Általános bevezető

MÉRY Android Alkalmazás

Ügyfélszolgálati Portál (használati segédlet)

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Kalumet Számlázó. Termék leírás

TELEPÍTÉSI ÉS FELHASZNÁLÓI ÚTMUTATÓ

ALKALMAZÁSOK ISMERTETÉSE

2F Iskola fejlesztői dokumentáció

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

NAGY TELJESÍTM. Szerzők Dévai. István Automatizálási. és s Alkalmazott Informatikai Tanszék

K&H token tanúsítvány megújítás

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Nyilvántartási Rendszer

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

A Zotero hivatkozáskezelő program bemutatása. Mátyás Melinda

Web-fejlesztés NGM_IN002_1

Dropbox - online fájltárolás és megosztás

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Internet programozása. 1. előadás

S01-7 Komponens alapú szoftverfejlesztés 1

Taninform KIR kapcsolat

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

Tudás Reflektor. Copyright 2011; Kodácsy Tamás;

Google Cloud Print útmutató

Végfelhasználói Applet kézikönyv

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Hungaropharma Zrt. WEB Áruház felhasználói útmutató. Tartalomjegyzék

Egy családfaszerkesztő alkalmazás leírása


Programozó, csoportvezető

NightHawk AccessControl

WordPress segédlet. Bevezető. Letöltés. Telepítés

CentOS 7 OTRS telepítése, beállítása

Regisztráció folyamata az admin.kozadat.hu oldalon az Új adatgazda regisztráció menüpontban

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

A tankönyvvé nyilvánítás folyamatát elektronikusan támogató rendszer az OKÉV számára

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Az autorizáció részletes leírása

Felhasználói útmutató

Citroen Pásztor Alkatrész és tartozék webáruház

Hozzávalók keresése és csatolása

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

Playlist.hu Kiadói kézikönyv

Közösség, projektek, IDE

Parlagfű Bejelentő Rendszer

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

KGFB díjhirdetés. Előadó: Tóth Krisztina IT - Alkalmazásfelügyeleti főosztály

Flex: csak rugalmasan!

A FileZilla program beállítása az első belépés alkalmával

1. Bevezető. 2. Sérülékenységek

S04-2 Elosztott alkalmazások készítése

Java I. A Java programozási nyelv

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Kedvenc Linkek a témakörben: MySQL mindenkinek Vizuális adatbázis tervezés

Vihar 2.0 rendszer Felhasználói kézikönyv

DigiSkills. D3.5 Digiskills Leltár Kézikönyv

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Tisztelt Felhasználó!

Feltörekvő technológiák: seam, drools, richfaces és társai a JBossban

Komponens modellek. 3. Előadás (első fele)

Felhasználói kézikönyv

MVC desktop alkalmazás esetén. MVC Model-View-Controller. eredete: Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

ÁSZF 1. melléklet. GST-Max Kereskedelmi és Szolgáltató Kft Budapest, Völgy utca 32/b. részéről

TÁJÉKOZTATÓ az OTH Szakrendszeri Információs Rendszer használatához a veszélyes anyagokkal veszélyes keverékkel történő tevékenység bejelentése esetén

Földmérési és Távérzékelési Intézet

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

TÁMOP A-11/ A MAGYAR TUDOMÁNYOS MŰVEK TÁRA (MTMT) PUBLIKÁCIÓS ADATBÁZIS SZOLGÁLTATÁSOK ORSZÁGOS KITERJESZTÉSE MTMT ÉS MTMT2

Csavarda mobil áruház

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

Multimédiás adatbázisok

Sulidoc Iskolai dokumentum megosztó Dokumentáció

Webáruház felhasználói útmutató

*Ezen felületet kell kitölteni saját fiók létrehozásáho z

Informatikai alkalmazásfejlesztő Információrendszer-elemző és - tervező

Java Web technológiák

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Vonalkód olvasó rendszer. Specifikáció Vonalkód olvasó rendszer SoftMaster Kft. [1]

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

Magyar Kereskedelmi és Iparkamara HelpDesk rendszer. Felhasználói útmutató

Redmine: avatár 1 személyre szabása

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet

iseries Client Access Express - Mielőtt elkezdi

Átírás:

Szoftverarchitektúrák specifikáció Szoftverarchitektúrák 12. Sorozat portál (követelmény specifikáció) Balázs Zoltán (X0ELSN) Kiss Zoltán (BUS1FJ)

Szoftverarchitektúrák specifikáció Tartalomjegyzék 1 Bevezető... 3 1.1 A feladat szövege... 3 1.2 Kibővített specifikáció... 3 1.3 Szótár... 4 1.4 Referencia... 4 2 Rendszer áttekintés... 5 2.1 Használati esetek... 5 2.2 Használati esetek részletesen... 5 2.2.1 Regisztráció... 5 2.2.2 Sorozatok és epizódok böngészése... 6 2.2.3 Keresés... 6 2.2.4 Sorozat hozzáadása... 6 2.2.5 Sorozat jellemzőinek módosítása... 6 2.2.6 Epizód hozzáadása... 6 2.2.7 Epizód jellemzőinek módosítása... 7 2.2.8 Felirat feltöltés... 7 2.2.9 Felirat letöltés... 7 2.2.10 Értékelés... 7 2.2.11 Lájkolás... 7 2.2.12 Megjegyzés hozzáfűzés... 8 2.2.13 Megjegyzés elfogadás... 8 2.3 Felhasznált technológia... 8 2.3.1 Java EE 5... 8 2.3.2 GWT... 8 2.4 Architektúra... 9 3 Implementációs kérdések... 9 3.1 Fejlesztés... 9 3.1.1 Eclipse... 9 3.1.2 Ant... 9 3.2 Kódolási konvenciók... 9 3.3 SVN... 9 4 Telepítés... 10

Szoftverarchitektúrák specifikáció 4.1 MySQL... 10 4.2 JBoss... 10 1 Bevezető 1.1 A feladat szövege A cél egy olyan szoftver tervezése és implementálása, amely lehetőséget biztosít sorozatokkal kapcsolatos információk megosztására (sorozat fórum). A regisztrált felhasználók új sorozatokat, új epizódokat adhatnak meg. Egy sorozat esetén meg kell adni a nevét, rendezőjét, főbb szereplőket, kulcsszavakat, amiről az adott sorozat szól, és egy rövid, szöveges leírást a sorozatról. Egy sorozathoz több epizód tartózhat, az epizód esetén is elérhető a címe, szereplői, kulcsszavai, szöveges leírása, hossza. Az epizódhoz feliratot is fel lehet tölteni, amit a regisztrált felhasználók le is tölthetnek. A regisztrált felhasználók értékelhetik (1-10) a sorozatokat, és az egyes epizódokat is, megjegyzéseket fűzhetnek hozzájuk és lájkolhatják az egyes részeket, vagy az egész sorozatot. A portál keresési lehetőséget biztosít a felhasználóknak, hogy keressenek cím, leírás, kulcsszavak, színész vagy rendező alapján. A legjobbra értékelt sorozatokat egy összefoglaló oldalon tekinthetik meg a felhasználók. A hozzászólásokat az adminisztrátornak jóvá kell hagynia, hogy azok megjelenhessenek az oldalon. 1.2 Kibővített specifikáció A fejlesztés végére egy olyan webes alkalmazásnak kell elkészülni, amely lehetővé teszi a regisztrált és regisztrálatlan felhasználók számára, hogy sorozatokra és ezek epizódjaira vonatkozó információkat és véleményeket osszanak meg egymással. A sorozatokról tárolni kell a sorozat nevét, a rendezőjét, főbb szereplőket és kulcsszavakat, amik az adott sorozathoz kapcsolódnak. A sorozatokhoz több epizód tartozik. Az epizódokról tárolni kell, hogy melyik évadba tartoznak (ha ez értelmezhető az adott sorozatnál), illetve szintén van címe, leírása, szereplői, kulcsszava és hossza. Ezen felül, az epizódhoz különböző nyelvű feliratokat is fel lehet tölteni. A regisztrálatlan felhasználók szabadon böngészhetik a sorozatokat, epizódokat illetve kereshetnek is közöttük. Keresni lehet cím, leírás, kulcsszavak, színész, vagy rendező alapján. A regisztrált felhasználók új sorozatokat és epizódokat adhatnak meg, módosíthatják őket és feliratot tölthetnek fel az epizódokhoz. Feliratok letöltésére is csak nekik van lehetőségük. Továbbá a regisztrált felhasználók értékelhetik, lájkolhatják a sorozatokat és epizódokat és megjegyzéseket fűzhetnek hozzájuk. A megjegyzéseket az adminisztrátornak jóvá kell hagynia, hogy azok megjelenhessenek az oldalon. Az alkalmazásnak rendelkeznie kell egy olyan oldallal, ahol a legjobbra értékelt sorozatok jelennek meg.

Szoftverarchitektúrák specifikáció 1.3 Szótár Adminisztrátor: Speciális regisztrált felhasználó. A többi regisztrált felhasználó által beírt megjegyzés megjelenéséhez az ő engedélyezése kell. Erre az alkalmazásban külön felület áll rendelkezésére. Epizód: A sorozat egy része. Ezek az epizódok általában rövidebbek egy egész estés filmnél, és rendszeres időközönként sugározzák őket a csatornák. Az epizódok is rendelkeznek címmel, rendezővel (ami megegyezik a sorozat rendezőjével), és színészekkel. Értékelés: A sorozatok és epizódok minősítésére szolgál. Értéke 1 és 10 között változhat. Minden regisztrált felhasználó legfeljebb csak egyszer értékelhet egy sorozatot vagy epizódot. Az értékelés alapján a legjobb sorozatok egy összefoglaló oldalon is megjelennek. Lájkolás: A sorozatok és epizódok minősítésére szolgál. Egyetlen értéke van, ez a tetszik. Minden regisztrált felhasználó legfeljebb csak egyszer lájkolhat egy sorozatot vagy epizódot. Megjegyzés: Rövid szöveges vélemények, amelyet a regisztrált felhasználók a sorozatokhoz és az epizódokhoz fűzhetnek. Az adminisztrátoroknak minden esetben el kell fogadni a megjegyzést ahhoz, hogy az a felületen is megjelenhessen. A megjegyzések az elfogadás után szabadon láthatóak bárki számára. Regisztrálatlan felhasználó: Olyan felhasználó, aki nem jelentkezett be az alkalmazásba, azaz nem adta még meg a megfelelő felületen a rendszerben korábban rögzített felhasználói nevet és jelszót. Regisztrált felhasználó: Olyan felhasználó, aki korábban már elvégezte a regisztrációt, és az alkalmazás használatakor be is lépett a felhasználó név, jelszó megadásával. Sorozat: Olyan tévéműsor, amely több részből, epizódból áll. Ezek az epizódok általában rövidebbek egy egész estés filmnél, és rendszeres időközönként sugározzák őket a csatornák. A sorozatoknak rendelkezniük kell címmel, rendezővel, színészekkel. 1.4 Referencia Az alábbi webes oldalak léteznek már tévésorozatok témában: http://epguides.com/ http://www.tv.com/ http://tv-series.com/

2 Rendszer áttekintés Budapesti Műszaki Egyetem Szoftverarchitektúrák specifikáció 2.1 Használati esetek Az alábbi ábra a kibővített specifikáció alapján szükséges használati eseteket mutatja be. 2.2 Használati esetek részletesen 2.2.1 Regisztráció Új felhasználó létrehozása a rendszerben. Felhasználói név és jelszó megadásával történik. A megadott felhasználói név még nem foglalt Az új felhasználó létrejön Regisztrálatlan felhasználó 1. Webes felület megfelelő kitöltése.

Szoftverarchitektúrák specifikáció 2.2.2 Sorozatok és epizódok böngészése Sorozatok listázása, azok epizódjairól tárolt információk megjelenítése. - A sorozatok, epizódok listája megjelenik Regisztrált, regisztrálatlan felhasználó 1. Webes felület megfelelő kitöltése. 2.2.3 Keresés Sorozatok, epizódok listázása azok tulajdonságainak a keresési kulcsszóval történő részleges vagy teljes egyezése szerint. - A keresési feltételeknek megfelelő sorozatok, epizódok listája megjelenik Regisztrált, regisztrálatlan felhasználó 1. Keresési kulcsszó megadása 2. Keresési eredmények megjelenítése, vagy hibaüzenet kiírása. 2.2.4 Sorozat hozzáadása Új sorozat nyilvántartásba vétele a rendszerbe. Meg kell adni a sorozat nevét, rendezőjét. Regisztrált felhasználó be van jelentkezve Az új sorozat adatai bekerülnek az adatbázisba, megjelenik a felületen. Regisztrált felhasználó 1. Webes felület megfelelő kitöltése 2. Üzenet a sikerességről, vagy a sikertelenségről 2.2.5 Sorozat jellemzőinek módosítása A sorozat nevének, rendezőjének módosítása. Regisztrált felhasználó be van jelentkezve A sorozat adatai módosulnak az adatbázisban. Regisztrált felhasználó 1. Webes felület megfelelő kitöltése 2. Üzenet a sikerességről, vagy a sikertelenségről 2.2.6 Epizód hozzáadása Új epizód felvétele az adatbázisban már meglévő sorozathoz. A felhasználó sikeresen bejelentkezett. Az új epizód bekerül az adatbázisba, megjelenik a felületen. Regisztrált felhasználó, adminisztrátor 1. Webes felület megfelelő kitöltése.

Szoftverarchitektúrák specifikáció 2.2.7 Epizód jellemzőinek módosítása Már meglévő epizód tulajdonságainak módosítása A felhasználó sikeresen bejelentkezett. Az epizód adatai módosulnak az adatbázisban. Regisztrált felhasználó, adminisztrátor 1. Webes felület megfelelő kitöltése. 2.2.8 Felirat feltöltés 2.2.9 Felirat letöltés Már meglévő epizódhoz új felirat feltöltése. A felhasználó sikeresen bejelentkezett. A felirat feltöltődött a szerverre, az epizód oldalán a felirat letölthető. Regisztrált felhasználó, adminisztrátor 1. Felirat nyelvének megadása 2. A feltöltendő fájl kiválasztása 3. Üzenet a sikerességről, vagy a sikertelenségről. Epizódhoz feltöltött feliratok letöltése. Az epizódhoz legyen feltöltve felirat. A felirat letöltődött a felhasználó gépére. Regisztrált, regisztrálatlan felhasználó 1. A letöltendő felirat kiválasztása 2. A felirat letöltési helyének megadása 3. Üzenet a sikerességről, vagy a sikertelenségről. 2.2.10 Értékelés Epizód vagy sorozat értékelése. A felhasználó legyen bejelentkezve. A felhasználó értékelése megjelenik a felületen, a sorozat átlagos pontszáma módosul. Regisztrált felhasználó 1. Az értékelés megadása (1-10) 2.2.11 Lájkolás Epizód vagy sorozat lájkolása. A felhasználó legyen bejelentkezve. A felhasználó lájkolása megjelenik a felületen, a lájkolási számláló értéke egyel nő. Regisztrált felhasználó 1. Lájk gomb megnyomása

Szoftverarchitektúrák specifikáció 2.2.12 Megjegyzés hozzáfűzés 2.2.13 Megjegyzés elfogadás Megjegyzés hozzáadása epizódhoz vagy sorozathoz. A felhasználó legyen bejelentkezve. Üzenet a megjegyzés sikeres rögzítéséről, a megjegyzések adminisztrációs felületén megjelenik az engedélyezendő megjegyzés. Regisztrált felhasználó 1. Megjegyzés elküldése Megjegyzés elfogadása epizódhoz vagy sorozathoz. Az felhasználó adminisztrátorként legyen bejelentkezve. A megjegyzés megjelenik a sorozat/epizód oldalán. Adminisztrátor felhasználó 1. Megjegyzés engedélyezése vagy törlése 2.3 Felhasznált technológia 2.3.1 Java EE 5 A Java Enterprise Edition (Java EE) különböző technológiák, specifikációk összessége, amelyek a szerveroldali programozást hivatottak támogatni. A Java EE ipari szabványként funkcionál többek között a vállalati rendszerek fejlesztésében. 2.3.1.1 Java Persistence API A JPA a Java EE specifikáció része, amely objektumrelációs leképezési perzisztencia modellt biztosít az adatbázis eléréséhez. Ez azt jelenti, hogy az adatbázis tábláit egyszerű Java objektumok (POJO, Plain Old Java Object) segítségével érjük el, melyek annotálva vannak, és a JPA az ezekben tárolt információt rögzíti az adatbázisba. 2.3.1.2 Enterprise Java Beans Az Enterprise JavaBeans (EJB) specifikáció tranzaktált, elosztott és biztonságos szerveroldali üzleti komponensek létrehozását teszi lehetővé rövid idő alatt. Ideális választás akkor, ha távoli gépről kell üzleti logikákat elérni és ha skálázható megoldást szeretnénk. 2.3.2 GWT A Google által fejlesztett Google Web Toolkit webalkalmazások fejlesztésére használható. Előnye, hogy a webes felület és a funkcionalitás is implementálható Java nyelven, azaz a jól megszokott technikák használhatók fejlesztés közben. A Java nyelven írt kódot lefordítja böngészőspecifikus Javascriptekre. A felhasználók a böngészőjüknek megfelelő változatot fogják letölteni a szerverről.

Szoftverarchitektúrák specifikáció 2.4 Architektúra A rendszer többrétegű architektúrát fog megvalósítani. Összesen négy logikai réteg különböztethető meg egymástól: 1. kliens: A felhasználók a böngészőn keresztül érik el a szerveren futó GWT webes alkalmazást. A felhasználó letölti a weboldalhoz kapcsolódó Javascripteket. A Javascript távoli eljáráshívással hívja a GWT alkalmazás szerveroldali komponenseit. 2. gwt szerver oldal: A GWT szerveroldali komponensek JNDI lookup használatával megkeresik a szükséges EJB szolgáltatásokat. 3. üzleti logika: Az EJB session beanek implementálják a szolgáltatásokat, és használják a DAO réteget. 4. adatkezelés: A DAO réteg végzi az adatok perzisztálását. 3 Implementációs kérdések 3.1 Fejlesztés 3.1.1 Eclipse A kódot Eclipse használatával fejlesztjük. Nagyon jól használható, elterjedt fejlesztőeszköz, rengeteg fejlesztést segítő funkcióval és kiegészítővel. Mi az alábbi plugineket fogjuk használni: Hibernate tools: JPA lekérdezések, valamint JPA specifikus feladatok futtatására GWT plugin: GWT webalkalmazás fejlesztéséhez nyújt támogatást Subclipse: SVN használat a fejlesztőkörnyezetből UML plugin: UML diagramok készítésére 3.1.2 Ant A kód fejlesztése során a monoton ismétlődő feladatokat Ant 1.7.0 segítségével automatizáljuk. Ilyenek például a kód fordítása és release-elése, szerverre telepíthető formába hozása. 3.2 Kódolási konvenciók A fejlesztés elősegítésére a következő elnevezési konvenciók mellett döntöttünk: Az EJB-s entitások GWT kliens oldali megfelelőjének neve az entitás neve, kiegészítve a Dto utótaggal. Pl: Episode -> EpisodeDto. A szolgáltatás interfészeket megvalósító osztályok neve az intefész neve, kiegészítve az Impl utótaggal. Pl: PermissionService -> PermissionServiceImpl. Az EJB-k által használt DAO objektumok végzik a JPA lekérdezések futtatását. Elnevezésük megegyezik az EJB interfészének nevével, kiegészítve a Dao utótaggal. Pl: PermissionService - > PermissionDao. 3.3 SVN A közös munka támogatására a Google Project Hosting szolgáltatását vesszük igénybe, amely többek között SVN tárhelyet biztosít számunkra (http://code.google.com/p/series-portal).

Szoftverarchitektúrák specifikáció 4 Telepítés 4.1 MySQL Az alkalmazás adatainak perzisztens tárolására MySQL adatbázist fogunk használni. 4.2 JBoss A programot futtató Java EE alkalmazásszerver a JBoss 5.1.0 GA verziója. Használata kényelmes a hotdeploy funkciója miatt: a telepítendő szerverkomponenseket elég egy könyvtárba bemásolni és azokat automatikusan elindítja. Nyílt forráskódú, jól támogatott alkalmazásszerver.