Inżynieria Oprogramowania AlgoVIZ – Moduł GUI Piotr Szczepański 151013 Łukasz Banaszek 150826 Inżynieria Oprogramowania 2010/2011
Spis treści Cel i założenia Wymagania funkcjonalne i niefunkcjonalne 1 Cel i założenia 2 Wymagania funkcjonalne i niefunkcjonalne 3 Diagram przypadków użycia 4 Diagram klas 5 Scenariusz 6 Diagram sekwencji 7 Diagram czynności 8 Diagram stanu 9 Diagram komponentów 10 Realizacja założeń i powiązań z modułami
Cel i założenia Stworzenie graficznego interfejsu użytkownika (GUI), który pozwoli użytkownikowi na wprowadzenie danych wejściowych oraz wyświetlenie demonstracji działania algorytmu. Opracowanie sposobu wyświetlania elementów grafu wykorzystywanych w programie.
Wymagania funkcjonalne Stworzenie wizualnego interfejsu do sterowania działaniem programu. Stworzenie wizualnego interfejsu do sterowania przebiegiem algorytmu. Stworzenie wizualnego interfejsu do modyfikacji struktury grafu.
Wymagania niefunkcjonalne Interfejs użytkownika powinien być prosty, funkcjonalny, intuicyjny i miły dla oka. Podzielenie obszaru panelu okna na kilka obszarów o różnym przeznaczeniu (obszar roboczy, obszar wyświetlenia metadanych, przyciski akcji, itd.).
Wymagania niefunkcjonalne Dysponowanie dwoma przestrzeniami nazw: computed - dzięki której w każdym momencie możliwe jest odświeżenie metadanych dotyczących grafu; user - której wartości są bezpośrednio modyfikowane przez użytkownika. Odpowiedzialność za proces kopiowania metadanych. (user->computed, algorithm->user) Operacja ta jest dość prosta i szybka.
Diagram przypadków użycia
Diagram przypadków użycia
Diagram przypadków użycia
Diagram przypadków użycia
Diagram klas
Scenariusz 1 Nazwa: Modyfikuj strukturę grafu Poziom ważności: Ważny Typ przypadku użycia: Ogólny Aktorzy: Użytkownik Krótki opis: Tworzenie oraz edycja struktury grafu Warunki wstępne: Wymagane jest wcześniejsze wybranie struktury, na jakiej będziemy operować spośród struktur dostępnych w programie – drzewa bądź listy Warunki końcowe: Wierzchołki i krawędzie zostają opisane przez wprowadzone dane Główny przepływ zdarzeń: Użytkownik tworzy wierzchołek i wprowadza do niego dane System przypisuje do wierzchołka pobrane metadane Użytkownik tworzy krawędź i wprowadza do niej dane System przypisuje do krawędzi pobrane metadane Alternatywne przepływy zdarzeń: 1a. Użytkownik usuwa wierzchołek i metadane z nią związane 1b. Użytkownik zmienia położenie wierzchołka modyfikując strukturę grafu 1c. Użytkownik wyświetla metadane związane z węzłem, dokonując w razie potrzeby ich zmiany 1d. Użytkownik wyświetla metadane związane z krawędzią, dokonując w razie potrzeby ich zmiany 3a. Użytkownik usuwa krawędź i metadane z nim związane Specjalne wymagania: Działanie modułu GUI w osobnym wątku Notatki i kwestie: Brak
Diagram sekwencji
Diagram czynności
Scenariusz 2 Nazwa: Steruj przebiegiem działania algorytmu Poziom ważności: Ważny Typ przypadku użycia: Ogólny Aktorzy: Użytkownik Krótki opis: Wizualizacja działania algorytmu na podanym grafie Warunki wstępne: Wymagane jest wcześniejsze stworzenie struktury danych i wybranie konkretnego algorytmu Warunki końcowe: Dane znajdujące się w strukturze zostają zmienione przez działanie wybranego algorytmu Główny przepływ zdarzeń: Użytkownik wybiera wizualizację działania pojedynczego kroku algorytmu na podanej strukturze danych System odrysowuje stan grafu Użytkownik kończy działanie algorytmu System przerywa jego wykonywanie oraz wizualizację, a także usuwa informację o nim ze struktury grafu Alternatywne przepływy zdarzeń: 1a. Użytkownik wybiera wizualizację działania „n” kroków algorytmu na podanej strukturze danych 1b. Użytkownik wybiera sekwencyjne działanie algorytmu, z określoną długością czasu wyświetlania pojedynczego kroku 1c. Użytkownik wybiera przywrócenie grafu do stanu sprzed uruchomienia algorytmu Specjalne wymagania: Działanie modułu GUI w osobnym wątku Notatki i kwestie: Brak
Diagram sekwencji
Diagram czynności
Diagram stanu
Diagram komponentów
Realizacja założeń i wymagań Opracowano schemat okna oraz paneli okna wyświetlających różnego rodzaju informacje (wizualizacja, metadane, itd.). Opracowano także schemat interfejsu użytkownika, który w prosty i intuicyjny sposób pozwoli na wprowadzenie konkretnych wartości. Zaprojektowano wizualizacje elementów grafu.
Realizacja powiązań z innymi modułami Powiązania z innymi modułami (zwłaszcza z modułem algorytmów), które widoczne są na diagramie komponentów, zrealizowane zostały za pomocą specjalnie zaprojektowanych interfejsów. Powstały one w oparciu o wspólne ustalenia i dyskusje. Problemy z implementacją zaprojektowanych interfejsów?
Dziękujemy za uwagę!