Wymagania - PatrykLisik/hotel-app GitHub Wiki

Wymagania

Kontekst funkcjonowania

System będzie służył do zarządzania hotelem. Użytkownikami systemu będą: administrator, manager, pracownicy recepcji oraz klienci, a także goście (osoby nie posiadające konta w systemie). Poszczególni użytkownicy będą mieli możliwość komunikacji ze sobą.

Backed: Node.js + express.js

Strona: vue.js

Android: kotlin(Android studio)

Charakterystyka użytkowników

Administrator – posiada szczegółową wiedzę na temat funkcjonowania systemu, dzięki czemu w razie awarii, potrafi szybko poradzić sobie z zaistniałą sytuacją.

Manager – posiada ogólną wiedzę na temat systemu, potrafi przeprowadzić podstawowe operacje w systemie, odpowiada za marketing.

Recepcjonista – posiada ogólną wiedzę na temat systemu, potrafi przeprowadzić podstawowe operacje w systemie, udzielić klientowi informacji na temat aktualnej oferty hotelu. Odpowiada za przyjmowanie opłat oraz kontakt z klientem.

Klient – posiada ograniczony dostęp do systemu, który umożliwia przeglądanie oferty hotelu, rezerwację pokoju oraz rezygnację z dokonanej rezerwacji lub dokonanie opłaty. Jest to osoba pełnoletnia (bądź osoba posiadająca zgodę opiekuna prawnego na wynajęcie pokoju).

Gość – osoba niezarejestrowana w systemie. Ma możliwość przeglądania listy dostępnych pokoi oraz dokonania rejestracji w systemie.

Główne funkcje produktu

Administrator:

  • dodaje i usuwa pracowników,
  • edytuje dane pracowników,
  • wprowadza i usuwa pokoje do/z bazy,
  • edytuje parametr pokoi w bazie.

Manager:

  • wprowadza i edytuje ceny pokoi.

Recepcjonista:

  • dodaje i anuluje rezerwacje,
  • modyfikuje dane rezerwacji,
  • przegląda aktualne rezerwacje i obłożenia pokoi,

Klient:

  • wprowadza i edytuje swoje dane osobowe,
  • przegląda listę dostępnych pokoi,
  • rezerwuje i anuluje rezerwację za pokój,
  • edytuje rezerwację za pokój,
  • dokonuje opłat za wynajęty pokój,
  • przegląda historię rezerwacji,

Gość:

  • rejestruje się w systemie,
  • przegląda listę dostępnych pokoi

Wymagania funkcjonalne

  1. Rejestracja w systemie
  2. Logowanie do systemu
  3. Modyfikowanie danych osobowych
  4. Dodawanie i usuwanie pracownika
  5. Edytowanie danych pracownika
  6. Dodawanie i usuwanie pokoi z bazy
  7. Dodawanie i edycja cen pokoi
  8. Edytowanie parametrów pokoi
  9. Dodawanie i anulowanie rezerwacji
  10. Modyfikowanie rezerwacji
  11. Przeglądanie aktualnych rezerwacji i obłożenia pokoi
  12. Przeglądanie historii rezerwacji
  13. Dokonanie płatności
  14. Wysłanie formularza kontaktowego

Diagram przypadków użycia

Diagram przypadków użycia

Wymagania niefunkcjonalne

  1. System powinien być intuicyjny w użyciu, użytkownik po 15 minutach powinien wiedzieć jak korzystać ze wszystkich dostępnych funkcjonalności.
  2. System powinien spełniać wymogi obowiązujących ustaw o ochronie danych osobowych.
  3. Autoryzacja użytkownika w systemie wymaga podania hasła składającego się z minimum 8 znaków różnego rodzaju, wymagane jest, aby zawierało ono co najmniej jedną dużą literę oraz jeden znak specjalny.
  4. System powinien być dostępny przez dowolną przeglądarkę internetową.
  5. Aplikacja mobilna powinna być dostępna dla urządzeń z Androidem.
  6. System powinien być dostępny w języku polskim.
  7. System nie powinien być narażony na utratę danych w czasie awarii.

Diagramy czynności

  1. Rejestracja nowego użytkownika

Diagram czynności

  1. Pracownicy Diagram czynności

  2. Pokoje Diagram czynności

  3. Rezerwacja pokoju

Diagram czynności 1

  1. Aktualne rezerwacje pokoi

Diagram czynności 1

  1. Wysłanie formularza kontaktowego Diagram czynności

Diagram komponentów

Diagram komponentów