Rafał Tomaszewicz 10.06.2012 Maciej Strychalski Łukasz Kaczmarski Mateusz Mikołajczak Wypożyczalnia samochodów
WYPOŻYCZALNIA SAMOCHODÓW... 1 PROTOKÓŁ ZAŁOŻYCIELSKI... 5 RAPORT O WYBRANYM INSTRUMENTARIUM ZESPOŁU PROJEKTOWEGO... 6 RAPORT KLIENTA... 7 DIAGRAM PROCESU BIZNESOWEGO... 9 WSTĘPNY HARMONOGRAM PROJEKTU... 10 RAPORT DLA ZLECENIODAWCY... 11 SPECYFIKACJA WYMAGAŃ... 12 Wstęp... 12 Cel... 12 Zakres... 12 Definicje, akronimy i skróty... 12 Skróty... 13 Referencje, odsyłacze do innych plików... 13 Ogólny opis... 13 Walory użytkowe i przydatność projektowanego systemu... 13 Ogólne możliwości projektowanego systemu... 14 Ogólne ograniczenia... 14 Charakterystyka użytkowników... 14 Środowisko operacyjne... 15 Założenia I zależności... 15 Specyficzne wymagania... 15 Wymagania Funkcjonalne... 15 Wymagania niefunkcjonalne... 16 LOGOTYP... 17 WSTĘPNY HARMONOGRAM PRAC... 21 DIAGRAM PRZYPADKÓW UŻYCIA... 23 2
DIAGRAM KLAS... 24 MODEL FIZYCZNY... 25 MODEL KONCEPTUALNY... 26 METODOLOGIA I NARZĘDZIA CASE... 27 SŁOWNIK DANYCH PROJEKTU... 28 OPIS SŁOWNIKA DANYCH... 31 DOKUMENT DETALICZNY PROJEKTU... 31 Streszczenie... 31 Wprowadzenie... 32 Cel... 32 Zakres... 32 Definicje, akronimy i skróty... 33 Odsyłacze... 33 Omówienie... 33 Standardy projektu, konwencje, procedury... 34 Standardy projektowe... 34 Standardy dokumentacyjne... 34 Konwencje nazewnicze... 34 Standardy programistyczne... 35 Narzędzia... 35 Specyfikacja komponentów... 35 LoginView... 35 AbstractWorkerView... 36 WorkerView... 36 AbstractWorkspaceController... 36 WorkspaceController... 36 AbstractWorkspaceModel... 36 3
WorkspaceModel... 36 HibernateUtil... 37 RunLivery... 37 Załączniki... 38 Harmonogram prac(diagram Gantta)... 38 Diagram Klas... 39 Interfejs Aplikacji... 40 NOTATKA TEKSTOWA UZASADNIAJĄCA WYBÓR NARZĘDZI RAD... 44 Eclipse... 44 Visual Paradigm Teamwork Server Basic... 45 4
Protokół założycielski W dniu 29 lutego 2012 roku w Koszalinie odbyło się zebranie, którego celem było utworzenie grupy projektowej. W zebraniu wzięli udział studenci III roku Informatyki z Politechniki Koszalińskiej w następującym składzie: Rafał Tomaszewicz Maciej Strychalski Łukasz Kaczmarski Mateusz Mikołajczak W czasie zebrania członkowie grupy ustalili: 1. Grupa projektowa została stworzona by zrealizować Zespołowy projekt, którego celem jest wytworzenie dokumentacji niezbędnej do stworzenia aplikacji wspierającej "wypożyczalnie samochodów". 2. Każdy z członków dobrowolnie przystąpił do projektu. 3. Członkowie zobowiązali się do wykonania projektu w wyznaczonym terminie do końca VI semestru czyli do 24.06.2012. 4. W przypadku nie dotrzymania terminu, za każdy tydzień zwłoki przewiduje się obniżenie zapłaty o jeden stopień. 5. Wybór lidera został przeprowadzony w formie głosowania, w którym jednogłośnie został wybrany Rafał Tomaszewicz. 6. Lider może zostać odwołany tylko w przypadku gdy wszyscy członkowie zespołu poprą tą decyzję. 7. Członkowie zespołu są zobowiązani do przestrzegania zasad i reguł ustalonych przez lidera grupy. 8. Obowiązkiem każdego członka zespołu jest działanie na jego korzyść, aktywne uczestniczenie w projekcie oraz wywiązywanie się z przydzielonych zadań w wyznaczonym terminie. 9. W czasie zebrania zostały przydzielone następujące zadania: Rafał Tomaszewicz (kierownik zespołu, analityk) prowadzenie rozmów z klientem, kierowanie zespołem, podział zadań. Maciej Strychalski (programista, architekt) programowanie, tworzenie bazy danych. 5
Łukasz Kaczmarski (grafik, projektant) zaprojektowanie interface oraz grafiki. Mateusz Mikołajczak (dokumentalista, tester) wytworzenie i prowadzenie dokumentacji, testowanie aplikacji. 10. W razie niewywiązania się ze swoich obowiązków członek grupy może zostać ukarany w następujący sposób: Po 1 ostrzeżeniu członek zespołu zostaje ukarany słowną reprymendą. Po 2 ostrzeżeniu członek zespołu zostaje ukarany obniżeniem oceny o 1 stopień. Po 3 ostrzeżeniu członek zespołu zostaje wydalony z grupy. 11. Protokół założycielski sporządzono w czterech jednobrzmiących egzemplarzach potwierdzonych podpisami wszystkich członków Zespołu projektowego. Rafał Tomaszewicz Maciej Strychalski Łukasz Kaczmarski Mateusz Mikołajczak.... Wykonał: Rafał Tomaszewicz Raport o wybranym instrumentarium zespołu projektowego Zespół podczas spotkania ustalił jakie narzędzia, wspomagające proces tworzenia oprogramowania, zostaną wykorzystane podczas pracy nad projektem. Serwer online code.google.com do wspomagania komunikacji i współpracy między uczestnikami projektu. Repozytorium Git - technologia wersjonowania dokumentów i kodu źródłowego powstającej aplikacji. Relacyjna Baza danych MySQL na serwerze online. MySQL Workbench aplikacja umożliwiająca zarządzanie i projektowanie baz danych MySQL. Visual Paradigm - narzędzie wspomagające projektowanie przy wykorzystaniu diagramów UML. Środowisko implementacji Eclipse. 6
Implementacja w technologii Java. Hibernate - biblioteka ORM dla platformy Java. JUnit - główne narzędzie do projektowania i przeprowadzania testów jednostkowych. Wykonał: Maciej Strychalski Raport klienta W dniu 6 marca 2012 roku odbyło się spotkanie z Klientem w celu zebrania szczegółowych informacji na temat aplikacji: Zarządzanie wypożyczalni samochodów. 1. System powinien wspierać wypożyczanie samochodów osobowych 2. Dodawanie nowych samochodów 3. Usuwanie samochodów 4. Klasyfikacja samochodów: Rocznikiem, Marki, Spalania. 5. Przejście na stałego klienta po wypożyczeniu więcej niż 10 samochodów w ciągu roku 6. Obniżenie kosztów dla stałych klientów 7. Wyświetlenie pracownikowi przypomnień z najbliższymi terminami zwrotów pojazdów 8. Przechowywanie danych dotyczące klientów: Imię, Nazwisko, Numer i seria dowodu osobistego, PESEL, Adres, Telefon. 7
9. Przechowywanie danych pracowników: Identyfikator, Imię, Nazwisko. 10. System monitorowania: Logowanie pracownika, Wylogowanie pracownika, Wypożyczenie samochodu przez pracownika danemu klientowi, Data wypożyczenia, Data zwrotu. 11. Monitorowanie stanu pojazdów: aktualny przebieg, stan techniczny, stan płynów takich jak płyn do spryskiwaczy, chłodnicy., stan paliwa. Zaświadczenie funkcjonalności pojazdu przez podanie identyfikatora pracownika przy wypożyczaniu oraz przy zwrocie. Wykonał: Łukasz Kaczmarski 8
Diagram procesu biznesowego Wykonał: Łukasz Kaczmarski 9
Wstępny harmonogram projektu Wykonał: Mateusz Mikołajczak 10
Raport dla zleceniodawcy 1. Cele projektu Celem naszego projektu jest wytworzenie dokumentacji niezbędnej do stworzenia aplikacji wspierającej funkcjonowanie wypożyczalni samochodów osobowych. 2. Zakres projektu Zakres naszego projektu obejmuje wytworzenie dokładnej dokumentacji oraz aplikacji wspomagającej wypożyczalnie samochodów osobowych. Aplikacja ma ułatwić kierowanie firmą i pomóc w zarządzaniu jej środkami. 3. Szkicowy opis wymagań Program będzie realizował takie funkcje jak: Dodawanie / usuwanie / edycja samochodów, Wyświetlanie komunikatów o zwrotach czy o zbliżających się przeglądach, Dodawanie / usuwanie / edycja danych klientów, Dodawanie / usuwanie / edycja danych pracowników, Monitorowanie pracowników oraz stanu samochodów. 4. Opis proponowanego projektu Aplikacja zostanie stworzona za pomocą technologii Java z wykorzystaniem systemu zarządzania relacyjnymi bazami danych. 5. Systemy zewnętrzne, z którymi system będzie współpracował: Relacyjna Baza danych MySQL na serwerze online, MySQL Workbench aplikacja umożliwiająca zarządzanie i projektowanie baz danych MySQL. Wykonał: Rafał Tomaszewicz 11
Specyfikacja Wymagań Wstęp Cel Dokument przedstawia wymagania aplikacji tworzonej dla wypożyczalni samochodów, oraz zobrazowanie funkcji tworzonego systemu. Historia zmian dokumentu znajduje się w tabeli na 2 stronie specyfikacji. Historia zmian przedstawiona jest w odwrotnym do chronologicznego porządku (ostatnie zmiany, góra tabelki). Dokument przeznaczony jest dla wytwórców oprogramowania(firmy BlackCode), oraz dla przedstawicieli klienta zamawiającego system. Zakres Celem przedsięwzięcia jest stworzenie systemu informatycznego Zarządzanie Wypożyczalnią Samochodów, służącego do wspomagania pracy w wypożyczalni. System ma służyć do przechowywania informacji o aktualnie wypożyczonych samochodach oraz ich stanach. Aplikacja ZWS(Zarządzanie Wypożyczalnią Samochodów) pozwoli na przechowywanie informacji o klientach oraz pracownikach firmy. Tworzenia raportów pracy wypożyczalni takich jak np. częstość wypożyczania samochodów, skąd klienci pochodzą, którzy korzystają z usług firmy. Tworzony system ma zapewnić raporty w formie elektronicznej. Definicje, akronimy i skróty 1. Wypożyczenie Podpisanie warunków umowy udostępnienia samochodu na określony czas za opłatą, pobranie kaucji przez wypożyczalnie z tytułu wypożyczenia samochodu, przekazanie dokumentów oraz kluczyków auta klientowi wypożyczalni. 12
2. Zwrot Oddanie kluczyków oraz dokumentów auta, wypłacenie klientowi pobranej kaucji. 3. Użytkownik - Osoba obsługująca aplikację oraz posiadająca do niej dostęp. 4. Administrator - Użytkownik który ma największe uprawnienia w aplikacji, odpowiada on za bazę danych aplikacji. 5. VIN(Vehicle Identification Number) Unikalny numer identyfikacyjny samochodu istniejącego w systemie Skróty 1. ZWS Zarządzanie Wypożyczalnią Samochodów. 2. SZBD System Zarządzania Bazą Danych. Referencje, odsyłacze do innych plików 1. Ustawa z dnia 29 sierpnia 1997 o ochronie danych osobowych (Dz. U. 1997 nr 133 poz. 883 z późn. zm.). 2. IEEE Standard for Software User Documentation, IEEE Std 1063-2001, 2001. 3. ISO/IEC 9126: Information technology - Software Product Evaluation - Quality characteristics and guidelines for their use. International Organization for Standardization, 2001-2004. Ogólny opis Walory użytkowe i przydatność projektowanego systemu Automatyzacja i pełna dokumentacja wypożyczania samochodu. Automatyczne generowanie raportów o pracy firmy. Przypominacz o przeprowadzeniu badań diagnostycznych auta. Łatwe przeglądanie informacji bieżących o stanach aut. Szybkie wyszukiwanie informacji o samochodach, klientach oraz pracownikach firmy. Monitorowanie pracy firmy. 13
Ogólne możliwości projektowanego systemu 1. Dodawanie aut do bazy danych. 2. Modyfikacja informacji o samochodach w firmie. 3. Historia wypożyczeń aut. Kontrola stanu samochodów. 4. Wyświetlanie dostępnych samochodów. 5. Wyświetlanie informacji o klientach. 6. Wyświetlanie informacji o pracownikach. 7. Przeglądanie raportów Ogólne ograniczenia 1. Dokumentacja użytkownika powinna być zgodna ze standardem IEEE 1063-2001[8]. 2. Raporty powinny mieć datę i być archiwizowane w postaci pliku elektronicznego 3. ZWS musi wykorzystać SZBD MySQL 5 i ta baza musi być umieszczona na serwerze online. 4. Minimalna konfiguracja komputera przy której system będzie poprawnie funkcjonował : Procesor: Pamięć RAM: Karta sieciowa: Dostępna przestrzeń dyskowa: System operacyjny: Intel Pentium 2,0 GHz 1GB 10/100 Mb/s 2 GB Windows XP Professional Charakterystyka użytkowników 1. Pracownik - Pracownik wypożyczalni mający bezpośredni kontakt z klientem i wypożyczanym dobrem. Jego celem jest obsługa klienta, śledzenie stanu technicznego pojazdów. 2. Przełożony - Pracownik na stanowisku kierowniczym lub właściciel firmy, który odpowiada za organizacje pracy. Jego celem jest nadzorowanie pracowników. 14
3. Administrator - Użytkownik mający dostęp do zaawansowanych funkcji programu, nie koniecznie pracownik firmy. Do jego zadań należy konserwacja systemu. Środowisko operacyjne Minimalnym systemem operacyjnym do uruchomienia aplikacji będzie Windows XP z zainstalowanym oprogramowaniem JRE w wersji 5. Do odczytu raportów będzie potrzebna przeglądarka plików PDF np. Acrobat Reader. Założenia I zależności ZAŁOŻENIA Platforma sprzętowa: Zamawiający posiada minimalną konfigurację komputera w firmie opisaną w rozdziale 2.3. Zakłada się, że platforma ta jest wystarczająca do funkcjonowania systemu ZWS. Dostępne oprogramowanie: Na stacjach roboczych zainstalowane jest oprogramowanie JRE w wersji minimum 5, oraz zainstalowana przeglądarka plików PDF Acrobat Reader w wersji minimum 4. ZALEŻNOŚCI Brak zależności. Specyficzne wymagania Wymagania Funkcjonalne 1. Wprowadź nowe auto. 2. Przenieś dane auta do archiwum. 3. Monitoruj daty wygaśnięcia przeglądów. 4. Wyświetl komunikat o wygaśnięciu przeglądu. 15
5. Przypomnij o zbliżającym się terminie zwrotu 6. Sporządź raport z zakończonych transakcji. 7. Eksportuj dane raportu do historii pojazdu. 8. Edytuj dane samochodu. 9. Potwierdź zwrot samochodu. 10. Wydaj samochód klientowi. 11. Dodaj pracownika. 12. Przenieś dane pracownika do archiwum. 13. Przeglądaj dane samochodu. 14. Przeglądaj dane pracownika. 15. Zmień hasło. Wymagania niefunkcjonalne 1. Ograniczenie widoku aplikacji do maksymalnie 9 elementów. 2. Możliwość obsługi programu tylko bez konieczności używania myszki. 3. Ograniczenie wprowadzania danych przez użytkowników do minimum. Wykonał: Mateusz Mikołajczak 16
Logotyp Wykonał: Łukasz Kaczmarski 17
Wizytówka Wykonał: Łukasz Kaczmarski 18
Kosztorys 1. Wynagrodzenie zespołu projektowego: Członkowie zespołu Przewidywany czas pracy Stawka Łączna kwota Rafał Tomaszewicz 320 h 25 zł/h 8000 zł Maciej Strychalski 320 h 21 zł/h 6720 zł Łukasz Kaczmarski 320 h 18 zł/h 5760 zł Mateusz Mikołajczak 320 h 21 zł/h 6720 zł Premialne 1000 zł Razem: 28200 zł 2. Koszty wykorzystywanego oprogramowania: Oprogramowanie MySQL Workbench Eclipse Visual Paradigm Teamwork Server Basic Razem: Cena 0 zł 0 zł 2266,02 zł 2266,02 zł 19
3. Koszty eksploatacji wykorzystywanego sprzętu: Sprzęt Ilość Koszt eksploatacji Łączna kwota Toshiba Satellite 2 500 zł 1000 zł MSI GT683DX 1 800 zł 800 zł Asus Aspire 1 600 zł 600 zł Razem 2400 zł 4. Łączne zestawienie kosztów: Wydatki Wynagrodzenie zespołu Oprogramowanie Sprzęt Koszta 28200 zł 2266,02 zł 2400 zł Razem: 32866,02 Wykonał: Rafał Tomaszewicz 20
Wstępny harmonogram prac 1. Etap 1 Wymagana dokumentacja etapu Realizacja Termin Protokół założycielski grupy projektowej Rafał Tomaszewicz 21.03.2012 Raport o wybranym instrumentarium zespołu Maciej Strychalski 21.03.2012 projektowego dokument tekstowy Raport klienta dokument tekstowo graficzny Łukasz Kaczmarski 21.03.2012 opisujący proces biznesowy użytkownika i zawierający specyfikację wymagań użytkownika Wstępny harmonogram projektu wydruk diagramu Gantta Mateusz Mikołajczak 21.03.2012 2. Etap 2 Wymagana dokumentacja etapu Realizacja Termin Raport dla zleceniodawcy Rafał Tomaszewicz 28.03.2012 Specyfikacja wymagań systemowych (może Maciej Strychalski, Mateusz Mikołajczak 28.03.2012 podlegać edytowaniu na kolejnych etapach) Opis systemu firmowego projektu Łukasz Kaczmarski 28.03.2012 21
3. Etap 3 Wymagana dokumentacja etapu Realizacja Termin Aktualizacja harmonogramu i kosztorysu. Rafał Tomaszewicz 11.04.2012 Notatka z uzasadnieniem wyboru metodologii, narzędzia CASE i techniki modelowania, zastosowanych w projekcie. Komplet diagram do projektu. Maciej Strychalski 11.04.2012 Opis tekstowy stworzonego logicznego modelu Łukasz Kaczmarski 11.04.2012 aplikacji. Poprawione wersje SWS Mateusz Mikołajczak 11.04.2012 4. Etap 4 Wymagana dokumentacja etapu Realizacja Termin Dokument detaliczny projektu (DDP). Mateusz Mikołajczak 16.05.2012 Notatka tekstowa uzasadniająca wybór narzędzi Rafał Tomaszewicz 16.05.2012 RAD. Implementacja aplikacji Maciej Strychalski, Łukasz Kaczmarski 16.05.2012 Wykonał: Rafał Tomaszewicz 22
Diagram przypadków użycia Wykonał: Maciej Strychalski 23
Diagram klas Wykonał: Maciej Strychalski 24
Model fizyczny Wykonał: Łukasz Kaczmarski 25
Model konceptualny Wykonał: Łukasz Kaczmarski 26
Metodologia i narzędzia CASE Metodologia W wykonywanym projekcie nasz zespół postanowił zastosować OMT 1 (Object Modelling Technique) notację diagramów obiektowych, służąca do sformalizowanego wyrażania budowy klas, obiektów i związków między obiektami. Nasz wybór padł na tą metodologie, ponieważ jest ona obecnie najpopularniejsza oraz znana przez wszystkich członków naszego zespołu Narzędzia CASE Visual Paradigm Teamwork Server Basic - narzędzie wspomagające projektowanie przy wykorzystaniu diagramów UML. http://www.visual-paradigm.com/product/vpuml/ Eclipse Środowisko implementacji. Strona producenta http://www.eclipse.org/ o Subversion technologia wersjonowania dokumentów i kodu źródłowego powstającej aplikacji. Strona producenta: http://subversion.tigris.org/ o Hibernate - biblioteka ORM dla platformy Java. Strona producenta: http://www.hibernate.org/ o JUnit - główne narzędzie do projektowania i przeprowadzania testów jednostkowych. Strona producenta: http://www.junit.org/ 1 OMT (Object-modeling technique) Metodyka analizy i projektowania obiektowego zaproponowana przez J. Rumbaugh i innych autorów, http://en.wikipedia.org/wiki/object-modeling_technique 27
Słownik danych projektu Klienci Nazwa atrybutu: Opis atrybutu Format danych: Id_klienta Identyfikator klienta Liczbowy Imie_klient Imię klienta Tekstowy(15) Nazwisko_klient Nazwisko klienta Tekstowy(30) Pesel Pesel klienta Liczbowy(11) Dokument_klient Dokument tożsamości Tekstowy(12) Ulica_klient Ulica Tekstowy(30) Miejscowosc_klient Miejscowość Tekstowy(30) Kodp_klient Kod pocztowy Tekstowy(6) Telefon_klient Telefon Tekstowy(12) Mail_klient Adres e-mail Tekstowy(50) Rabat Rabat Tekstowy(2) Samochody Nazwa atrybutu: Opis atrybutu: Format danych: Id_samochodu Identyfikator samochodu Liczbowy Marka_sam Marka samochodu Tekstowy(20) Model_sam Model samochodu Tekstowy(15) Rok_produkcji Rok produkcji samochodu Data Kolor Kolor Tekstowy(16) Poj_silnika Pojemność silnika Liczbowy(4) Badanie Data badania technicznego Data 28
Przebieg Ilość przejechanych km Liczbowy Cena_doba Cena za dobę wypożyczenia Liczbowy Kaucja Kaucja za samochód Liczbowy Status Status dostępności Boolean Naprawy Nazwa atrybutu: Opis atrybutu: Format danych: Id_naprawy Identyfikator naprawy Liczbowy Data_naprawy Data naprawy Data Opis_naprawy Opis naprawy Tekstowy Cena_naprawy Cena naprawy Liczbowy Tranzakcje Nazwa atrybutu: Opis atrybutu: Format danych: Id_tran Identyfikator transakcji Liczbowy Data_wyp Data wypożyczenia Data Data_prze Data przewidywanego zwrotu pojazdu Data Data_zwrot Data zwrotu Data Kaucja Kaucja wpłacona przez klienta Liczbowy Cena_tran Koszt do zapłaty Liczbowy 29
Pracownicy Nazwa atrybutu: Opis atrybutu: Format danych: Id_prac Identyfikator pracownika Liczbowy Imie_prac Imię pracownika Tekstowy(15) Nazwisko_prac Nazwisko pracownika Tekstowy(30) Telefon Telefon Tekstowy(12) Rezerwacje Nazwa atrybutu: Opis atrybutu: Format danych: Id_rezerwacji Identyfikator rezerwacji Liczbowy Data_rezerwacji Data rezerwacji Data Dni Dni rezerwacji Liczbowy Uzytkownicy Nazwa atrybutu: Opis atrybutu: Format danych: Id_uzytkownik Identyfikator użytkownika Liczbowy Login_uzytkownik e-mail jako login Tekstowy(30) Haslo_uzytkownik Hasło Tekstowy(15) Rodzaj_uzytkownik Rodzaj użytkownika Tekstowy(15) 30
Opis słownika danych 1. Klient Osoba korzystająca z usług firmy, akceptująca regulamin firmy, wypożyczająca samochód. 2. Użytkownik - Osoba obsługująca aplikację oraz posiadająca do niej dostęp. 3. Pracownik Osoba fizyczna, zatrudniona przez właściciela wypożyczalni, pełniąca określone funkcje. 4. Samochód Pojazd fizyczny przeznaczony do wypożyczenia. 5. Administrator - Użytkownik który ma największe uprawnienia w aplikacji, odpowiada on za bazę danych aplikacji. 6. Wypożyczenie Podpisanie warunków umowy udostępnienia samochodu na określony czas za opłatą, pobranie kaucji przez wypożyczalnie z tytułu wypożyczenia samochodu, przekazanie dokumentów oraz kluczyków auta klientowi wypożyczalni. 7. Zwrot Oddanie kluczyków oraz dokumentów auta, wypłacenie klientowi pobranej kaucji. 8. Konto Użytkownika dostęp do konta po wcześniejszym logowaniu, wybrane osoby z firmy posiadają dostęp do konta. Posiada uprawnienia do zarządzania procesem wypożyczenia auta. 9. Konto Właściciela dostęp do tego konta posiada właściciel firmy, może on podglądać proces wypożyczenia auta, sporządzać raporty o wypożyczeniu aut oraz o pracownikach firmy. 10. Logowanie proces uwierzytelniania i autoryzacji użytkownika, czego efektem w przypadku sukcesu tej operacji będzie dostęp do konta. Wykonał: Mateusz Mikołajczak Dokument Detaliczny Projektu Streszczenie Niniejszy dokument detaliczny projektu(ddp) opisuje detale pracy zespołu projektowego, który skupia się na stworzeniu aplikacji zarządzającej(wspomagającej) wypożyczalnią samochodów. Pierwsza część dokumentu zawiera opis ogólnych założeń projektowych, a także wykorzystywanych 31
standardów i konwencji. Druga część opisuje specyfikacje wykorzystanych w projekcie komponentów. Wszystkie zmiany w dokumencie są odnotowane w historii zmian dokumentu zamieszczonej powyżej. Wprowadzenie Cel Dokument ten ma za zadanie sprecyzować sposób realizowanych prac. Określić założenia projektu, standardy, narzędzia i komponenty wchodzące w skład implementacji oraz opis realizacji tych komponentów. Zakres Założeniem projektu jest stworzenie systemu informatycznego Zarządzanie Wypożyczalnią Samochodów, służącego do wspomagania pracy w wypożyczalni. System ma służyć do przechowywania informacji o aktualnie wypożyczonych samochodach oraz ich stanach. Aplikacja ZWS(Zarządzanie Wypożyczalnią Samochodów) pozwoli na przechowywanie informacji o klientach oraz pracownikach firmy. Tworzenia raportów pracy wypożyczalni takich jak np. częstość wypożyczania samochodów, skąd klienci pochodzą, którzy korzystają z usług firmy. Tworzony system ma zapewnić raporty w formie elektronicznej. 32
Definicje, akronimy i skróty Wypożyczenie Podpisanie warunków umowy udostępnienia samochodu na określony czas za opłatą, pobranie kaucji przez wypożyczalnie z tytułu wypożyczenia samochodu, przekazanie dokumentów oraz kluczyków auta klientowi wypożyczalni. Zwrot Oddanie kluczyków oraz dokumentów auta, wypłacenie klientowi pobranej kaucji. Użytkownik - Osoba obsługująca aplikację oraz posiadająca do niej dostęp. Administrator - Użytkownik który ma największe uprawnienia w aplikacji, odpowiada on za bazę danych aplikacji. VIN(Vehicle Identification Number) Unikalny numer identyfikacyjny samochodu istniejącego w systemie Skróty 1. ZWS Zarządzanie Wypożyczalnią Samochodów. 2. SZBD System Zarządzania Bazą Danych. Odsyłacze 1. Ustawa z dnia 29 sierpnia 1997 o ochronie danych osobowych (Dz. U. 1997 nr 133 poz. 883 z późn. zm.). 2. Art. 659 Kodeksu cywilnego określający umowy najmu. Omówienie Dokument ten powstał na bazie specyfikacji wymagań systemowych. Zawiera on definicje standardów, strategii i konwencji, które będą przestrzegane podczas realizacji projektu. 33
Dalsza część dokumentu zawiera informacje o modułach i komponentach systemu i interfejsie graficznym aplikacji. Standardy projektu, konwencje, procedury Standardy projektowe Podczas tworzenia projektu wykorzystaliśmy model przyrostowy tworzenia oprogramowania. Wybrany został ze względu na: 1. Częsty kontakt z klientem 2. Mniejsze ryzyko porażki całkowitej przedsięwzięcia 3. Usługi o najwyższym priorytecie są dostarczane jako pierwsze 4. Wczesne wykorzystanie przez klientów fragmentów systemu Standardy dokumentacyjne Wszystkie dokumenty projektu są tworzone na podstawie jednego firmowego szablonu. Przy programowaniu w języku Java będziemy stosować komentarze w stylu JavaDoc, co umożliwi proste wygenerowanie czytelnej dokumentacji kodu źródłowego aplikacji. Konwencje nazewnicze Nazewnictwo w projekcie jest ukierunkowane na prostotę i jednoznaczność. W implementacji została zachowana konwencja nazewnictwa Java. Wersje dokumentów posiadają historie zmian tych dokumentów. 34
Standardy programistyczne W projekcie będziemy wykorzystywać podejście obiektowe do programowania. Będziemy wykorzystywać wzorzec projektowy MVC(Model-View Controller). Zalety takiego podejścia: 1. Brak zależności modelu od widoków aplikacji 2. Łatwość dodawania oraz modyfikowania istniejących widoków bez wpływu na kluczową część systemu Narzędzia Do realizacji projektu wykorzystamy język Java. Będziemy korzystać ze środowiska RAD(Rapid Aplication Development) w postaci Oracle Eclipse, licencja Eclipse Public License. Podczas projektowania będziemy korzystać z plugin a Subversion do środowiska Eclipse dzięki niemu będziemy mieć możliwość dostępu do systemu kontroli wersji SVN z poziomu Eclips a. Podczas tworzenia dokumentacji, będziemy wykorzystywać: 1. Visual Paradigm program do tworzenia diagramów UML, 2. Microsoft Office w wersji 2007 wykorzystany przy tworzeniu dokumentacji 3. GanttProject program do tworzenia harmonogramów 4. Adobe Ilustrator tworzenie szablonu strony i loga firmy, Specyfikacja komponentów LoginView Klasa odpowiedzialna za wygląd logowania. W niej też, znajduje się obsługa zdarzeń logowania. 35
AbstractWorkerView Interfejs zawierający metody wyglądu transakcji, zamawiania samochodu, dodawania, usuwania klienta z bazy danych. WorkerView Klasa odpowiedzialna za tworzenie wyglądu interfejsu aplikacji. Posiada obsługę zdarzeń wybranej przez nas opcji w menu. AbstractWorkspaceController Interfejs zawierający metody dodawania, usuwania, zmieniania informacji o kliencie, samochodzie, transakcjach. Dodawania samochodów do tabeli naprawy. WorkspaceController Klasa odpowiedzialna za odświeżanie widoku, obsługująca dane wprowadzane przez użytkownika. AbstractWorkspaceModel Interfejs zawierający metody logiki aplikacji. WorkspaceModel Klasa implementująca interfejs modelu i posiadająca definicję metod. 36
HibernateUtil Klasa pomocnicza posiadająca metodę statyczną do zwracania sesji. Klasa ta pośredniczy między bazą danych a klasami. RunLivery Klasa zawiera statyczną metodę main odpowiedzialną za uruchomienie aplikacji. 37
Załączniki Harmonogram prac(diagram Gantta) 38
Diagram Klas 39
Interfejs Aplikacji Logowanie: Menu: 40
Widok klientów: 41
Dodawanie klientów: Widok samochodów: 42
Widok transakcji: Dodawanie transakcji: 43
Widok Rezerwacji: Wykonał: Mateusz Mikołajczak Notatka Tekstowa uzasadniająca wybór narzędzi RAD Eclipse Eclipse to rozbudowane środowisko programistyczne stworzone przez firmę IBM i przekazane następnie społeczności Open Source, którego główna zaletą jest obsługa wtyczek rozszerzających jego możliwości o obsługę wielu języków tworzenia kodu. Wybraliśmy to środowisko, ponieważ mamy większe doświadczenie w obsłudze tego narzędzia niż - konkurencyjnych. Jego atutem jest również fakt, że jest darmowe. http://www.eclipse.org/ 44
Visual Paradigm Teamwork Server Basic Serwer pracy grupowej pozwala wielu członkom zespołu pracować nad tymi samymi projektami. Łączy on automatycznie prace różnych członków zespołu. Teamwork Server dodatkowo dostarcza również kontrolę wersji i możliwości administracyjne do zarządzania projektem zespołowym. http://www.visual-paradigm.com/product/vpuml/ Wykona ł: Rafał Tomaszewicz Rafał Tomaszewicz Maciej Strychalski Łukasz Kaczmarski Mateusz Mikołajczak.... 45