====== Projekt konceptualny ====== ===== -. Sformułowanie zadania projektowego ===== Celem projektu jest zaprojektowanie systemu przechowującego informację dotyczące lokalizacji przystanków autobusowych i tramwajowych, a także informacje o przebiegu tras danych linii. Dodatkowo zostanie stworzony moduł umożliwiający eksport i import danych. ===== -. Analiza stanu wyjściowego ===== Projekt bazy danych, a także moduł importu, eksportu danych zostanie stworzony od podstaw. Dane dostarczane do systemu będą pochodziły z strony [[http://www.openstreetmap.org/]] . Moduł importu danych odpowiedzialny będzie za odpowiednie sparsowanie pliku xml wyeksportowanego z ww. strony. Baza danych zostanie zaprojektowana z użyciem technologii PostgreSQL, również zostanie wykorzystany moduł PostGIS, który umożliwi bezpośrednie przechowywanie danych zgodnie z specyfikacją OpenGIS. Dodawanie danych możliwe będzie dzięki wykorzystaniu API dostępnego na stronie [[http://www.openstreetmap.org]]. Zostanie również zaimplementowany moduł, który umożliwi użytkownikowi dodawanie nowych przystanków przez wskazanie miejsca na mapie gdzie znajduje się wiata. ===== -. Analiza wymagań użytkownika ===== Aplikacja będzie posiadać prosty i przede wszystkim przyjazny w obsłudze interfejs użytkownika, zaprojektowany z naciskiem na User Experience, umożliwiający łatwe i szybkie wyszukiwanie tras oraz przystanków autobusowych i tramwajowych. Interfejs będzie uwzględniać rosnącą popularność dostępu do aplikacji internetowych poprzez urządzenia mobilne. Sam proces projektowania interakcji w systemie będzie bazować na koncepcji User Centered Design. Persony wyróżnione w projekcie to Użytkownik, którego celem jest jak najszybsze znalezienie informacji o rozmieszczeniu przystanków komunikacji miejskiej oraz łączących je tras; oraz Administrator, którego zdaniem jest dodawanie bieżących zmian w położeniu lub opisie przystanków i tras jak również akceptacja zmian sugerowanych przez użytkowników. Dodatkowo, administrator ma możliwość importu/eksportu danych do/z systemu w formacie XML. Projekt oraz dołączona dokumentacja ma pozwolić na łatwe rozszerzenie systemu o możliwość prezentacji innych niż przystanki punktów na mapie, np. bankomatów. Wyświetlanie map w systemie oparte jest na API platformy OpenStreetMap, dlatego w celu poprawnego działania wymaga jest przeglądarka internetowa włączoną obsługą JavaScript. ===== -. Określenie scenariuszy użycia ===== ==== -. Użytkownik ==== == -. Wyszukanie przystanku == * Użytkownik wprowadza nazwę przystanku lub jej część. * System zwraca listę przystanków na mapie, których nazwa pasuje do zapytania. == -. Wyszukanie trasy == * Użytkownik wprowadza nr linii oraz kierunek. * System zwraca przebieg trasy danej linii wraz z zaznaczonymi przystankami. == -. Edycja danych przystanku == * Użytkownik wybiera znaleziony uprzednio (1.1. lub 1.2.) przystanek i wprowadza zmiany dotyczące położenia lub nazwy. * Użytkownik podaje swój adres email oraz potwierdza zmianę. ==== -. Administrator ==== == -. Import danych == * Administrator podaje lokalizację pliku z danymi w formacie XML na dysku lokalnym. * System przetwarza dane na format wewnętrzny. * Administrator potwierdza nadpisanie lub dodanie nowych danych. == -. Eksport danych == * Administrator podaje żądaną nazwę pliku i obszar eksportu. * System przetwarza dane wewnętrzne, tworzy z nich plik w formacie XML i wysyła go do użytkownika. == -. Dodanie przystanku == * Administrator wybiera na mapie położenie przystanku, wprowadza relewantne informacje i potwierdza dodanie. * System zapisuje przystanek w bazie. == -. Edycja danych przystanku == * Administrator wybiera przystanek z listy dostępnych przystanków lub zaznacza go na mapie, edytuje jego położenie lub dane dodatkowe oraz potwierdza zmianę. * System zapisuje zmienione informacje. == -. Usunięcie przystanku == * Administrator wybiera przystanek z listy dostępnych przystanków lub zaznacza go na mapie i potwierdza usunięcie. * System usuwa permanentnie przystanek z bazy. == -. Akceptacja sugestii użytkownika == * Administrator wybiera z listy wszystkich nowych propozycji, zmiany które chce zaakceptować oraz potwierdza wybór. * System uaktualnia informację o wybranych przystankach i przenosi wszystkie propozycje do archiwum. ===== -. Identyfikacja funkcji ===== * Wyszukiwanie przystanków wg zadanych przez użytkownika kryteriów. * Wyszukiwanie tras wg zadanych przez użytkownika kryteriów. * Dodawanie przystanków wraz z informacjami dodatkowymi. * Edycja danych dotyczących przystanków oraz ich usuwanie. * Import danych do systemu. * Eksport danych z systemu. ===== -. Analiza hierarchii funkcjii ===== {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:hier_fun.png|}} ===== -. Budowa i analiza diagramu przepływu danych ===== ===== Diagram ogólny ===== {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:ogolny.png|}} ===== Diagram użytkownika ===== {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:dtd_uz.png|}} ===== Diagram administratora ===== {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:dtd_adm.png|}} ===== -. Wybór encjii i ich atrybutów ===== **Stops** * id * name * time **Small_Stops** * id * id_stop * add_information * cordinate **Lines** * id * number * start_stop * end_stop **Ways** * id * id_way * line **Stop_Lines ** * id * id_line * id_stop * next **Route_Lines ** * id * id_line * id_way * next ===== -. Projektowanie relacjii między encjami ===== {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:bazy_mpk_gis.jpeg|}} ===== -. Projekt diagramów STD ===== {{:pl:dydaktyka:sbd:2009:projekty:mpk-gis:std.png|}} ===== -. Komentarze ===== Diagramy pojawiły się z opóźnieniem z powodu niemożności zamieszczenia plików SVG