Projekt systemu sterowania
automatem do sterowania
gorących napojów
Przykład - założenia
• System sterowania automatem SSA po
pobraniu zapłaty przygotowuje gorące
napoje takie jak: herbata i kawa. Z uwagi na
potrzebę uniknięcia skomplikowania
diagramów UML założono, że cena obu
napojów jest jednakowa oraz że zasoby takie
jak: woda, kawa, herbata i cukier są
niewyczerpalne.
• Model zbudowano w oparciu o diagramy
przypadków użycia, diagram klas oraz
zestaw diagramów przedstawiających
strukturę wewnętrzną i zachowanie
modelowanych kapsuł (maszyny stanowe).
Wymagania wobec SSA
• Klient korzysta z usług systemu sterowania
automatem, pozostając w jego otoczeniu.
Mierzalną wartość klientowi dostarczają tu
jedynie: przypadek użycia (usługa systemu)
Zakup herbaty
i przypadek
Zakup kawy
w
postaci kubka z gorącym napojem (herbatą
lub kawą). Oba te przypadki stanowią
specjalizację generalizacji przypadku użycia
Zakup napoju
(są jego uszczegółowieniem),
który zostanie uszczegółowiony w dalszej
części opisu modelu SSA.
uc Use Case View
Klient
zakup herbaty
zakup kawy
zakup napoju
Model przypadków użycia systemu Automat
Przypadki użycia Zakup kawy i Zakup herbaty jako
uszczegółowienie przypadku Zakup napoju różnią się w
swoich przebiegach głównych jedynie decyzją o wyborze
herbaty lub decyzją o wyborze kawy przez klienta.
class Logical View
Automat
Kasjer
Kucharz
stm Kasjer
Initial
oczekiwanie na
monetę
zwrot monet
jestcena
przygotowanie napoju
jestreszta
initial
zwrot monet
wrzut monety
nie
tak
koniec
tak
nie
zwrócono monety
Stanem bezczynności klasy Kasjer jest tu stan oczekiwanie na
monetę. W chwili gdy nadchodzi sygnał, że Klient wrzucił monetę,
następuje sprawdzenie warunku, czy suma wartości dotychczas
wrzuconych monet wystarcza, aby przygotować napój. Jeśli tak,
kapsuła przechodzi w stan przygotowania napoju.
stm Kucharz
Initial
oczekiwanie na
zlecenie
oczekiwanie na
wybór napoju
dodawanie herbaty
dodawanie kawy
oczekiwanie na
słodzenie
dodawanie cukru
dodawnaie wody
wystawienie kubka
nalewanie
Stan oczekiwania na
decyzję Klienta czy
dodać cukru
zlecono przygotowanie
wybrano herbate wybrano kawe
wsypano herbate
wybrano TAK
wybrano NIE
dodano cukier
wstawiono kubek
wystawiono
nalano
Maszyna stanowa kapsuły
Kucharz
• Stanem bezczynności jest OczekiwanieNaZlecenie.
Komunikat zlecający pracę Kucharza jest sygnałem
zdefiniowanym w protokole komunikacji między protokołami
kapsuł Kasjer i Kucharz (są to portZlecenia i
protokolZlecenia). Gdy tylko nadejdzie sygnał zlecenia
przygotowania napoju, maszyna przechodzi do stanu
oczekiwania na decyzję klienta odnośnie wyboru napoju.
Następnie w zależności od tej decyzji (typu sygnału)
przygotowywany jest żądany napój. Dalej automat wchodzi
w stan oczekiwania, czy klient życzy sobie dodać cukier.
Proces przygotowania napoju jest kontynuowany. Składa się
z ciągu stanów i przejść między nimi, w trakcie których
wysyłane są zlecenia do dozowników składników, takich jak:
woda, cukier i kubek. Proces kończy się ponownym
przejściem w stan oczekiwania na kolejne zlecenie
przygotowania napoju.
System SSA
• Przedstawiony przykład stanowi uproszczenie
SSA i w przypadku jego budowy niezbędne
byłoby jego rozszerzenie. Wówczas
należałoby zaniechać uproszczeń i rozszerzyć
zakres systemu poprzez serwowanie napojów
w różnych cenach oraz uwzględniać obsługę
sytuacji wyjątkowych, takich jak awarie
elementów systemu. Można również
rozbudować kapsułę wewnętrzną
DozownikWody o elementy pomiaru
temperatury wody i wprowadzić inne nowe
funkcje.
stm egzaminowanie
Tworzony
Planowany
Edytowany
Zatwierdzony
History
Anulowany
Usuniety
Monitorowany
Aktywowany
Przeprowadzany
Wstrzymany
Initial
History
Przerwany
Rozliczany
Zakończony
[nieuwaznienie]
[else]