PSO RAPORT, Inżynieria Bezpieczeństwa WAT, Semestr IV, Modelowanie obiektowe, projekt


2010-10-12

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

Projektowanie systemów obiektowych

Samoobsługowa stacja beznynowa

ETAP I

Analiza i modelowanie

Adam Soliński, 113790

Tomasz Krzyżanowski, 113701

Spis treści

  1. Przypadki użycia

    1. 0x08 graphic
      Diagram

    1. Opis aktorów

Dostęp do poszczególnych realizowanych za pomocą systemu działań jest regulowany z użyciem odpowiedniego systemu uprawnień.

Kasjer

Super Kasjer

Administrator

Monitor poziomu paliwa

Dystrybutor

    1. Opis przypadków

ID : UC_01

Ustalenie ceny paliwa

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Użytkownik zgłasza żądanie zmiany ceny paliwa.

  2. System zwraca ekran z zapytaniem o rodzaj paliwa, którego cene chcemy zmienić.

  3. Użytkownik wybiera pożądany typ paliwa.

  4. System zwraca ekran z aktualną ceną paliwa oraz formularzem do wprowadzenia nowej wartości.

  5. Użytkownik wprowadza nową wartość ceny paliwa.

  6. System monituje o potwierdzenie wprowadzonej zmiany.

  7. Użytkownik potwierdza wprowadzoną zmianę.

  8. Koniec przypadku użycia.

Przebiegi alternatywne

7A. Użytkownik chce ponownie przeprowadzić proces zmiany ceny paliwa.

7A1. Przejście do punktu 2.

Warunki końcowe

ID : UC_02

Złożenie zamówienia na paliwo

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Użytkownik zgłasza żądanie zamówienia paliwa.

  2. System zwraca widok formularza służącego do zamówienia paliwa (typ, ilość, dostawca).

  3. Użytkownik wprowadza wymagane dane.

  4. System monituje o potwierdzenie wysłania zamówienia wg wcześniej wprowadzonych danych.

  5. Użytkownik potwierdza poprawność wprowadzonych danych.

  6. System wysyła zamówienie do dostawcy paliwa.

  7. Koniec przypadku użycia.

Przebiegi alternatywne

5A. Użytkownik chce poprawić wcześniej wprowadzone dane.

5A1. Przejście do punktu 3.

Warunki końcowe

ID : UC_03

Dokonanie płatności

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Użytkownik zgłasza żądanie zatwierdzenia transakcji.

  2. System zwraca widok stanu transakcji (koszt, status, stan liczników … )

  3. Użytkownik potwierdza stan transakcji i wprowadza należnośc pobraną od klienta do kasy.

  4. System zatwierdza transakcję i odblokowuje dystrybutor o podanym numerze.

  5. Koniec przypadku użycia

Przebiegi alternatywne

Warunki końcowe

ID : UC_04

Wystawienie faktury

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Użytkownik zgłasza żądanie wystawienia faktury.

  2. System zwraca formularz do wprowadzenia NIP.

  3. Użytkownik wprowadza NIP osoby, dla której ma zostać wystawiona faktura.

  4. System wydaje wydruk faktury.

  5. Koniec przypadku użycia.

Przebiegi alternatywne

4A. W systemie nie ma wpisu dotyczącego podanego NIPu.

4A1. Przejście do przypadku użycia „Wprowadzenie klienta do rejestru”

4A2. Przejście do punktu 4.

Warunki końcowe

ID : UC_05

Logowanie

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Użytkownik zgłasza żądanie zalogowania się do systemu.

  2. System zwraca widok z formularzem do zalogowania (login, hasło).

  3. Użytkownik wprowadza wymagane dane.

  4. System wyświetla komunikat o poprawnym logowaniu.

  5. Koniec przypadku użycia.

Przebiegi alternatywne

4A. System wyświetla komunikat o błędnym logowaniu.

4A1. Przejście do punktu 2.

Warunki końcowe

ID : UC_06

Tworzenie kont pracowników

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Użytkownik zgłasza żądanie dodania nowego użytkownika do systemu.

  2. System zwraca widok z formularzem do wypełnienia (login. hasło, uprawnienia, imie, nazwisko, PESEL…).

  3. Użytkownik wypełnia pola formularza i go wysyła.

  4. System zwraca widok wcześniej wprowadzonych danych i monituje o potwierdzenie ich poprawności.

  5. Użytkownik potwierdza poprawność wprowadzonych wcześniej danych.

  6. System wyświetla komunikat o pomyslnym utworzeniu konta użytkownika w systemie.

  7. Koniec przypadku użycia.

Przebiegi alternatywne

5A. Użytkownik nie potwierdza poprawności wprowadzonych danych.

5A1. Przejście do punktu 2.

6A. System nie mógł stworzyć nowego użytkownika.

6A1. System zwraca komunikat dot. Błędu.

6A2. Przejście do punktu 2.

Warunki końcowe

ID : UC_07

Zarządzanie istniejącym kontem pracownika.

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Użytkownik zgłasza żądanie modyfikacji konta użytkownika.

  2. System zwraca listę dostępnych kont pracowników.

  3. Użytkownik wybiera z listy konto do modyfikacji.

  4. System zwraca szczegółowy widok informacji dot. konta w postaci formularza.

  5. Użytkownik wprowadza pożądane zmiany i wysyła formularz.

  6. System zwraca widok wcześniej wprowadzonych danych i monituje o potwierdzenie ich poprawności.

  7. Użytkownik potwierdza poprawność wprowadzonych wcześniej danych.

  8. System wyświetla komunikat o pomyslnej modyfiacji konta użytkownika w systemie.

  9. Koniec przypadku użycia.

Przebiegi alternatywne

7A. Użytkownik nie potwierdza poprawności wprowadzonych danych.

7A1. Przejście do punktu 4.

Warunki końcowe

ID : UC_08

Powiadomienie o alarmowym stanie paliwa

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Monitor poziomu paliwa odebrał sygnał alarmowy od czujnika.

  2. Monitor wysyła do systemu żądanie zapisania w logu systemowym informacji o alarmowym stanie paliwa danego typu.

  3. System potwierdza otrzymanie informacji o alarmowym stanie paliwa ("niski stan paliwa").

  4. Monitor po otrzymaniu potwierdzenia zaprzestaje wysyłania dalszych informacji dot. wzbudzenia czujnika paliwa danego typu.

  5. Koniec przypadku użycia.

Przebiegi alternatywne

3A. System potwierdza otrzymanie informacji o alarmowym stanie paliwa ("brak paliwa").

3A1. System blokuje dozowniki wydające dane paliwo w dystrybutorach.

3A2. Przejście do punktu 4.

3B. Monitor nie dostał potwierdzenia od systemu o zarejestrowaniu alarmu.

3B1. Przejście do punktu 2.

Warunki końcowe

ID : UC_09

Obsłużenie tankowania

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. Dystrybutor powiadamia system o odłożeniu dozownika.

  2. System pobiera dane dotyczące procesu tankowania z danego dystrybutora.

  3. System zgłasza żądanie o zablokowanie dystrybutora.

  4. System zgłasza żądanie utworzenia nowej transakcji.

  5. System uruchamia proces monitorowania czasu dot. uregulowania płatności.

  6. Koniec przypadku użycia.

Przebiegi alternatywne

3A. System nie wykrył rozpoczęcia procesu tankowania.

3A1. Koniec przypadku użycia.

Warunki końcowe

ID : UC_10

Wywołanie procedury alarmowej

Warunki początkowe

Zdarzenie inicjujące

Przebieg główny

  1. System rozpoczyna procedurę alarmową, zapisuje do logu systemowego informację o sytuacji i powiadamia kasjera o przekroczonym czasie w sprawie uregulowania płatności za transakcję.

  2. System uruchamia sygnał alarmowy.

  3. Kasjer rejestruje sytuację i żąda wyłączenia alarmu, powiadamia odpowiednie służby mundurowe.

  4. System wyłącza alarm.

  5. Kasjer unieważnia transakcję i zgłasza żądanie odblokowania dystrybutora.

  6. System odblokowuje odpowiedni dystrybutor.

  7. Koniec przypadku uzycia.

Przebiegi alternatywne

brak

Warunki końcowe

  1. Diagram klas

    1. Diagram klas

0x08 graphic

    1. Opis klas

Klasa

Opis

Użytkownik

Klasa ta opisuje użytkownika systemu. Każdy użytkownik posiada przypisany pewien poziom uprawnień. Na jego podstawie możliwe jest wykonywanie pewnych operacji specyficznych dla konretnego poziomu uprawnień. Pod tę klasę podlegają aktorzy zewnętrzni: kasjer, super kasjer oraz administrator. Użytkownik by móc korzystać z funkcji systemu musi się wpierw zalogować.

Transakcja

Klasa ta opisuje transakcje wykonywane w ramach działalności stacji benzynowej. Może być w 3 stanach: nowo utworzona (bezpośrednio po zakończeniu tankowania), zatwierdzona (w razie uregulowania płatności przez klienta) lub unieważniona (w przypadku, gdy klient uciekł nie płacąc, a chcemy odblokować dystrybutor, bądź zaszedł jakiś błąd w systemie). Każde wykonane tankowanie musi zostać obsłużone w formie transakcji.

Faktura

Klasa ta opisuje faktury mogące zostać wystawione dla transakcji. Faktura posiada opcję drukowania. Faktury trzymane są przez 5 lat od daty wystawienia.

MonitorFaktur

Klasa zarządzająca fakturami. Faktury starsze niż 5 lat usuwane są przez tę klasę. Monitor faktur zajmuje się procesem wystawienia faktury, łącznie z obsługą czynności związanych z pobraniem danych klienta z rejestru klientów firmy.

Klient

Klasa ta opisuje klientów dla których zdarzyło się w historii działania systemu wystawić fakturę VAT.

Paliwo

Klasa ta tyczy się paliwa, będącego bezpośrednim „produktem”, z którego sprzedaży utrzymuje się firma. Dla każdego paliwa określono poziom minimalny (by alarmować w przypadku pojawienia się braków w zbiorniku) oraz poziom maksymalny (by ułatwić kalkulację wymaganego do zamówienia paliwa). Cena paliwa jest zmienna.

MonitorPaliwa

Klasa nadzorująca stan paliwa w zbiornikach. Alarmuje ona system w razie wykrycia przez czujniki poziomów alarmowych. Alarm może dotyczyć zarówno niskiego poziomu paliwa, jak też jego braku. Za pomocą tej klasy możliwe jest złożenie zamówienia na paliwo, a także ustanowienie nowej ceny paliwa. Po zmianie ceny, jest ona uaktualniana w każdym z dystrybutorów.

Dozownik

Klasa określająca pojedynczy dozownik. Jeden dystrybutor może mieć wiele dozowników różnego typu. Typ ten dotyczy rodzaju wydawanego przez niego paliwa. Dozownik może być zablokowany odgórnie przez dystrybutor, gdy ktoś zakończył proces tankowania, bądź przez monitor paliwa w przypadku, gdy zabrakło paliwa danego typu.

Dystrybutor

Klasa odwzorowująca aktora „dystrybutor” w systemie. Za jej pomocą odbywa się komunikacja z urządzeniem fizycznym dystrybutora. Nadaje oraz odbiera od niego sygnały. Ważną funkcją pełnioną przez klasę dystrybutora jest monitoring uregulowania płatności za dokonane tankowanie. Klasa ta potrafi określić na podstawie sygnałów od dystrybutora jaką transakcję utworzyć w systemie.

  1. Diagramy stanów

    1. Transakcja

0x08 graphic

Transakcja może przebywać w 3 stanach. Zaraz na początku, po jej utworzeniu w wyniku zakończenia tankowania, przybiera ona stan „nowo utworzonej”. System czeka na to aż należność za transakcję zostanie uregulowana w kasie. Zatwierdzenie powoduje, że jej stan zmienia się na „zatwierdzoną”. Natomiast może zajść przypadek, że klient nie będzie chciał zapłacić za transakcję, wtedy poza oczywiście wywołaniem pewnych procedur alarmowych i zawiadomieniem odpowiednich organów ścigania, wymagane jest, by w końcu odblokować dystrybutor i umożliwić korzystanie z niego. W związku z tym, transakcja taka jest unieważniana.

    1. Dystrybutor

0x08 graphic

Dystrybutor może przebywać w 3 stanach. Wszystkie one tworzą pętle przejść. Początkowym stanem dystrybutora jest stan „odblokowany”, wtedy to możliwe jest rozpoczęcie tankowania. Wchodząc w ten stan zerują się liczniki dystrybutora. Pod warunkiem, że dozownik nie jest zablokowany wskutek braku danego paliwa, po podniesieniu i naciśnięciu dozownika dystrybutor przyjmuje stan „w użyciu”, kiedy to zaczyna obliczać ilość wydawanego paliwa. Po odłożeniu dozownika na swoje miejsce, dystrybutor przechodzi w stan „zablokowany”. System powiadamiany jest o tym zdarzeniu i rozpoczyna się weń odliczanie czasu do rozpoczęcia procedury alarmowej związanej z niechęcią klienta do uiszczenia opłaty. Kiedy nastąpi opłacenie transakcji, dystrybutor jest odblokowywany. Może on zostać również ręcznie odblokowany przez kasjera we wspomnianych sytuacjach awaryjnych.

    1. Dozownik

0x01 graphic

Dozownik może być w 3 stanach. Początkowo jest on „odblokowany”. Przechodzi on w stan „zablokowany na czas uiszczenia płatności” pod warunkiem, że zakończono tankowanie. Powraca do stanu „odblokowany” wskutek odblokowania całego dystrybutora. Innym stanem kiedy nie działa, jest sytuacja gdy znajduje się w stanie „zablokowany z powodu braku paliwa”. Dzieje się tak pod warunkiem braku paliwa danego typu. Zapalana jest lampka związana z tym dozownikiem sygnalizująca o jego niedostępności. Może on powrócić do stanu „odblokowany” gdy jest już paliwo, a z tym konkretnym dozownikiem nie związane są żadne nieuregulowane transakcje. Mało prawdopodobne, ale możliwe jest przejście pomiędzy stanami blokady dozownika, np. gdy pojawiło się paliwo, a brakuje nadal płatności lub podczas płacenia zabrakło już paliwa danego typu. W obu przypadkach odpowiednio włączana i wyłączana jest sygnalizacja dotycząca trwałej niedostępności dozownika (tj. braku paliwa tego typu).

  1. Diagramy sekwencji

    1. Dokonanie płatności

0x01 graphic
Dystrybutor powiadamia system o zakończeniu tankowania. Ten sprawdza czy rozpoczęto tankowanie, czy niezdecydowany klient tylko podniósł i odłożył dozownik. W przypadku gdy jednak system stwierdził, że rozpoczęto tankowanie na podstawie niezerowych odczytów przesłanych przez urządzenie, wymusza on na nim zablokowanie się, a następnie na podstawie przesłanych danych tworzona jest transakcja. Obiekt komunikujący się z fizycznym dystrybutorem rozpoczyna odliczanie czasu ustalonego jako limit czasowy na dokonanie płatności za transakcję. Możliwe są dwa wyjścia: albo transakcja została zatwierdzona, albo nie. Zatem w pierwszym przypadku następuje automatyczne odblokowanie dystrybutora, natomiast w drugim rozpoczynana jest procedura alarmowa. Zostanie on dopiero ręcznie odblokowany przez pracownika stacji paliw.

    1. Obsłużenie tankowania

0x08 graphic

Kasjer po uzyskaniu należności od klienta, który korzysta z usług stacji benzynowej zatwierdza transakcję. Wywołuje to powiadomienie danego dystrybutora o pojawieniu się płatności dotyczącej ostatniego tankowania z jego użyciem. Jest on odblokowywany. Opcjonalne jest wystawienie faktury dla klienta. Odwołując się do monitora faktur kasjer żąda wystawienia faktury. Ten sprawdza, czy klient o podanym NIP figuruje w rejestrze klientów. Jeśli nie, kasjer dodaje do rejestru nowego klienta. W dalszym etapie pobierane są od klienta szczegółowe dane niezbędne do przygotowania faktury. Faktura jest tworzona, a potem następuje jej wydruk.

Diagram klas

14



Wyszukiwarka

Podobne podstrony:
BADANIA OPERACYJNE wykład1, WAT, semestr IV, Modelowanie Matematyczne
Zadanie domowe, WAT, semestr IV, Modelowanie Matematyczne
ZadanieNaZaliczenie, WAT, semestr IV, Inżynieria oprogramowania
Inżynieria oprogramowania syllabus IV niestac 07 08, Prywatne, WAT, SEMESTR IV, IO, io, Materiały od
Program cwiczenia z przedmiotu BPiE, WAT, semestr IV, Bezpieczeństwo i ergonomia pracy
bpie sciaga, WAT, semestr IV, Bezpieczeństwo i ergonomia pracy
DSW biuro podrózy, WAT, semestr IV, Inżynieria oprogramowania
Test teoretyczny, Inżynierskie, Semestr IV, Modelowanie i optymalizacja procesów
Specyfikacja przypadku u, WAT, semestr IV, Inżynieria oprogramowania
Dokument specyfikacji wymagan, WAT, semestr IV, Inżynieria oprogramowania
IO odp, WAT, semestr IV, Inżynieria oprogramowania

więcej podobnych podstron