Tomasz S.

Tomasz S. Tester
oprogramowania /
Analityk biznesowy

Temat: Pytanie o diagram sekwencji - powrót

Witam wszystkich,

Mam pytanie odnośnie diagramu sekwencji, które od dłuższego czasu nie daje mi spokoju, ponieważ nie mogę nigdzie w książkach znaleźć na nie odpowiedzi.
Mianowicie chodzi mi o sytuację gdy korzystamy z fragmentu wyodrębnionego typu alt i jedna ze ścieżek alternatywnych zamiast prowadzić sekwencję komunikatów gdzieś dalej lub zakończyć działanie wymusza powrót do komunikatów które zdarzyły się już wcześniej na tym diagramie. Czyli chodzi o przedstawienie powrotu do wcześniejszej sekwencji. Na wszystkich dotychczasowych przykładach, z którymi miałem do czynienia nigdzie nie spotkałem się z tym jak mogę coś takiego zobrazować na diagramie a byłoby mi to bardzo pomocne. Zastanawiam się nad postawieniem notatki, która opisowo mówi, że w tym miejscu następuje powrót do danego komunikatu, ale podejrzewam, że w UML-u na pewno jest jakiś lepszy sposób na przedstawienie takiej sytuacji. Może jakoś to zapętlić?...nie wiem.

Pozdrawiam i z góry dziękuję za pomoc.
Tomasz S.

Tomasz S. Tester
oprogramowania /
Analityk biznesowy

Temat: Pytanie o diagram sekwencji - powrót

Na razie udało mi się wykombinować by użyć fragment typu break i po prostu zakończyć sekwencję alternatywną podając w nim na końcu komunikat do którego chciałem wrócić. Notacyjnie wydaje mi się, że jest dobrze, ale na pewno przydałoby się spojrzenie na ten temat z jakiejś innej strony.

konto usunięte

Temat: Pytanie o diagram sekwencji - powrót

Możesz też zastosować dekompozycję.
http://brasil.cel.agh.edu.pl/~09sbfraczek/diagram-sekw...

A break to chyba słaby pomysł.
http://www.uml-diagrams.org/sequence-diagrams-referenc...

"The interaction operator break represents a breaking or exceptional scenario that is performed instead of the remainder of the enclosing interaction fragment."
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Pytanie o diagram sekwencji - powrót

...
"zakończyć działanie wymusza powrót do komunikatów które zdarzyły się już wcześniej na tym diagramie."
...

Możesz podzielić się jakimś przykładem z życia, w którym wykorzystujesz takie konstrukty? Skąd będziesz widział, że taki model nie zapętli się po odebraniu jakiegoś "trefnego" komunikatu?

Moje wątpliwości budzi to, że skoro odebrałem komunikat, to jak mogę odebrać go jeszcze raz? :) Może "alt" powinien wystąpić na innym poziomie i powinieneś wyodrębnić dodatkowy komponent, który będzie wspomagał realizację obsługi komunikatu?
Tomasz S.

Tomasz S. Tester
oprogramowania /
Analityk biznesowy

Temat: Pytanie o diagram sekwencji - powrót

...

Możesz podzielić się jakimś przykładem z życia, w którym wykorzystujesz takie konstrukty? Skąd będziesz widział, że taki model nie zapętli się po odebraniu jakiegoś "trefnego" komunikatu?
...

Robię diagramy do jednego z modułów aplikacji bankowej i na różnych formatkach w zależności od decyzji użytkownika można przejść dalej, anulować i zakończyć działanie lub powrócić do tego co było wcześniej by np. dokonać jakiejś poprawki przy wprowadzaniu danych. O ile na diagramie aktywności takie coś łatwo pokazać to na diagramie sekwencji już nie i stąd mój problem.Ten post został edytowany przez Autora dnia 17.11.14 o godzinie 09:49
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: Pytanie o diagram sekwencji - powrót

Czy chcesz pokazać jakiś konkretny algorytm na tym diagramie sekwencji? Do kogo ten diagram ma być adresowany i co powstanie na jego podstawie?

Może chcesz pokazać "web-flow" ( np. http://www.cs.ait.ac.th/~mdailey/courseware/index.php?...
) i diagram stanów byłby bardziej odpowiedni?
Tomasz S.

Tomasz S. Tester
oprogramowania /
Analityk biznesowy

Temat: Pytanie o diagram sekwencji - powrót

Do tej analizy, którą obecnie robię klient chciał akurat dla każdego UC po diagramie aktywności i sekwencji, więc w tym wypadku nie mogę przejść na diagram stanów.

Następnym razem postaram się dogadać na większą dekompozycję, bo robienie diagramu dla całego UC robi z niego sporego kolosa, który jest ciężki w odbiorze. Normalnie bym zrobił kilka diagramów, a potem korzystał tylko z odwołań (ref) na diagramie sekwencji.Ten post został edytowany przez Autora dnia 17.11.14 o godzinie 10:03
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Pytanie o diagram sekwencji - powrót

Tomasz S.:
Witam wszystkich,

Mam pytanie odnośnie diagramu sekwencji, które od dłuższego czasu nie daje mi spokoju, ponieważ nie mogę nigdzie w książkach znaleźć na nie odpowiedzi.
Mianowicie chodzi mi o sytuację gdy korzystamy z fragmentu wyodrębnionego typu alt i jedna ze ścieżek alternatywnych zamiast prowadzić sekwencję komunikatów gdzieś dalej lub zakończyć działanie wymusza powrót do komunikatów które zdarzyły się już wcześniej na tym diagramie. Czyli chodzi o przedstawienie powrotu do wcześniejszej sekwencji. Na wszystkich dotychczasowych przykładach, z którymi miałem do czynienia nigdzie nie spotkałem się z tym jak mogę coś takiego zobrazować na diagramie a byłoby mi to bardzo pomocne. Zastanawiam się nad postawieniem notatki, która opisowo mówi, że w tym miejscu następuje powrót do danego komunikatu, ale podejrzewam, że w UML-u na pewno jest jakiś lepszy sposób na przedstawienie takiej sytuacji. Może jakoś to zapętlić?...nie wiem.

ten diagram ma linię życia (czasu) a czas się nie cofa, więc nie da się "wrócić", można dany komunikat wywołać po raz kolejny - pojęcie powrotu nie istnieje w dialogu. Dlatego nigdzie nie spotkałeś takiego przykładu (oby).

Może opisz co konkretnie chcesz udokumentować?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Pytanie o diagram sekwencji - powrót

Tomasz S.:
...

Możesz podzielić się jakimś przykładem z życia, w którym wykorzystujesz takie konstrukty? Skąd będziesz widział, że taki model nie zapętli się po odebraniu jakiegoś "trefnego" komunikatu?
...

Robię diagramy do jednego z modułów aplikacji bankowej i na różnych formatkach w zależności od decyzji użytkownika można przejść dalej, anulować i zakończyć działanie lub powrócić do tego co było wcześniej by np. dokonać jakiejś poprawki przy wprowadzaniu danych. O ile na diagramie aktywności takie coś łatwo pokazać to na diagramie sekwencji już nie i stąd mój problem.

diagram sekwencji absolutnie nie jest niczym podobnym do diagramu aktywności czy procesu
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Pytanie o diagram sekwencji - powrót

Tomasz S.:
Do tej analizy, którą obecnie robię klient chciał akurat dla każdego UC po diagramie aktywności i sekwencji, więc w tym wypadku nie mogę przejść na diagram stanów.

a co ma diagram aktywności do UC?
Co do zasady jeden UZ ma jeden lub kilka alternatywnych scenariuszy modelowanych diagramem sekwencji.

Co ma obrazować diagram aktywności dla UC?


Następnym razem postaram się dogadać na większą dekompozycję, bo robienie diagramu dla całego UC robi z niego sporego kolosa, który jest ciężki w odbiorze. Normalnie bym zrobił kilka diagramów, a potem korzystał tylko z odwołań (ref) na diagramie sekwencji.

bez wiedzy co nazywasz (jak definiujesz) UC nie ma tu dobre odpowiedzi.
Tomasz S.

Tomasz S. Tester
oprogramowania /
Analityk biznesowy

Temat: Pytanie o diagram sekwencji - powrót


Może opisz co konkretnie chcesz udokumentować?

Proszę bardzo.
Klient chce by dla każdego przypadku użycia z opracowanej wcześniej analizy zrobić po jednym diagramie aktywności i sekwencji. Ma to na celu ukazanie kto i w jakiej kolejności wykonuje poszczególne czynności (d. aktywności) oraz jak wygląda przepływ komunikatów pomiędzy poszczególnymi aktorami (d. sekwencji) podczas wykonywania danego przypadku.
Problem w tym, że o ile przedstawienie powrotu na diagramie aktywności robi się prosto za pomocą strzałki to ukazanie tego na diagramie sekwencji jest problematyczne.
diagram ma linię życia (czasu) a czas się nie cofa, więc nie da się "wrócić", można dany komunikat wywołać po raz > kolejny - pojęcie powrotu nie istnieje w dialogu.

Oczywiście wiem, że w dialogu nie można "wracać", jednak ponowne wywołanie na diagramie tej samej sekwencji komunikatów też nie ma sensu, bo zamaże to jego odbiór (będzie kilkakrotnie dłuższy). Dlatego wydaje mi się, że rozwiązaniem tej sytuacji jest dekompozycja i korzystanie z odwołań albo po prostu użycie notatki.Ten post został edytowany przez Autora dnia 18.11.14 o godzinie 09:09
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Pytanie o diagram sekwencji - powrót

Tomasz S.:

Może opisz co konkretnie chcesz udokumentować?

Proszę bardzo.
Klient chce by dla każdego przypadku użycia z opracowanej wcześniej analizy zrobić po jednym diagramie aktywności i sekwencji. Ma to na celu ukazanie kto i w jakiej kolejności wykonuje poszczególne czynności (d. aktywności) oraz jak wygląda przepływ komunikatów pomiędzy poszczególnymi aktorami (d. sekwencji) podczas wykonywania danego przypadku.
Problem w tym, że o ile przedstawienie powrotu na diagramie aktywności robi się prosto za pomocą strzałki to ukazanie tego na diagramie sekwencji jest problematyczne.

z zasady jeden przypadek użycia jest "wykonywany" przez jednego aktora, wiec nadal nie rozumiem na co to tu ten diagram aktywności,

diagram ma linię życia (czasu) a czas się nie cofa, więc nie da się "wrócić", można dany komunikat wywołać po raz > kolejny - pojęcie powrotu nie istnieje w dialogu.

Oczywiście wiem, że w dialogu nie można "wracać", jednak ponowne wywołanie na diagramie tej samej sekwencji komunikatów też nie ma sensu, bo zamaże to jego odbiór (będzie kilkakrotnie dłuższy). Dlatego wydaje mi się, że rozwiązaniem tej sytuacji jest dekompozycja i korzystanie z odwołań albo po prostu użycie notatki.

ma jak najbardziej sens, co najwyżej (i tu widzę problem) warto podzielić cały duży system na komponenty i komponent dokumentować oddzielnie...
Tomasz S.

Tomasz S. Tester
oprogramowania /
Analityk biznesowy

Temat: Pytanie o diagram sekwencji - powrót


z zasady jeden przypadek użycia jest "wykonywany" przez jednego aktora, wiec nadal nie rozumiem na co to tu ten diagram aktywności,
Przypadek użycia może jest "przeprowadzany" przez jednego aktora, ale często podczas jego wykonywania bierze udział kilku np. użytkownik klika w jakiś przycisk a system na na to odpowiada i pokazuje odpowiednią formatkę (mamy tu już 2 aktorów).

ma jak najbardziej sens, co najwyżej (i tu widzę problem) warto podzielić cały duży system na komponenty i komponent dokumentować oddzielnie...
System został podzielony tylko, że nadal nie rozwiąże to problemu zbyt rozbudowanego przypadku użycia. Wydaje mi się, że jeśli chce się zachować przejrzystość na diagramie to konieczne będzie przedstawienie UC na kilku diagramach sekwencji (oddzielny np. dla scenariusza głównego, dla scenariusza alternatywnego 1, dla scenariusza alternatywnego 2 itp.)

Clue mojego tematu to było pytanie czy da się w formie skrótowej pokazać na diagramie sekwencji opcje powrotu do wcześniejszej sekwencji komunikatów, ale jak się okazuje nie ma w UML jednoznacznej odpowiedzi na taką sytuację.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Pytanie o diagram sekwencji - powrót

Tomasz S.:

z zasady jeden przypadek użycia jest "wykonywany" przez jednego aktora, wiec nadal nie rozumiem na co to tu ten diagram aktywności,
Przypadek użycia może jest "przeprowadzany" przez jednego aktora, ale często podczas jego wykonywania bierze udział kilku np. użytkownik klika w jakiś przycisk a system na na to odpowiada i pokazuje odpowiednią formatkę (mamy tu już 2 aktorów).

to są kroki jednego scenariusza jednego przypadku użycia realizowanego przez jednego aktora


ma jak najbardziej sens, co najwyżej (i tu widzę problem) warto podzielić cały duży system na komponenty i komponent dokumentować oddzielnie...
System został podzielony tylko, że nadal nie rozwiąże to problemu zbyt rozbudowanego przypadku użycia. Wydaje mi się, że jeśli chce się zachować przejrzystość na diagramie to konieczne będzie przedstawienie UC na kilku diagramach sekwencji (oddzielny np. dla scenariusza głównego, dla scenariusza alternatywnego 1, dla scenariusza alternatywnego 2 itp.)

z całym szacunkiem, jeżeli kogoś przerasta zadanie, powinien zaczynać od prostszych, sugeruję Pana klientowi iść do szkoły ... i poczytać specyfikację UML i kilka innych książek...

Clue mojego tematu to było pytanie czy da się w formie skrótowej pokazać na diagramie sekwencji opcje powrotu do wcześniejszej sekwencji komunikatów, ale jak się okazuje nie ma w UML jednoznacznej odpowiedzi na taką sytuację.

a ja piszę, że nie istnieje pojęcie "powrotu" w realizacji sekwencji, w UML jest jednoznaczna odpowiedź: czas się nie cofa i dlatego "to coś" na diagramie sekwencji nazywa się "linia życia"....

walczy Pan z prawami fizyki a to walka zawsze przegranaTen post został edytowany przez Autora dnia 18.11.14 o godzinie 11:54

Następna dyskusja:

Diagram klas analitycznych




Wyślij zaproszenie do