System Publikacji W Internecie Materiałów Multimedialnych
Total Page:16
File Type:pdf, Size:1020Kb
Politechnika Warszawska Rok akademicki 2011/2012 Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki PRACA DYPLOMOWA INZYNIERSKA˙ Maciej Pachocki System publikacji w internecie materiałów multimedialnych Opiekun pracy: mgr in˙z.Krzysztof Chabko Ocena ................................. ......................................... Podpis Przewodnicz ˛acego Komisji Egzaminu Dyplomowego Specjalno´s´c: In˙zynieriaSystemów Informatycznych Data urodzenia: 15 grudnia 1989 r. Data rozpocz ˛eciastudiów: 1 pa´zdziernika 2008 r. Zyciorys˙ Urodziłem si˛e15 grudnia 1989 r. w Białymstoku. Ucz˛eszczałemdo gimnazjum nr 5. Nast˛epniew latach 2005-2008 uczyłem si˛ew III Liceum Ogólnokształc ˛acym w Białymstoku. W roku 2007 udało mi si˛euzyskac´ certyfikat CAE z j˛ezykaangiel- skiego. Od roku 2008 studiuj˛ena Politechnice Warszawskiej na wydziale EITI. Moimi głównymi zainteresowaniami s ˛apiłka no˙zna oraz hokej na lodzie. W hokeja na lodzie gram od pocz ˛atkuszkoły gimnazjalnej. Ponadto przez wiele lat sklejałem modele szybowców ucz˛eszczaj˛acdo modelarni. ..................................... podpis studenta Egzamin dyplomowy Zło˙zyłegzamin dyplomowy w dn. ..................................................... Z wynikiem ............................................................................. Ogólny wynik studiów ................................................................. Dodatkowe wnioski i uwagi Komisji .................................................. .......................................................................................... Streszczenie Celem tej pracy było zaprojektowanie i stworzenie systemu, który b ˛edzieumo ˙z- liwiał publikowanie materiałów multimedialnych przy wykorzystaniu ogólnodost ˛ep- nego medium jakim jest dzi´sinternet. Publikacja tych materiałów miała by´cdoko- nywana przez nauczyciela, który ma na celu nauczy´cna odległo´s´cinnych u ˙zytkow- ników systemu. Powstały system miał równie ˙zskupi´csi ˛ena stronie e-learningu, z czym wi ˛azałosi ˛estworzenie okre´slonychról w systemie oraz ograniczenie upraw- nie ´ndla poszczególnych u ˙zytkowników. Zaimplementowana aplikacja korzysta z relacyjnej bazy danych PostgreSQL oraz została napisana w j ˛ezykuPHP z u ˙zyciemframework’a Yii. Aplikacja jest dost ˛epna poprzez przegl ˛adark˛einternetow ˛a,a serwerem WWW wykorzystanym do obsługi ˙z˛ada´nu ˙zytkownikówjest serwer WWW Apache. Słowa kluczowe: system publikacji multimediów (wideo i audio), system e-learningowy, aplikacja internetowa, PHP, Yii. Abstract Title: System publishing multimedia materials in internet. Main objective of this thesis was to design and implement a system which will enable its users to publish multimedia materials over the internet. Publication of this materials should be possible for a teacher whose main purpose is to remotely teach other users of the system. Therefore, created system focuses on e-learning side which was connected with creating certain roles in system and restricting possibilites to particular users. Implemented application employs relational database system PostgreSQL and was written in PHP language with using framework Yii. Application is accessible by web browser. Web server used in system to handle user requests is Apache Web Server. Key words: system publishing multimedia (video and audio), e-learning system, web application, PHP, Yii. Spis tresci´ 1. Wprowadzenie ........................................1 2. Wybór aplikacji do analizy i podstawy współczesnych aplikacji internetowych 2 2.1. Poszukiwania aplikacji do analizy . .2 2.2. Czym jest aplikacja internetowa ? . .2 2.3. HTTP i jego ograniczenia . .3 2.4. Nowa technologia - AJAX . .3 2.5. Podejscia´ stosowane w tworzeniu aplikacji internetowych . .3 2.5.1. Podejscia´ programowe . .3 2.5.2. Podejscia´ szablonowe . .4 2.5.3. Podejscia´ hybrydowe . .4 2.5.4. Zastosowanie framework’u . .4 2.6. Popularnos´c´ framework’ów . .4 3. Przegl ˛adaplikacji umo˙zliwiaj˛acychpublikacj ˛emateriałów multimedialnych .6 3.1. YouTube . .6 3.1.1. Przepływ pojedynczego ˙z˛adaniaHTTP . .6 3.1.2. Zastosowane serwery i narz˛edziaz nimi zwi ˛azane . .7 3.1.3. Obsługa wideo . .7 3.1.4. Obsługa miniaturek zdj˛ec´ ..........................8 3.1.5. Bazy danych . .8 3.1.6. Priorytetyzacja szybkosci´ dost˛epudo ró˙znychcz˛esci´ serwisu . .9 3.1.7. Partycjonowanie baz danych . .9 3.1.8. Podsumowanie . 10 3.2. PHPmotion . 10 3.2.1. Wymagania serwerowe (Linux/Unix) . 10 3.2.2. Podstawowe mo˙zliwosci´ oferowane przez system . 10 3.2.3. Podsumowanie . 11 3.3. Plumi . 11 3.3.1. Podstawowe mo˙zliwosci´ systemu . 11 3.3.2. Podsumowanie . 11 3.4. Moodle . 11 3.4.1. Podstawowe mo˙zliwosci´ systemu . 12 3.4.2. Podsumowanie . 14 4. Tworzony system e-learningowy ............................ 15 4.1. Specyfikacja i analiza wymagan...........................´ 15 4.1.1. Wizja, zakres oraz cel projektu . 15 4.1.2. Role i aktorzy w systemie . 15 4.1.3. Wymagania funkcjonalne . 16 4.1.4. Wymagania niefunkcjonalne . 22 4.2. Diagramy oraz scenariusze realizacji przypadków u˙zycia . 22 4.3. Wybrana technologia . 43 4.3.1. Rozwi ˛azaniai wykorzystane oprogramowanie . 43 4.3.2. Podstawowe elementy systemu . 43 4.3.3. Budowa aplikacji w PHP i prezentacja systemu po stronie przegl ˛adarki internetowej . 44 Spis tre´sci ii 4.3.4. Racjonalnos´c´ dokonanych wyborów . 44 5. Implementacja systemu .................................. 46 5.1. Framework Yii . 46 5.2. Projekt bazy danych . 51 5.2.1. Struktura bazy danych . 51 5.2.2. Oprogramowanie bazy danych . 51 5.2.3. Opis tabel . 54 5.3. Struktura stworzonej aplikacji internetowej . 58 5.3.1. Podstawowe elementy systemu . 58 5.3.2. Aplikacja serwerowa . 59 5.3.3. Aplikacja kliencka . 61 5.4. Wysyłanie i przetwarzanie plików po stronie serwera . 62 5.5. Testy automatyczne aplikacji . 68 5.5.1. Testy funkcjonalne . 68 5.5.2. Testowanie aplikacji napisanej w Yii . 68 5.5.3. Srodowisko´ testowe . 69 5.5.4. Wyniki testów . 70 6. Podsumowanie ....................................... 71 Narz ˛edziaimplementacji i dokumentacji ......................... 72 Zał ˛acznikA: Listy kodeków oraz formatów wspieranych przez narz ˛edzieFFmpeg 73 Zał ˛acznikB: Instrukcja u˙zytkowaniasystemu ..................... 75 B.1: Instrukcja dla goscia´ . 76 B.2: Instrukcja dla ucznia . 80 B.3: Instrukcja dla nauczyciela . 83 B.4: Instrukcja dla administratora . 88 Zał ˛acznikC: Instrukcja instalacji oprogramowania .................. 92 Zał ˛acznikD: Zawartos´c´ doł ˛aczonejpłyty CD ...................... 92 Bibliografia ........................................... 93 Materiały z sieci internet .................................. 93 1. Wprowadzenie W obecnych czasach w Internecie istnieje wiele serwisów umo˙zliwiaj˛acychpu- blikacj˛emateriałów wideo oraz audio. Najwi˛ekszymz nich jest serwis YouTube, który oferuje swoim u˙zytkownikombardzo du˙zomo˙zliwosci,´ zapewniaj ˛acprzy tym wysokie pr˛edkosci´ wysyłania oraz odtwarzania plików multimedialnych dodanych do systemu. Poza serwisami skupionymi głównie na publikacji multimediów istniej ˛arównie˙z takie, które w podstawowym zamysle´ tworzone s ˛ado nauczania na odległos´c.´ S ˛a to tzw. systemy e-learningowe – VLE (ang. Virtual Learning Environment). Jednym z najbardziej popularnych systemów umo˙zliwiaj˛acychnauczanie na odległos´c´ jest system Moodle. Podstawowym celem tworzonego systemu jest udost˛epnieniejego u˙zytkownikom mo˙zliwosci´ publikacji oraz zarz ˛adzaniamateriałami multimedialnymi, podobnie jak jest to mo˙zliwew serwisie YouTube. Czynnosci´ te maj ˛abyc´ mo˙zliwetylko dla wybra- nej kategorii u˙zytkownikóworaz odbywac´ si˛ew kontekscie´ nauczania (e-learningu). Przykładowym scenariuszem u˙zytkowanianowego systemu jest umieszczenie przez nauczyciela – lekarza kursu z materiałem wideo pokazuj ˛acymjak poprawnie wyko- nywac´ zastrzyki oraz jego odtworzenie przez ucznia – piel˛egniark˛e. Ilos´c´ aplikacji umo˙zliwiaj˛acychna publikacj˛ew Internecie materiałów wideo i audio stale rosnie.´ Wi˛ekszos´c´ z nich jest dost˛epna poprzez przegl ˛adark˛e inter- netow ˛a. Coraz cz˛esciej´ celem publikacji plików nie jest wył ˛acznierozrywka. W systemach e-learningowych głównym celem jest nauczanie pewnej grupy ludzi w celu zdobycia konkretnej wiedzy. Drugi oraz trzeci rozdział pracy stanowi ˛acz˛es´c´ teoretyczn ˛a.W rozdziale 2 przed- stawione zostały podstawy współczesnych aplikacji internetowych. W kolejnym opisane zostały aplikacje internetowe, które s ˛azbli˙zonefunkcjonalnie do stworzo- nego systemu. Dwa rozdziały (4 i 5) opisuj ˛aproces projektowania i implementa- cji projektu. Rozdział 4 przedstawia wymagania postawione przed projektowanym systemem oraz wybran ˛atechnologi˛eimplementacji projektu. W rozdziale 5 opisana została implementacja systemu. Na koniec pracy przedstawione zostało podsumo- wanie wykonanej pracy oraz mo˙zliwosci´ dalszego rozwoju stworzonej aplikacji. 2. Wybór aplikacji do analizy i podstawy współczesnych aplikacji internetowych 2.1. Poszukiwania aplikacji do analizy W czasie poszukiwan´ aplikacji, których funkcjonalnos´c´ byłaby zbli˙zonado funk- cjonalnosci´ mojego docelowego systemu zdecydowana wi˛ekszos´c´ z nich została za- implementowana w architekturze aplikacji internetowej. W zwi ˛azkuz tym serwisy wybrane do analizy s ˛aserwisami dost˛epnymipoprzez przegl ˛adark˛eWWW. Do analizy wybrałem serwisy YouTube, PHPMotion, Plumi i Moodle. Cechuj ˛asi˛e one znaczn ˛apopularnosci´ ˛ai du˙zymsukcesem osi ˛agni˛etymna rynku. Najlepszym chyba wyznacznikiem sukcesu jest ilos´c´ u˙zytkownikówkorzystaj ˛acychz wybranych aplikacji. 2.2. Czym jest aplikacja internetowa