===== 1. Sformułowanie zadania projektowego ===== // Aplikacja powinna pozwolić właścicielom samochodów na rejestrację czynności wykonywanych w serwisie. System powinien umożliwiać budowanie bazy modeli samochodów z wyszczególnieniem czynności oraz ich częstotliwości (według czasu i/lub przebiegu) z podziałem na „inspekcje” (z opcjonalną wymianą), „wymiany” (obowiązkowe) oraz „regulacje”. Użytkownicy definiują samochód (poprzez wybór modelu, oraz uzupełnienie atrybutów takich jak data produkcji, data rejestracji, VIN, kolor, nr rejestracyny), a następnie mogą definiować dla nich „zdarzenia” oznaczające przeprowadzenie przy określonej dacie i przy określonym przebiegu danej czynności. Dla każdej czynności powinna być możliwość dodania notatek oraz załączników w postaci plików JPG i PDF). System powinien obliczać pozostały czas i przebieg do kolejnych czynności // Aplikacja ma być wirtualnym odpowiednikiem książki przeglądów samochodu w której właściciel pojazdu ma możliwość rejestracji czynności wykonywanych w serwisie. Funkcjonalności: * rejestracja użytkowników, * rejestracja samochodu w bazie danych (marka, model, wersja, rok produkcji, VIN, kolor nr rejestracyjny, typ nadwozia, liczba drzwi, rodzaj silnika, pojemność, moc, rodzaj skrzyni biegów), * rejestracja zdarzeń oznaczających czynności serwisowe przy określonej dacie i przebiegu oraz opcjonalnie notatki i załączniki, * definiowanie okresowych czynności serwisowych z podziałem na inspekcje, wymiany i regulacje, * obliczanie pozostałego czasu i przebiegu do kolejnych czynności serwisowych, ---- ===== 2. Analiza stanu wyjściowego ===== Istniejące aplikacje posiadające zbliżoną funkcjonalność: * [[http://www.motostat.pl/]] – serwis internetowy pomagający w kalkulowaniu kosztów użytkowania pojazdów, Jest połączeniem kalkulatora zużycia paliwa z dziennikiem kosztów, pozwalającym na łatwiejsze panowanie nad wydatkami. Posiada moduł przypomnień w którym można stworzyć listę okresowo wykonywanych zadań zależnych od czasu i przebiegu samochodu. Dane wprowadzane do serwisu przez użytkowników umożliwiają publikacja statystyk dotyczący spalania oraz kosztów eksploatacji danego modelu pojazdu.\\ * [[http://auteo.pl/]] – serwis internetowy umożliwiający skonfigurowanie przypomnień dotyczących posiadanego samochodu. Przypomnienie wysyłane jest przez e-mail lub SMS. Posiada gotowe usługi przypominania o przeglądzie samochodu, wymianie oleju, ważności gaśnicy, ważności apteczki, oraz oferty ubezpieczenia AC OC. Pozwala na wprowadzenie własnych przypomnień o czynnościach serwisowych.\\ * [[http://motonotes.pl/]] - strona pomagająca w kontrolowaniu wydatków związanych z pojazdem. Umożliwia obliczanie średniego spalania a także ustawianie przypomnień o nadchodzących przeglądach i wymianach części eksploatacyjnych. ---- ===== 3. Analiza wymagań użytkownika (wstępna) ===== Wymagania funkcjonalne: * rejestracja i logowanie do systemu użytkowników, * rejestracja, usuwanie i modyfikowanie wprowadzonych prze użytkownika samochodów, * rejestracja, modyfikowanie, usuwanie zdarzeń oznaczających czynności serwisowe przy określonej dacie i przebiegu oraz opcjonalnie notatki i załączniki dla danego samochodu przez użytkownika, * definiowanie, modyfikowanie i usuwanie okresowych czynności serwisowych z podziałem na inspekcje, wymiany i regulacje, * obliczanie pozostałego czasu i przebiegu do kolejnych czynności serwisowych, ---- ===== 4. Określenie scenariuszy użycia ===== === Rejestracja nowego użytkownika ==== Nowy użytkownik w specjalnym formularz wprowadza dane do pól tekstowych (login, hasło, e-mail), jeżeli login oraz e-mail nie znajdują się w bazie, dane użytkownika zostają wprowadzone do bazy, w przeciwnym razie wyświetlony zostaje komunikat o istnieniu użytkownika o podanym loginie lub adresie e-mail. === Logowanie użytkownika === Użytkownik po wprowadzaniu do pól tekstowych poprawnego loginu i hasła zostaje zalogowany do aplikacji gdzie ma możliwość dodawania, usuwania i modyfikacji samochodów oraz zdarzeń i czynności serwisowych. W razie gdy login lub hasło są niepoprawne, wyświetlony zostaje stosowny komunikat. === Dodawanie samochodu do bazy === Zalogowany użytkownik poprzez specjalny formularz dodaje samochód do bazy podając dane. W pierwszej kolejności z listy wybiera markę samochodu, następnie z drugiej listy wybiera dostępny model dla danej marki i wersje. Z listy wybiera również rok produkcji. Do pól tekstowych wprowadza VIN, kolor, nr rejestracyjny, i moc. Z listy wybiera typ nadwozia i liczbę drzwi. Po kliknięcia w przycisk „Dodaj samochód” i poprawności wprowadzonych danych, pojazd zostaje dodany do bazy. W przeciwnym razie zostają wyświetlone informacje o ilości i rodzajach błędów w wprowadzanych danych. === Modyfikowanie danych samochodu === Użytkownik wprowadza zmiany danych samochodu w formularzu jak wyżej z uzupełnionymi danymi z bazy. === Usuwanie samochodu === Użytkownik klika przycisk TAK lub NIE na wyświetlone pytanie o usunięcie samochodu z bazy. === Dodawanie okresowych czynności serwisowych === Zalogowany użytkownik poprzez specjalny formularz dodaje okresową czynność serwisową. Z listy wybiera rodzaj czynności serwisowej, następnie do pól tekstowych wprowadza opis, czas co ile należy wykonywać daną czynność w miesiącach, ilość cyklicznego przebiegu po którym należy wykonać czynność, oraz komentarz do czynności. Następnie z listy wybiera samochód którego ma dotyczyć ta czynność i zatwierdza podane dane klikając w przycisk „Dodaj”. === Modyfikowanie okresowej czynności serwisowej === Użytkownik wprowadza zmiany danych okresowej czynności serwisowej w formularzu jak powyżej z uzupełnionymi danymi z bazy. === Usuwanie okresowej czynności serwisowej === Użytkownik klika przycisk TAK lub NIE na wyświetlone pytanie o usunięcie okresowej czynności serwisowej z bazy. === Dodawanie zdarzeń === Zalogowany użytkownik poprzez specjalny formularz dodaje zdarzenia które mogą być powiązane z okresowymi czynnościami serwisowymi. Użytkownik wybiera z listy swoich samochodów, pojazd którego dotyczy zdarzenie, następnie wprowadza datę i przebieg przy którym wystąpiło zdarzenie i wybiera z listy rodzaj zdarzenia. Może wprowadzić również komentarz oraz dołączyć pliki JPG lub PDF. === Modyfikowanie zdarzenia === Użytkownik wprowadza zmiany danych zdarzenia w formularzu jak powyżej z uzupełnionymi danymi z bazy. === Usuwanie zdarzenia === Użytkownik klika przycisk TAK lub NIE na wyświetlone pytanie o usunięcie zdarzenia z bazy. === Wylogowanie użytkownika === Użytkownik klika na link wyloguj. Zostaje wylogowany i przekierowany na stronę główna aplikacji. ---- ===== 5. Identyfikacja funkcji: Określenie podstawowych funkcji realizowanych w bazie danych. ===== * Rejestracja użytkownika\\ * Logowanie użytkownika\\ * Dodawanie samochodu\\ * Edycja samochodu\\ * Usuwanie samochodu\\ * Dodawanie czynności serwisowej\\ * Edycja czynności serwisowej\\ * Usuwanie czynności serwisowej\\ * Dodawanie zdarzenia\\ * Edycja zdarzenia\\ * Usuwanie zdarzenia\\ ---- ===== 6. Analiza hierarchii funkcji projektowanej aplikacji - FHD. ===== {{ :pl:dydaktyka:sbd:2012:projekty:fhd.png?800 }} ---- ===== 7. DFD – opcjonalnie: Budowa i analiza diagramu przepływu danych: ===== ---- ===== 8. Wybór encji(obiektów) i ich atrybutów ===== * Użytkownik : id, login, hasło, email, imię, nazwisko * Samochód : id, id_użytkownika, id_wersji_samochodu, rok_produkcji, VIN, kolor, nr_rejestracyjny, typ_nadwozia, liczba drzwi, moc * Wersja samochodu : id, id_modelu , wersja, start produkcji, koniec produkcji, rodzaj_silnika, pojemność, skrzynia_biegów * Zdarzenie : id, id_czynności_serwisowej, id_samochodu, data, czas (długość trwania zdarzenia), przebieg, komentarz * Plik( notatka/pdf) : id, id_zdarzenia, nazwa, obiekt * Czynność serwisowa : id, id_wersji_samochodu, id rodzaju czynności serwisowej, opis, okres, przebieg, komentarz * Rodzaj czynności serwisowej : id, nazwa, opis * Skrzynia biegów : id , nazwa * Marka : id, nazwa * Model : id, id_marki, nazwa ---- ===== 9. Projektowanie powiązań (relacji) pomiędzy encjami. ===== {{:pl:dydaktyka:sbd:2012:projekty:przeglady2:erd3.png?800}} ---- ===== 10. Projekt diagramów STD ===== {{ :pl:dydaktyka:sbd:2012:projekty:przeglady2:std.png?800 }} ----