Projekt z Programowania Współbieżnego i Rozproszonego
Temat: Most – ruch wahadłowy.
Wykonali:
Arkadiusz Podkościelny ID 9.1
Tomasz Skrzypiec ID 9.1
Opis projektu:
- Aplikacja symulująca ruch wahadłowy samochodów na moście.
- Samochody mogą być generowane w zależności od ustawień suwaka.
- Czas świecenia się światła jest również zależny od ustawień suwaka.
- Światła mogą być zmienione za pomocą przycisku.
- Samochody przejeżdżają przez most bezkolizyjnie, jeżeli nawet zaświeci się światło zielone a na drodze będzie inny samochód, to samochód zaczeka i dopiero wjedzie gdy będzie miał wolną drogę.
I. Diagramy UML oraz scenariusze przypadków użycia:
Diagram przypadków użycia:
Rys. Diagram przypadków użycia - użytkownik
Rys. Realizacja diagramu poprzez interfejs użytkownika
Scenariusz przypadków użycia
Suwak „Czas świateł” – określa czas przez jaki dane światło się świeci.
Suwak „Ilość samochodów” – określa liczbę samochodów wjeżdżających na most z danej strony.
Przycisk „Zmień swiatła” – służy do zmiany światła z zielonego na czerwone lub z czerwonego na zielone.
Diagram klas
Rys. Diagram klas
Diagram czynności
Rys. Diagram czynności
Diagram przejść stanów
Rys. Diagram przejść stanów
II. Wyszczególnienie elementów aplikacji wykorzystujących przetwarzanie równoległe i rozproszone oraz rozwiązań zastosowanych do ich implementacji
Klasa implementuje interfejs Runnable
public class Main extends JFrame implements ActionListener,Runnable
{
//…
}
Zadeklarowanie wątku
Thread fThread;
Stworzenie obiektu wątku
fThread = new Thread (this);
fThread.start ();
Implementuje metodę run interfejsu Runnable , a w niej umieszczona jest nieskończona pętla odpowiedzialna za „przerysowywanie” animacji
public void run() {
while(true)
{
try {
fThread.sleep(10);
} catch (InterruptedException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
panel.repaint();
}
III. Podział zadań projektowych członków grupy
Arkadiusz Podkościelny:
Grafika, część funkcjonalna grafiki(ładowanie grafiki do programu Java, ustawienia grafiki, malowanie obiektów).
Dokumentacja
Tomasz Skrzypiec:
Dokumentacja
Główna część funkcjonalna, algorytmy
Diagram przypadków użycia:
Rys. Diagram przypadków użycia – system
Scenariusz przypadków użycia:
S1 Zmiana czasu świecenia się świateł
S1.1. Opis
Funkcja ta pozwala na zamianę czasu świecenia się świateł
S1.2. Wspierane procedury i procesy biznesowe
Zmiana czasu
S1.3. Użytkownicy
Użytkownik programu
S1.4. Warunki początkowe
Bieżące ustawienie światła (suwak ustawiony w środkowej pozycji)
S1.5. Warunki końcowe
Brak
S1.6. Przebieg główny
S1.6-1 Użytkownik używa suwaka do zmiany czasu świecenia świateł
S1.6-2 Użytkownik odpowiednim suwakiem wprowadza zmiany na bieżąco, bez konieczności ponownego uruchamiania programu
S1.7. Przebiegi alternatywne
Brak
S1.8. Sytuacje wyjątkowe
Błąd działania programu
S1.9. Reguły
Brak
S1.10. Wymagania niefunkcjonalne
Użytkownik musi mieć dostęp do komputera z zainstalowanym oprogramowaniem
S1.11. Uwagi i pytania otwarte
Brak.
S2 Zmiana koloru świecenia się świateł
S2.1. Opis
Funkcja ta pozwala na zamianę koloru świecenia się świateł
S2.2. Wspierane procedury i procesy biznesowe
Zmiana koloru światła
S2.3. Użytkownicy
Użytkownik programu
S2.4. Warunki początkowe
Aplikacja rozpoczyna się z światłem zielonym dla samochodów nadjeżdżających z prawej strony
S2.5. Warunki końcowe
Brak
S2.6. Przebieg główny
S2.6-1 Użytkownik używa przycisku do zmiany koloru świecenia świateł
S2.6-2 Użytkownik odpowiednim przyciskiem wprowadza zmiany na bieżąco, bez konieczności ponownego uruchamiania programu
S2.7. Przebiegi alternatywne
Brak
S2.8. Sytuacje wyjątkowe
Błąd działania programu
S2.9. Reguły
Brak
S2.10. Wymagania niefunkcjonalne
Użytkownik musi mieć dostęp do komputera z zainstalowanym oprogramowaniem
S2.11. Uwagi i pytania otwarte
Brak
S3 Zmiana ilości wygenerowanych samochodów
S3.1. Opis
Funkcja ta pozwala na zmianę ilości generowanych samochodów
S3.2. Wspierane procedury i procesy biznesowe
Zmiana ilości samochodów
S3.3. Użytkownicy
Użytkownik programu
S3.4. Warunki początkowe
Brak
S3.5. Warunki końcowe
Brak
S3.6. Przebieg główny
S3.6-1 Użytkownik używa suwaka do zmiany ilości generowanych samochodów
S3.6-2 Użytkownik odpowiednim suwakiem wprowadza zmiany na bieżąco, bez konieczności ponownego uruchamiania programu
S3.7. Przebiegi alternatywne
Brak
S3.8. Sytuacje wyjątkowe
Błąd działania programu
S3.9. Reguły
Brak
S3.10. Wymagania niefunkcjonalne
Użytkownik musi mieć dostęp do komputera z zainstalowanym oprogramowaniem
S3.11. Uwagi i pytania otwarte
Brak