Witam,
mam problem z przedmiotem Inżynieria Oprogramowania. Nie mogę już 3 raz zaliczyć diagramów stanów. Dodam, że jestem w tym temacie totalnie zielony. Poniżej dodaje przykładowy diagram stanów i diagram klas dla mojego projektu.
A tutaj diagram klas:
Sorki, że zrobione to jest w visio i na diagramie klas średnio cokolwiek widać. Proszę go nie komentować bo mimo, że dostałem za niego 4 to wydaje mi się, że więcej tam jest źle niż dobrze :)
A teraz do rzeczy. Diagram stanów został zrobiony dla klasy Katalog. Profesor stwierdził, że nie może być przejścia do pseudostanu początkowego. Mogę to rozwiązać tworząc nowy stan o nazwie np. "Wybór" i do niego wracać po naciśnięciu klawisza "Enter"? Następnie wykładowca ciągle się mnie pyta o różnicę między akcją, operacją i zdarzeniem. Z przykładowych materiałów dowiedziałem się, że powinienem postępować według schematu: Trigger[Guard]/Effect czyli zdarzenie Trigger wywołuje akcję Effect pod warunkiem Guard. Nie do końca wiem jak to zastosować, mógłby ktoś mnie naprowadzić jak to powinno wyglądać np. dla jakiegoś przykładowego stanu.
Ostatnio nie miałem czasu i na szybko zrobiłem coś żeby zastosować się do tego schematu co widać na przykładzie stanu Dodawanie. Działa to trochę na siłę: zdarzenie dodaj_pozycje() wywołuje tak jakby stan Dodawanie pod warunkiem wyboru dodawania przez klienta (nigdzie tego nie znalazłem ale z przykładów intuicyjnie odczytałem, ze zaznaczając w stanie akcje do/jakaś_akcja jest ona zawsze wykonywana w danym stanie). Nie zaznaczyłem akcji na przejściu bo znalazłem kilka przykładów, w których autorzy tez ich nie zaznaczyli. Widzicie dla mnie cały UML jest tak chaotyczny jak ta wypowiedz, która właśnie czytacie :) Boje się dodać więcej akcji w stanach żeby nie okazało się, że czegoś brakuje na diagramie klas, gorzej jeśli to jest konieczne. Podsumowując, patrząc na ten diagram może ktoś mi powiedzieć co powinno być w tych stanach a co na przejściach dla jakiegoś przykładowego stanu? :)
pozdr
Mofa