====== Projekt konceptualny ====== ===== Sformułowanie zadania projektowego ===== Celem projektu jest stworzenie modułu do aplikacji internetowej służącej i usprawniającej proces obsługi Ośrodka Szkolenia Kierowców. Wspomniana platforma ma umożliwiać zarządzającym szkołą, instruktorom i kursantom nauki jazdy wygodny dostęp do narzędzi pozwalających i ułatwiających efektywne zarządzanie ośrodkiem szkolenia kierowców oraz kursami, w których uczestniczą klienci Moduł, który zostanie dodany do aplikacji, będzie umożliwiał zaznaczanie na mapie danego miasta miejsc ciekawych pod względem komunikacyjnym, a więc szczególnie przydatnych w ramach szkolenia początkujących kierowców. Moduł będzie zintegrowany z Google Maps. Instruktorzy i kursanci poprzez kliknięcie w wybranym miejscu mapy będą mogli zaznaczyć interesujące ich miejsce i dodać jego opis. ===== Analiza stanu wyjściowego ===== Aktualnie na rynku istnieje niewiele rozwiązań pozwalających na zarządzanie ośrodkiem szkolenia kierowców. Większość rozwiązań dostępnych na rynku nie jest aplikacjami internetowymi i nie umożliwia interakcji z osobami uczestniczącymi w kursach (OSK Manager i Easy OSK). Ich funkcjonalność jest ograniczona do formalnego zarządzania ośrodkiem. Jedyna dostępna na rynku aplikacja internetowa wspomagająca obsługę ośrodka szkolenia kierowców jest bardziej rozbudowana w stosunku do wspomnianych wyżej aplikacji, jednak jej szata graficzna pozostawia wiele do życzenia i nie jest według nas przystępna. Najważniejszą rzeczą w przypadku naszego projektu jest to, że żadna z dostępnych na polskim rynku aplikacji nie oferuje modułu, który ma powstać w ramach niniejszego projektu. Kursanci i instruktorzy nie mogą dzielić się informacjami o miejscach komunikacyjnych, które powinien poznać kursant podczas trwania szkolenia. Miejsca takie są niezwykle cenne z dydaktycznego punktu widzenia. Pomocne mogą być także lokalizacje, które często odwiedzają osoby egzaminowane. Zapoznanie z takimi miejscami pozwoli na uzyskanie praktyki i zmniejszenie stresu podczas jazdy egzaminacyjnej. ===== Analiza wymagań użytkownika (wstępna) ===== Moduł jest częścią projektu aplikacji do zarządzania ośrodkiem szkolenia kierowców. W aplikacji wyróżniamy kilka rodzajów użytkowników: administratora, instruktora, kursanta, osobę zarządzającą ośrodkiem oraz użytkownika niezalogowanego. Analiza wymagań odnosić się będzie głównie do tworzonego modułu dodawania nowych miejsc. Nowe miejsca będą mogli dodawać wszyscy zalogowani użytkownicy aplikacji. Jedynym ograniczeniem będzie fakt, że wszystkie miejsca dodane przez kursanta będą podlegać moderacji i będą publikowane dopiero po formalnej akceptacji przez instruktora. Do podstawowych funkcjonalności projektowanego modułu będą należeć: == Miejsca == * Opis miejsca * Komentarz określający, dlaczego miejsce jest warte uwagi (np. trudność, wyjątkowy układ dróg, znaków itp.) * Kategoria * Usuwanie miejsca * Edycja miejsca * Komentarze dotyczące danego miejsca == Kategorie == * Dodawanie kategorii – kategorię mogą dodawać tylko instruktorzy * Edytowanie kategorii * Usuwanie kategorii == Integracja modułu z internetową platformą do zarządzania ośrodkiem szkolenia kierowców == * Powiadomienia wysyłane na adres e-mail o nowych miejscach == Wyszukiwanie == * Wg kategorii miejsca * Wg oceny * Wg nazwy == Moderowanie dodanych miejsc == Ponadto cała aplikacja internetowa umożliwia w kontekście projektowanego modułu udostępnia: * Rejestrację, potwierdzenie rejestracji i logowanie użytkowników * Zarządzanie kontami użytkowników ===== Określenie scenariuszy użycia ===== ==== Rejestracja ==== === Aktorzy: === Gość ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Rejestracja ===Udziałowcy i ich cele:=== Gość chce zarejestrować się w systemie ===Zdarzenie wyzwalające:=== Użytkownik wybiera na stronie opcję rejestracja ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się poprawnie zarejestrować i potwierdzić wybrany adres poczty elektronicznej ===Warunki końcowe dla niepowodzenia:=== Użytkownik nie zostanie zarejestrowany, użytkownik nie potwierdzi rejestracji, wyświetlony zostanie odpowiedni komunikat. ===Scenariusz główny:=== - System wyświetla formularz logowania - Użytkownik uzupełnia wszystkie wymagane dane - System sprawdza, czy wprowadzone dane są poprawne oraz czy podane login i e-mail są unikatowe - System rejestruje użytkownika i wysyła pocztą elektroniczną e-mail z linkiem aktywacyjnym - Dane użytkownika zostają zapisane w bazie danych - Użytkownik klika w link aktywacyjny - Status użytkownika w bazie danych zostaje zmieniony na „aktywny” ===Scenariusze alternatywne=== ==3.1. Wpisano dane w niewłaściwym formacie:== - System wyświetla komunikat, które dane są nieprawidłowe i prosi o ich zmianę - Użytkownik wprowadza dane ponownie - Użytkownik nie wprowadza ponownie danych, przypadek użycia kończy się - Powrót do punktu 2 scenariusza głównego ==3.2. Podany adres e-mail lub login znajdują się już w bazie użytkowników== - System wyświetla komunikat, że podany login lub e-mail są już zajęte - Użytkownik wprowadza nowe dane - Użytkownik nie wprowadza ponownie danych, przypadek użycia kończy się - Powrót do punktu 2 scenariusza głównego ==3.3. Użytkownik nie potwierdza rejestracji poprzez kliknięcie w link aktywacyjny w ciągu 24 godzin od próby zarejestrowania się== - System usuwa dane użytkownika zapisane w bazie, przypadek użycia kończy się ==== Logowanie ==== ===Aktorzy:=== * Instruktor * Administrator * Pracownik * Kursant ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Logowanie ===Udziałowcy i ich cele:=== Użytkownik chce zalogować się do systemu ===Zdarzenie wyzwalające:=== Użytkownik wybiera na stronie opcję logowanie ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się poprawnie zalogować do systemu ===Warunki końcowe dla niepowodzenia:=== Użytkownik nie zostanie zalogowany do system, zostanie powiadomiony o braku zalogowania (niepoprawne dane). ===Scenariusz główny:=== - System wyświetla okno logowania - Użytkownik uzupełnia login i hasło - System sprawdza, czy dane są poprawne - System loguje użytkownika do aplikacji ===Scenariusze alternatywne:=== ==3.1. Wpisano niepoprawne dane== - System wyświetla komunikat, że dane są nieprawidłowe i umożliwia wprowadzenie danych ponownie - Użytkownik wprowadza dane ponownie - Użytkownik nie wprowadza ponownie danych - System powraca do okna logowanie, przypadek użycia kończy się - Powrót do punktu 2 scenariusza głównego ==== Dodawanie miejsca ==== ===Aktorzy:=== * Instruktor * Kursant ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map - dodanie nowego miejsca ===Udziałowcy i ich cele:=== Użytkownik chce dodać nowe miejsce na mapie ===Zdarzenie wyzwalające:=== Użytkownik klika na mapie współrzędne danego miejsca ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się poprawnie dodać miejsce (w przypadku kursanta miejsce może oczekiwać na akceptację) ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie uda się dodać nowego miejsca. ===Scenariusz główny:=== - Użytkownik klika na wybranym miejscu na mapie - Użytkownik uzupełnia dane potrzebne do zapisania miejsca (opis, komentarz, kategoria) - System sprawdza, czy wprowadzone dane są poprawne - System zapisuje miejsce w bazie danych ===Scenariusze alternatywne:=== ==2.2. Użytkownik chce dodać nową kategorię== - Użytkownik klika w przycisk umożliwiający dodanie nowej kategorii - Użytkownik wprowadza dane dotyczące kategorii (nazwa) - Jeżeli dane są niepoprawne system nie dodaje nowej kategorii i powraca do punktu 3 scenariusza głównego - System sprawdza dane - Jeżeli dane są poprawne system zapisuje kategorię, system wraca do punktu 4 scenariusza głównego ==3.1. Wpisano niepoprawne dane== - System wyświetla komunikat, że dane są nieprawidłowe i umożliwia wprowadzenie danych ponownie - Użytkownik wprowadza dane ponownie - Użytkownik nie wprowadza ponownie danych - System powraca do okna logowanie, przypadek użycia kończy się - Powrót do punktu 5 scenariusza głównego ==4.1. Użytkownik dodający miejsce jest kursantem== - Miejsce dodane przez kursanta trafia na listę miejsc do moderacji - Instruktor potwierdza lub odrzuca miejsce, przypadek użycia kończy się ==== Edytowanie miejsca ==== ===Aktorzy:=== Instruktor ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map – edycja miejsca ===Udziałowcy i ich cele:=== Użytkownik chce zmienić dane dotyczące zapisanego miejsca ===Zdarzenie wyzwalające:=== Użytkownik klika na mapie współrzędne danego miejsca (marker) ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się edycja danych dotyczących miejsca ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie uda się zmienić informacji o danym miejscu ===Scenariusz główny=== - Użytkownik klika na zaznaczonym miejscu na mapie (oznaczenie kolorowym markerem) - Użytkownik wybiera opcję „Edytuj” - System wyświetla formularz z danymi do edycji - Użytkownik edytuje dane i wybiera opcję zapisu - System sprawdza, czy wprowadzone dane są poprawne - System zapisuje dane po edycji ===Scenariusze alternatywne:=== ==5.1. Wpisano niepoprawne dane== - System wyświetla komunikat, że dane są nieprawidłowe i umożliwia edycję danych ponownie - Użytkownik edytuje dane ponownie - Użytkownik nie wprowadza ponownie danych - System powraca do okna głównego modułu, przypadek użycia kończy się - Powrót do punktu 5 scenariusza głównego ==== Usuwanie miejsca ==== ===Aktorzy:=== Instruktor ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map – usuwanie miejsca ===Udziałowcy i ich cele:=== Użytkownik chce usunąć zapisane miejsce ===Zdarzenie wyzwalające:=== Użytkownik klika na mapie współrzędne danego miejsca (marker) ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje usunąć wybrane miejsce ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie udaje się usunąć danego miejsca ===Scenariusz główny:=== - Użytkownik klika na zaznaczonym miejscu na mapie (oznaczenie kolorowym markerem) - Użytkownik wybiera opcję „Usuń” - System wyświetla prośbę o potwierdzenie chęci usunięcia miejsca - Użytkownik potwierdza chęć usunięcia - Miejsce zostaje usunięte ===Scenariusze alternatywne:=== ==4.1. Użytkownik nie potwierdza chęci usunięcia miejsca== - System wyświetla komunikat, że miejsce nie zostało usunięte, przypadek użycia kończy się ==== Dodanie komentarza na temat miejsca ==== ===Aktorzy:=== - Instruktor - Administrator - Pracownik - Kursant ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map – komentarz danego miejsca ===Udziałowcy i ich cele:=== Użytkownik chce dodać komentarz, opinię na temat danego miejsca ===Zdarzenie wyzwalające:=== Użytkownik klika na mapie współrzędne danego miejsca (marker) ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się dodać komentarz ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie udaje się dodać komentarza ===Scenariusz główny:=== - Użytkownik klika na zaznaczonym miejscu na mapie (oznaczenie kolorowym markerem) - Użytkownik wybiera opcję „Dodaj komentarz” - System wyświetla formularz do wpisania komentarza - System sprawdza dane wpisane w komentarzu - Komentarz do danego miejsca zostaje zapisany ===Scenariusze alternatywne:=== ==4.1. Wpisano niepoprawne dane== - System wyświetla komunikat, że dane są nieprawidłowe i umożliwia wprowadzenie danych ponownie - Użytkownik wprowadza dane ponownie - Użytkownik nie wprowadza ponownie danych - System powraca do okna logowanie, przypadek użycia kończy się - Powrót do punktu 4 scenariusza głównego ==== Dodanie kategorii ==== ===Aktorzy:=== Instruktor ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map – dodanie kategorii ===Udziałowcy i ich cele:=== Użytkownik chce dodać nową kategorię ===Zdarzenie wyzwalające:=== Użytkownik wybiera odnośnik „dodaj nową kategorię” ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się dodać kategorię ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie udaje się dodać kategorii ===Scenariusz główny:=== - System wyświetla formularz dodania kategorii - Użytkownik wpisuje dane - System sprawdza dane wpisane w formularzu - Kategoria zostaje dodana ===Scenariusze alternatywne:=== ==3.1. Wpisano niepoprawne dane== - System wyświetla komunikat, że dane są nieprawidłowe i umożliwia wprowadzenie danych ponownie - Użytkownik wprowadza dane ponownie - Użytkownik nie wprowadza ponownie danych - System powraca do okna logowanie, przypadek użycia kończy się - Powrót do punktu 3 scenariusza głównego ==== Usuwanie kategorii ==== ===Aktorzy:=== Instruktor ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map – usuwanie kategorii ===Udziałowcy i ich cele:=== Użytkownik chce usunąć kategorię ===Zdarzenie wyzwalające:=== Użytkownik wybiera odnośnik „usuń kategorię” ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się usunąć kategorię ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie udaje się usunąć kategorii ===Scenariusz główny:=== - System wyświetla dostępne kategorie - Użytkownik wybiera kategorię i odnośnik „usuń” - System wyświetla komunikat z prośbą o potwierdzenie chęci usunięcia kategorii - Użytkownik potwierdza usunięcie - Kategoria zostaje usunięta ===Scenariusze alternatywne:=== ==4.1. Użytkownik nie potwierdza chęci usunięcia miejsca== - System wyświetla komunikat, że miejsce nie zostało usunięte, przypadek użycia kończy się ==== Wyszukiwanie miejsc ==== ===Aktorzy:=== - Instruktor - Administrator - Pracownik - Kursant ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map – wyszukiwanie miejsc ===Udziałowcy i ich cele:=== Użytkownik chce odnaleźć miejsce ===Zdarzenie wyzwalające:=== Użytkownik wybiera odnośnik „wyszukaj miejsce” ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się odnaleźć miejsce ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie udaje się odnaleźć miejsca ===Scenariusz główny:=== - System wyświetla formularz wyszukiwania wraz z możliwymi filtrami - Użytkownik wybiera filtr i wpisuje ciąg do wyszukania - System szuka miejsca w bazie danych - System wyświetla rezultat wyszukiwania ==== Moderowanie nowych miejsc ==== ===Aktorzy:=== Instruktor ===Zakres:=== Platforma do zarządzania OSK ===Poziom:=== Moduł map – moderowanie miejsc ===Udziałowcy i ich cele:=== Instruktor chce ocenić i ewentualnie dodać miejsca wprowadzone przez kursantów ===Zdarzenie wyzwalające:=== Użytkownik wybiera odnośnik „moderuj dodane miejsca” ===Warunki wstępne:=== Użytkownik musi posiadać konto w systemie i być zalogowanym ===Warunki końcowe dla sukcesu:=== Użytkownikowi udaje się dokonać moderacji danego miejsca ===Warunki końcowe dla niepowodzenia:=== Użytkownikowi nie udaje się dokonać moderacji danego miejsca ===Scenariusz główny:=== - System wyświetla listę miejsc do moderacji - Instruktor wybiera miejsce i ocenia jego przydatność - Instruktor akceptuje dane miejsce - Miejsce zostaje dodane do bazy i jest wyświetlane na mapie ===Scenariusze alternatywne:=== ==3.1. Instruktor nie akceptuje danego miejsca== - System wyświetla komunikat, że miejsce zostało usunięte, przypadek użycia kończy się ===== Baza danych ma realizować następujące funkcje ===== * Rejestracja i logowanie, wylogowanie * Przechowywanie i udostępnianie informacji o miejscach ciekawych pod względem komunikacyjnym * Wyszukiwanie miejsc * Dodawanie / usuwanie nowych miejsc * Dodawanie komentarzy * Moderowanie dodanych miejsc * Kategoryzacja miejsc ===== Analiza hierarchii funkcji projektowanej aplikacji ===== {{:pl:dydaktyka:ztb:2011:projekty:osk:hierarchia.png|}} ===== Budowa i analiza diagramu przepływu danych ===== ==== Diagram kontekstowy ==== {{:pl:dydaktyka:ztb:2011:projekty:osk:std.png|}} ==== Diagram wstępny ==== {{:pl:dydaktyka:ztb:2011:projekty:osk:dfd1.png|}} ==== 1. Obsługa konta ==== {{:pl:dydaktyka:ztb:2011:projekty:osk:obslugakonta.png|}} {{:pl:dydaktyka:ztb:2011:projekty:osk:obslugakonta2.png|}} ==== 2. Obsługa miejsc ==== {{:pl:dydaktyka:ztb:2011:projekty:osk:obslugamiejsc.png|}} {{:pl:dydaktyka:ztb:2011:projekty:osk:obslugamiejsc2.png|}} ==== 3. Obsługa kategorii ==== {{:pl:dydaktyka:ztb:2011:projekty:osk:obslugakategorii.png|}} {{:pl:dydaktyka:ztb:2011:projekty:osk:obslugakategorii2.png|}} ===== Diagram związków encji (ERD) ===== {{:pl:dydaktyka:ztb:2011:projekty:osk:erd_img.png|}}