Praca dyplomowa magisterska
|
|
- Janina Grzybowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI Katedra: Algorytmów i Modelowania Systemów Imię i nazwisko dyplomanta: Michał Piątek Nr albumu: Forma i poziom studiów: Dzienne, magisterskie Kierunek studiów: Informatyka Praca dyplomowa magisterska Temat pracy: System kontroli jakości treści w platformach do wspólnej edycji zasobów Kierujący pracą: dr inż. Adrian Kosowski Zakres pracy: Gdańsk, 2009
2 Spis treści 1. Wprowadzenie Cel pracy Definicje pojęć związanych z systemem Serwis społecznościowy Wejście Wyjście Przegląd istniejących rozwiązań: serwisy typu online judge Sphere Online Judge (SPOJ) UVa Online-Judge Timus Online Judge Saratov State University Online Contester Fujian Normal University Online Judge (Fjnu Online Judge) Tianjin University (Peiyang University) Online Judge (TJU Online Judge) Hangzhou Dianzi University Online Judge System (HDU Online Judge System) Zheijang University Online Judge (ZOJ) JudgeOnline Społecznościowy portal do budowania kolekcji danych testowych dla zagadnień algorytmicznych Specyfikacja systemu Definicje pojęć w systemie Opis ogólny funkcjonalności systemu Przypadki użycia Opis przypadków użycia Rejestracja użytkownika Logowanie Wylogowanie Przeglądanie zadań Dodanie oceny Przeglądanie ocen Przeglądanie wejść
3 Spis treści Spis treści Dodanie wejścia Testowanie rozwiązania w systemie Edycja zadań Dodanie zadań Edycja użytkowników Organizacja bazy danych Schemat relacyjnej bazy danych Opis tabel Struktura klas w systemie Package: Beans Package: Entity Beans Package: Utils Package: Servlets Realizacja aplikacji w modelu MVC Definicja modelu MVC Model View Controller Maszyna wirtualna Javy oraz Class Loadery Custom Class Loader maszyny wirtualnej Java Implementacja Custom Class Loadera w systemie Budowa systemu System jako aplikacja JEE Struktura systemu Przykładowe zastosowania systemu przy rozwiązywaniu problemów algorytmicznych Kolorowanie wierzchołkowe Znajdowanie najkrótszej ścieżki Podsumowanie i wnioski 64 A. Podręcznik użytkownika 65 B. Opis wdrożenia 66 B.1. Apache Tomcat B.2. MySQL
4 Spis treści Spis treści C. Wykorzystane technologie oraz frameworki 67 C.1. JSP C.2. JSTL C.3. CSS C.4. JavaScript C.5. Servlety C.6. MySQL C.7. JDBC C.8. POJO Entity Bean C.9. JPA C.10.Hibernate C.11.Java reflections C.12.Ajax C.13.JsMath
5 Spis rysunków 2.1. Interfejs IInputValidator Interfejs IJudge Diagram przypadków użycia użytkownika niezalogowanego Diagram przypadków użycia użytkownika zalogowanego Diagram aktywności rejestracji Diagram maszyny stanów rejestracji Diagram aktywności logowania Diagram maszyny stanów logowania Diagram aktywności logowania Diagram maszyny stanów logowania Diagram aktywności przeglądania zadań Diagram maszyny stanów przeglądania zadań Diagram aktywności dodania oceny Diagram maszyny stanów dodania oceny Diagram aktywności przeglądania ocen Diagram maszyny stanów przeglądania ocen Diagram aktywności przeglądania wejść Diagram maszyny stanów przeglądania wejść Diagram aktywności dodania wejsćia Diagram maszyny stanów dodawania wejścia Diagram aktywności testowania rozwiązań Diagram maszyny stanów testowania rozwiązań Diagram aktywności edycji zadań Diagram maszyny stanów edycji zadań Diagram aktywności dodawania zadań Diagram maszyny stanów dodawania zadań Diagram aktywności edycji użytkowników Diagram maszyny stanów edycji użytkowników Schemat relacyjnej bazy danych, część Schemat relacyjnej bazy danych, część Zależności pomiędy pakietami klas w systemie Pakiet zawierający klasę SessionBean Pakiet zawierający klasy mapujące na encje bazy danych
6 Spis rysunków Spis rysunków Pakiet zawierający klasy narzędziowe Pakiet zawierający servlety Schemat zależności w modelu MVC Tworzenie menadżera encji Przykład wywołania zapytania typu SELECT Przykład wywołania zapytania typu UPDATE Zamykanie menadżera encji Plik index.jsp jako przykład widoku Metoda obsługi żądań kontrolera Obsługa żądania rejestracji użytkownika Dispatcher kontrolera Hierarchia Class Loaderów Wywołanie konstruktora klasy CustomClassLoader Ustawienie głównego Class Loadera Konstruowanie klasy z tablicy bajtów Implemetacja Custom Class Loadera C.1. Plik zadania.jsp C.2. Plik styles.css C.3. Plik js.js C.4. Plik web.xml C.5. Plik persistence.xml C.6. Klasa Polewmenu C.7. Interfejs XMLHttpRequest
7 Spis tablic 2.1. Opis pól tabeli Uzytkownik Opis pól tabeli RolaUzytkownika Opis pól tabeli Przywilej Opis pól tabeli PrzywilejPoleWMenu Opis pól tabeli PoleWMenu Opis pól tabeli Zadanie Opis pól tabeli InputDoZadania Opis pól tabeli Ocena Opis pól tabeli RozwiazanieUzytkownika Opis Class Loaderów
8 Rozdział 1 Wprowadzenie 1.1. Cel pracy 1.2. Definicje pojęć związanych z systemem Serwis społecznościowy Serwis społecznościowy - (inaczej: portal społecznościowy) - rodzaj interaktywnych stron WWW, które są współtworzone przez sieci społeczne osób podzielających wspólne zainteresowania lub chcących poznać zainteresowania innych.[22] Wejście Wejście - zdefiniowany w systemie plik tekstowy zawierający dane testowe dla konkretnego zadania Wyjście Wyjście - plik tekstowy zawierający rozwiązanie zadania dla konkretnego wejścia. Plik ten jest wysyłany przez użytkownika systemu za pośrednictwem formularza WWW Przegląd istniejących rozwiązań: serwisy typu online judge Sphere Online Judge (SPOJ) Serwis SPOJ jest dostępny pod adresem url: Ten portal przyjmuje rozwiązania w trzydziestu pięciu językach programowania (C++, C, Pascal (fpc 2.0.4), Text, Java, Python, C99 strict, Ruby, Perl, Brainf**k, Pascal (gpc v ), Haskell, C#, Ocaml, PHP, ADA 95, Common Lisp (clisp ), Common Lisp (sbcl ), D, Bash, Scheme (guile 1.6), Assemble, Lua, JAR, Fortran, Icon, Whitespace, Prolog, Pike, Nice, Intercal, Nemerle, Clips, Smalltalk, Scheme (qobi a)). Zawiera zawody typu open oraz zawody typu closed. 8
9 1.3.Przegląd istniejących rozwiązań: serwisy typu online judge Wprowadzenie UVa Online-Judge Serwis UVa Online-Judge jest dostępny pod adresem url: org/. Ten portal przyjmuje rozwiązania w czterech językach programowania (C, C++, Delphi, Java). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 2523 zadania) oraz zawody zawierające po kilka zadań organizowane co jakiś czas Timus Online Judge Serwis jest dostępny pod adresem url: Ten portal przyjmuje rozwiązania w pięciu językach programowania (C, C++, Delphi, Java, C#). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 711 zadań) oraz zawody zawierające po kilka zadań organizowane co jakiś czas Saratov State University Online Contester Serwis Saratov State University Online Contester jest dostępny pod adresem url: http: //acm.sgu.ru/. Ten portal przyjmuje rozwiązania w czterech językach programowania (C, C++, Delphi, Java). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 343 zadania) oraz zawody zawierające po kilka zadań organizowane co jakiś czas. Oprócz brania udziału w zawodach istnieje możliwość tworzenia własnych zawodów, Fujian Normal University Online Judge (Fjnu Online Judge) Serwis Fjnu Online Judge jest dostępny pod adresem url: Ten portal przyjmuje rozwiązania w czterech językach programowania (C, C++, Pascal, Java). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 1060 zadań) oraz zawody zawierające po kilka zadań organizowane co jakiś czas Tianjin University (Peiyang University) Online Judge (TJU Online Judge) Serwis TJU Online Judgejest dostępny pod adresem url: Ten portal przyjmuje rozwiązania w czterech językach programowania (C, C++, Pascal, Java). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 2292 zadania) oraz zawody zawierające po kilka zadań organizowane co jakiś czas. Oprócz brania udziału w zawodach istnieje możliwość tworzenia własnych zawodów, posiadających od 3 do 14 zadań, nazwę, hasło, tytuł, opis oraz określony czas trwania. 9
10 1.4.Społecznościowy portal do budowania kolekcji danych testowych dla zagadnień algorytmicznych Wprowadzenie Hangzhou Dianzi University Online Judge System (HDU Online Judge System) Serwis HDU Online Judge System jest dostępny pod adresem url: cn/. en portal przyjmuje rozwiązania w czterech językach programowania (C, C++, Pascal, Java). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 1786 zadań) oraz zawody zawierające po kilka zadań organizowane co jakiś czas. Zawody mogą mieć cztery modyfikatory dostępu (Public, Private, Registered Site, Rigister Network). Oprócz brania udziału w zawodach istnieje możliwość tworzenia własnych zawodów, w których możemy dodawać notatki, zadania (z listy predefiniowanych zadań lub, jeśli jesteśmy użytkownikiem z uprawnieniem Diy super user, dodać własne zadanie) oraz definiować czas trwania Zheijang University Online Judge (ZOJ) Serwis ZOJ jest dostępny pod adresem url: Ten portal przyjmuje rozwiązania w czterech językach programowania (C, C++, Pascal, Java). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 3212 zadań) oraz zawody zawierające po kilka zadań organizowane co jakiś czas JudgeOnline Serwis JudgeOnline jest dostępny pod adresem url: Ten portal przyjmuje rozwiązania w trzech językach programowania (C, C++, Pascal). Zawiera zawody typu open z setami zadań zawierającymi maksymalnie 100 zadań (w sumie 124 zadania) oraz zawody zawierające po kilka zadań organizowane co jakiś czas Społecznościowy portal do budowania kolekcji danych testowych dla zagadnień algorytmicznych 10
11 Rozdział 2 Specyfikacja systemu 2.1. Definicje pojęć w systemie W tej sekcji zostanie przedstawionych kilka istotnych, z punktu widzenia użytkownika systemu, definicji. Użytkownik - zarejestrowana w systemie, identyfikowana przez login i hasło osoba, posiadająca uprawnienia do przeglądania i wyboru konkretnego zadania, przeglądania, oceniania i wyboru konkretnego wejścia do zadania oraz nadsyłania rozwiązań. Problem Setter - użytkownik, który oprócz uprawnień standardowych posiada możliwość dodawania zadań oraz ich modyfikacji (zmiana nazwy zadania, treści, sędziego wejść oraz sędziego wyjść). Administrator - użytkownik posiadający uprawnienia problem settera oraz mogący nadawać uprawnienia użytkownikom (ustalenie, czy dany użytkownik ma uprawnienia problem settera czy też nie). Zadanie - zagadnienie algorytmiczne, które można rozwiązać poprzez napisanie stosownego programu, który na wejście przyjmie określone dane ze standardowego wejścia (STDIN) i wypisze stosowne dane na standardowe wyjście (STDOUT). Wejście - tekstowa reprezentacja danych wsadowych dla zadań. Rozwiązanie - tekstowa reprezentacja rozwiązania zadania dla konkretnego wejścia. Sędzia wejść - klasa napisana w Javie, odpowiadająca za walidację poprawności wejścia (automatyczny proces weryfikacji poprawności danych wejściowych, zgodnych z wzorcem podanym w opisie zadania), implementująca interfejs IInputValidator: 2.1 Sędzia rozwiązań - klasa napisana w Javie, odpowiadająca za sprawdzanie poprawności i/lub jakości rozwiązań do zadań związanych z konkretnym wejściem, implementująca interfejs IJudge 2.2. Odpowiedzi tej klasy powinny być zawarte w określonym poniżej standardzie: OK - rozwiązanie poprawne NOT OK -rozwiązanie niepoprawne 11
12 2.2.Opis ogólny funkcjonalności systemu Specyfikacja systemu package u t i l s ; Michał Piątek / public interface I I n p u t V a l i d a t o r { / Sprawdza poprawność input i n p u t v a l i d a t o r input c o r r e c t n e s s / boolean v a l i d a t e ( S t r i n g [ ] input ) ; Rysunek 2.1. Interfejs IInputValidator WynikUżytkownika < Maksimum - rozwiązanie użytkownika w relacji maksimum. Jeśli użytkownik zmieścił się w określonym przedziale rozwiązanie jest poprawne, w przeciwnym razie niepoprawne. WynikUżytkownika > Minimum - rozwiązanie użytkownika w relacji minimum. Jeśli użytkownik zmieścił się w określonym przedziale rozwiązanie jest poprawne, w przeciwnym razie niepoprawne Opis ogólny funkcjonalności systemu System jest społecznościowym serwisem internetowym pozwalającym zalogowanym w nim użytkownikom dodawanie wejść do problemów algorytmicznych oraz ich ocenę, sprawdzanie własnych rozwiązań poprzez zastosowanie par wejście wyjście przy pomocy sędziego, który ocenia poprawność rozwiązania i/lub jego jakość. Użytkownik mający uprawnienia problem settera może dodatkowo dodawać i modyfikować zadania. Administrator posiada dodatkowo możliwość edycji uprawnień Przypadki użycia Przypadki użycia dostępne w systemie zostały przedstawione na dwóch rysunkach 2.3 oraz
13 2.3.Przypadki użycia Specyfikacja systemu package u t i l s ; Michał Piątek / public interface IJudge { / Sprawdza output do danego input judge input output judge output score / S t r i n g judge ( S t r i n g [ ] input, S t r i n g [ ] output ) ; Rysunek 2.2. Interfejs IJudge Rysunek 2.3. Diagram przypadków użycia użytkownika niezalogowanego 13
14 2.3.Przypadki użycia Specyfikacja systemu Rysunek 2.4. Diagram przypadków użycia użytkownika zalogowanego 14
15 2.4.Opis przypadków użycia Specyfikacja systemu 2.4. Opis przypadków użycia Rejestracja użytkownika Diagram aktywności został przedstawiony na rysunku 2.5, natomiast maszyna stanów na rysunku 2.6. Opis: Niezalogowany i nie zarejestrowany wcześniej użytkownik wprowadza swoje dane i zostaje zarejestrowany w systemie. Aktorzy: Niezalogowany użytkownik Warunki początkowe: Użytkownik musi być niezalogowany. Scenariusz przypadku użycia: 1 Użytkownik wprowadza swoje dane (login i hasło) oraz wpisuje kod weryfikujący. 2 Użytkownik naciska przycisk rejestruj. 3 Servlet zapisuje informacje o użytkowniku w bazie. 4 Użytkownik zostaje przekierowany do strony rejestracji ze stosownym komunikatem. Alternatywne scenariusze: Wynik: Użytkownik podał login występujący w systemie, zostaje poinformowany o zaistniałym fakcie. Użytkownik wprowadził błędne dane, zostaje poproszony o ich poprawienie. Użytkownik zostaje zarejestrowany w systemie Logowanie Diagram aktywności został przedstawiony na rysunku 2.7, natomiast maszyna stanów na rysunku 2.8. Opis: Niezalogowany użytkownik po podaniu poprawnego loginu i hasła zostaje zalogowany w systemie. 15
16 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek 2.5. Diagram aktywności rejestracji Aktorzy: Niezalogowany użytkownik Warunki początkowe: Użytkownik musi być niezalogowany. Scenariusz przypadku użycia: 1 Niezalogowany użytkownik klika w link zaloguj. 2 Użytkownik wprowadza login i hasło. 3 Użytkownik klika przycisk zaloguj. 4 Servlet zapisuje dane o użytkowniku w sesji. 5 Użytkownik zostaje przekierowany an stronę główną, komunikat powitalny zostaje wyświetlony. Alternatywne scenariusze: Wynik: 1 Użytkownik nie podał wszystkich pól, zostaje poproszone o uzupełnienie danych. 2 Użytkownik podał dane niepoprawne, zostaje poproszony o poprawienie danych. 16
17 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek 2.6. Diagram maszyny stanów rejestracji 17
18 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek 2.7. Diagram aktywności logowania Użytkownik zostaje zalogowany i może kontynuować użytkowanie serwisu Wylogowanie Diagram aktywności został przedstawiony na rysunku 2.9, natomiast maszyna stanów na rysunku Opis: Zalogowany użytkownik naciska przycisk wyloguj i zostaje wylogowany z systemu. Aktorzy: Zalogowany użytkownik Warunki początkowe: Użytkownik musi być zalogowany. Scenariusz przypadku użycia: Wynik: 1 Użytkownik naciska przycisk wyloguj. 2 Servlet usuwa informacje o użytkowniku z sesji. 3 Użytkownik zostaje przekierowany do strony głównej portalu, komunikat o wylogowaniu z systemu zostaje wyświetlony. Użytkownik zostaje wylogowany z systemu. 18
19 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek 2.8. Diagram maszyny stanów logowania Rysunek 2.9. Diagram aktywności logowania Rysunek Diagram maszyny stanów logowania 19
20 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności przeglądania zadań Przeglądanie zadań Diagram aktywności został przedstawiony na rysunku 2.11, natomiast maszyna stanów na rysunku Opis: Zalogowany użytkownik przegląda zadania zawarte w systemie. Aktorzy: Zalogowany użytkownik Warunki początkowe: Użytkownik musi być zalogowany. Scenariusz przypadku użycia: Wynik: 1 Użytkownik naciska przycisk zadania i zostaje przekierowany na stronę zadań. 2 W przypadku istnienia więcej niż dziesięciu zadań w systemie użytkownik ma możliwość przeglądać kolejne strony zadań. 3 Użytkownik może wybrać konkretne, interesujące go zadanie. Po kliknięciu w link zadania jego treść oraz panel związany z wejściami (dodawanie wejść oraz przeglądanie wejść) zostają asynchronicznie dograne na stronę serwisu. Strona z listą zadań, ewentualnie dodatkowo nazwa oraz opis konkretnego, wybranego przez użytkownika zadania Dodanie oceny Diagram aktywności został przedstawiony na rysunku 2.13, natomiast maszyna stanów na rysunku
21 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram maszyny stanów przeglądania zadań Opis: Zalogowany użytkownik oddaje ocenę na dane wejście. Zależności: 1 Przeglądanie zadań Przeglądanie wejść Aktorzy: Zalogowany użytkownik systemu Warunki początkowe: Użytkownik musi być zalogowany. Użytkownik musi przeglądać konkretne zadanie. Użytkownik nie oddał jeszcze głosu na to wejście. Scenariusz przypadku użycia: 1 Użytkownik wybiera w panelu wejść zakładkę dodaj rozwiązanie. 2 Użytkownik zaznacza ocenę dla danego wejścia. 3 Servlet zapisuje dane w bazie danych. 4 Użytkownikowi zostaje pokazana ocena średnia dla danego wejścia. 21
22 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności dodania oceny Wynik: Ocena użytkownika została zapisana w systemie Przeglądanie ocen Diagram aktywności został przedstawiony na rysunku 2.15, natomiast maszyna stanów na rysunku Opis: Zalogowany użytkownik przegląda średnie z ocen dla wejść do zadań. Zależności: 1 Przeglądanie zadań Przeglądanie wejść Aktorzy: Zalogowany użytkownik systemu Warunki początkowe: Użytkownik musi być zalogowany. Użytkownik musi przeglądać konkretne zadanie. 22
23 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram maszyny stanów dodania oceny 23
24 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności przeglądania ocen Rysunek Diagram maszyny stanów przeglądania ocen Użytkownik oddał głos na dane wejście, w przeciwnym razie informacje nie zostają wyświetlone. Scenariusz przypadku użycia: Wynik: 1 Użytkownik wybiera w panelu wejść zakładkę dodaj rozwiązanie. 2 Użytkownik przegląda oceny. Użytkownik zapoznał się ze średnimi ocenami wejść. 24
25 2.4.Opis przypadków użycia Specyfikacja systemu Przeglądanie wejść Diagram aktywności został przedstawiony na rysunku 2.17, natomiast maszyna stanów na rysunku Opis: Zalogowany użytkownik przegląda wejścia do wybranego przez siebie zadania. Zależności: Aktorzy: 1 Przeglądanie zadań Zalogowany użytkownik Warunki początkowe: Użytkownik musi być zalogowany. Zadania muszą się znajdować w systemie. Użytkownik musi przeglądać wybrane przez siebie zadanie. Scenariusz przypadku użycia: Wynik: 1 Użytkownik wybiera z panelu wejść opcję dodaj rozwiązanie. 2 Użytkownik przegląda listę wejść dla danego zadania. 3 Użytkownik wybiera konkretne, interesujące go wejście. 4 Panel z zawartością wejścia oraz formularzem zgłoszeniowym rozwiązania zostaje dograny asynchronicznie na stronę serwisu. Lista wejść, ewentualnie dodatkowo konkretne wybrane przez użytkownika wejście Dodanie wejścia Diagram aktywności został przedstawiony na rysunku 2.19, natomiast maszyna stanów na rysunku Opis: Zalogowany użytkownik dodaje wejście do wybranego przez siebie zadania. Zależności: 25
26 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności przeglądania wejść Rysunek Diagram maszyny stanów przeglądania wejść Aktorzy: Przeglądanie zadań Zalogowany użytkownik systemu. Warunki początkowe: Użytkownik musi być zalogowany. W systemie muszą istnieć zadania. Scenariusz przypadku użycia: 1 Użytkownik wybiera interesujące go zadanie. 2 Użytkownik wybiera zakładkę dodaj input w panelu zadania. 3 Użytkownik wprowadza treść wejścia i naciska przycisk wyślij, dane zostają wysłane asynchronicznie. 4 Servlet uruchamia walidatora wejść i sprawdza dane użytkownika. 5 Dane zostają zapisane w bazie danych. 6 Użytkownik zostaje powiadomiony o poprawnym dodaniu wejścia. Alternatywne scenariusze: 26
27 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności dodania wejsćia Wynik: Wejście jest niepoprawne, użytkownik zostaje powiadomiony o tym fakcie stosownym komunikatem. Poprawnie zwalidowane wejście zostaje dodane do bazy danych, użytkownik zostaje powiadomiony stosownym komunikatem Testowanie rozwiązania w systemie Diagram aktywności został przedstawiony na rysunku 2.21, natomiast maszyna stanów na rysunku Opis: Zalogowany użytkownik sprawdza swoje rozwiązanie zadania dla konkretnego, wybranego przez siebie wejścia. Zależności: Przeglądanie zadań Przeglądanie wejść Aktorzy: Zalogowany użytkownik systemu. 27
28 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram maszyny stanów dodawania wejścia Warunki początkowe: Użytkownik musi być zalogowany. W systemie muszą istnieć zadania oraz wejścia do nich. Scenariusz przypadku użycia: Wynik: 1 Użytkownik wybiera interesujące go wejście. 2 Użytkownik wprowadza wyjście w pole formularza. 3 Użytkownik naciska przycisk sprawdź. 4 Servlet tworzy klasę sędziego wykorzystując do tego celu Custom Class Loadera. Przy pomocy sędziego następuje sprawdzenie rozwiązania, wynik zostaje zapisany w bazie danych. 5 Wynik zostaje zaprezentowany użytkownikowi poprzez asynchronicznie dogranie na stronę. Wynik oceny sędziego zostaje zapisany w bazie danych i wyświetlony użytkownikowi. 28
29 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności testowania rozwiązań Rysunek Diagram maszyny stanów testowania rozwiązań 29
30 2.4.Opis przypadków użycia Specyfikacja systemu Edycja zadań Diagram aktywności został przedstawiony na rysunku 2.23, natomiast maszyna stanów na rysunku Opis: Zalogowany użytkownik z uprawnieniami problem settera aktualizuje dane zadania. Zależności: Aktorzy: Przeglądanie zadań Zalogowany użytkownik z uprawnieniami problem settera. Warunki początkowe: Użytkownik musi być zalogowany. Użytkownik musi posiadać uprawnienia problem settera. Scenariusz przypadku użycia: 1 Użytkownik wybiera interesujące go zadanie do edycji. 2 Użytkownik zmienia nazwę, opis, sędziego lub walidatora wejść. 3 Servlet dokonuje zmian w bazie danych. 4 Użytkownik zostaje przekierowany do strony edycji zadań z komunikatem o powodzeniu zmiany zadania. Alternatywne scenariusze: Wynik: Użytkownik podał niepoprawnie którąś z wartości, zostaje powiadomiony stosownym komunikatem. Zmienione zadanie zostaje zachowane w bazie danych, użytkownik zostaje powiadomiony stosownym komunikatem. 30
31 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności edycji zadań Rysunek Diagram maszyny stanów edycji zadań 31
32 2.4.Opis przypadków użycia Specyfikacja systemu Dodanie zadań Diagram aktywności został przedstawiony na rysunku 2.25, natomiast maszyna stanów na rysunku Opis: Aktorzy: Zalogowany użytkownik mający uprawnienia problem settera lub administratora dodaje nowe zadanie do systemu. Zalogowany użytkownik z uprawnieniami problem settera lub administratora. Warunki początkowe: Użytkownik musi być zalogowany. Użytkownik musi mieć uprawnienia problem settera lub administratora. Scenariusz przypadku użycia: 1 Użytkownik naciska przycisk dodaj zadanie. 2 Użytkownik wprowadza nazwę zadania oraz jego treść. 3 Użytkownik może pobrać paczkę z interfejsami IJudge 2.2 oraz IInputValidator Użytkownik załącza skompilowane klasy Java sędziego oraz walidatora wejść. 5 Użytkownik naciska przycisk dodaj zadanie. 6 Servlet dodaje zadanie do bazy danych. 7 Użytkownik zostaje przekierowany do strony dodawania zadań ze stosownym komunikatem powodzenia operacji dodania nowego zadania do systemu. Alternatywne scenariusze: Wynik: Użytkownik nie podał wszystkich pół, zostaje poproszony o podanie wszystkich wartości. Użytkownik próbuje dodać zadanie o nazwie istniejącej w systemie, zostaje poinformowany o zaistniałej sytuacji i poproszony o zmianę nazwy. Użytkownilk załączył pliki nie implementujące odpowiednio interfejsu IJudge 2.2 dla sędziego zadań oraz IInputValidator 2.1, zostaje poproszony o załączenie poprawnych plików *.class. 32
33 2.4.Opis przypadków użycia Specyfikacja systemu Rysunek Diagram aktywności dodawania zadań Rysunek Diagram maszyny stanów dodawania zadań 33
34 2.5.Organizacja bazy danych Specyfikacja systemu Edycja użytkowników Diagram aktywności został przedstawiony na rysunku 2.27, natomiast maszyna stanów na rysunku Opis: Zalogowany administrator ustawia uprawnienia zwykłego użytkownika / problem settera wybranym przez siebie użytkownikom. Aktorzy: Zalogowany administrator systemu Warunki początkowe: Użytkownik musi być zalogowany. Użytkownik musi posiadać uprawnienia administratora. Scenariusz przypadku użycia: 1 Użytkownik naciska przycisk Edytuj użytkowników. 2 Użytkownik wybiera interesującą go stronę z użytkownikami. 3 Użytkownik dokonuje stosownych zmian. 4 Użytkownik naciska przycisk zapisz zmiany. 5 Servlet zapisuje informacje o użytkownikach w bazie danych. 6 Użytkownik zostaje przekierowany do strony edycji użytkowników z komunikatem powodzenia zapisy zmian uprawnień użytkowników. Alternatywne scenariusze: Wynik: Użytkownik nie wprowadził żadnych zmian, zostaje powiadomiony stosownym komunikatem. Zmiana uprawnień zapisana w bazie danych. Użytkownik zostaje powiadomiony o zmianie stosownym komunikatem Organizacja bazy danych Schemat relacyjnej bazy danych Schemat relacyjnej bazy danych został przedstawiony na rysunkach 2.29 oraz Opis poszczególnych tabel znajduje się w podrozdziale
35 2.5.Organizacja bazy danych Specyfikacja systemu Rysunek Diagram aktywności edycji użytkowników Rysunek Diagram maszyny stanów edycji użytkowników 35
36 2.5.Organizacja bazy danych Specyfikacja systemu Rysunek Schemat relacyjnej bazy danych, część 1 Rysunek Schemat relacyjnej bazy danych, część 2 36
37 2.5.Organizacja bazy danych Specyfikacja systemu Nazwa pola Typ pola Opis pola id int(10) unsigned NOT NULL Id użytkownika - klucz główny RolaUzytkownika Id int(10) unsigned NOT NULL Id roli użytkownika - klucz obcy login varchar(50) NULL Login uzytkownika haslo varchar(32) NULL Hasło użytkownika - skrót md5 Tablica 2.1. Opis pól tabeli Uzytkownik Nazwa pola Typ pola Opis pola Id int(10) unsigned NOT NULL Id roli użytkownika - klucz główny Nazwa varchar(50) default NULL Nazwa roli użytkownika Tablica 2.2. Opis pól tabeli RolaUzytkownika Opis tabel Użytkownik tabela zawierająca informacje o użytkowniku. Opis pól przedstawiono w tabeli 2.1. RolaUzytkownika tabela zawierająca informacje o roli użytkownika. Opis pól przedstawiono w tabeli 2.2. Przywilej tabela zawierająca informacje o przywileju użytkownika. Opis pól przedstawiono w tabeli 2.3. PrzywilejPoleWMenu tabela kontener zawierająca informacje o tym jakie pola w menu są przypisane do jakiego przywileju. Opis pól przedstawiono w tabeli 2.4. PoleWMenu tabela zawierające informacje o polach w menu. Opis pól przedstawiono w tabeli 2.5. Zadanie tabela zawierające informacje o zadaniach znajdujących się w systemie. Opis pól przedstawiono w tabeli 2.6. InputDoZadania tabela zawierające informacje o wejściach do zadań znajdujących się w systemie. Opis pól przedstawiono w tabeli 2.7. Nazwa pola Typ pola Opis pola Id int(10) unsigned NOT NULL Id przywileju - klucz główny RolaUzytkownika Id int(10) unsigned NOT NULL Id roli użytkownika - klucz obcy Nazwa varchar(50) default NULL Nazwa roli użytkownika Tablica 2.3. Opis pól tabeli Przywilej 37
38 2.5.Organizacja bazy danych Specyfikacja systemu Nazwa pola Typ pola Opis pola Przywilej Id int(10) unsigned NOT NULL Id przywileju - klucz obcy PoleWMenu Id int(10) unsigned NOT NULL Id pola w menu - klucz obcy Id int(11) NOT NULL Id kontenera - klucz główny Tablica 2.4. Opis pól tabeli PrzywilejPoleWMenu Nazwa pola Typ pola Opis pola Id int(10) unsigned NOT NULL Id pola w menu - klucz główny Pole varchar(50) NULL Nazwa pola w menu Tablica 2.5. Opis pól tabeli PoleWMenu Nazwa pola Typ pola Opis pola idzadanie int(10) unsigned NOT NULL Id zadania - klucz główny Uzytkownik id int(10) unsigned NOT NULL Id dodającego - klucz obcy Nazwa varchar(100) NULL Nazwa zadania Tresc text Treść zadania Judge mediumblob Binarna reprezentacja klasy sędziego InputValidator mediumblob Binarna reprezentacja klasy walidatora wejść Tablica 2.6. Opis pól tabeli Zadanie Nazwa pola Typ pola Opis pola Id int(10) unsigned NOT NULL Id wejścia do zadania - klucz główny Uzytkownik id int(10) unsigned NOT NULL Id uzytkownika - klucz obcy Zadanie idzadanie int(10) unsigned NOT NULL Id zadania - klucz obcy Input text Zawartość wejścia Tablica 2.7. Opis pól tabeli InputDoZadania 38
39 2.6.Struktura klas w systemie Specyfikacja systemu Nazwa pola Typ pola Opis pola id int(11) NOT NULL Id oceny - klucz główny uzytkownikid int(11) NOT NULL Id użytkownika - klucz obcy inputid int(11) NOT NULL Id wejścia - klucz obcy ocena int(11) NOT NULL Ocena wejścia w skali Tablica 2.8. Opis pól tabeli Ocena Nazwa pola Typ pola Opis pola id int(10) unsigned NOT NULL Id rozwiązania - klucz główny InputDoZadania Id int(10) unsigned NOT NULL Id wejścia - klucz obcy Zadanie idzadanie int(10) unsigned NOT NULL Id zadania - klucz obcy Rozwiazanie longblob Rozwiązanie jako plik Poprawne tinyint(1) default NULL Określa, czy rozwiązanie było poprawne UzytkownikId int(10) unsigned default NULL Id użytkownika - klucz obcy Tablica 2.9. Opis pól tabeli RozwiazanieUzytkownika Ocena tabela zawierające informacje o ocenach wejść do zadań znajdujących się w systemie. Opis pól przedstawiono w tabeli 2.8. RozwiazanieUzytkownika tabela zawierające informacje o rozwiązaniach zadań znajdujących się w systemie. Opis pól przedstawiono w tabeli Struktura klas w systemie Kod systemu został podzielony na odrębne pakiety klas, zależności między nimi zostały przedstawione na rysunku Podział taki został wprowadzony, aby polepszyć strukturyzację kodu oraz ułatwić zarządzanie kodem. Poszczególne pakiety zostaną dokładniej opisane w kolejnych podrozdziałach Package: Beans Diagram klas tego pakietu został przedstawiony na rysunku Package: Entity Beans Diagram klas tego pakietu został przedstawiony na rysunku Package: Utils Diagram klas tego pakietu został przedstawiony na rysunku
40 2.6.Struktura klas w systemie Specyfikacja systemu Rysunek Zależności pomiędy pakietami klas w systemie Package: Servlets Diagram klas tego pakietu został przedstawiony na rysunku
41 2.6.Struktura klas w systemie Specyfikacja systemu Rysunek Pakiet zawierający klasę SessionBean 41
42 2.6.Struktura klas w systemie Specyfikacja systemu Rysunek Pakiet zawierający klasy mapujące na encje bazy danych 42
43 2.6.Struktura klas w systemie Specyfikacja systemu Rysunek Pakiet zawierający klasy narzędziowe 43
44 2.6.Struktura klas w systemie Specyfikacja systemu Rysunek Pakiet zawierający servlety 44
Praca dyplomowa magisterska
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI Katedra: Algorytmów i Modelowania Systemów Imię i nazwisko dyplomanta: Michał Piątek Nr albumu: 102145 Forma i poziom studiów: Dzienne,
Bardziej szczegółowoSerwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoProgramowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Bardziej szczegółowoWstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
Bardziej szczegółowoSerwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat Ćwiczenie 1 Proszę napisać aplikację wykorzystującą serwlety i bazy danych, która umożliwi wyszukiwanie tytułów książek po nazwisku autora oraz autorów po tytule książki. Ćwiczenie
Bardziej szczegółowoREFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,
Bardziej szczegółowoPrzykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe
Bardziej szczegółowoProjektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Bardziej szczegółowoWzorce prezentacji internetowych
Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.
Bardziej szczegółowopawel.rajba@gmail.com, http://kursy24.eu/
pawel.rajba@gmail.com, http://kursy24.eu/ Servlets Charakterystyka Główne metody Obiekty request i response JSP Dyrektywy Elementy skryptowe Elementy akcji Generowanie treści Obiekty niejawne Obiekty request
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoWykład dla studentów Informatyki Stosowanej UJ 2012/2013
e-biznes Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 Michał Cieśla pok. 440a, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/ 1 Literatura B. Burke,
Bardziej szczegółowoprepared by: Programowanie WWW Servlety
Programowanie WWW Servlety Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt) Klasa Kredyt
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoPodstawowe wykorzystanie Hibernate
Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Bardziej szczegółowoBEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,
Bardziej szczegółowoMateriały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Bardziej szczegółowoWykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5
Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu Gekosale 1.4
Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...
Bardziej szczegółowoASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
Bardziej szczegółowoAplikacje Internetowe, Servlety, JSP i JDBC
Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny
Bardziej szczegółowoProgramowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty
Bardziej szczegółowoSesje i logowanie. 1. Wprowadzenie
Sesje i logowanie 1. Wprowadzenie Żądania od nawet tego samego użytkownika na serwerze nie są domyślnie w żaden sposób łączone ze sobą. Każde jest w pewnym sensie nowe i serwer nie jest w stanie stwierdzić,
Bardziej szczegółowoPodręcznik Użytkownika LSI WRPO
Podręcznik użytkownika Lokalnego Systemu Informatycznego do obsługi Wielkopolskiego Regionalnego Programu Operacyjnego na lata 2007 2013 w zakresie wypełniania wniosków o dofinansowanie Wersja 1 Podręcznik
Bardziej szczegółowomgr inż. Michał Paluch
Komunikacja w Internecie Użytkownik klika w odpowiednie łącze. Przeglądarka formatuje żądanie i wysyła Serwer odnajduje zasób, formatuje odpowiedź i przesyła do przeglądarki. Protokół HTTP Zadania klienta
Bardziej szczegółowoDokumentacja systemu NTP rekrut. Autor: Sławomir Miller
Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji
Bardziej szczegółowoEnterprise JavaBeans
Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Bardziej szczegółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoTworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie
Bardziej szczegółowoPodstawy programowania III WYKŁAD 4
Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9
Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
Bardziej szczegółowoTworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)
Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,
Bardziej szczegółowoBackend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Bardziej szczegółowoModele danych walidacja widoki zorientowane na model
Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 1 Servlety
Architektury Usług Internetowych Laboratorium 1 Servlety Wstęp Celem laboratorium jest zapoznanie się z modelem klient-serwer (żądanieodpowiedź) na przykładzie serwletów. Kontener webowy Kontener webowy
Bardziej szczegółowoPrzewodnik użytkownika (instrukcja) AutoMagicTest
Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja
Bardziej szczegółowoZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja
ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.
Bardziej szczegółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
Bardziej szczegółowoElementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages.
Elementy JEE 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages. 1 Java Enterprice Edition Java Enterprice Edition (JEE) jest rozszerzeniem Java Standard
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoWykład 5: PHP: praca z bazą danych MySQL
Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych
Bardziej szczegółowoBazy danych i strony WWW
Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy
Bardziej szczegółowoSerwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.
Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony
Bardziej szczegółowoEnterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z sesyjnymi komponentami Enterprise JavaBeans. Zilustrowane będą różnice między komponentami stanowymi i bezstanowymi. Pokazane będzie
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Bardziej szczegółowoLaboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Bardziej szczegółowoPWI Instrukcja użytkownika
PWI Instrukcja użytkownika Spis treści 1. Wprowadzenie... 1 2. Przebieg przykładowego procesu... 1 3. Obsługa systemu... 5 a. Panel logowania... 5 b. Filtrowanie danych... 5 c. Pola obligatoryjne... 6
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x
Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
Bardziej szczegółowoProgramowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet filtry oraz web.xml Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Filtry, wywoływanie filtrów, wywołania łańcuchowe
Bardziej szczegółowoA Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów
A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile
Bardziej szczegółowoAplikacje internetowe - laboratorium
Aplikacje internetowe - laboratorium Administracja serwerem aplikacji. Celem ćwiczenia jest zainstalowanie i administracja prostym serwerem aplikacji. Ćwiczenie zostanie wykonane przy użyciu popularnego
Bardziej szczegółowoprepared by: pawel@kasprowski.pl Programowanie WWW Model-View-Controller
Programowanie WWW Model-View-Controller Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt)
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,
Bardziej szczegółowoJava wybrane technologie spotkanie nr 4. Serwlety c.d.
Java wybrane technologie spotkanie nr 4 Serwlety c.d. 1 Wprowadzenie Narzucona struktura katalogów aplikacji (większa przenośności) webapps -app1 -app2 -app3 (root) -*.html, *.gif, *.js, *.css (być może
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoInstrukcja użytkownika
Instrukcja użytkownika Bydgoszcz 2017 Strona: 1/12 Spis treści 1 Konfiguracja i obsługa funkcjonalności... 3-1.1 Wstęp... 3 1.2 Konfiguracja stacji klienckiej... 3 1.3 Weryfikacja istniejącego dokumentu...
Bardziej szczegółowoSesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka
Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,
Bardziej szczegółowoREFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja aplikacji internetowej do wyszukiwania promocji Autor: Sylwester Wiśniewski Promotor: dr Jadwiga Bakonyi Kategorie: aplikacja webowa Słowa
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 1. Servlety
Architektury Usług Internetowych Laboratorium 1. Servlety Wstęp Celem laboratorium jest zapoznanie się z modelem klient-serwer (żądanie-odpowiedź) na przykładzie serwletów. Kontener webowy Kontener webowy
Bardziej szczegółowoReferat pracy dyplomowej
Temat pracy : Projekt i realizacja aplikacji do tworzenia i wizualizacji drzewa genealogicznego Autor: Martyna Szymkowiak Promotor: dr inż. Romana Simińskiego Kategorie: gry, użytkowe Słowa kluczowe: The
Bardziej szczegółowoPolitechnika Częstochowska. Projektowanie systemów użytkowych II
Politechnika Częstochowska Wydział Inżynierii Mechanicznej i Informatyki Projektowanie systemów użytkowych II Zdalny wybór Prac Dyplomowych Diana Kisiała Tomasz Jewiarz Jacek Kucharzewski Informatyka,
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Bardziej szczegółowoInstrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy
Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...
Bardziej szczegółowoUniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu
Bardziej szczegółowoTRX API opis funkcji interfejsu
TRX Krzysztof Kryński Cyfrowe rejestratory rozmów seria KSRC TRX API opis funkcji interfejsu Kwiecień 2013 Copyright TRX TRX ul. Garibaldiego 4 04-078 Warszawa Tel. 22 871 33 33 Fax 22 871 57 30 www.trx.com.pl
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. Ćwiczenia
Języki programowania wysokiego poziomu Ćwiczenia Języki programowania Ćwiczenia Strukturalny HTML Arkusze CSS Formularze HTML i PHP Baza danych MySQL Forum internetowe Strukturalny HTML Zadania Dokument
Bardziej szczegółowoPodręcznik Integracji
Podręcznik Integracji Spis treści 1. Integracja oferty... 3 1.1. Samodzielne wprowadzanie oferty sklepu... 3 1.2. Automatyczne wprowadzanie oferty z pliku XML... 3 1.3. Cyklicznie pobieranie oferty ze
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoapp/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji
Baza danych i ORM Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie pojektu). Zwyczajowo projekt posiada dwie aplikacje: Frontend Backend Moduł
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoZaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika
Bardziej szczegółowoTechnologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny
Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu
Bardziej szczegółowo2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK
Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty
Bardziej szczegółowoWprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/
Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoPraca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR
System Oferta Praca Magisterska Niniejszy system powstał w ramach pracy magisterskiej "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu". Politechnika Poznańska Wydział Informatyki
Bardziej szczegółowoWarstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy
Bardziej szczegółowoSystem epon Dokumentacja użytkownika
System epon Dokumentacja użytkownika Prawa autorskie tego opracowania należą do MakoLab S.A. Dokument ten, jako całość, ani żadna jego część, nie może być reprodukowana lub rozpowszechniana w jakiejkolwiek
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowo1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)
1 90 min. Aplikacje WWW Harmonogram ń, semestr zimowy -2017 (studia stacjonarne) 6 października Wprowadzenie do aplikacji WWW Rys historyczny Składniki architektury WWW o klient HTTP o serwer HTTP o protokół
Bardziej szczegółowo