1 Celowość stosowania aplikacji do obsługi hotelu

advertisement
POLITECHNIKA CZĘSTOCHOWSKA
WYDZIAŁ INŻYNIERII MECHANICZNEJ I INFORMATYKI
PRACA DYPLOMOWA INŻYNIERSKA
Projekt i implementacja aplikacji internetowej do obsługi hotelu
Tytuł pracy przetłumaczony na język angielski piszemy poniżej
Adam Nita
Nr albumu: 98367
Kierunek: Informatyka
Studia: niestacjonarne
Poziom studiów : I
Promotor pracy: dr inż. Piotr Dziwiński
Praca przyjęta dnia:
Podpis promotora:
Częstochowa, 2016
Spis treści
CEL PRACY .................................................................................................................................................... 3
WSTĘP ............................................................................................................................................................. 5
1
2
3
CZĘŚĆ OPISOWA ................................................................................................................................ 7
1.1
FORMA PRACY MAGISTERSKIEJ........................................................................................................ 7
1.2
TECHNIKA PISANIA PRACY............................................................................................................... 7
ANALIZA PRAKTYCZNYCH ROZWIĄZAŃ W DANEJ DZIEDZINIE .................................... 11
2.1
STRUKTURA SYSTEMU ................................................................................................................... 11
2.2
ZASADA DZIAŁANIA SYSTEMU ....................................................................................................... 11
2.3
ZASTOSOWANIA.... ........................................................................................................................ 11
CZĘŚĆ PRAKTYCZNA – BADANIA, PROGRAM ........................................................................ 13
3.1
OBIEKT BADAŃ .............................................................................................................................. 13
3.2
ŚRODOWISKO BADAWCZE .............................................................................................................. 13
3.3
PRZEBIEG BADAŃ.......................................................................................................................... 13
3.4
WYNIKI BADAŃ ............................................................................................................................. 13
3.5
WNIOSKI ....................................................................................................................................... 13
PODSUMOWANIE ....................................................................................................................................... 15
LITERATURA............................................................................................................................................... 17
DODATEK A. KOD PROGRAMU KOMPUTEROWEGO ..................................................................... 18
DODATEK B. SPIS ZAWARTOŚCI DOŁĄCZONEJ PŁYTY CD ......................................................... 19
Cel pracy
Celem niniejszej pracy jest projekt i implementacja aplikacji służącej do obsługi hotelu.
Podstawową funkcjonalnością programu jest umożliwienie klientom rezerwację pokoju
poprzez stronę internetową. Osoba zainteresowana będzie miała możliwość wyboru
terminu pobytu, rodzaju pokoju oraz wszystkich dodatkowych opcji, które oferuje hotel.
Natomiast recepcjonista będzie miał możliwość zarządzania listą dostępnych pokoi,
podglądu obłożenia, oraz wprowadzania zmian w systemie.
W pierwszym rozdziale przedstawiony został ogólny zarys problematyki niniejszej
pracy, czyli celowość stosowania aplikacji służących do obsługi hotelu. Zaprezentowane
zostały również przykładowe programy tego typu, ich dokładne przeznaczenie, cechy
charakterystyczne oraz porównanie. Na tle istniejących rozwiązań omówiona jest także
aplikacja będąca tematem niniejszej pracy.
Drugi rozdział zawiera omówienie i analizę technologii użytych do budowy aplikacji.
Zaprezentowana jest w nim również struktura programu i zasada jego działania.
Przedstawione są wymagania i sposób ich rozwiązania.
Trzeci rozdział stanowi część praktyczna w skład której wchodzi prezentacja
środowiska oraz sposób implementacji najważniejszych elementów programu. Omówione
są poszczególne części kodu i ich wpływ na sposób działania aplikacji. Przedstawione są
także sposoby rozwiązujące problemy wchodzące w skład wymagań biznesowych.
Wstęp
W dzisiejszych czasach Internet jest istotnym elementem w życiu każdego człowieka.
Jest on podstawowym źródłem informacyjnym, reklamowym oraz usługowym. Stanowi
niewyczerpane źródło wiedzy na każdy temat oraz jest doskonałym medium komunikacji
między użytkownikami. Istotną rolę odgrywa również w sprzedaży towarów i usług.
Odbywa się to przy pomocy sklepów internetowych oraz stron dedykowanych konkretnym
usługom. Dzięki wykorzystaniu bankowości elektronicznej możliwa jest finalizacja
transakcji bez wychodzenia z domu. Internet wykorzystujemy zatem zarówno do pracy,
rozrywki jak i w celu ułatwienia wykonywania codziennych czynności. Stanowi doskonałe
źródło informacji przy planowaniu podróży. Jest nie zastąpiony w wyszukiwaniu
korzystnych cenowo ofert oferujących zakwaterowanie wraz z dodatkowymi usługami.
Bez względu na cel naszej podróży, możemy przebierać w ofertach przedstawiających
odpowiadające nam standardy pokoju oraz usług dodatkowych. Usługami takimi może być
wyżywienie, rezerwacja sali konferencyjnej, SPA itp. Doskonałym sposobem załatwienia
wszystkich formalności związanych z pobraniem informacji o wolnych terminach
rezerwacji a także samej rezerwacji jest strona internetowa hotelu. By spełniała ona swoją
rolę musi być odpowiednio dopasowana do oferty jaką oferuje dany obiekt.
1 Celowość stosowania aplikacji do obsługi hotelu
W tym rozdziale zaprezentowane zostaną przykładowe aplikacje do obsługi
hotelu, oraz opis ich funkcjonalności. Zawarte zostaną porównania w kontekście
aplikacji będącej tematem niniejszej pracy. Omówiona zostanie specyfika tego
typu aplikacji i korzyści z ich stosowania.
1.1 Aplikacja SOHIS
Jednym z programów do obsługi hotelu jest aplikacja "Sohis - hotel". Jak
deklaruje producent oprogramowanie zawiera podstawowe funkcje niezbędne do
obsługi klienta, począwszy od rezerwacji poprzez meldunek, obciążenie go
usługami dodatkowymi w czasie pobytu, kończąc na wymeldowaniu oraz
wystawieniu dokumentu potwierdzającego odbycie transakcji (paragon fiskalny
bądź faktura). Aplikacja zawiera w sobie moduł pozwalający na optymalną
obsługę zaliczek, zgodnie z istniejącą stawką podatku. Umożliwia to
automatyzacje wystawiania faktur, bez konieczności stosowania dokumentów
korygujących. Dostępna w programie jest również możliwość planowania i
obsługi rezerwacji grupowych za pomocą dwóch metod: bezpośrednich obciążeń
zajętych przez grupy pokoi oraz metodą kalkulacji. Sohis pozwala również na
prowadzenie małego magazynu dla towarów powiązanych bezpośrednio z
ewidencją stanów oraz sprzedażą.
Główna funkcjonalność programu Sohis Hotel to:

inteligentny grafik meldunków oraz rezerwacji (możliwość filtrowania w
dowolny sposób)

księga meldunkowa oraz rezerwacji (z opcją rezerwacji grupowej)

moduł Kasa dokumenty (kasowy raport, KP, KW)

moduł sprzedażowy (opcja mini magazynu towarowego na recepcji)

moduł zarządzania dokumentami (możliwość powiązania dokumentów
sprzedaży i płatności)

księga żywieniowa gości (rozszerzenie o żywienie pracownicze i
zewnętrzne)

łączenie kilku pozycji sprzedaży w jedną na fakturze

fiskalizacja zaliczek, wystawianie faktur mieszanych oraz marżowych

moduł gastronomiczny, usług hotelowych
i innych, w oparciu o
podręczny magazyn

współpraca z gastronomicznym programem -SZEF oraz -POS

przesyłanie danych do księgowego programu (np Enova, CDN KH, itp.)

raportowanie przekazania zmian na recepcji wraz z wydrukami

zapewnienie podstawowych wydruków (zestawienie sprzedaży, raport
kasowy dokumentów zapłaty, raport pokojowy, raport żywienia,
rezerwacje, meldunki)

możliwość pracy z dowolnym programem księgowym oraz dowolną
centralą

współpraca z telefonicznymi centralami

wydruk kart pobytów i rezerwacji
1.2 Aplikacja HORTRES
Hortres to przykład kolejnej aplikacji do obsługi hotelu. Nowoczesne podejście
pozwala podczas poszukiwania miejsc na wypoczynek przez Internet dokonać
natychmiastowej rezerwacji i płatności zaliczki. Pozwala na obsługę rezerwacji na
wysokim poziomie. Nie jest przy tym pobierana prowizja od rezerwacji. Opłata
jest w stosunku rocznym i jest to jedyny koszt ponoszony przez hotel. Płatność
jest w formie abonamentowej, dokonywanej raz w roku nie zależnie tym samym
od ilości obsłużonych rezerwacji. W skład abonamentu wchodzi również
prezentowanie naszych ofert na portalach hotelowych takich jak: rezerwante.pl,
wakacjoner.pl oraz pakietyhotelowe.pl. Serwisy są wysoko wypozycjonowane co
stanowi źródło doskonałej reklamy. Aplikacja jest dostępna również na tablety,
smartfony oraz urządzenia mobilne, co w dzisiejszych czasach dla twórców
aplikacji jest uważane za niezbędne. Według przeprowadzonych badań to właśnie
za pośrednictwem urządzeń mobilnych serwis odnotowuje największa liczbę
rezerwacji. Interfejs jest responsywny, co pozwala na odpowiednie dopasowanie
wyglądu i czytelności do wszystkich urządzeń mobilnych, bez zależności od
przekątnej ekranu oraz rozdzielczości.
W aplikacji mobilnej panel jest intuicyjny, prosty i łatwy w użyciu, zarówno dla
obsługi hotelu jak i gości. Umożliwia on wprowadzenie ograniczeń rezerwacji na
konkretne dni. Pojawiające się rezerwacje w HORTRES powodują blokowanie
terminu w hotelowym programie oraz na odwrót. Zapobiega to overbookingowi.
Umieszczenie aplikacji na stronie zwiększa liczbę rezerwacji, ponieważ
dokonujemy je w sposób sprawny i automatyczny, dodatkowo przez całą dobę.
Powoduje również wzrost konwersji dzięki sprzedaży dodatkowych opcji podczas
dokonywania rezerwacji. Hortres stanowi również narzędzie marketingowe,
pozwalające na sprzedaż dodatkowych opcji w trakcie rezerwacji, jak również na
działanie lojalnościowe. Dzięki niej , hotel może oferować okazjonalne pakiety i
specjalne oferty. Również rabatowe kody stanowiące podziękowanie za
skorzystanie z usług, pozwalające utrzymać więź z gośćmi. Integracja ze stroną
internetową obiektu z programem hotelowym
jest szybka. Możliwość
dostosowania wyglądu do stylu strony, jak również krótki czas potrzebny na
instalację HORTRES, oraz wprowadzeniem pokoi, zdjęć, cen, opisów wpływają
na to iż czas realizacji zamówienia stanowi jeden dzień. Sam proces wdrożenia i
instalacji na stronie www hotelu jest bezpłatny, nie wymagane jest ponoszenia
żadnych dodatkowych opłat. Udostępniana jest szczegółowa instrukcja która
opisuje jak sprawnie poruszać się po panelu, zapewniając tym samym wsparcie
techniczne. System pozwala na obserwację statystyk sprzedażowych oraz
skuteczność tej formy rezerwacji, na przykład wykorzystując współczynnik
konwersji. Stanowi ono użyteczne narzędzie marketingowe, a informacja
statystyczna umożliwia szybkie podjęcie działania. Aplikacja jest łatwa do
konfiguracji, umożliwia stosowanie swoich szablonów e-maili, dopasować pod
względem kolorystycznym plugin systemowy. Edycja jest prosta i szybka, co
sprawia że interwencja serwisu jest nie potrzebna. Łatwość zarządzania pozwala
na samodzielne edytowanie opisów pokoi, cen oraz ich obłożenia. Działania
recepcyjne czyli odejmowanie i dodawanie rezerwacji, rozsyłanie maili jest proste
w obsłudze. Wszystkie wiadomości mogą być spersonalizowane i dostosowane do
wyglądu wg potrzeb hotelu. Pomoc techniczna oferowana przez firmę jest
bezpłatna.
1.3 Aplikacja S4H
S4H to program dla hoteli, posiadający grafik rezerwacji oraz zasobów S4H
Hotel&SPA. Skierowany jest on do hoteli i pozostałych obiektów noclegowych,
stanowiąc bogate oprogramowanie, które dzięki dostępności wielu modułów
pozwala kompleksowo, przyjemnie i szybko zarządzać obiektem na recepcji,
dokonywać rezerwacji pokoi oraz restauracją. Twórcy aplikacji wychodzą z
założenia, że każdy ceniący się pensjonat, hotel lub ośrodek wypoczynkowy
powinien mieć program do obsługi bazy klientów, jak również do zarządzania
całością nieruchomości.
Oprogramowanie S4H jest zaprojektowane tak, by każdy właściciel tego typu
obiektu mógł w pełnym stopniu korzystać z jego możliwości. Szereg modułów
dodatkowych sprawia, iż aplikacja potrafi spełnić wymagania klientów o
największych wymaganiach, którzy oczekują od programu znacznie więcej niż
przechowywanie danych. Dzięki programowi S4H obsługa klienta staje się
wyjątkowo prosta. Rozwiązania jakie zostały zastosowane są intuicyjne i
powoduję, że pracownicy hotelu mogą bezproblemowo dokonać obsługi klienta,
na każdym etapie jego pobytu w ośrodku. Możliwość działania współpracujących
ze sobą modułów oraz wymianie danych klientów pomiędzy nimi pozwala
każdemu pracownikowi odpowiedzialnemu lub pracującemu w danym dziale bez
przeszkód kontynuować obsługiwanie klienta równocześnie mając dostęp do jego
dotychczasowego zamówienia. Jest to istotnym elementem dla klienta, który
wymaga w hotelu kompleksowej obsługi w dowolnym miejscu. Powoduje to
konieczność dostępu do jego danych w każdym z modułów S4H.
Oprogramowanie S4H pozwala dopasować go do własnych potrzeb, oferując
obiektowi całościową obsługę wedle wymagań. Wpływa to na możliwość
koncentracji na obsłudze klienta i jego satysfakcji, a nie na samej obsłudze
programu.
1.4 Aplikacja X2 HOTEL
X2Hotel to oprogramowanie służące do obsługi recepcji hotelowej oparte o
funkcje programu X2Manager uatrakcyjnionego o funkcję rezerwacji oraz
pobytów, rozliczeniowe konto gościa, definiowanie hotelowych obciążeń z
kartoteką pokoi, gości i firm.
Dzięki zintegrowaniu w jednym systemie obsługi hotelowej recepcji,
gastronomię i inne punkty sprzedaży (imprezy, sklepy, catering), wszystkie obroty
hotelu mogą być zawarte w jednolitych statystykach i raportach.
Aplikacja zapewnia funkcje specyficzne dla hotelu i raporty, w tym grafik
pokoi i stan ich obłożenia, listę wyjazdów i przyjazdów, listę śniadań, saldo-lista,
hotelowe statystyki, plan sprzedażowy, interfejs do telefonicznej centrali itp.
Współdzielą z aplikacjami takimi jak X2Kasa, X2Pos, X2Manager funkcje
administracyjne, kasowe i bazy danych.
Oprogramowanie
X2Hotel
ma
możliwość
współpracy
z
systemami
zewnętrznymi obsługi dostępu do hotelowych pomieszczeń w postaci
elektronicznych zamków.
Aplikacja skierowana jest pod system operacyjny MS Windows, może
pracować w sieci jak również na pojedynczym stanowisku, korzystając z
standardowego sprzętu PC zawierającego dodatkowo wyspecjalizowany sprzęt
służący do obsługi sprzedaży: drukarki fiskalne, dotykowe ekrany, bonowniki
zdalne "Nano", czytniki magnetycznych kart oraz kodów kreskowych, dozowniki,
wagi, szufladki na pieniądze itp.
X2Hotel stosowany jest w małych, średnich oraz dużych obiektach hotelowych.
Wysoka elastyczność konfiguracji systemu pozwala z wysoką skutecznością
stosować go w hotelach, motelach i pensjonatach, w szczególności obiektach
posiadających szeroki zakres usług gastronomiczno-hotelarskich.
Funkcjonalność aplikacji jest następująca:

grafik meldunków i rezerwacji

obsługa indywidualnych i grupowych rezerwacji

potwierdzenie i raportowanie rezerwacji

proste rozliczenie z gośćmi

możliwość zarządzania rezerwacjami (skracanie i przedłużanie pobytów,
zmiany pokoju)

współpraca z telefonicznymi centralami (rejestr połączeń gości)

możliwość ustalania cen dla indywidualnych oraz standardowych pokoi

rozliczenia dla grup oraz gości indywidualnych

wystawianie sprzedażowych dokumentów (Faktury VAT, Faktury
PROFORMA, Rachunki)

możliwość dodawania informacji o kliencie

zestawienie obłożenia pokoi w hotelu

podgląd aktualnego obłożenia

podgląd stanu pokoi

współpraca z innymi aplikacjami X2System (moduł gastronomiczny)

moduł wysyłania wiadomości do użytkowników oprogramowania

drukowanie diagramów

możliwość nadania uprawnień dla poszczególnych użytkowników

wykonywanie magazynowych dokumentów (RW, PZ, MM.) oraz
zarządzanie magazynem

tworzenie kasowych dokumentów

współpraca z elektronicznymi zamkami (zgodnie z potrzebami)

możliwość blokady pokoju na czas remontu lub przeglądu

rejestr zdarzeń wprowadzonych przez użytkowników

eksport danych do systemów księgowych

rozliczenie
rezerwacji
częściowe
(podział
na
pozycję
rezerwacja/rachunek)
1.5 Aplikacja HotelIN
Popularność hotelowych systemów
rezerwacji
np:
Booking, Trivago,
CheapHostel jak również krajowe systemy takie jak Noclegowo mają ogromne
możliwości ułatwiające znalezienie nowych klientów. Odpowiedni system
rezerwacyjny hotelu daje możliwość sprawnego i szybkiego zorganizowania
grafiki recepcji hotelowej, eliminując ryzyko pomyłki. HotelIN nadaje się
doskonale do użytku w obiektach różnej wielkości umożliwiając samodzielną
organizację pracy recepcji niewielkiego hotelu, pensjonatu lub motelu. Również
pozwala na import i aktualizację bieżącą rezerwacji dokonanych poprzez internet
w systemach zarządzającymi dużymi hotelami.
Wieloletnia
praca
nad
programem
pozwoliła
na
przygotowanie
oprogramowania rezerwacyjnego, stanowiącego niezawodny sposób pozwalający
spełnić jedną z najistotniejszych ról obiektu hotelowego, umożliwiając klientom
dokonanie rezerwacji i przyjazd do hotelu.
Dzięki pełnej automatyzacji minimalizowane są wszystkie błędy ludzkie,
również te popełniane przez internautę korzystającego z systemu. Aplikacja
zawiera stosowny algorytm pozwalający wykrywać literówki oraz błędy
dokonywane przy wypełnianiu formularza rezerwacyjnego online.
Program jest kompatybilny ze wszystkimi CMS, więc możemy zastosować
moduł rezerwacji na własną stronę, bez jakichkolwiek ingerencji programistów i
webmasterów. System rezerwacyjny pracuje na Wordpress oraz innych
popularnych systemach takich jak Drupal i Joomla. Pomoc techniczna HotelIn
pomaga zaimplementować skrypt na stronie hotelowej dostępnej dla klientów.
Cena w przypadku tego programu nie jest wysoka, w porównaniu do
konkretnych programów dedykowanych dla konkretnego hotelu lub dokonywanie
rezerwacji pokoi online ograniczających się jedynie do rezerwacji internetowej
poprzez wysyłkę e-mail z danymi osobowymi klienta. Program HotelIN pozwala
na kompleksową rezerwację pokoju, od początku do końca, a pracownikom hotelu
zostawiając do zarządzania panel z podglądem grafiku recepcji i wymaganiami
jakich oczekują goście.
1.6 Porównanie
Wśród dostępnych na rynku aplikacji do obsługi hotelu możemy znaleźć wiele
aplikacji. Jednak różnią się one swoimi cechami, przeznaczeniem i ilością
dodatkowych funkcji. Dla mniejszych obiektów dedykowane są inne programy,
mniej złożone niż te, sprawdzające się dla dużych hoteli. Związane jest to z
ilością funkcji dodatkowych, które nie są potrzebne gdy zarządzamy mniejszym
obiektem. Nawet w pensjonatach z kilkoma pokojami warto rozważyć użycie tego
typu aplikacji, jednak w tym przypadku oczekiwania firmy oferujących noclegi
nieco się różnią od dużych hoteli. Tym samym mniej zaawansowane aplikacje
częściej spełniające podstawowe funkcje są wystarczające. Co za tym idzie ich
obsługa jest prostsza, jak również cena atrakcyjniejsza. Znalezienie aplikacji
spełniającej konkretne wymagania nie jest łatwym zadaniem. Często trzeba
zrezygnować z jednych funkcjonalności kosztem innych. Idealnym rozwiązaniem
byłoby zastosowanie aplikacji pod konkretne wymagania danego hotelu. Koszt
jaki ponosi firma może okazać się często zbyt duży by rozważać taką opcję,
biorąc jednak pod uwagę miesięczne abonamenty w przypadku stosowania
gotowych zaawansowanych rozwiązań sprawa wygląda już nieco inaczej.
Zainwestowane koszty mogą tym samym w niedługim czasie się zwrócić, a my
dostajemy aplikację dopasowaną idealnie do naszych potrzeb.
Porównując aplikacje do obsługi hotelu, szerokie grono ich to programy do
instalacji na komputerze w recepcji. Rezerwacja pokoi odbywa się kanałami
tradycyjnymi, czyli telefonicznie, mailowo oraz osobiście. Usprawnienie dotyczy
jedynie zapisania terminów w programie, prezentującym nam w graficznej formie
obłożenie
pokoi
w
hotelu.
Mimo
posiadania
dodatkowych
funkcji
usprawniających pracę recepcjonistów, rozwiązanie nie jest zbyt dobre, ponieważ
wymaga czasu od pracownika recepcji na odebranie telefonu, przepisanie z emalia
danych otrzymanych drogą elektroniczną czy tez w inny sposób. Łatwo tym
samym o pomyłkę. Dla gości również możliwość sprawdzenia online wolnych
terminów jest bardzo istotną zaletą. Nie ma konieczności dostosowywania się do
godzin pracy recepcji lub oczekiwania na odpowiedz emaliową od pracownika
hotelu. Warto dodać iż klienci chętniej korzystają z usług hoteli które umożliwiają
rezerwację w tak dogodnej formie, jak strona internetowa.
Porównując istniejące aplikacje możemy zauważyć pewne różnice między nimi,
takie jak stopień zaawansowania aplikacji, możliwość rezerwacji online oraz
szereg innych cech przez nie oferujących. Nie zawsze jednak najbardziej
zaawansowana aplikacja, posiadająca wiele opcji jest doskonałym wyborem.
Może ona być zbyt skomplikowana w obsłudze oraz cenowo nie korzystna. W
takim wypadku nie opłaca się korzystać z programów oferujących wiele
dodatkowych opcji za które musimy ponieść koszty, jednak i tak nie będą one
wykorzystane.
1.7 Nasza aplikacja na tle istniejących rozwiązań
Celem stworzenia aplikacji jest zaoferowanie oprogramowania posiadającego
niezbędne cechy potrzebne do obsługi konkretnego hotelu. Aplikacja ma posiadać
niezbędną funkcjonalność, tym samym zachowując prostotę działania co
pozwalałoby na sprawną pracę obsługi hotelu jak i klientów. Zaimplementowanie
odpowiedniej funkcjonalności pozwoli zoptymalizować koszty, a dalsze wsparcie
produktu nie powinno stanowić wysokiego kosztu użytego zastosowania.
Stworzona aplikacja będzie zawierać cechy których nie posiada żadna z
przedstawionych aplikacji, gdyż wymagania użytkownika obiektu są mocno
spersonalizowane. Podstawową funkcjonalnością tym samym jest udostępnienie
możliwości rezerwacji hotelu, poprzez przeglądarkę internetową klienta. Tego
typu rozwiązanie istnieje w aplikacjach HORTRES i hotelIN. Pierwsza z nich jest
jednak aplikacją zbyt złożoną dla naszego obiektu, co oznacza iż koszty jej użycia
byłyby niewspółmierne do korzyści odniesionych dzięki jej zastosowaniu.
HotelIN jest znacznie prostszą aplikacją, jednak brakuje opcji zastosowania
aplikacji na urządzenia przenośne, co z kolei zapewnia HORTRES. Żadne w tych
rozwiązań tym samym nie jest do końca satysfakcjonujące.
Kolejną cechą która jest wymagana do obsługi naszego obiektu jest mobilność
jej użycia którą posiada aplikacja S4H. Pracownicy hotelu mogą bezproblemowo
dokonać obsługi klienta, na każdym etapie jego pobytu w ośrodku. Dzięki
możliwości zarządzania aplikacją poprzez przeglądarkę komputera może mieć do
niej dostęp nie tylko recepcjonista, jak również właściciel obiektu, pracownicy
gastronomi i innych działów. Umożliwia to dostęp do danych bazy klienta, a także
podgląd wprowadzonych zmian przez innych pracowników.
Kolejnym wymaganiem od naszej aplikacji jest możliwość rozbudowy o
dodatkowe opcje, występujące w aplikacji X2 HOTEL. Jednak użycie
wspomnianego rozwiązania nie jest możliwe, gdyż działa ona jedynie offline.
Ciekawą funkcjonalnością jest możliwość rezerwacji indywidualnych oraz
grupowych. Zastosowane tego rozwiązania pozwala już na etapie rezerwacji przez
klienta użyć odrębnych opcji rezerwacji grupowej, tym samym zmieniając sposób
wyliczeń płatności za tego typu usługę.
Pomimo istnienia różnych aplikacji do obsługi hotelu, na rynku brak jest
aplikacji posiadającej cechy, które są wymagane przez właściciela naszego hotelu.
W przypadku konieczności zastosowania gotowych rozwiązań potrzebne by było
zastosowanie przynajmniej dwóch aplikacji, jednak ze względu na brak
komunikacji między nimi rozwiązanie również nie byłoby optymalne.
Powodowałoby to także konieczność wielokrotnego wpisywania tych samych
danych do każdej z nich. Jedna aplikacja łącząca cechy kilku z nich jest
optymalnym rozwiązaniem, łącznie z prostotą obsługi stanowi doskonałe
uzupełnienie strony internetowej i zastąpienie dotychczasowego programu offline
do wprowadzania rezerwacji za pomocą programu komputerowego.
Głównym założeniem jest stworzenie aplikacji do obsługi rezerwacji, która
poprzez stronę internetową będzie umożliwiała klientom zarezerwowanie pokoju.
Dla obsługi hotelu zostanie udostępniony panel administracyjny, gdzie możliwa
będzie edycja pokoi, ich dodanie oraz usunięcie. Możliwość zmiany typu pokoju,
opisu, ceny i pozostałych opcji wprowadzonych przez klienta.
Podstawowe cechy jakie posiadać będzie nasza aplikacja to:

udostępnienie możliwości rezerwacji poprzez stronę internetową

udostępnienie panelu administracyjnego dostępnego online dla obsługi
hotelu

możliwość zarządzania rezerwacjami (skracanie i przedłużanie pobytów,
zmiany pokoju)

angielska wersja językowa

możliwość ustalania cen dla indywidualnych oraz standardowych pokoi

możliwość blokady pokoju na czas remontu lub przeglądu

potwierdzenie i raportowanie rezerwacji

udostępnienie usługi REST pozwalającej korzystać z aplikacji na
urządzeniach mobilnych
2 Technologie
wykorzystywane
w
tworzeniu
aplikacji
W tym rozdziale przestawione zostaną technologie zastosowane do tworzenia
aplikacji oraz powody wyboru konkretnych rozwiązań. Omówione zostaną
korzyści z ich stosowania zarówno dla osoby tworzącej aplikację jak i jej
użytkownika.
2.1 Przygotowanie środowiska
Podstawowym kryterium przed przystąpieniem do implementacji aplikacji jest
wybór środowiska programistycznego. Składa się na niego wiele czynników,
przede wszystkim związanych z wyborem zastosowanej technologii. Głównym
czynnikiem jest wybór języka programowania, a co za tym idzie kompilatora.
Kolejnym elementem jest baza danych spełniająca wymagania odpowiednie do
aplikacji. W przypadku aplikacji webowych konieczne jest również zastosowanie
serwera pozwalającego na uruchamianie aplikacji w przeglądarce internetowej.
Należy również rozważyć użycie narzędzi ułatwiających programowanie,
automatyzujących niektóre czynności jak również frameworki. Wybór technologii
jest istotną kwestią przed przystąpieniem do implementacji. Zastosowane
rozwiązania w tej pracy przedstawię w kolejnych punktach.
2.2 Java jako język programowania
Podstawowym kryterium przed przystąpieniem do implementacji aplikacji jest
wybór
języka
programowania.
W
przypadku
aplikacji
webowych
najpopularniejszymi rozwiązaniami są: PHP, Java oraz C#. Przeznaczeniem
języka PHP jest tworzenie rozbudowanych dynamicznych stron internetowych,
komunikujących się z bazą danych. Natomiast języki Java oraz C# mają więcej
zastosowań i są bardziej uniwersalne. O wyborze Java zadecydowało to, iż w
porównaniu do PHP daje większe możliwości dzięki istnieniu wielu narzędzi
developerskich oraz późniejszą łatwość pielęgnacji kodu. Ma to znaczenie w
dalszej rozbudowie aplikacji. Java jest również popularniejszym językiem niż C#,
co pozwala na łatwiejsze wyszukiwanie rozwiązań problemów na które możemy
napotkać
tworząc
własną
aplikację.
Dzięki
znajomości
tego
języka
15
programowania i zastosowaniu go do implementacji naszej aplikacji możemy w
przyszłości mniejszym nakładem pracy stworzyć aplikację do obsługi hotelu na
telefony komórkowe. Pozwoli to również na wykorzystanie istniejących już
rozwiązań w programowaniu aplikacji na system Android.
Do implementacji aplikacji zastosowano wersję Java Enterprise Edition będąca
platformą programistyczną do pisania aplikacji biznesowych. Wersja ta okazała
się najlepszym wyborem, ponieważ posiada wszystkie zalety języka Java SE oraz
wzbogacona jest dodatkowo o interfejsy sieciowe, pozwalające pisać aplikacje o
przeznaczeniu komercyjnym. Aplikacje takie instalowane są na serwerach
przystosowanych do tego celu. Różnica w pisaniu aplikacji w wersji Java
Enterprise Edition w porównaniu do Standard Edition jest taka, iż działamy w
kontekście serwera który musimy wcześniej skonfigurować. Przykładem takiego
serwera jest Apache Tomcat zastosowany w aplikacji zaimplementowanej w
kolejnych rozdziałach.
2.3 Baza danych SQL
Spośród najpopularniejszych baz danych wyróżnić możemy: PostgreSQL,
MySQL, Microsoft SQL Server i Oracle.
Decyzja o wyborze bazy danych jest istotną kwestią w dalszym rozwoju
oprogramowania. Bazy danych PostgreSQL i MySQL charakteryzują się tym, że
są oprogramowaniem typu OpenSource. Oracle natomiast bardzo dobrze
sprawdza się w przypadku przetwarzania dużej ilości informacji. MySQL posiada
mniejszą funkcjonalność od PostgreSQL jednak jest popularniejszy, z drugiej
strony natomiast posiada on kilka dodatkowych udogodnień. MySQL przeszedł
długą drogę dodając wiele zaawansowanych funkcji, w czasie gdy znacząco
wzrosła szybkość PostgreSQL w ostatnich kilku wydaniach. SQL Server jest
wysoce skalowalnym i wydajnym systemem zarządzania relacyjnymi bazami
danych. Bazuje on na dialekcie języka SQL, został stworzony z myślą o
platformie .NET Framework oraz udostępnia dodatkowe usługi. Oracle,
PostgreSQL
i
MySQL
są
obsługiwane
przez
większą
ilość
języków
programowania niż SQL Server. SQL Server nie jest zbyt uniwersalny, pod
systemem Windows istnieje możliwość tylko jego obsługi, w czasie gdy MySQL,
Oracle i PostgreSQL są wieloplatformowe. Dodatkowo Oracle i SQL Server są
prawnie zastrzeżonymi bazami danych, co przekłada się na to iż są uzależnione od
jednej firmy. Decyzja o wyborze bazy danych nie jest łatwa. W znaczącej
większości przypadków popularnych stron internetowych dla przeciętnego
16
odbiorcy wystarczający okaże się MySQL. W przypadku bardziej rozbudowanych
projektów PostgreSQL będzie dobrym rozwiązaniem ze względu na szybkość
działania. W naszej pracy zastosujemy natomiast bazy danych Oracle ze względu
na wieloplatformowość jak również jego uniwersalność względem języków
programowania. Do tego celu wykorzystamy wersję Oracle 11g Release 2 Express
Edition stworzoną dla osób uczących się programować w PHP, Java oraz .NET,
początkujących administratorów jak również jak również małych firm. Jest to
wersja bezpłatna z ograniczoną funkcjonalnością do maksymalnie 1GB pamięci
RAM, wykorzystująca tylko jeden procesor gdzie rozmiar danych użytkownika
jest ograniczony do 11GB. Ograniczenia te nie będą stanowić natomiast problemu
w przypadku implementacji aplikacji będącej tematem niniejszej pracy.
2.4 Serwer Tomcat
Do uruchomienia aplikacji poprzez przeglądarkę internetową potrzebny jest
serwer aplikacji. Zostaje on uruchomiony na tym samym środowisku co aplikacja,
w celu wsparcia dynamicznej budowy stron oraz wdrożenia usług. Dla aplikacji
opartych o język programowania Java możemy wyróżnić kilka z nich: GlassFish,
JBoss Application Server, Apache Tomcat, Molo, Jonas, Blazix i Resin. Każdy z
nich spełnia tą samą funkcję, a różnice między nimi są nieznaczne. Wszystkie
posiadają licencję typu Open Source. O wyborze Apache Tomcat zadecydowało
to, iż jest jednym z bardziej popularnych kontenerów Web. Spełnia swoją
podstawową rolę kontenera aplikacji webowych umożliwiając uruchamianie
aplikacji internetowych w technologii Java Server Pages oraz Java Servlets.
Sprawdza się doskonale w przypadku aplikacji nie wymagających pełnego
serwera aplikacji pisanych w środowisku Spring Framework. Cechy te
zadecydowały o wyborze Apache Tomcat jako serwer w aplikacji będącej
tematem niniejszej pracy.
2.5 Kompilator
Kompilator jest ważnym elementem środowiska programistycznego, którego
wybór jest determinowany zastosowanym językiem programowania. Jednym z
najczęściej stosowanych jest Eclipse. Jest on platformą na bazie którego powstało
zintegrowane środowisko programistyczne do tworzenia programów w Java.
Produktem konkurencyjnym dla Eclipse jest Netbeans. Do implementacji aplikacji
do obsługi hotelu zastosowany został kompilator Spring Tool Suite (STS)
powstały na bazie Eclipse. Różnica pomiędzy nimi nie jest wielka, jednak STS
17
zapewnia, że wszystkie elementy potrzebne do prawidłowego działania aplikacji
webowych opartych na frameworku Spring MVC będą działać prawidłowo.
Eliminuje to tym samym możliwość wystąpienia problemów ze zgodnością lub
instalacją poszczególnych elementów które musiały by być dołączone do Eclipse
w celu stworzenia poprawnie działającego środowiska.
2.6 Pozostałe zastosowane technologie:

Maven
- w aplikacji zastosowane zostało narzędzie Apache Maven
automatyzujące
budowę
oprogramowania.
Za
realizowane są poszczególne funkcje Mavena,
pomocą
wtyczek
są one pobierane
automatycznie przy pierwszym ich wykorzystaniu. W pliku o nazwie POM
(Project Object Model) znajdują się pliki określające sposób budowy
aplikacji.

Spring MVC - zastosowano w celu oddzielenia logiki biznesowej od
prezentacji, a także umieszczenie czegoś między nimi. W modelu znajduje
się kombinacja danych biznesowych oraz metod czyli reguł, które
przeprowadzają operacje na tych danych.

JSP - użyto w celu utworzenia dynamicznych dokumentów WWW w
formacie HTML i XML przy wykorzystaniu języka Java wplecionego w
kod HTML konkretnej strony. Jest to rozwiązanie podobne do PHP.

Ajax - jest sposobem wykorzystania języka JavaScript. Został użyty do
bezpośredniej komunikacji JavaScript z serwerem strony internetowej.
Pozwala to na komunikację z serwerem, bez potrzeby zatwierdzania
danych.

REST - wykorzystany do komunikacji klient-serwer. Bazuje na bazie
protokołu HTTP. Podstawowym założeniem REST jest istnienie zasobów
jako źródeł danych oraz żądania akcji.

XML - został użyty w celu przenoszenia i przechowywania danych
uwzględniając to co jest opisywane przez te dane.

JSON - zastosowano do wymiany danych. Json to format tekstowy,
bazujący na podzbiorze języka Java Script

HTML - zastosowano do tworzenia stron internetowych.

CSS - służy do formatowania wyglądu elementów języka HTML, które po
otwarciu w oknie przeglądarki określają wygląd strony internetowej.
18

Bootstrap - jest frameworkiem CSS, narzędzie zastosowano w celu
tworzenia interfejsu graficznego stron. Dzięki responsywności strona
będzie prezentowała się poprawnie na komputerze, smartfonie oraz
tablecie.
19
3 Projekt
W tym rozdziale przedstawiony zostanie ogólny zarys aplikacji. Struktura
programu i zasada jego działania. Omówione zostaną również wymagania.
3.1 Ogólny opis wymagań
Podstawową funkcjonalnością systemu jest rezerwacja pokoi hotelowych. Za
pomocą przeglądarki internetowej klient może sprawdzić dostępność pokoju w
wybranym terminie, zapoznać się z jego specyfikacją i dokonać rezerwacji.
Rezerwacja odbywa się poprzez dodanie pokoju do koszyka, uzupełnienie
wszystkich wymaganych danych klienta kończąc na wystawieniu rachunku.
Pracownik hotelu po zalogowaniu może natomiast dowolnie zarządzać listą pokoi.
Może również dokonywać zmian w rezerwacji oraz uzupełniać ją o potrzebne
informacje. Ma również dostęp do bazy klientów którą może modyfikować.
Aplikacja
ma
być
prosta
i
przejrzysta
przy
zachowaniu
wymaganej
funkcjonalności.
3.2 Szczegółowy opis wymagań
a) Wymagania funkcjonalne:

aplikacja umożliwia użytkownikowi wyświetlenie strony internetowej
hotelu wraz z listą pokoi będących w ofercie

użytkownik może filtrować listę pokoi po dacie dostępności, rodzaju
pokoju oraz jego cenie

użytkownik ma możliwość dokonania rezerwacji pokoju w wybranym
terminie, pod warunkiem że jest on wtedy wolny

aplikacja umożliwia zalogowanie się administratorowi za pomocą loginu
oraz hasła

administrator ma możliwość wyświetlenia listy rezerwacji

administrator aplikacji po zalogowaniu ma możliwość zarządzania
(dodawania, usuwania, edycji) listą dostępnych pokoi, listą klientów oraz
rezerwacjami

aplikacja waliduje poprawność wprowadzonych danych
20

aplikacja dostępna jest w dwóch wersjach językowych: polskim oraz
angielskim
b) Wymagania niefunkcjonalne:

aplikacja
dostępna
poprzez
stronę
internetową,
kompatybilna
z
najpopularniejszymi przeglądarkami internetowymi dostępnymi na rynku
zarówno na PC jak i urządzenia mobilne

dane aplikacji przechowywane są w wydajnej bazie danych SQL

udostępnienie usługi REST

prosty i przejrzysty interfejs użytkownika

obsługa błędów

użycie technologii XML lub JSON do przesyłania danych

zastosowanie Bootstrapa dla zapewnienia responsywności strony

ograniczenie dostępności klientowi do funkcjonalności dostępnych tylko
dla administratora

ograniczenie rozmiaru i formatu wgrywanych zdjęć

schemat bazy danych powinien zawierać tabele odpowiedzialne za
przechowywanie danych o pokojach, klientach oraz rezerwacjach.

wgrywane pliki zdjęciowe powinny być w formacie .jpg lub .png a ich
rozmiar ograniczony do: 1MB

aplikacja powinna być utworzona przy zastosowaniu najnowszych wersji
technologii dostępnych na rynku

dostępność aplikacji na mniej wydajnych urządzeniach

poprawne działanie aplikacji w przeglądarkach na urządzeniach mobilnych

aplikacja ma dać pełną kontrolę nad danymi znajdującymi się w tabeli:
pokoje, rezerwacje i klienci dla uprawnionych użytkowników

umożliwienie dalszej rozbudowy aplikacji
3.3 Przypadki użycia
Do obsługi programu przewidzianych zostało dwóch aktorów: klient i pracownik
(administrator):
•
Klient ma dostęp do systemu bez konieczności rejestracji i logowania.
Może przeglądać listę pokoi, sprawdzać dostępność w wybranym terminie,
21
dodawać pokoje do koszyka, a następnie po uzupełnieniu niezbędnych danych
dokonać rezerwacji.
•
Konto pracownika (administratora) dostępne jest po zalogowaniu.
Pracownik ma możliwość zarządzania pokojami, rezerwacjami oraz danymi
klienta. Może dodawać nowe pokoje, jak również edytować znajdujące się w
bazie oraz je usuwać. Ma również uprawnienia do zmiany terminu rezerwacji oraz
zarządzania danymi klienta.
3.4 Diagram tabel
Aplikacja korzysta z 3 tabel w bazie danych: pokoje, rezerwacje oraz klienci. Do
tabeli pokoje, rekordy dodawane są poprzez pracownika w momencie wypełnienia
formularza, może on także edytować i usuwać dane z tabeli poprzez wybranie
odpowiedniej opcji w aplikacji. W analogiczny sposób pracownik może zarządzać
tabelami rezerwacje oraz klienci. W przypadku uruchomienia przepływu zakupu,
dane do tabel dodawane są w momencie uruchomienia procesu zamówienia.
Użytkownik będący klientem uruchamia go w momencie potwierdzenia
22
rezerwacji, wtedy też do tabeli „klienci” oraz „rezerwacje” dodawane są
odpowiednie rekordy.
3.5 Diagram przepływu rezerwacji
Diagram przepływu rezerwacji rozpoczyna się w momencie wybrania przez
klienta konkretnego pokoju i kliknięciu przycisku: „Zamów”. Wtedy też
uruchamiany jest przepływ, pokój dodawany jest do koszyka. W momencie
kliknięcia:
„Koszyk”
użytkownik
trafia
do
podsumowania
rezerwacji
znajdujących się w koszyku. Możliwe jest dodanie kolejnego pokoju do koszyka
poprzez wybranie: „Wróć do zakupów” lub przejście do formularza: Informacje o
kliencie” po wybraniu przycisku: „Kupuje”. Po uzupełnieniu danych klienta i
kliknięciu: „Dodaj” klient przekierowywany jest na ekran dotyczący szczegółów
rezerwacji, po ich uzupełnieniu wyświetlany jest ekran: „Podsumowanie
rezerwacji”. W momencie kliknięcia: „Zatwierdź” rozpoczyna się proces
zamawiania,
który
potwierdzany
jest
wyświetleniem
kolejnego
ekranu:
„Potwierdzenie rezerwacji”. Klient otrzymuje numer zamówienia i następuje
koniec przepływu. W każdym momencie przed rozpoczęciem procesu zakupu
możliwy jest powrót do poprzedniego kroku poprzez wybranie przycisku:
„Wstecz”. W przypadku wygaśnięcia sesji wywoływany jest ekran: „Błąd
23
koszyka” informujący użytkownika o wystąpieniu błędu po którym kończy się
przepływ.
24
4 Implementacja
Rozdział ten zawiera sposoby rozwiązania najistotniejszych elementów aplikacji i efekty
działania zaimplementowanych technologii. Przedstawione są również fragmenty kodu, a
także screeny z efektami będącymi wynikiem ich zastosowania.
4.1 Struktura projektu
Organizacja struktury aplikacji opiera się o wzorzec Spring MVC, przez co aplikacja
została podzielona na trzy główne części: Model, Widok, Kontroler.
W momencie interakcji użytkownika z widokiem poprzez hiperłącze lub kliknięcie
przycisku, widok powoduje wygenerowanie zdarzenia informującego kontroler.
Kontroler odpowiedzialny za wyświetlenie listy pokoi:
@RequestMapping("/all")
public String allPokoj(Model model){
model.addAttribute("pokoje", pokojService.getAllPokoje());
return "pokoje";
}
Kontroler generuje rozkaz do modelu by zaktualizować dane. Gdy nastąpi aktualizacja
danych w modelu komunikat o zmianie trafia do widoku który wysyła zapytanie o
najbardziej aktualne dane. Dane z listą pokoi przechowywane są w bazie danych w tabeli
pokoje:
Tabela pokoje w bazie danych
25
Do dostępu do obiektów domenowych pokoi wykorzystywana jest klasa:
„PokojeDAOImpl”. Odczytem wszystkich pokoi znajdujący się w tabeli:
„Pokoje” zajmuje się specjalnie do tego celu stworzona metoda:
Metoda odczytująca wszystkie pokoje znajdujące się w bazie.
public List<Pokoj> getAllPokoje() {
List<Pokoj> wszystkiePokoje = new ArrayList<Pokoj>();
String query = "select pokoj_id, rodzaj, cena, ilosc_osob, opis,
lazienka, klimatyzacja, internet from pokoje";
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
con = dataSource.getConnection();
ps = con.prepareStatement(query);
rs = ps.executeQuery();
while (rs.next()) {
Pokoj pok = new Pokoj();
pok.setPokojId(rs.getInt("pokoj_id"));
pok.setRodzaj(rs.getString("rodzaj"));
pok.setCena(rs.getBigDecimal("cena"));
pok.setIloscOsob(rs.getInt("ilosc_osob"));
pok.setOpis(rs.getString("opis"));
pok.setLazienka(rs.getInt("lazienka"));
pok.setKlimatyzacja(rs.getInt("klimatyzacja"));
pok.setInternet(rs.getInt("internet"));
wszystkiePokoje.add(pok);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
rs.close();
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return wszystkiePokoje;
}
Za generowanie strony z listą pokoi odpowiada plik: „pokoje.jsp” gdzie wyświetlanie
poszczególnych elementów wchodzących w skład obiektu będącego pokojem wygląda
następująco:
Fragment pliku pokoj.jsp
<h3>${pokoj.rodzaj}</h3>
<p>Cena: ${pokoj.cena} PLN</p>
<p>Ilość osób: ${pokoj.iloscOsob}</p>
26
Po otworzeniu pliku: „pokoj.jsp” zdefiniowanego za pomocą języka html i zawierającego
elementy obiektu pokoj prezentowany jest użytkownikowi widok ze spisem wszystkich
pokoi.
Lista wszystkich pokoi:
[OPIS (schemat plików, plik jdbc, kontroler) opisać mvc, czym zajmuje się kontroler,
gdzie jest warstwa usług, można dodać schemat MVC, gdzie pliki odpowiedzialne za
konkretne zadania, jak wygląda plik .pom, dispacherServlet, pliki .jsp,]
[ SCREEN ??? ]
27
[ KOD METODY SŁUŻĄCE DO ŁĄCZENIA BAZ DANYCH ]
4.2 Obsługa baz danych przy pomocy JDBC
[OPIS]
[ SCREEN ??? ]
[ KOD METODY SŁUŻĄCE DO ŁĄCZENIA BAZ DANYCH ]
4.3 Spis pokoi
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.4 Filtrowanie po zadanych kryteriach
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.5 Dodanie, edycja, usuwanie pokoi
[OPIS]
[ SCREEN LISTA POKOI + (wgrywanie zdjęć)]
[ KOD LISTA POKOI ]
4.6 Logowanie
[OPIS]
28
[
SCREEN
LISTA
POKOI
]
[ KOD LISTA POKOI ]
4.7 Walidacja
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.8 Obsługa dat
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.9 REST
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.10 Przesyłanie danych za pomocą XML
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.11 Wersje językowe
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.12 Koszyk zamówień
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.13 Wysyłka potwierdzenia poprzez email
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
30
4.14 Generowanie faktury
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.15 CSS i Bootstrap
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.16 Obsługa wyjątków
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
4.17 JDBC
[OPIS]
[ SCREEN LISTA POKOI ]
[ KOD LISTA POKOI ]
31
Podsumowanie
Rozdział ten podsumowuje czy założenia projektu zostały osiągnięte.
32
Download
Random flashcards
ALICJA

4 Cards oauth2_google_3d22cb2e-d639-45de-a1f9-1584cfd7eea2

66+6+6+

2 Cards basiek49

Pomiary elektr

2 Cards m.duchnowski

Create flashcards