1. Skróty akronimy i definicje Skrót Spichlerz Klient Definicja Lodówka w której przechowujemy produkty zalogowanego użytkownika. Inaczej zwykły użytkownik posiadający konto w systemie. 2. Cel realizacji aplikacji Celem projektu jest opracowanie modelu danych i formularzy zapytań do internetowego systemu komponowania posiłków w oparciu o posiadane produkty. System oprócz magazynowania podstawowych informacji o użytkowniku i przepisie, będzie odpowiedzialny za generowanie przepisów z produktów jakie aktualnie posiadamy. 3. Główna funkcjonalność aplikacji System przechowuje w bazie danych wszystkie informacje o produktach, daniach, zawartości spichlerza każdego zarejestrowanego użytkownika. Ponadto każdy z zarejestrowanych użytkowników posiada możliwość komentowania oraz oceniania przepisów innych użytkowników. Każdy przepis posiada listę produktów, z których się składa, czas potrzebny na wykonanie dania, opis przygotowania, ocenę oraz zdjęcie i komentarze innych użytkowników. 4. Użytkownicy Gość przeglądanie wszystkich przepisów, możliwość rejestracji/logowania Użytkownik przeglądanie wszystkich przepisów, możliwość wylogowania dodawanie/usuwanie/edycja własnych przepisów oraz komentarzy, dodanie produktów do bazy danych oraz własnego spichlerza, określenie preferowanej kuchni, zmiana hasła. Administrator - może wszystko co zwykły użytkownik z tym, że edycja i usuwanie tyczy się wszystkich przepisów i komentarzy, możliwość odbierania dostępu użytkownikom, akceptacja produktów i przepisów.
5. Specyfikacja grup użytkowników 5.1. Hierarchia grup użytkowników przedstawiona graficznie: 5.2. Specyfikacja grup użytkowników: Profil grupy Nadgrupa Podgrupy Przypadki użycia Uprawnienia Gość Użytkownik niezarejestrowany, posiadający możliwość rejestracji, logowania I przeglądania przepisów. Brak Użytkownik. Brak Przeglądanie przepisów, rejestracja Odczyt: przepisy Profil grupy Nadgrupa Podgrupy Zwykły użytkownik Użytkownik zarejestrowany, posiadający możliwość zarządzania swoimi przepisami oraz dodawania produktów jak I komentarzy. Loign, Hasło, e-mail Zalogowany Brak
Przypadki użycia Uprawnienia Dodawanie przepisów, logowanie, dodawanie komentarzy Odczyt: przepisy, komentarze Zapis: swoje przepisy, swoje komentarze Profil grupy Nadgrupa Podgrupy Przypadki użycia Uprawnienia Administrator Użytkownik identyczny jak zwykły użytkownik z podniesionymi uprawnieniami. Loign, Hasło, e-mail Zalogowany Brak Zarządzanie przepisami, logowanie, zarządzanie komentarzami, banowanie zwykłych użytkowników, zarządzanie produktami Odczyt/zapis: przepisy, komentarze, produkty, zwykły uzytkownik 6. Specyfikacja przypadków użycia
Przebieg negatywny Logowanie do serwisu UC_001 Gość Przypadek użycia realizuję funkcję zalogowanie się do systemu. Posiadanie aktywnego konta. 1. Wybranie opcji logowanie 2. Wprowadzenie niezbędnych danych: 2.1. Login 2.2. Hasło 3. System weryfikuje poprawność wprowadzonych przez użytkownika danych. 4. System pozytywnie weryfikuje dane użytkownika i loguje go do systemu. 3a. System stwierdza niepoprawność danych. 3b. System wyświetla informację o niepoprawności wpisanych danych. 4. Powrót do punktu 2. Użytkownik uzyskuje dostęp do systemu. Przebieg negatywny Rejestracja nowego użytkownika UC_002 Gość Przypadek użycia realizuje funkcję dodania nowego użytkownika do bazy danych. Użytkownik nie posiada jeszcze konta w systemie. 1. Użytkownik wybiera opcję rejestracji. 2. System wyświetla formularz tworzenia konta: 2.1. Login 2.2. Hasło 2.3. Powtórz hasło 2.4. Email 3. System weryfikuje czy dane zostały wprowadzone poprawnie. 4. Jeżeli dane będą poprawne system zaloguje nowego użytkownika. 3a. System stwierdza niepoprawność danych. 3b. System wyświetla informację o niepoprawności wpisanych danych. 4. Powrót do punktu 2. Utworzenie nowego użytkownika w systemie.
Przebieg negatywny Dodanie produktu do spichlerza UC_003 Użytkownik Przypadek użycia realizuje funkcję dodania produktu do spichlerza. Użytkownik jest zalogowany na swoje konto. 1. Użytkownik wpisuje nazwę produktu. 2. Użytkownik podaje gramaturę. 2. Użytkownik wybiera opcję dodania do spichlerza. 3. System weryfikuje czy produkt znajduje się już w jego spichlerzu. 4. Informacja o pomyślnym dodaniu. 1a. System stwierdza brak produktu. 3a. System wyświetla informację o niepowodzeniu. 4. Powrót do punktu 1. Dodanie produktu do spichlerza. Usunięcie produktu z spichlerza UC_004 Użytkownik Przypadek użycia realizuje funkcję usunięcia produktu z spichlerza. 1. Użytkownik jest zalogowany na swoje konto. 2. Użytkownik musi mieć dodany usuwany produkt. 1. Użytkownik wybiera opcję usunięcia z spichlerza. 2. System weryfikuje czy produkt został usunięty z spichlerza. 3. Informacja o pomyślnym usunięciu. Usunięcie produktu z spichlerza. Przebieg negatywny Wystaw ocenę UC_005 Użytkownik Przypadek użycia realizuje funkcję wystawienia oceny do dania. 1. Użytkownik jest zalogowany na swoje konto. 1. Użytkownik wybiera danie. 2 Użytkownik zapisuje ocenę 1-5. 3. Ocena zostaje zapisana w systemie. 2a. System stwierdza, że nie można wystawić oceny. Dodanie oceny do dania.
Wyświetl dania UC_006 Gość/Użytkownik Przypadek użycia realizuje funkcję wyświetlenia dań. 1. Użytkownik wybiera zakładkę przepisy. 2. System wyświetla informację o daniach wraz ze statusem o ilości posiadanych produktów dla tego dania. Wyświetlenie informacji o daniach. Wyświetl danie UC_007 Gość/Użytkownik Przypadek użycia realizuje funkcję wyświetlenia dania. 1. Użytkownik wybiera określone danie. 2. System wyświetla informację o daniu wraz ze statusem o ilości posiadanych produktów dla tego dania oraz reszty wymaganych produktów, a także ocenę i komentarze. Wyświetlenie informacji o daniu. Przebieg negatywny Dodanie dania do bazy danych UC_008 Użytkownik Przypadek użycia realizuje funkcję dodania dania do bazy danych. 1. Użytkownik jest zalogowany na swoje konto. 1. Użytkownik wybiera zakładkę dodaj nowy przepis. 2. Użytkownik uzupełnia dane. 3. System weryfikuje czy dane są poprawne. 4. Informacja o pomyślnym dodaniu 3a. System stwierdza niepoprawność danych. 3b. System wyświetla informację o niepoprawności wpisanych danych. 4. Powrót do punktu 2. Edycja dania w bazie danych. Usunięcie/edycja dania w bazie danych UC_009 Użytkownik Przypadek użycia realizuje funkcję usunięcia/edycji dania w bazie danych. 1. Użytkownik jest zalogowany na swoje konto. 2. Danie musi znajdować się w bazie. 3. Danie musi należeć do tego użytkownika. 1. Użytkownik wybiera danie. 2. Użytkownik wybiera opcję usunięcia/ edycji w bazie danych. 3. Informacja o pomyślnym usunięciu/edycji. Edycja dania w bazie danych.
Dodanie komentarza UC_010 Użytkownik Przypadek użycia realizuje funkcję dodania komentarza. 1. Użytkownik jest zalogowany na swoje konto. 1. Użytkownik wybiera danie, gdzie chce dodać komentarz. 2. Użytkownik dodaje komentarz. 3. Informacja o pomyślnym dodanie. Dodanie komentarza. Usunięcie/edycja komentarza UC_011 Użytkownik Przypadek użycia realizuje funkcję usunięcia/edycji komentarza. 1. Użytkownik jest zalogowany na swoje konto. 2. Komentarz musi znajdować się w bazie. 3. Komentarz musi należeć do tego użytkownika. 1. Użytkownik wybiera danie, gdzie znajduje się komentarz do usunięcia/edycji. 2. Użytkownik wybiera komentarz do usunięcia/edycji i potwierdza. 3. Informacja o pomyślnym usunięciu/edycji. Usunięcie/edycja komentarza. Edycja dania w bazie danych UC_012 Administrator Przypadek użycia realizuje funkcję edycji dania w bazie danych. 1. Administrator jest zalogowany na swoje konto. 2. Danie musi znajdować się w bazie. 1. Administrator wybiera danie. 2. Administrator wybiera opcję edycji w bazie danych. 3. Administrator edytuję danie. 4. Informacja o pomyślnej edycji. Edycja dania w bazie danych. Usunięcie dania z bazy danych UC_013 Administrator Przypadek użycia realizuje funkcję usunięcia dania z bazy danych. 1. Administrator jest zalogowany na swoje konto. 2. Danie musi znajdować się w bazie. 1. Administrator wybiera danie. 2. Administrator wybiera opcję usunięcia z bazy danych. 3. Informacja o pomyślnym usunięciu. Usunięcie dania z bazy danych.
Uwidocznij/ukryj dania w systemie UC_014 Administrator Przypadek użycia realizuje funkcję uwidaczniania/ukrycia dania w systemie 1. Administrator jest zalogowany na swoje konto. 2. Danie musi znajdować się w bazie. 1. Administrator wybiera danie. 2. Administrator wybiera opcję uwidocznienia/ukrycia w systemie. 3. Informacja o pomyślnym uwidocznieniu/ukryciu. Uwidocznienie/ukrycie dania w systemie. Usunięcie komentarza UC_015 Administrator Przypadek użycia realizuje funkcję usunięcia komentarza. 1. Administrator jest zalogowany na swoje konto. 2. Komentarz musi znajdować się w bazie. 1. Administrator wybiera danie, gdzie znajduje się komentarz do usunięcia. 2. Administrator wybiera komentarz do usunięcia i potwierdza. 3. Informacja o pomyślnym usunięciu. Usunięcie komentarza. Ukrycie produktu/jednostki/kuchni w systemie UC_016 Administrator Przypadek użycia realizuje funkcję ukrycia produktu/jednostki/kuchni w systemie. 1. Administrator jest zalogowany na swoje konto. 2. Produkt/jednostka/kuchnia musi znajdować się w bazie. 1. Administrator wybiera produkt/jednostkę/kuchnię. 2. Administrator wybiera opcję ukrycia w systemie. 3. Informacja o pomyślnym ukryciu. Ukrycie produktu w systemie.
Uwidocznienie produktu/jednostki/kuchni w systemie UC_017 Administrator Przypadek użycia realizuje funkcję uwidocznienia produktu/jednostki/kuchni w systemie. 1. Administrator jest zalogowany na swoje konto. 2. Produkt/jednostka/kuchnia musi znajdować się w bazie. 1. Administrator wybiera produkt/jednostkę/kuchnię. 2. Administrator wybiera opcję uwidocznienia w systemie. 3. Informacja o pomyślnym uwidocznieniu. Uwidocznienie produktu w systemie. Banowanie użytkownika UC_010 Administrator Przypadek użycia realizuje funkcję zbanowania użytkownika. Administrator jest zalogowany na swoje konto. 1. Wejście do bazy danych użytkowników. 2. Wyświetlenie wszystkich użytkowników w systemie. 3. Wyszukanie użytkownika, którego chcemy zbanować. 4. Wybranie użytkowników, którego chcemy zbanować. 5. Potwierdzenie operacji zbanować użytkownika. 6. Zapisanie zmian w bazie danych po zbanowaniu użytkownika. Zbanowanie użytkownika. 7. Specyfikacja słownika obiektów Synonimy Właściwości Użytkownik Klient Informacja na temat użytkownika - Id identyfikator użytkownika - Login nazwa użytkownika - Hasło hasło użytkownika - Email adres email użytkownika - Rola uprawnienia użytkownika Przykładowe instancje 15 Czesław15 Tajnehasło1 czesiek@email.com Administrator Relacje Łączy użytkownika z rolą
Synonimy Właściwości Przepis Danie Informacja na temat wybranego dania - Id identyfikator przepisu - Tytuł tytuł przepisu - Kopis krótki opis przepisu - Dopis długi opis przepisu - Data data dodania przepisu - Czas czas potrzebny na przygotowanie przepisu - Kuchnia rodzaj kuchni danego przepisu - Użytkownik osoba zamieszczająca przepis - Ocena średnia ocen danego przepisu Przykładowe instancje 2 Spaghetti Bolonesge Makaron należy ugotować Na patelnię należy wrzucić. 01.05.2016r. 20 min Włoska Czesław15 4.5 Relacje Łączy użytkownika z przepisem Łączy kuchnię z przepisem Synonimy Właściwości Komentarz Brak Informacja na temat komentarza - Id identyfikator komentarza - Kom treść komentarza - Data data dodania komentarza - Przepis przepis do którego należy komentarz - Użytkownik osoba zamieszczająca komentarz Przykładowe instancje 5 Bardzo dobry makaron! Polecam! 01.05.2016r. 20 min Spaghetti Bolonesge Czesław15 Relacje Łączy użytkownika z komentarzem Łączy przepis z komentarzem
9. Specyfikacja (szkic) wyglądu aplikacji
10. wymagań niefunkcjonalnych Ergonomia Wygoda użytkowania aplikacji na platformach typu mobile i desktop Dostępność uptime 99% Skalowalność - NoSql pozwala na skalowanie bazy Bezpieczeństwo - GIODO zapewnia bezpieczeństwo danych Zarządzalność BugZilla pozwala na łatwe wskazywanie i usuwanie usterek 11. Model danych Krótkie wyjaśnienie User Group Module Comment Product Recipe Kitchen Tabela z użytkownikami Tabela z grupami Tabela z modułami Tabela z komentarzami Tabela z produktami Tabela z przepisami Tabela z rodzajami kuchni
12. Model hipertekstu