Karol Kulesza Jakub Trzaskoma Jacek Suchowski System wspomagający pracę biura podróży 1
Spis Treści 1. Analiza wymagań... 7 1.1. Opis działalności... 7 1.2. Przeznaczenie systemu... 7 1.3. Wykorzystane komponenty języka UML... 9 1.4. Aktorzy... 11 1.5. Wymagania funkcjonalne... 13 1.6. Wymagania niefunkcjonalne... 15 1.7. Specyfikacja przypadków użycia na poziomie ogólnym... 17 2. Model analityczny... 21 2.1. Diagram klas... 21 2.2. Diagram maszyny stanów dla klasy Reservation... 25 2.3. Opis przypadków użycia... 26 2.3.1. Zarządzanie systemem... 26 2.3.1.1 Przegląd logów systemu... 26 2.3.1.2 Rekonfiguracja sytemu... 26 2.3.2. Zarządzanie pracownikami przez Administratora... 26 2.3.2.1 Zmiana uprawnień pracownika... 27 2.3.2.2 Zamiana hasła pracownika... 27 2.3.3. Dokonanie płatności... 27 2.3.3.1 Płatność w biurze... 27 2.3.3.2 Płatność przelewem... 27 2.3.3.3 Płatność kartą kredytową... 27 2.3.4. Zarządzanie profilem... 28 2.3.4.1 Edycja profilu... 28 2.3.4.2 Rejestracja... 28 2.3.4.3 Usuwanie profilu... 28 2.3.4.4 Logowanie... 28 2.3.5. Wyświetlenie informacji o wycieczce przez klienta... 28 2.3.5.1 Wyświetlenie fotogalerii miejsca pobytu... 29 2.3.5.2 Wyświetlenie informacji o pogodzie miejsca pobytu... 29 2.3.5.3 Wyświetlenie mapy miejsca pobytu... 29 2.3.5.4 Wyświetlenie szczegółowych informacji o wyciecze... 29 2.3.6. Wyszukiwanie oferowanych usług... 29 2
2.3.6.1 Wyszukiwanie hoteli... 29 2.3.6.2 Wyszukiwanie wycieczek... 29 2.3.6.3 Wyszukiwanie dopasowanych ofert... 29 2.3.7. Rezerwacja środka transportu przez klienta... 30 2.3.8. Rezerwacja wycieczki przez klienta... 30 2.3.9. Anulowanie rezerwacji wycieczki przez klienta... 31 2.3.10. Wyrażanie opinii na temat działalności biura podróży... 31 2.3.10.1 Wypełnienie ankiety... 32 2.3.10.2 Dodawanie opinii... 32 2.3.10.3 Złożenie reklamacji... 32 2.3.11. Zamówienie katalogu z aktualną ofertą... 32 2.3.12. Działania marketingowe Managera... 32 2.3.12.1 Generowanie statystyk sprzedaży... 33 2.3.12.2 Generowanie raportów... 33 2.3.12.3 Dodawanie ankiety... 33 2.3.12.4 Logowanie... 33 2.3.13. Zlecenie wydruku katalogów, broszur... 33 2.3.14. Zarządzanie pracownikami przez Pracownika działu HR... 34 2.3.14.1 Dodawanie pracownika... 34 2.3.14.2 Usuwanie pracownika... 34 2.3.14.3 Zmiana uprawnień pracownika... 34 2.3.15. Zarządzenie promocjami... 34 2.3.15.1 Dodawanie promocji... 35 2.3.15.2 Edycja promocji... 35 2.3.15.3 Usuwanie promocji... 35 2.3.16. Zarządzanie wycieczkami... 35 2.3.16.1 Dodawanie wycieczki... 35 2.3.16.2 Usuwanie wycieczki... 35 2.3.16.3 Edycja wycieczki... 35 2.3.16.4 Wyszukiwanie wycieczek... 35 2.3.16.5 Wyszukiwanie dopasowanych ofert... 35 2.3.17. Zarządzanie rezerwacjami wycieczek... 36 2.3.17.1 Rezerwacja wycieczki... 36 2.3.17.2 Edycja rezerwacji wycieczki... 36 3
2.3.17.3 Potwierdzenie rezerwacji wycieczki... 36 2.3.17.4 Anulowania rezerwacji wycieczki... 36 2.3.18. Zarządzanie hotelami... 37 2.3.18.1 Dodawanie hotelu... 37 2.3.18.2 Edycja hotelu... 37 2.3.18.3 Usuwanie hotelu... 37 2.3.18.4 Wyszukiwanie hoteli... 37 2.3.18.5 Rezerwacja hotelu... 37 2.3.18.6 Potwierdzenie rezerwacji hotelu... 37 2.3.18.7 Usuwanie rezerwacji hotelu... 37 2.3.19. Zarządzanie transportem... 38 2.3.19.1 Dodawanie środka transportu... 38 2.3.19.2 Edycja środka transportu... 38 2.3.19.3 Usuwanie środka transportu... 38 2.3.19.4 Wyszukiwanie środka transportu... 38 2.3.20. Zarządzanie rezerwacjami środków transportu... 39 2.3.20.1 Rezerwacja środka transportu... 39 2.3.20.2 Potwierdzenie rezerwacji środka transportu... 39 2.3.20.3 Usuwanie rezerwacji środka transportu... 39 2.3.21. Zlecenie wysłania przesyłki... 40 2.3.21.1 Zlecenie wysłania dokumentów podróży... 40 2.3.21.2 Zlecenie wysłanie katalogu... 40 2.4. Specyfikacja architektonicznie znaczących przypadków użycia... 41 2.4.1. Dodawanie ankiety... 41 2.4.2. Edycja promocji... 42 2.4.3. Dodawanie opinii... 43 2.4.4. Przegląd logów systemu... 44 2.4.5. Rekonfiguracja systemu... 46 2.4.6. Zmiana uprawnień pracownika... 47 2.4.7. Zmiana hasła pracownika... 48 2.4.8. Rejestracja klienta przez www... 49 2.4.9. Logowanie... 50 2.4.10. Wyświetlenie szczegółowych informacji o wycieczce... 51 2.4.11. Wyszukiwanie dopasowanych ofert... 53 4
2.4.12. Rezerwacja środka transportu przez klienta... 54 2.4.13. Anulowanie rezerwacji wycieczki... 55 2.4.14. Generowanie statystyk sprzedaży... 56 2.4.15. Dodawanie pracownika... 57 2.4.16. Opłacenie usługi w biurze... 58 2.4.17. Usuwanie wycieczki... 59 2.5. Szczegółowy opis wymagań... 61 2.6. Specyfikacja oprogramowania podstawowego i technologii realizacji... 67 2.6.1. Warstwa prezentacji... 67 2.6.2. Warstwa logiki biznesowej... 67 2.6.3. Warstwa bazy danych... 68 2.6.4. Wymagane licencje... 68 2.7. Specyfikacja sprzętu... 68 2.7.1. Komponenty sprzętowe... 70 3. Model projektowy... 71 3.1. Projekt bazy danych... 71 3.1.1. Projekt bazy danych w formie diagramu LDM... 71 3.1.2. Logiczny model danych w postaci definicji tabel modelu relacyjnego... 73 3.1.2.1 CLIENT... 73 3.1.2.2 COMPLAIN... 73 3.1.2.3 EMPLOYEE... 73 3.1.2.4 FEATURE... 73 3.1.2.5 FEATURE_VALUE... 74 3.1.2.6 HOTEL... 74 3.1.2.7 LOG... 74 3.1.2.8 OPINION... 74 3.1.2.9 PAYMENT_TYPE... 75 3.1.2.10 POSITION... 75 3.1.2.11 PROMOTION... 75 3.1.2.12 RESERVATION... 75 3.1.2.13 SERVICE... 76 3.1.2.14 TRANSPORT... 76 3.1.2.15 TRANSPORT_TYPE... 76 3.1.2.16 TRIP... 76 5
3.1.2.17 USER... 77 3.2. Ogólny projekt systemu... 78 3.2.1. Diagram komponentów systemu... 78 3.2.2. Diagram wdrożenia systemu... 81 3.3. Projekt interface u użytkownika... 84 4. Słownik... 88 6
1. Analiza wymagań 1.1. Opis działalności Biuro podróży to przedsiębiorstwo zorientowane głównie na obsługę klienta. Aby stać się bardziej konkurencyjnym na rynku należy przedstawić klientowi jak najlepszą ofertę oraz zapewnić wygodną obsługę. Umożliwienie szybkiej i łatwej wymiany informacji zarówno między biurem i klientem jak i pomiędzy poszczególnymi biurami obsługi pozwoli zredukować koszty, zoptymalizować wydajność oraz zapewnić możliwość lepszego zarządzania i budowania strategii firmy. Główną działalnością biura podróży jest organizowanie i sprzedaż wycieczek indywidualnych i grupowych. Ponadto oferowane są bezpośrednie usługi firm współpracujących z biurem, np. sprzedaż biletów lotniczych czy wynajem środka transportu. Pojawia się więc potrzeba usprawnienia wewnętrznego działania firmy, gromadzenia informacji o klientach, kontrahentach i zasobach oraz umożliwienie dostępu do aktualnych ofert klientowi indywidualnemu za pomocą łatwo dostępnych środków przekazu. 1.2. Przeznaczenie systemu System zarządzania biurem podróży ma za zadanie wspomaganie działania punktów obsługi klienta jak również udostępnianie serwisu www dzięki któremu klienci będą mogli wykonać większość czynności związanych z zamawianiem i realizacją usług oferowanych przez biuro podróży bez konieczności odwiedzania punktu obsługi klienta. Istnienie systemu znacznie usprawni również współdziałanie pomiędzy placówkami biura podróży, gdyż pracownicy będą mogli sprawdzać na bieżąco wszystkie istotne dla nich informacje. Istotnym elementem systemu będzie współpraca z zewnętrznymi systemami innych firm np. system rezerwacji biletów. Jest to związane z zapewnieniem świadczenia wszystkich niezbędnych usług potrzebnych do organizowania wycieczek turystycznych. Architektura systemu będzie zrealizowana w taki sposób aby umożliwiała równoczesne korzystanie pracownikom punktów obsługi i klientów jak również administratorom, managerom i pracownikom innych działów wchodzących w skład biura podróży. Zasadniczą funkcją systemu będzie umożliwianie wyszukiwania i rezerwacji wycieczek, środków transportu czy hoteli przez klientów, przy czym jedyną operacją wymagająca udziału pracowników biura będzie potwierdzanie rezerwacji ewentualne zlecanie dostarczenia niezbędnych dokumentów. Dla każdego klienta chcącego skorzystać z oferty biura podróży tworzone będzie podczas rejestracji konto dzięki któremu będzie on mógł dokonywać rezerwacji, przeglądać historię zamówionych usług i sprawdzać status ewentualnych potwierdzeń. Takie konto przypisane będzie do jednej osoby, lecz możliwe będzie zamawianie z pośrednictwem tego konta usług skierowanych do innych osób niż właściciel konta. Regulowanie należności przez klientów możliwe będzie za pomocą 7
przelewu, systemu obsługującego karty płatnicze jak również bezpośrednio w punkcie obsługi klienta biura podróży. Aktualna oferta dostępna będzie przez cały czas za pośrednictwem serwisu www. Możliwe będzie również zamówienie katalogu z wycieczkami za pośrednictwem kuriera. 8
1.3. Wykorzystane komponenty języka UML Do zamodelowania systemu wykorzystaliśmy następujące diagramy UML (wersja 2.0): diagram klas przedstawia strukturę systemu w modelach obiektowych przez ilustrację struktury klas i zależności między nimi. Diagramów klas używa się do modelowania statycznych aspektów perspektywy projektowej. Wiąże się z tym silnie modelowanie słownictwa systemu, kooperacji lub schematów. Diagramy klas pozwalają na sformalizowanie specyfikacji danych i metod. Mogą także pełnić rolę graficznego środka pokazującego szczegóły implementacji klas. diagram przypadków użycia pozwala na odwzorowanie głównych funkcji projektowanego systemu w taki sposób jaki będą go widzieć użytkownicy. Pokazuje interakcje między użytkownikiem a systemem. diagram sekwencji pozwala na pokazanie kolejności komunikatów przesyłanych między obiektami dla określonej sytuacji, np. przypadku użycia. Ponadto inicjuje przepływ sterowania między obiektami oraz szablon zrealizowanego algorytmu. Pomijają natomiast całkowicie aspekt operacji na danych związanych z komunikacją. diagram wdrożenia przedstawia powiązania między oprogramowaniem, a sprzętem. Jest wykorzystywany w projektowaniu dużych systemów informatycznych. Jednostki oprogramowania są reprezentowane przez artefakty, dane i biblioteki. Stronę sprzętową reprezentują węzły, czyli urządzenia obliczeniowe i przechowujące powiązane ścieżkami komunikacyjnymi. diagram komponentów pokazuje podział systemów na mniejsze podsystemy. Służy przede wszystkim do pokazania związków między komponentami i interfejsami. Komponent reprezentuje fizyczny moduł kodu. diagram maszyny stanowej reprezentuje zachowanie obiektów w skończonej liczbie stanów i definiuje przejścia między nimi. Przejścia między stanami wyzwalane są asynchronicznym zdarzeniem wewnętrznym. Pozostałe diagramy UML: diagram współpracy służy do opisu zależności przy przesyłaniu komunikatów między obiektami, obrazuje przepływ sterowania między obiektami. Bazuje na diagramie klas i przedstawia w jaki sposób obiekty współpracują ze sobą w celu zrealizowania konkretnego przypadku użycia lub scenariusza. Nie używane ze względu na przedstawienie tych zależności na diagramie sekwencji. diagram pakietów - służy do modelowania fizycznego i logicznego podziału systemu. Pakiety wykorzystywane są do grupowania dowolnych elementów UML według dowolnego 9
kryterium. Nie używane ze względu na to, że wielkość tworzonego systemu nie jest wystarczająco złożona żeby konieczne było zastosowanie pakietów. diagram czynności służy do modelowania czynności i zakresu odpowiedzialności elementów i zakresów systemu. Opisuje związek z jednym obiektem. Nie używane ze względu na podobieństwo z diagramem stanu. 10
1.4. Aktorzy Zawiera opis wszystkich użytkowników przypadków użycia z wyróżnieniem aktorów osobowych i nieosobowych. Do aktorów osobowych zaliczane są wszystkie osoby korzystające z systemu, działy, instytucje oraz organizacje. Systemy zewnętrzne, urządzenia oraz czas przyporządkowane zostały do aktorów nieosobowych. Rysunek 1 Pracownicy biura podróży Rysunek 2 Systemy zewnętrzne 11
1. Pracownik - osoba zatrudniona w biurze podróży 2. Administrator <<extends>> Pracownik - osoba zajmująca się administracją systemu 3. Manager <<extends>> Pracownik - członek rady nadzorczej lub inna osoba mająca dostęp do danych statystycznych. 4. Pracownik działu HR <<extends>> Pracownik - osoba zajmująca się zarządzanie zasobami ludzkimi 5. Pracownik działu obsługi <<extends>> Pracownik - osoba zajmująca się obsługą klientów 6. Pracownik działu marketingu <<extends>> Pracownik - osoba zajmująca się marketingiem 7. Klient osoba korzystająca z usług biura podróży 8. System zewnętrzny system współpracujący z biurem podróży nie będący jego częścią 9. System obsługi kart płatniczych <<extends>> System zewnętrzne - system zajmujący się obsługą kart płatniczych 10. System firmy kurierskiej <<extends>> System zewnętrzne - system zajmujący się obsługą wysyłek za pośrednictwem firmy kurierskiej 11. Systemy rezerwacji biletów <<extends>> System zewnętrzny systemy umożliwiające rezerwację biletów 12. System firmy poligraficznej <<extends>> System zewnętrzny system firmy realizującej wydruki materiałów promocyjnych 12
1.5. Wymagania funkcjonalne Zdefiniowanie wymagań funkcjonalnych dla systemu na podstawie specyfikacji i analizy wymagań w czytelny i uporządkowany sposób. Dla każdego szczegółowego wymagania określany jest priorytet oraz stopień ryzyka. Nazwa wymagania Priorytet Ryzyko 1. Zarządzanie użytkownikami 1.1. Zarządzanie pracownikami wysoki niskie 1.1.1. Dodawanie pracownika wysoki niskie 1.1.2. Zmiana uprawnień pracownika wysoki niskie 1.1.3. Usuwanie pracownika wysoki niskie 1.2. Zarządzanie klientami 1.2.1. Rejestracja klienta wysoki niskie 1.2.2. Edycja profilu klienta wysoki niskie 1.2.3. Usuwanie profilu klienta wysoki niskie 2. Zarządzanie wycieczkami 2.1. Dodawanie wycieczki wysoki niskie 2.2. Edycja wycieczki wysoki niskie 2.3. Usuwanie wycieczki wysoki niskie 2.4. Wyszukiwanie wycieczek wysoki średnie 2.4.1. Wyszukiwanie wycieczek spełniających kryteria wyboru wysoki niskie użytkownika 2.4.2. Wyszukiwanie dopasowanych ofert średni średnie 2.5. Wyświetlanie informacji o wycieczce wysoki średnie 2.5.1. Wyświetlanie szczegółowych informacji o wycieczce wysoki niskie 2.5.2. Wyświetlanie fotogalerii miejsca pobytu średni niskie 2.5.3. Wyświetlanie informacji o pogodzie w miejscu pobytu niski średnie 2.5.4. Wyświetlanie mapy miejsca pobytu niski średnie 3. Zarządzanie rezerwacjami wycieczek 3.1. Rezerwacja wycieczki wysoki niskie 3.2. Anulowanie rezerwacji wycieczki wysoki niskie 3.3. Potwierdzenie rezerwacji wycieczki wysoki niskie 3.4. Edycja rezerwacji wycieczki wysoki niskie 4. Zarządzanie hotelami 4.1. Wyszukiwanie hoteli spełniających kryteria wyboru użytkownika wysoki niskie 4.2. Rezerwacja hotelu wysoki niskie 4.3. Usuwanie rezerwacji hotelu wysoki niskie 4.4. Potwierdzenie rezerwacji hotelu wysoki niskie 4.5. Dodawanie hotelu wysoki niskie 4.6. Edycja hotelu wysoki niskie 4.7. Usuwanie hotelu wysoki niskie 5. Zarządzanie transportem 5.1. Wyszukiwanie środka transportu wysoki niskie 5.2. Rezerwacja środka transportu wysoki niskie 5.3. Usuwanie rezerwacji środka transportu wysoki niskie 5.4. Potwierdzenie rezerwacji środka transportu wysoki niskie 5.5. Dodawanie środka transportu wysoki niskie 5.6. Edycja środka transportu wysoki niskie 13
5.7. Usuwanie środka transportu wysoki niskie 6. Zarządzanie płatnościami 6.1. Płatność przelewem wysoki średnie 6.2. Płatność kartą kredytową wysoki średnie 6.3. Płatność w biurze wysoki niskie 6.4. Zwrot części kosztów w przypadku anulowania rezerwacji wysoki niskie 7. Zarządzanie promocjami 7.1. Dodawanie promocji wysoki niskie 7.2. Edycja promocji wysoki niskie 7.3. Usuwanie promocji wysoki niskie 8. Działania marketingowe 8.1. Ankietyzacja działalności biura podróży średni niskie 8.1.1. Dodawanie ankiety średni niskie 8.1.2. Dodawanie opinii niski niskie 8.1.3. Generowanie raportów zebranych ankiet i opinii niski niskie 8.1.4. Generowanie statystyk sprzedaży średni niskie 8.2. Zamówienie katalogu z aktualną ofertą średni niskie 8.3. Złożenie reklamacji wysoki niskie 14
1.6. Wymagania niefunkcjonalne Zdefiniowanie wymagań niefunkcjonalnych dla systemu na podstawie specyfikacji i analizy wymagań w czytelny i uporządkowany sposób. Dla każdego szczegółowego wymagania określany jest priorytet oraz stopień ryzyka. Nazwa wymagania Priorytet Ryzyko 1. Dostępność 1.1. Dostępność systemu dla użytkownika co najmniej 98% w skali wysoki średnie roku 1.2. Dostępność systemu dla administratora co najmniej 99% w skali wysoki średnie roku 1.3. Dostępność przez stronę www 24/7 z wyjątkiem kilkugodzinnej wysoki średnie przerwy technicznej w nocy 2. Bezpieczeństwo 2.1. Dane użytkowników przechowywane są zgodnie z ustawą o wysoki niskie ochronie danych osobowych. 2.2. Szyfrowanie danych użytkowników przechowywanych w bazie wysoki niskie danych za pomocą algorytmu RSA. 2.3. Zróżnicowane uprawnienia do korzystania i wprowadzania wysoki niskie zmian w systemie 2.3.1. Uprawnienia administratora dostęp do wszystkich wysoki niskie funkcji i możliwość konfiguracji systemu z poziomu konsoli 2.3.2. Uprawnienia managera dostęp do modułu ankietyzacji wysoki niskie 2.3.3. Uprawnienia pracownika działu HR dostęp do modułu wysoki niskie zarządzania pracownikami 2.3.4. Uprawnienia pracownika działu marketingu dostęp do wysoki niskie modułu ankietyzacji, zarządzania płatnościami i promocjami 2.3.5. Uprawnienia pracownika obsługi dostęp do modułu wysoki niskie zarządzania klientami, wycieczkami, rezerwacjami, hotelami, transportem, płatności i promocjami 2.4. Mechanizm autoryzacji użytkowników za pomocą standardu SSL wysoki niskie z wykorzystaniem loginu i hasła użytkownika. 2.5. Wysyłanie potwierdzeń wykonania operacji na kontach średni średnie użytkowników na adres email 2.6. Zapisywanie historii przeprowadzonych transakcji średni niskie 3. Niezawodność 3.1. Maksymalny czas restartu systemu 2h wysoki średnie 3.2. Wykonywanie wszystkich operacji na zasadzie transakcji wysoki średnie 3.3. Automatyczne wykonywanie kopii zapasowych codziennie w średni niskie nocy gdy system nie jest obciążony 3.4. Możliwość odtworzenia uszkodzonego systemu z kopii wysoki średnie zapasowych w czasie nieprzekraczającym 5 h 4. Użyteczność 4.1. Intuicyjność obsługi dwugodzinny kurs obsługi pozwala na sprawne posługiwanie się podstawowymi dostępnymi funkcjami systemu. średni niskie 15
4.2. Rozbudowany system pomocy, ostrzeżeń i podpowiedzi dla niski średnie każdego poziomu użytkowników 4.3. Przygotowanie podręczników dla administratora i średni niskie użytkowników zawierających opisy procedur 4.4. Przygotowanie materiałów edukacyjnych i przeprowadzenie niski niskie szkoleń 4.5. Interfejs użytkownika dostępny w językach obsługiwanych przez średni średnie biuro podróży 5. Elastyczność 5.1. Architektura systemu umożliwia łatwe dodawanie nowych wysoki średnie funkcjonalności 5.2. Możliwość zdalnej konfiguracji przez interfejs graficzny średni średnie użytkownika 5.3. Możliwość przystosowania systemu do współpracy z innymi średni wysokie produktami 5.4. Możliwość korzystania z systemu z poziomu przeglądarki www wysoki niskie 5.5. Skalowalność systemu pod względem zwiększania rozmiaru wysoki średnie bazy danych i mocy przetwarzania 5.6. Integracja z systemem pocztowym używanym w firmie średni średnie 6. Wydajność 6.1. System ma być odporny na obciążenie chwilowe odpowiadające wysoki średnie pracy 500 pracowników 6.2. System ma być odporny na obciążenie chwilowe odpowiadające średni wysokie pracy 1500 klientów 6.3. Przestrzeń dyskowa przeznaczona na bazę danych powinna mieć średni niskie pojemność 1TB 6.4. Przechowywanie informacji o przeprowadzonych transakcjach przez 4 lata wysoki niskie 16
1.7. Specyfikacja przypadków użycia na poziomie ogólnym Określa możliwe akcje dla przypadków użycia wyspecyfikowanych podczas analizy wymagań oraz zależności podczas interakcji aktorów z systemem w celu osiągnięcia konkretnego zamierzonego rezultatu. Dokładniejszy opis diagramów use case zawarty jest w podrozdziale 2.2. Rysunek 3 Przypadki użycia na poziomie ogólnym - Klient 17
Rysunek 4 Przypadki użycia na poziomie ogólnym - Pracownik działu obsługi 18
Rysunek 5 Przypadki użycia na poziomie ogólnym - Administrator Rysunek 6 Przypadki użycia na poziomie ogólnym - Manager 19
Rysunek 7 Przypadki użycia na poziomie ogólnym - Pracownik działu marketingu Rysunek 8 Przypadki użycia na poziomie ogólnym - Pracownik działu HR 20
2. Model analityczny Zadaniem modeli analitycznych jest tworzenie systemów informatycznych na podstawie tylko tych elementów, które są niezbędne do ich wytworzenia. 2.1. Diagramy klas Przedstawiają strukturę projektowanego systemu wraz z zastosowanymi typami obiektów oraz zależności między poszczególnymi klasami. Oprócz diagram klas całego systemu zostały także przygotowane diagramy dla poszczególnych modułów obrazujące wykorzystywane przez nie klasy. Rysunek 9 Diagram klas 21
Moduł zarządzania użytkownikami ma za zadanie przede wszystkim umożliwić sprawne administrowanie użytkownikami oraz kontrolowanie ich działań. Udostępnia także dane o użytkownikach. Diagram klas tego podsystemu jest rozszerzony o klasy interfejsu użytkownika w stosunku do ogólnego diagramu klas. Wykorzystuje klasy przedstawione na poniższym rysunku. Rysunek 10 Stereotypowy diagram klas dla podsystemu zarządzania użytkownikami 22
Moduł marketingowy ma za zadanie przede wszystkim zbieranie informacji o świadczonych usługach w celu oceny jakości pracy biura podróży. W skład tych informacji wchodzą opinie i ewentualne reklamacje odnoszące się do zrealizowanej rezerwacji oraz ankiety przygotowane dla wszystkich zainteresowanych działalnością biura podróży. Udostępnia także dane o sprzedaży. Wykorzystywany jest przede wszystkim przez managerów lub kierownictwo wyższego szczebla w celu poprawy świadczonych usług oraz ustalenia ogólnej strategii przedsiębiorstwa. Diagram klas tego podsystemu jest rozszerzony o klasy interfejsu użytkownika w stosunku do ogólnego diagramu klas. Wykorzystuje klasy przedstawione na poniższym rysunku. Rysunek 11 Stereotypowy diagram klas dla podsystemu marketingowego 23
Moduł zarządzania usługami ma za zadanie przede wszystkim umożliwić kontrolowanie oraz dysponowanie usługami świadczonymi przez biuro podróży. Udostępnia dane o tych usługach odpowiednim użytkownikom. Diagram klas tego podsystemu jest rozszerzony o klasy interfejsu użytkownika w stosunku do ogólnego diagramu klas. Wykorzystuje klasy przedstawione na poniższym rysunku. Rysunek 12 Stereotypowy typowy diagram klas dla podsystemu zarządzania usługami 24
2.2. Diagram maszyny stanów dla klasy Reservation Stanowi element dodatkowy do diagramów klas. Umożliwia zwiększenie precyzji opisu samej klasy Reservation jak również jej zachowania. Rysunek 13 Diagram maszyny stanów dla klasy Reservation 25
2.3. Opis przypadków użycia Pokazuje interakcje między użytkownikiem a systemem oraz odwzorowanie głównych funkcji projektowanego systemu w taki sposób jaki będą go widzieć użytkownicy. 2.3.1. Zarządzanie systemem Rysunek 14 Zarządzanie systemem Aktorzy: Administrator Typ: główny Opis: Administrator systemu ma możliwość przeglądania logów z jego działania, oraz rekonfiguracji systemu w celu zmiany profilu działania. 2.3.1.1 Przegląd logów systemu 2.3.1.2 Rekonfiguracja sytemu 2.3.2. Zarządzanie pracownikami przez Administratora Rysunek 15 Zarządzanie pracownikami przez Administratora Aktorzy: Administrator 26
Typ: główny Opis: Administrator systemu ma uprawnienia w kwestii zmiany hasła konta pracownika oraz zmiany uprawnień posiadanych przez pracownika 2.3.2.1 Zmiana uprawnień pracownika 2.3.2.2 Zamiana hasła pracownika 2.3.3. Dokonanie płatności Rysunek 16 Dokonanie płatności przez klienta Aktorzy: Klient, Pracownik, System obsługi kart płatniczych Typ: główny Opis: Klient ma możliwość dokonania płatności za zarezerwowaną wycieczkę bądź środek transportu na klika sposobów, może dokonać tego osobiście w biurze, przekazując pieniądze Pracownikowi obsługi, zapłacić przelewem na wskazane konto, bądź zapłacić kartą kredytową, co jest możliwe dzięki Systemowi obsługi kart płatniczych 2.3.3.1 Płatność w biurze 2.3.3.2 Płatność przelewem 2.3.3.3 Płatność kartą kredytową 27
2.3.4. Zarządzanie profilem Rysunek 17 Zarządzanie profilem przez klienta Aktorzy: Klient Typ: główny Opis: Klient biura ma możliwość założenia konta poprzez stronę www, w każdej chwili może również to konto usunąć lub zmodyfikować swój profil 2.3.4.1 Edycja profilu 2.3.4.2 Rejestracja 2.3.4.3 Usuwanie profilu 2.3.4.4 Logowanie 2.3.5. Wyświetlenie informacji o wycieczce przez klienta Rysunek 18 Wyświetlenie informacji o wycieczce 28
Aktorzy: Klient Typ: drugorzędny Opis: Klient ma możliwość uzyskania dodatkowych informacji o oferowanej wycieczce takich jak przewidywana pogoda w czasie trwania wycieczki, wyświetlenie zdjęć miejsca pobytu w trakcie trwania wycieczki, uzyskanie dodatkowych informacji o wycieczce, takich jak plan wycieczki, przewidywane atrakcje. Możliwe jest również wyświetlenie mapy miejsca pobytu, dzięki której można uzyskać informacje o dokładnym położeniu tego miejsca 2.3.5.1 Wyświetlenie fotogalerii miejsca pobytu 2.3.5.2 Wyświetlenie informacji o pogodzie miejsca pobytu 2.3.5.3 Wyświetlenie mapy miejsca pobytu 2.3.5.4 Wyświetlenie szczegółowych informacji o wyciecze 2.3.6. Wyszukiwanie oferowanych usług Rysunek 19 Wyszukiwanie oferowanych usług Aktorzy: Klient Typ: główny Opis: Klient ma możliwość wyszukiwanie poprzez stronę www usług oferowanych przez biuro, mowa tu o oferowanych wycieczkach, hotelach, w których można dokonać rezerwacji oraz dopasowanych ofertach tematycznych 2.3.6.1 Wyszukiwanie hoteli 2.3.6.2 Wyszukiwanie wycieczek 2.3.6.3 Wyszukiwanie dopasowanych ofert 29
2.3.7. Rezerwacja środka transportu przez klienta Rysunek 20 Rezerwacja środka transportu przez klienta Aktorzy: Klient, System rezerwacji biletów Typ: drugorzędny Opis: Klient poprzez stronę www ma możliwość dokonania rezerwacji środka transportu oferowanego przez biuro 2.3.8. Rezerwacja wycieczki przez klienta Rysunek 21 Rezerwacja wycieczki przez klienta Aktorzy: Klient Typ: główny Opis: Klient posiadający konto ma możliwość dokonania rezerwacji wycieczki oferowanej przez biuro 30
2.3.9. Anulowanie rezerwacji wycieczki przez klienta Rysunek 22 Anulowanie rezerwacji wycieczki przez klienta Aktorzy: Klient Typ: główny Opis: Klient ma możliwość anulowania rezerwacji wycieczki poprzez stronę www 2.3.10. Wyrażanie anie opinii na temat działalności biura podróży Rysunek 23 Wyrażanie opinii na temat działalności biura podróży Aktorzy: Klient Typ: drugorzędny Opis: Klient ma możliwość przekazania swojego zdania na temat funkcjonowania biura podróży poprzez wypełnienie przygotowanej wcześniej ankiety, dodanie opinii tekstowej, bądź złożenie reklamacji, która jest podstawą do zwrotu kosztów poniesionych przez klienta 31
2.3.10.1 Wypełnienie ankiety 2.3.10.2 Dodawanie opinii 2.3.10.3 Złożenie reklamacji 2.3.11. Zamówienie katalogu z aktualną ofertą Rysunek 24 Zamówienie katalogu z aktualną ofertą Aktorzy: Klient Typ: drugorzędny Opis: Klient po zalogowaniu na swoje konto poprzez stronę www ma możliwość zamówienia katalogu zawierającego aktualną ofertę biura podróży 2.3.12. Działania marketingowe Managera Rysunek 25 Działania marketingowe Managera 32
Aktorzy: Manager Typ: drugorzędny Opis: Manager biura ma możliwość generowania statystyk dotyczących sprzedaży oferowanych usług, generowania raportów na temat działalności biura, zebranych opinii. Może on również dodawać nową ankietę na temat działalności biura, która ma być docelowo wypełniana przez klientów 2.3.12.1 Generowanie statystyk sprzedaży 2.3.12.2 Generowanie raportów 2.3.12.3 Dodawanie ankiety 2.3.12.4 Logowanie 2.3.13. Zlecenie wydruku katalogów, broszur Rysunek 26 Zlecenie wydruku katalogów, broszur Aktorzy: Manager, System firmy poligraficznej Typ: drugorzędny Opis: Manager ma możliwość zlecenia wydruku materiałów promocyjnych, co jest możliwe dzięki Systemowi firmy poligraficznej 33
2.3.14. Zarządzanie pracownikami przez Pracownika działu HR Rysunek 27 Zarządzanie pracownikami przez Pracownika działu HR Aktorzy: Pracownik działu HR Typ: główny Opis: Pracownik działu HR ma możliwość zarządzania pracownikami biura, co może być realizowane poprzez dodawanie nowych pracowników, zmianę uprawnień pracownika oraz usuwanie pracowników 2.3.14.1 Dodawanie pracownika 2.3.14.2 Usuwanie pracownika 2.3.14.3 Zmiana uprawnień pracownika 2.3.15. Zarządzenie promocjami Rysunek 28 Zarządzanie promocjami 34
Aktorzy: Pracownik działu marketingu Typ: drugorzędny Opis: Usługi oferowane przez biuro podróży mogą być objęte promocjami. Pracownik działu marketingu posiada możliwość dodawania nowych promocji, usuwania promocji nieaktualnych oraz ewentualnej edycji zasad, czasu trwania i innych parametrów promocji 2.3.15.1 Dodawanie promocji 2.3.15.2 Edycja promocji 2.3.15.3 Usuwanie promocji 2.3.16. Zarządzanie wycieczkami Rysunek 29 Zarządzanie wycieczkami Aktorzy: Pracownik działu obsługi Typ: główny Opis: Oferty wycieczek są podstawową usługą oferowaną przez biuro podróży. Pracownik działu obsługi posiada możliwość dodawania nowych wycieczek, usuwania ich, edytowania, wyszukiwania wg zadanego kryterium 2.3.16.1 Dodawanie wycieczki 2.3.16.2 Usuwanie wycieczki 2.3.16.3 Edycja wycieczki 2.3.16.4 Wyszukiwanie wycieczek 2.3.16.5 Wyszukiwanie dopasowanych ofert 35
2.3.17. Zarządzanie rezerwacjami wycieczek Rysunek 30 Zarządzanie rezerwacjami wycieczek Aktorzy: Pracownik działu obsługi Typ: główny Opis: Pracownik działu obsługi ma możliwość dokonania rezerwacji wycieczki dla danego klienta bezpośrednio w punkcie obsługi klienta, może również anulować i edytować tą rezerwację 2.3.17.1 Rezerwacja wycieczki 2.3.17.2 Edycja rezerwacji wycieczki 2.3.17.3 Potwierdzenie rezerwacji wycieczki 2.3.17.4 Anulowania rezerwacji wycieczki 36
2.3.18. Zarządzanie hotelami Rysunek 31 Zarządzanie hotelami Aktorzy: Pracownik działu obsługi Typ: drugorzędny Opis: Biuro oferuje możliwość dokonania rezerwacji hotelu, Pracownik działu obsługi dodaje oferty nowych hoteli, usuwa i edytuje oferty 2.3.18.1 Dodawanie hotelu 2.3.18.2 Edycja hotelu 2.3.18.3 Usuwanie hotelu 2.3.18.4 Wyszukiwanie hoteli 2.3.18.5 Rezerwacja hotelu 2.3.18.6 Potwierdzenie rezerwacji hotelu 2.3.18.7 Usuwanie rezerwacji hotelu 37
2.3.19. Zarządzanie transportem Rysunek 32 Zarządzanie transportem Aktorzy: Pracownik działu obsługi Typ: drugorzędny Opis: Pracownik działu obsługi ma możliwość dodawania środków transportu, które mogą być następnie rezerwowane. Środki transportu mogą być również wyszukiwane wg zadanego kryterium, edytowane i usuwane 2.3.19.1 Dodawanie środka transportu 2.3.19.2 Edycja środka transportu 2.3.19.3 Usuwanie środka transportu 2.3.19.4 Wyszukiwanie środka transportu 38
2.3.20. Zarządzanie rezerwacjami środków transportu Rysunek 33 Zarządzanie rezerwacjami środków transportu Aktorzy: Pracownik działu obsługi, System rezerwacji biletów Typ: drugorzędny Opis: Pracownik działu obsługi ma możliwość dokonania rezerwacji środka transportu dla danego klienta bezpośrednio w punkcie obsługi dzięki Systemowi rezerwacji biletów 2.3.20.1 Rezerwacja środka transportu 2.3.20.2 Potwierdzenie rezerwacji środka transportu 2.3.20.3 Usuwanie rezerwacji środka transportu 39
2.3.21. Zlecenie wysłania przesyłki Rysunek 34 Zlecenie wysłania przesyłki Aktorzy: Pracownik działu obsługi Typ: drugorzędny Opis: Pracownik działu obsługi posiada możliwość zlecenia wysłania dokumentów podróży oraz katalogu z ofertą biura używając Systemu firmy kurierskiej 2.3.21.1 Zlecenie wysłania dokumentów podróży 2.3.21.2 Zlecenie wysłanie katalogu 40
2.4. Specyfikacja architektonicznie znaczących przypadków użycia Zawiera szczegółowy opis przypadków użycia mających istotny wpływ na architekturę całego systemu. Przypadki użycia są tutaj opisane w bardziej szczegółowy i wnikliwy sposób w stosunku do opisu z rozdziału 2.3 zawierającego ogólny opis wszystkich przypadków użycia zdefiniowanych w systemie. Dla poszczególnych przypadków użycia dodane zostały diagramy sekwencji oraz scenariusze obrazujące ich użycie. 2.4.1. Dodawanie ankiety Aktor główny: Manager Aktor drugorzędny: brak Scenariusz główny: 1. Manager wybiera opcję dodawania nowej ankiety. 2. System wyświetla formularz z prośbą o wprowadzenie treści pytań. 3. Manager wprowadza treść pytań. 4. Manager wybiera opcję potwierdzenia dodania nowej ankiety. 5. System wyświetla komunikat o pomyślnym dodaniu nowej ankiety. Scenariusz alternatywny Manager nie dodał żadnego pytania: 5a. System wyświetla komunikat informujący, o tym że ankieta nie może być pusta. Scenariusz alternatywny Nastąpił błąd przy dodawaniu nowej ankiety: 5b. System wyświetla komunikat o błędzie dodawania ankiety. Rysunek 35 Dodawanie ankiety diagram sekwencji 41
Rysunek 36 Dodawanie ankiety stereotypowy diagram klas 2.4.2. Edycja promocji Aktor główny: Pracownik działu marketingu Aktor drugorzędny: brak Scenariusz główny: 1. Pracownik działu marketingu przegląda wycieczki oferowane przez biuro. 2. Pracownik działu marketingu dla interesującej go wycieczki wybiera opcję pokazania promocji. 3. System prezentuje promocje dotyczące wycieczki. 4. Pracownik działu marketingu dla interesującej go promocji wybiera opcję zmiany czasu zakończenia. 5. System wyświetla formularz z prośbą o podanie nowej daty zakończenia promocji. 6. Pracownik działu marketingu wprowadza nową datę zakończenia i wybiera opcję potwierdzenia zmiany. 7. System wyświetla komunikat o pomyślnej zmianie promocji. Scenariusz alternatywny Wybrana wycieczka nie jest objęta żadną promocją: 3. System wyświetla informację o braku promocji dotyczących wybranej wycieczki. Scenariusz alternatywny Pracownik wprowadza błędną datę: 7. System wyświetla komunikat informujący, że podana data jest niepoprawna. 42
Rysunek 37 Edycja promocji diagram sekwencji Rysunek 38 Edycja promocji stereotypowy diagram klas 2.4.3. Dodawanie opinii Aktor główny: Klient Aktor drugorzędny: brak Scenariusz główny: 1. Klient przegląda rezerwacje przypisane do jego konta. 2. Klient dla interesującej go rezerwacji wybiera opcję dodawania opinii. 3. System wyświetla formularz z prośbą o wprowadzenie opinii na temat oferowanej usługi. 4. Klient wprowadza tekst wyrażający jego opinię i potwierdza chęć dodania opinii. 5. System potwierdza dodanie nowej opinii. Scenariusz alternatywny Błąd przy tworzeniu formularza dodawania opinii: 3. System wyświetla informację o wystąpieniu błędu przy generacji formularza. Scenariusz alternatywny Wystąpił błąd przy dodawaniu wypełnionego formularza. 43
5a. System wyświetla komunikat o tym, że nowa opinia nie może być dodana z powodu błędu. Rysunek 39 Dodawanie opinii diagram sekwencji Rysunek 40 Dodawanie opinii stereotypowy diagram klas 2.4.4. Przegląd logów systemu Aktor główny: Administrator Aktor drugorzędny: brak Scenariusz główny: 1. Administrator loguje się do systemu. 2. System potwierdza autoryzację. 3. Administrator wybiera opcję przeglądu logów. 4. Administrator wybiera interesujący go poziom szczegółowości logów. 44
5. System wyświetla logi systemowe. Scenariusz alternatywny Uzyskanie dostępu do logów jest niemożliwe z powodu awarii lub błędu odczytu: 4. System wyświetla komunikat o błędzie dostępu do logów. Rysunek 41 Przegląd logów sytemu diagram sekwencji Rysunek 42 Przegląd logów sytemu stereotypowy diagram klas 45
2.4.5. Rekonfiguracja systemu Aktor główny: Administrator Aktor drugorzędny: brak Scenariusz główny: 1. Administrator loguje się do systemu. 2. System potwierdza autoryzację. 3. Administrator wybiera opcję rekonfiguracji systemu. 4. System wyświetla okno wyboru pliku konfiguracyjnego, który ma zostać wczytany. 5. Administrator wyszukuje odpowiedni plik i wybiera opcję otwórz. 6. System wyświetla komunikat o powodzeniu uzyskania dostępu do pliku. 7. System wczytuje z pliku nowe ustawienia konfiguracyjne. 8. System wyświetla komunikat o pomyślnej zmianie konfiguracji. Scenariusz alternatywny Błąd otwarcia pliku: 6a. System wyświetla komunikat o niepowodzeniu otwarcia pliku. Scenariusz alternatywny Nieprawidłowe ustawienia konfiguracyjne: 8a. System wyświetla komunikat informujący o tym, że plik konfiguracyjny jest nieprawidłowy. Rysunek 43 Rekonfiguracja sytemu diagram sekwencji 46
Rysunek 44 Rekonfiguracja sytemu stereotypowy diagram klas 2.4.6. Zmiana uprawnień ń pracownika Aktor główny: Administrator Aktor drugorzędny: brak Scenariusz główny: 9. Administrator loguje się do systemu. 10. System potwierdza autoryzację. 11. Administrator wybiera opcję wyszukania pracownika. 12. System wyświetla informacje o pracowniku. 13. Administrator wybiera opcję zmiany uprawnień. 14. System wyświetla komunikat o powodzeniu operacji. Scenariusz alternatywny Zmiana uprawnień pracownika nie powiodła się: 6a. System wyświetla komunikat o niepowodzeniu operacji zmiany uprawnień. Scenariusz alternatywny Nie znaleziono pracownika: 4. System wyświetla komunikat o tym, że nie znaleziono pracownika. Rysunek 45 Zmiana uprawnień pracownika diagram sekwencji 47
Rysunek 46 Zmiana uprawnień pracownika stereotypowy diagram klas 2.4.7. Zmiana hasła pracownika Aktor główny: Administrator Aktor drugorzędny: brak Scenariusz główny: 1. Administrator loguje się do systemu. 2. System potwierdza autoryzację. 3. Administrator wybiera opcję wyszukania pracownika. 4. System wyświetla informacje o pracowniku. 5. Administrator istrator wybiera opcję zmiany hasła pracownika. 6. Administrator podaje nowe hasło pracownika. 7. System wyświetla komunikat o powodzeniu operacji zmiany hasła. Scenariusz alternatywny Wprowadzono nieprawidłowe dane reprezentujące nowe hasło: 7a. System wyświetla komunikat o tym, że podane hasło jest nieprawidłowe. Scenariusz alternatywny Nie znaleziono pracownika: 4. System wyświetla komunikat o tym, że nie znaleziono pracownika. 48
Rysunek 47 Zmiana hasła pracownika diagram sekwencji Rysunek 48 Zmiana hasła pracownika stereotypowy diagram klas 2.4.8. Rejestracja klienta przez www Aktor główny: Klient Aktor drugorzędny: brak 49
Scenariusz główny: 1. Klient wybiera na stronie www opcję rejestracji konta. 2. System wyświetla formularz z polami wymagającymi uzupełnienia. 3. Klient wprowadza swoje dane, e-mail pełniący rolę loginu i hasło. 4. Klient wybiera opcję potwierdzenia stworzenia nowego konta. 5. System wyświetla informacje o pomyślnym utworzeniu konta Scenariusz alternatywny Klient nie uzupełnił wymaganych pól: 5a. System wyświetla komunikat o tym, że nie wszystkie pola zostały uzupełnione. Scenariusz alternatywny Podany przez klienta login jest już przypisany do innego konta: 5b. System wyświetla komunikat o tym, że podany login został wcześniej zajęty. Rysunek 49 Rejestracja klienta przez www diagram sekwencji Rysunek 50 Rejestracja klienta przez www stereotypowy diagram klas 2.4.9. Logowanie Aktor główny: Klient lub pracownik Aktor drugorzędny: brak Scenariusz główny: 50
1. Użytkownik wybiera opcję logowania do systemu. 2. System wyświetla formularz z prośbą o wprowadzenie loginu oraz hasła. 3. Użytkownik podaje dane potrzebne do zalogowania. 4. System potwierdza autoryzację użytkownika. Scenariusz alternatywny Użytkownik podaje nieprawidłowe dane logowania: 4. System wyświetla komunikat o wprowadzeniu błędnego loginu lub hasła. Scenariusz alternatywny Awaria systemu: 4. System wyświetla komunikat informujący zalogowanie okazało się niemożliwe z powodu awarii. Rysunek 51 Logowanie diagram sekwencji Rysunek 52 Logowanie stereotypowy diagram klas 2.4.10. Wyświetlenie szczegółowych informacji o wycieczce Aktor główny: Klient Aktor drugorzędny: brak Scenariusz główny: 5. Klient wybiera na stronie www opcję pokazania aktualnych wycieczek. 6. System wyświetla aktualne wycieczki oferowane przez biuro. 7. Klient wybiera dla interesującej go wycieczki opcję wyświetlenia szczegółowych informacji. 8. System prezentuje szczegółowe informacje na temat wycieczki. 51
Scenariusz alternatywny Wycieczka nie posiada opisu zawierającego dodatkowe informacje: 5. System wyświetla komunikat o tym, że szczegółowe informacje nie zostały dodane do opisu tej wycieczki. Scenariusz alternatywny Nastąpił błąd podczas uzyskiwania szczegółowych informacji: 4b. System wyświetla komunikat o błędzie dostępu do dodatkowych informacji. Rysunek 53 Wyświetlenie szczegółowych informacji o wycieczce diagram sekwencji Rysunek 54 Wyświetlenie szczegółowych informacji o wycieczce stereotypowy diagram klas 52
2.4.11. Wyszukiwanie dopasowanych ofert Aktor główny: Klient lub Pracownik działu obsługi Aktor drugorzędny: Klient w przypadku, gdy oferty są wyszukiwane na życzenie klienta przez pracownika w punkcie obsługi Scenariusz główny: 1. Użytkownik wybiera opcję wyszukiwania dopasowanych ofert 2. System wyświetla formularz z prośbą o wprowadzenie kluczowych słów wyszukiwania. 3. Użytkownik podaje interesujący go typ/typy ofert dopasowanych. 4. System prezentuje oferty dopasowane spełniające kryteria podane przez użytkownika. Scenariusz alternatywny Podane przez klienta słowa kluczowe opisujące oferty dopasowane nie doprowadziły do znalezienia wyników: 4a. System wyświetla komunikat o braku wyników wyszukiwania ofert dopasowanych. Rysunek 55 Wyszukiwanie dopasowanych ofert diagram sekwencji Rysunek 56 Wyszukiwanie dopasowanych ofert stereotypowy diagram klas 53
2.4.12. Rezerwacja środka transportu przez klienta Aktor główny: Klient Aktor drugorzędny: System rezerwacji biletów Scenariusz główny: 1. Klient przegląda środki transportu oferowane przez biuro. 2. Klient wybiera interesujący go środek transportu. 3. System wyświetla formularz z prośbą o wybranie formy płatności. 4. Klient wybiera formę płatności. 5. System potwierdza dokonanie rezerwacji środka transportu. Scenariusz alternatywny Błąd generowania formularza z wyborem formy płatności: 3. System wyświetla informację o wystąpieniu błędu przetwarzania informacji. Rysunek 57 Rezerwacja środka transportu przez klienta diagram sekwencji Rysunek 58 Rezerwacja środka transportu przez klienta stereotypowy diagram klas 54
2.4.13. Anulowanie rezerwacji wycieczki Aktor główny: Klient Aktor drugorzędny: brak Scenariusz główny: 1. Klient przegląda zarezerwowane przez niego wycieczki. 2. Klient dla interesującej go rezerwacji wybiera opcję anulowania rezerwacji. 3. System wyświetla komunikat z prośbą o potwierdzenie chęci anulowania. 4. Klient potwierdza chęć anulowania wycieczki. 5. System wyświetla komunikat o powodzeniu anulowania. Scenariusz alternatywny Wycieczka nie może być anulowana, gdyż jest na to za późno: 3. System wyświetla informację o tym, że nie można anulować rezerwacji 24h przed jej startem. Scenariusz alternatywny Klient rezygnuje z anulowania wycieczki: 4. Powrót do punktu 1. Scenariusz alternatywny Wystąpił błąd przy próbie anulowania wycieczki: 5. System wyświetla komunikat o tym, że nie udało się anulować rezerwacji. Rysunek 59 Anulowanie rezerwacji wycieczki diagram sekwencji 55
Rysunek 60 Anulowanie rezerwacji wycieczki stereotypowy diagram klas 2.4.14. Generowanie statystyk sprzedaży Aktor główny: Manager Aktor drugorzędny: brak Scenariusz główny: 1. Manager przegląda rezerwacje dokonane w biurze. 2. Manager wybiera opcję generowania statystyk sprzedaży. 3. System wyświetla formularz z prośbą o podanie okresu do generacji statystyk. 4. Manager określa interesujący go okres i potwierdza generowanie statystyk. 5. System generuje statystyki i potwierdza pomyślne zakończenie tego procesu. Scenariusz alternatywny Manager rezygnuje z generowania statystyk sprzedaży: 4. Powrót do punktu 1. Scenariusz alternatywny Nastąpił błąd podczas generowania statystyk: 5. System wyświetla komunikat o wystąpieniu błędu i ewentualnych jego przyczynach. Rysunek 61 Generowanie statystyk sprzedaży diagram sekwencji 56
Rysunek 62 Generowanie statystyk sprzedaży stereotypowy diagram klas 2.4.15. Dodawanie pracownika Aktor główny: Pracownik działu HR Aktor drugorzędny: brak Scenariusz główny: 1. Pracownik działu HR wybiera opcję dodania nowego pracownika. 2. System wyświetla formularz z prośbą o wprowadzenie danych pracownika. 3. Pracownik działu HR wprowadza dane pracownika. 4. Pracownik działu HR potwierdza chęć dodania pracownika. 5. System dodaje nowego pracownika i potwierdza dokonanie tej czynności. Scenariusz alternatywny Pracownik rezygnuje z dodanie pracownika: 4a. Powrót do modułu zarządzania pracownikami. Scenariusz alternatywny Nie wypełniono wszystkich wymaganych pól: 4b. System wyświetla komunikat o tym, że nie wszystkie potrzebne pola zostały uzupełnione. Scenariusz alternatywny Wystąpił błąd przy dodawaniu pracownika: 5a. System wyświetla komunikat o wystąpieniu błędu przy dodawaniu i jego ewentualnych jego przyczynach. Rysunek 63 Dodawanie pracownika diagram sekwencji 57
Rysunek 64 Dodawanie pracownika stereotypowy diagram klas 2.4.16. Opłacenie usługi w biurze Aktor główny: Pracownik działu obsługi Aktor drugorzędny: Klient Scenariusz główny: 1. Pracownik działu obsługi wybiera opcję wyszukania klienta. 2. System wyświetla formularz z prośbą o podanie parametrów wyszukiwania. 3. Pracownik działu obsługi podaje dane potrzebne do wyszukania klienta. 4. System wyświetla listę klientów spełniających kryteria wyszukiwania. 5. Pracownik działu obsługi wybiera interesującego go klienta. 6. System wyświetla informację o wybranym kliencie. 7. Pracownik działu obsługi wybiera opcję pokazania usług dla wybranego klienta. 8. System wyświetla usługi biura, które zarezerwował klient. 9. Pracownik działu obsługi wybiera opcję opłać dla interesującej go usługi. 10. System wyświetla komunikat o potwierdzeniu opłaty usługi. Scenariusz alternatywny Nie znaleziono klienta: 4. System wyświetla komunikat o braku klientów spełniających kryteria wyszukiwania. Scenariusz alternatywny Klient nie zarezerwował jeszcze żadnej usługi: 8. System wyświetla komunikat braku rezerwacji dokonanych przez klienta. Scenariusz alternatywny Operacja opłacenia usługi nie powiodła się: 10. System wyświetla komunikat o niepowodzeniu opłaty usługi. 58
Rysunek 65 Opłacenie usługi w biurze diagram sekwencji Rysunek 66 Opłacenie usługi w biurze stereotypowy diagram klas 2.4.17. Usuwanie wycieczki Aktor główny: Pracownik działu obsługi 59
Aktor drugorzędny: brak Scenariusz główny: 1. Pracownik działu obsługi przegląda wycieczki oferowane przez biuro. 2. Pracownik działu obsługi dla wycieczki, która ma być usunięta wybiera opcję usuwania. 3. System wyświetla prośbę o potwierdzenie usunięcia wycieczki. 4. Pracownik działu obsługi potwierdza chęć usunięcia wycieczki. 5. System wyświetla informację o pomyślnym usunięciu wycieczki. Scenariusz alternatywny Wybrano wycieczkę, która posiada rezerwacje: 3. System wyświetla komunikat o wystąpieniu błędu wynikającego z występowania aktualnych rezerwacji na wycieczkę i braku możliwości jej usunięcia. Scenariusz alternatywny Nie udało się usunąć wycieczki: 5a. System wyświetla informacje o wystąpieniu błędu podczas usuwania i niepowodzeniu operacji. Rysunek 67 Usuwanie wycieczki diagram sekwencji Rysunek 68 Usuwanie wycieczki stereotypowy diagram klas 60
2.5. Szczegółowy opis wymagań Zawiera kompletny i spójny opis jak system powinien realizować zdefiniowane wymagania funkcjonalne. 1. Zarządzanie użytkownikami System umożliwia dodawanie nowych kont dla użytkowników, zmianę danych osobowych użytkownika, hasła oraz uprawnień w przypadku pracowników. Zmiany mogą być dokonywane przez użytkownika tylko po pomyślnej autoryzacji. 1.1. Zarządzanie pracownikami System umożliwia administratorom i pracownikom zarządzającym zasobami ludzkimi tworzenie nowych kont, zmianę uprawnień nadanych pracownikowi oraz blokowanie możliwości korzystania z konta przez pracownika. 1.1.1. Dodawanie pracownika System pozwala dodać nowe konto pracownika po uprzednim wprowadzeniu danych pracownika oraz jednoznacznym określeniu hasła dostępu do konta. 1.1.2. Zmiana uprawnień pracownika System pozwala na zmianę uprawnień pracownika dokonywaną przez administratora lub kierownictwo wyższego szczebla. 1.1.3. Usuniecie pracownika System pozwala na zlikwidowanie konta pracownika. Możliwość korzystania z konta jest blokowane a wszystkie dane przypisane do konta przenoszone są do archiwum. 1.2. Zarządzanie klientami System umożliwia obsługę użytkowników za pomocą kont klienckich zakładanych bezpośrednio przez zainteresowanych w zdalny sposób. 1.2.1. Rejestracja klienta System pozwala użytkownikowi utworzyć nowe konto za pomocą którego będzie korzystał z usług biura podróży. Przy tworzeniu konta należy podać dane osobowe, hasło oraz adres e-mail na który wysłane zostanie potwierdzenie rejestracji. Użytkownik będzie jednoznacznie identyfikowany za pomocą podanego adresu e-mail oraz hasła. 1.2.2. Edytowanie profilu użytkownika System pozwala użytkownikowi na zmianę hasła oraz danych podanych przy rejestracji po zalogowaniu się. Umożliwia także zresetowanie hasła w przypadku utraty hasła za pomocą e-maila na podane przy rejestracji konto wysłane zostanie 61
nowe, wygenerowane hasło, które ważne będzie tylko przy jednokrotnym logowaniu. Hasło zmienione przez użytkownika ma nieograniczoną ważność. 1.2.3. Usuwanie profilu użytkownika System pozwala użytkownikowi na usunięcie stworzonego konta. Dane przypisane do konta przeniesione zostaną do archiwum, a konto zostanie zablokowane. 2. Zarządzanie wycieczkami System umożliwia zarządzanie wycieczkami oferowanymi przez biuro podróży. Pozwala na dodawanie nowych wycieczek, zmianę parametrów i opisów istniejących wycieczek oraz usuwanie nieaktualnych ofert wycieczek. 2.1. Dodanie wycieczki System umożliwia pracownikowi dodawanie nowych wycieczek po uprzednim określeniu wymaganych parametrów wycieczki. 2.2. Edytowanie wycieczki System umożliwia pracownikom na zmianę wcześniej ustalonych parametrów wycieczki. Pracownik zadecyduje czy o zmianach mają być poinformowani klienci, którzy zamówili określona wycieczkę. 2.3. Usuwanie wycieczki System umożliwi pracownikom usuwanie nieaktualnych ogłoszeń wycieczek. 2.4. Wyszukiwanie wycieczek System umożliwia wyszukanie wycieczek spełniających zadane przez użytkownika parametry wyszukiwania. 2.4.1. Wyszukiwanie wycieczek spełniających kryteria wyboru użytkownika System pozwala użytkownikowi określić wszystkie parametry wycieczki a następnie wyszukać pasujące do zadanych parametrów wycieczki. 2.4.2. Wyszukiwanie dopasowanych ofert System pozwala użytkownikowi na wyszukanie wycieczek posujących do parametrów zdefiniowanych dla danej grupy z wybranej oferty dopasowanej 2.5. Wyświetlanie informacji o wycieczce System umożliwia wyświetlenie szczegółowych informacji o wycieczce oraz dołączonych do opisu wycieczki materiałów. 2.5.1. Wyświetlanie szczegółowych informacji o wycieczce System pozwala na wyświetlenie szczegółowych informacji o wycieczce udostępnionych klientom. 2.5.2. Wyświetlanie fotogalerii miejsca pobytu 62