Pierwszy diagram przypadków użycia

0

Witam,

Próbuję stworzyć swój pierwszy diagram przypadków użycia.
Jako dziedzinę mam system obsługi kompleksu kinowego.
System am usprawnić działanie kina.
Rezerwacje biletów on-line, przeglądanie repertuaru, zarządzenie itp.

http://imageshack.us/photo/my-images/13/kino1s.png/

Proszę o jakieś rady i wskazówki.

Pozdrawiam.

2
  1. Extend idzie od przypadku szczególnego do ogólnego (tzn strzałka pokazuje nam że przypadek X rozszerza przypadek Y)
  2. Include idzie od przypadku zawierającego do przypadku zawartego (tzn strzałka pokazuje nam ze przypadek X zawiera przypadek Y)
    U ciebie masz to na opak ;] W ogóle chyba masz wszystkie strzałki w złą stronę...
    Przypadek użycia określa czynność, zawsze! Nie jest przypadkiem "bilans". Przypadek to byłoby "Wyświetlenie bilansu".
0

Pozmieniałem strzałki zgodnie z podpowiedzią (dzięki).
Co do tych bilansów to chodzi mi o tworzenie bilansów bardziej jakichś sprzedażowych przez kasjera, które to Kierownik wykorzystuje przy tworzeniu zestawień dla właściciela czy księgowości.
I tutaj mam strzałkę od zestawień do bilansów bo te wytwarzane zestawienia zawierają w sobie bilanse tworzone przez kasjerów. Czy moje myślenie jest ok, czy znów kompletnie na wspak??

A czy używanie przeze mnie innych związków jest ok (precedes, invokes) bop głównie widziałem tylko include i extend i te w sumie wstawiłem bo mi lepiej pasowały tylko nie wiem czy je dobrze interpretuje.

Np. Przy realizacji rezerwacji klient otrzymuje bilet i to mam <<precedes>> do kontroli biletów. W sensie że kontrola biletu jest poprzedzona jego otrzymaniem.
Czy lepiej tu użyć extend??

Poprawiony diagram: http://img39.imageshack.us/img39/8223/kino2o.png

1

Zapominasz o jednej ważne rzeczy. To mają być przypadki UŻYCIA SYSTEMU. Czy do kontroli biletu używany jest system? Wątpie.
Nadal masz "status sali" który nie jest czynnością. Poza tym przypadki "zarządzanie pracownikami" wyglądają dla mnie trochę zbyt ogólnie.
Przypadki użycia często opisuje się pewnymi scenariuszami np.:

Nazwa: Dodaj urządzenie do listy
Aktor: Użytkownik
Cel: Wprowadzenie informacji na temat urządzenia, które ma zostać uwzględnione w monitorowaniu
Warunki wstępne: Uruchomiona jest aplikacja kliencka, otwarte jest okno dialogowe do wprowadzania urządzeń
Główny scenariusz:

  1. Użytkownik wprowadza adres IP urządzenia
  2. Użytkownik zaznacza odpowiednią wersję IOS
  3. Użytkownik klika przycisk „Add”
    Warunek końcowy: Do listy urządzeń dodane zostaje nowe urządzenie
    Scenariusze alternatywne:
    3.1 Użytkownik wprowadził błędny adres IP i wyświetlony zostanie komunikat błędu

Widzisz jak można by twoje "zarządzanie pracownikami" tak opisać? Bo ja nie bardzo...

0

Może nie tyle zapominam co nie potrafię dobrać odpowiedniej nazwy może by była zrozumiała.
Pod Status sali ma kryć się opcja dzięki której przez zaznaczenie jej w systemie Projektornia będzie informowała obsługę sali że daną salę należy po zakończonym seasie przygotować na kolejny. Zmieniłem na Informacja - status sali, nie wiem czy coś to pomoże czy jednak nie bardzo?

Co do zarządzania pracownikami, chodzi tu o ich dodawanie do systemu, bądź ich usuwanie z systemu, czyli tworzenie im kont i ewentualna zmiana ich danych, więc chyba dało by się to jakoś tak opisać tworząc specyfikację myślę. Bo jeśli nie tak to jak to inaczej nazwać? Bo chyba rozbicie tego na kolejne przypadki dodaj użytkownika, usuń użytkownika, czy zmień to chyba nie jest dobry pomysł? Czy jednak to było by lepsze rozwiązanie?

Trochę to rozbudowałem:
http://img196.imageshack.us/img196/1883/kino3.png

0

Zapomniałem jeszcze o Kontrola biletów, miała by to być właśnie taka opcja dzięki której poprzez zastosowanie specjalnych czytników, powiedzmy kody kreskowe etc. można było by sprawdzić w systemie czy dany bilet klienta udostępnia do wejścia na dany seans, co ułatwiło by pracę obsługi sali :) Niestety również nie znalazłem na to jakiejś lepszej nazwy która bardziej zdradzała by jej funkcję.

2

Za bardzo to gmatwasz. Po pierwsze podziel to na kilka małych diagramów zamiast jednego wielkiego. Wtedy będziesz spokojnie mógł rozpisać sobie "zarządzanie" na mniejsze stany.
Z tym statusem nie możesz po prostu dać "Sprawdź status sali" albo "Sprawdzenie statusu sali"?
Nie rozumiem czemu "Zmiana w repertuarze" jest szczególnym przypadkiem "wyświetlania filmów".
Nie rozumiem czemu "zarządzanie filmami" wymaga "zmiany w repertuarze"
Nie rozumiem w jaki sposób Klient wykonuje za pomocą systemu "realizację rezerwacji", ani jak obsługa sprawdza bilety za pomocą systemu.

0

Tak mam to opisane w wizji i nie wiem czy jeżeli rozbiję to na kilka mniejszych diagramów, czy nadal będzie to diagram dla mojego systemu bo to wtedy wyjdzie chyb kilka systemów, czy można to zrobić jako pod system działający wewnątrz mojego systemu, tylko czy wtedy nie muszę zrobić takich podsystemów dla każdego z pracowników? Chyba gmatwam jeszcze bardziej nie mogąc trafić na odpowiedni tok myślenia :(

Wprowadziłem sprawdzanie statusu sali :)

""Zmiana w repertuarze" jest szczególnym przypadkiem "wyświetlania filmów"" Co do tego to chciałem pokazać że czasami jest tak że nie ma chętnych na dany seans i by kino co nieco zaoszczędziło i nie puszczało filmów gdy sala jest pusta, by można było zmienić repertuar i zmieniało by to wyświetlanie filmów, czyli informowało projektornię by puściła inny film, ale chyba nie udało mi się tego zobrazować :(

"Nie rozumiem czemu "zarządzanie filmami" wymaga "zmiany w repertuarze"" Tutaj chyba chodzi jedynie znów o strzałkę jak mniemam :) chodziło mi o to że zmiany w repertuarze sygnalizowane przez kasjera z powodu braku chętnych na dany film dokonywane są przez Kierownika przez zarządzanie filmami.

Co do realizacji rezerwacji to faktycznie to nie klient ją wykonuje a kasjer :) a czy którymś ze związków można pokazać że klient bierze jedynie w tym udział? Czy po prostu zostawić to bez połączenia z klientem?

Co do sprawdzania biletów przez obsługę za pomocą systemu to opisałem wyżej, przez czytniki, chcemy zmniejszyć czas kontrolowania tych biletów przed wejściem :)

Kolejne poprawki wprowadzone:
http://img193.imageshack.us/img193/8541/kino4.png

0

Wprowadziłem jeszcze kilka zmian i postanowiłem jednak zrezygnować z Obsługi sali.

http://img801.imageshack.us/img801/8533/kino5.png

0

Witam.

Tak sobie przeglądam ten diagram (kino5.png) i wydaje mi się, że można go trochę uprościć.

  1. Klient i Kasjer powinni mieć bezpośrednie połączenie z Rezerwacja biletu a Realizacja zniżek, Anulowanie rezerwacji, Realizacja Rezerwacji powinny być szczególnymi przypadkami Rezerwacji biletów
  2. Warto wprowadzić jakiś ogólniejszy moduł Zarządzaj biletami, gdzie będzie ujęta rezerwacja ale też przypadek wniesienia opłaty za bilet,
  3. Pozycje Wyszukaj film i Sprawdź repertuar warto wstawić przed zarządzanie biletami, czyli Klient/Kasjer najpierw wybierają film a potem przechodzą do zarządzania biletami.

To co nazywałeś "Sprawdzanie statusu sali" nazwij Zmiana statusu sali i połącz z projektornią i obsługa sali. Projektornia będzie zmieniała status jak skończy się film, a obsługa sali jak będzie posprzątane i gotowe do wpuszczenia klientów. To w zasadzie szczegół, ale zauważyłem, że ci na statusie sali bardzo zależało ;)

Pozdrawiam.

0

Witam,
Diagram został dość uproszczony jednak by nie robić sobie pod górkę :) a i w tym krojeniu status sali wyleciał.
Dziękuję za podpowiedzi!
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1