Systemy czasu rzeczywistego
Projekt: Narzędzie do wykonywania testów diagnostycznych ping
Autor dokumentu | Zespół projektowy |
---|---|
Właściciel dokumentu | |
Wersja dokumentu | 1.0 |
Status dokumentu | Zatwierdzony |
Miejsce przechowywania | |
Data utworzenia | 6.12.2011 |
Data ostatniej modyfikacji | 16.01.2012 |
Data | Autor | Podsumowanie zmian | Wersja | Zaznaczenie zmian |
---|---|---|---|---|
6.12.2011 | Zespół projektowy | Utworzenie dokumentu | 0.1 | nie |
9.01.2012 | Zespół projektowy | Aktualizacja | 0.2 | Nie |
Lp. | Nazwisko | Rola w procesie |
---|---|---|
dr inż. Artur Arciuch | Główny udziałowiec | |
Data | Wersja | Imięinazwisko | Rola w procesie / stanowisko | Podpis |
---|---|---|---|---|
Rola | Nazwisko |
---|---|
Kierownik przedsięwzięcia | Magdalena Wolska |
Kierownik zespołu projektantów | Paweł Kalinowski |
Projektant | Paweł Kalinowski |
Projektant | Michał Krauzowicz |
Kierownik zespołu programistów | Daniel Gęsicki |
Programista | Daniel Gęsicki |
Programista | Piotr Jakacki |
Programista | Łukasz Kacprzyński |
Kierownik zespołu testów | Mateusz Gamdzyk |
Tester | Mateusz Gamdzyk |
Tester | Michał Piotrowicz |
Osoba do zarządzania dokumentami i wersjami dokumentów | Łukasz Katarzyński Magdalena Wolska |
Diagram 1. Diagram przypadków użycia 11
Diagram 2 Diagram sekwencji dla przypadku użycia Sprawdź osiągalność węzła w sieci 16
Diagram 3 Diagram sekwencji dla przypadku użycia Wyślij i zlicz żądanie do serwera 17
Diagram 4 Diagram sekwencji dla przypadku użycia Odbierz i wyświetl odpowiedzi od serwera 17
Diagram 5 Diagram sekwencji dla przypadku użycia Nasłuchuj żądań od klienta 18
Diagram 6 Diagram sekwencji dla przypadku użycia odbierz i zlicz żądania od klienta 18
Diagram 7 Diagram sekwencji dla przypadku użycia Wykonaj test osiągalności i wyślij odpowiedź 19
Diagram 8 Diagram sekwencji dla przypadku użycia Oblicz opóźnienie i narysuj wykres 19
Niniejszy dokument jest specyfikacją dotyczącą rozwiązania projektowego w zakresie systemu czasu rzeczywistego. Dokumentacja przedstawia zestawienie wymagań, analizy i modelowania systemu kalkulatora kredytowego i stanowi podsumowanie prac zespołu projektowego.
LP. | Nazwa | Opis | Autor | Wersja |
---|---|---|---|---|
1. | ||||
2. | ||||
3. | ||||
Skrót/pojęcie | Opis/definicja |
---|---|
System czasu rzeczywistego | To urządzenie techniczne, którego wynik i efekt działania jest zależny od chwili wypracowania tego wyniku |
Test diagnostyczny | Działanie mające na celu ocenić jakoś połączenia internetowego pomiędzy dwoma urządzeniami. |
Użytkownik | Osoba korzystająca z systemu, aktor. |
Klient | Strona żądająca dostępu do danej usługi lub zasobu. |
Serwer | Strona świadcząca usługę lub udostępniająca zasoby. |
Tworzone narzędzie przeznaczone będzie do wykonywania testów diagnostycznych jakości połączenia i osiągalności hostów w sieci. Narzędzie będzie miało możliwość prezentacji wyników w czytelnej formie.
Celem projektu jest stworzenie modelu systemu czasu rzeczywistego, implementacja oraz wdrożenie systemu do wykonywania testów diagnostycznych jakości połączenia.
System skierowany jest do użytkowników urządzeń zdalnych.
Udziałowcem głównym w projekcie jest prowadzący zajęcia dr inż. Artur Arciuch.
Tworzone narzędzie przeznaczone będzie do wykonywania testów diagnostycznych jakości połączenia i osiągalności hostów w sieci. Narzędzie będzie miało możliwość prezentacji wyników w czytelnej formie.
Na ryku istnieją obecnie narzędzia do testowania jakości połączenia, ale żadne z nich nie spełnia założeń systemu czasu rzeczywistego dlatego projektowane narzędzie wychodzi naprzeciw oczekiwaniom użytkowników. Narzędzie ma przewagę nad konkurencją dzięki czytelnej formie prezentowania rezultatów pomiaru diagnostycznego.
W rozdziale tym przedstawiono zestawienie wyników przeprowadzonej analizy wymagań.
Program komputerowego czasu rzeczywistego ma działać pod kontrolą systemu operacyjnego Windows Embedded CE 6.0 w środowisku sprzętowym komputerów UTU2440-2 lub YC2440-F.
Program komputerowy musi być zaimplementowany w języku programowania C++ z wykorzystaniem API win32 lub w języku Visual C#.
Program komputerowy powinien być osadzony na dwóch lub trzech komputerach i powinien się składać z 2 lub więcej wątków, które komunikują się ze sobą z wykorzystaniem interfejsów ethernet lub rs232c, a dostęp do wspólnych zasobów jest realizowany za pomocą mechanizmów typu: sekcja krytyczna, mutex'y lub kolejki komunikatów.
Czas wykonywania poszczególnych wątków musi być określony (np. 1 sekunda, 10 sekund).
Narzędzie powinno umożliwić wykonanie testu jakości połączenia do urządzenia zdalnego oraz prezentować jego wyniki.
Użytkownik powinien mieć możliwość zapoznania się z wynikami przeprowadzonego testu.
Wyniki mają być prezentowane w postaci wykresu.
Narzędzie ma pracować w trybie klient-serwer i umożliwiać klientowi wysyłanie żądań do serwera oraz serwerowi wysyłanie odpowiedzi do klienta.
Implementowany system musi funkcjonować pod kontrolą systemu operacyjnego Windows Embedded CE w wersji 6.0 w środowisku emulatora Prog_WinCE.
System ma być intuicyjny w użyciu, średniozaawansowany użytkownik powinien nauczyć się obsługiwać system w czasie nie dłuższym niż 5 minut.
Sprawdź osiągalność węzła w sieci
Wyślij i zlicz żądanie do serwera
Odbierz i wyświetl odpowiedzi od serwera
Nasłuchuj żądań od klienta
Odbierz i zlicz żądania od klienta
Wykonaj test osiągalnościi wyślij odpowiedź do klienta
Oblicz opóźnienie i narysuj wykres
Na podstawie wcześniej określonych wymagań wyodrębniono przypadki użycia, które przedstawiono na diagramie.
Diagram 1. Diagram przypadkówużycia
Nazwa UC | Sprawdź osiągalność węzła w sieci |
---|---|
Opis | Przypadek użycia realizujący test diagnostyczny sprawdzający osiągalność węzła w sieci |
Warunki wywołania | Użytkownik rozpoczął test diagnostyczny |
Warunki po realizacji | Test został zrealizowany. Użytkownik otrzymał wyniki. |
Gwarancja powodzenia | Test zostanie poprawnie wykonany |
Wymagania funkcjonalne które realizuje przypadek | Narzędzie powinno umożliwić wykonanie testu jakości połączenia do urządzenia zdalnego oraz prezentować jego wyniki. |
Wyzwalacz | Użytkownik rozpoczął test diagnostyczny |
Aktorzy | Użytkownik |
Dane wejściowe | Adres IP serwera |
Dane wyjściowe | Wyniki testu diagnostycznego |
Uwagi | Brak |
Zależne przypadki użycia | Wyślij żądanie do serwera Nasłuchuj żądań od klienta |
Nazwa UC | Wyślij i zlicz żądanie do serwera |
---|---|
Opis | Przypadek użycia realizujący wysłanie żądania do serwera i zliczenie odpowiedzi |
Warunki wywołania | Użytkownik rozpoczął test diagnostyczny połączenia do serwera. |
Warunki po realizacji | Żądanie zostało wysłane do serwera. |
Gwarancja powodzenia | Odebrana zostanie odpowiedź od serwera. |
Wymagania funkcjonalne które realizuje przypadek | Narzędzie ma pracować w trybie klient-serwer i umożliwiać klientowi wysyłanie żądań do serwera oraz serwerowi wysyłanie odpowiedzi do klienta. |
Wyzwalacz | Użytkownik rozpoczął test diagnostyczny połączenia do serwera. |
Aktorzy | Użytkownik |
Dane wejściowe | Adres IP serwera |
Dane wyjściowe | Brak |
Uwagi | Brak |
Zależne przypadki użycia | Odbierz i zlicz odpowiedzi od serwera. |
Nazwa UC | Odbierz i wyświetl odpowiedzi od serwera |
---|---|
Opis | Przypadek użycia rozszerzający przypadek wyślij i zlicz żądanie do serwera. Odpowiedzialny jest za odbieranie odpowiedzi od serwera i prezentację wyników. |
Warunki wywołania | Użytkownik rozpoczął test diagnostyczny połączenia do serwera. |
Warunki po realizacji | Zliczone zostaną otrzymane od serwera odpowiedzi. |
Gwarancja powodzenia | Zliczone zostaną otrzymane od serwera odpowiedzi. |
Wymagania funkcjonalne które realizuje przypadek | Narzędzie ma pracować w trybie klient-serwer i umożliwiać klientowi wysyłanie żądań do serwera oraz serwerowi wysyłanie odpowiedzi do klienta. |
Wyzwalacz | Użytkownik rozpoczął test diagnostyczny połączenia do serwera. |
Aktorzy | Użytkownik |
Dane wejściowe | Adres IP serwera |
Dane wyjściowe | Brak |
Uwagi | Brak |
Zależne przypadki użycia | Brak |
Nazwa UC | Nasłuchuj żądań od klienta |
---|---|
Opis | Przypadek użycia odpowiedzialny za nasłuchiwanie przez serwer żądań od klienta. |
Warunki wywołania | Użytkownik rozpoczął test diagnostyczny |
Warunki po realizacji | Możliwe będzie otrzymanie żądań od klienta |
Gwarancja powodzenia | Nadchodzące żądania zostaną poprawnie odebrane i przetworzone. |
Wymagania funkcjonalne które realizuje przypadek | Narzędzie ma pracować w trybie klient-serwer i umożliwiać klientowi wysyłanie żądań do serwera oraz serwerowi wysyłanie odpowiedzi do klienta. |
Wyzwalacz | Użytkownik rozpoczął test diagnostyczny połączenia do serwera. |
Aktorzy | Użytkownik |
Dane wejściowe | Adres IP klienta |
Dane wyjściowe | Brak |
Uwagi | Brak |
Zależne przypadki użycia | Odbierz i zlicz żądania od klienta |
Nazwa UC | Odbierz i zlicz żądania od klienta |
---|---|
Opis | Przypadek użycia rozszerzający przypadek nasłuchuj żądań od klienta. Odpowiedzialny jest za odbieranie i zliczanie żądań od klienta |
Warunki wywołania | Użytkownik rozpoczął test diagnostyczny |
Warunki po realizacji | Żądania klienta zostały poprawnie odebrane i zliczone. |
Gwarancja powodzenia | Żądania zostały odebrane bez błędów. |
Wymagania funkcjonalne które realizuje przypadek | Narzędzie ma pracować w trybie klient-serwer i umożliwiać klientowi wysyłanie żądań do serwera oraz serwerowi wysyłanie odpowiedzi do klienta. |
Wyzwalacz | Użytkownik rozpoczął test diagnostyczny połączenia. |
Aktorzy | Użytkownik |
Dane wejściowe | Adres IP klienta |
Dane wyjściowe | Zliczone żądania klienta |
Uwagi | Brak. |
Zależne przypadki użycia | Wykonaj test osiągalności |
Nazwa UC | Wykonaj test osiągalności i wyślij odpoweidż do klienta |
---|---|
Opis | Przypadek użycia odpowiedzialny za wykonanie testu osiągalności urządzenia. |
Warunki wywołania | Serwer odebrał żądania od klienta. |
Warunki po realizacji | Wykonano test osiągalności. Odpowiedź została wysłana do klienta |
Gwarancja powodzenia | Test osiągalności został wykonany poprawnie. |
Wymagania funkcjonalne które realizuje przypadek | Narzędzie ma pracować w trybie klient-serwer i umożliwiać klientowi wysyłanie żądań do serwera oraz serwerowi wysyłanie odpowiedzi do klienta.Narzędzie powinno umożliwić wykonanie testu jakości połączenia do urządzenia zdalnego. |
Wyzwalacz | Serwer odebrał żądania od klienta. |
Aktorzy | Użytkownik |
Dane wejściowe | Adres IP klienta |
Dane wyjściowe | Brak |
Uwagi | Brak |
Zależne przypadki użycia | Wyślij odpowiedź do klienta Oblicz opóźnienie i narysuj wykres. |
Nazwa UC | Oblicz opóźnienie i narysuj wykres |
---|---|
Opis | Przypadek użycia odpowiedzialny za obliczenie opóźnienia czasu wysłania odpowiedzi i narysowanie wykresu prezentującego wyniki. |
Warunki wywołania | Klient przysłał żądanie do serwera. |
Warunki po realizacji | Obliczenia zostały wykonane i wykres został zaprezentowany użytkownikowi. |
Gwarancja powodzenia | Odpowiedzi zostały odebrane poprawnie, opóźnienie zostało obliczone. |
Wymagania funkcjonalne które realizuje przypadek | Narzędzie powinno umożliwić wykonanie testu jakości połączenia do urządzenia zdalnego oraz prezentować jego wyniki. Użytkownik powinien mieć możliwość zapoznania się z wynikami przeprowadzonego testu. Wyniki mają być prezentowane w postaci wykresu. |
Wyzwalacz | Zakończono test osiągalności. |
Aktorzy | Użytkownik |
Dane wejściowe | Adres IP klienta |
Dane wyjściowe | Brak |
Uwagi | Brak |
Zależne przypadki użycia | Brak |
Nazwa | Opis |
---|---|
Użytkownik | Aktor ten inicjalizuje diagnostykę jakości połączenia wywołując przypadek użycia Sprawdź osiągalność węzła w sieci. |
Diagram 2 Diagram sekwencji dla przypadku użycia Sprawdź osiągalność węzła w sieci
Diagram 3 Diagram sekwencji dla przypadku użycia Wyślij i zlicz żądanie do serwera
Diagram 4 Diagram sekwencji dla przypadku użycia Odbierz i wyświetl odpowiedzi od serwera
Diagram 5 Diagram sekwencji dla przypadku użycia Nasłuchuj żądań od klienta
Diagram 6 Diagram sekwencji dla przypadku użycia odbierz i zlicz żądania od klienta
Diagram 7 Diagram sekwencji dla przypadku użycia Wykonaj test osiągalności i wyślij odpowiedź
Diagram 8 Diagram sekwencji dla przypadku użycia Oblicz opóźnienie i narysuj wykres
W projekcie zidentyfikowano następujące przypadki testowe:
L.p. | ID przypadku testowego | Nazwa | Testowany przypadek użycia |
---|---|---|---|
TC001 | Uruchomienie serwera | Sprawdź osiągalność węzła w sieci | |
TC002 | Wysłanie żądania przez klienta do serwera | Sprawdź osiągalność węzła w sieci Wyślij i zlicz żądanie do serwera |
|
TC003 | Odebranie i wyświetlenie odpowiedzi | Sprawdź osiągalność węzła w sieci Odbierz i wyświetl odpowiedzi od serwera |
|
TC004 | Uruchomienie serwera - błędny adres interfejsu | Sprawdź osiągalność węzła w sieci | |
TC005 | Wysłanie żądania przez klienta do serwera – błędny adres | Sprawdź osiągalność węzła w sieci Wyślij i zlicz żądanie do serwera |
|
TC006 | Rysowanie wykresu | Sprawdź osiągalność węzła w sieci Oblicz opóźnienie i narysuj wykres |
|
TC007 | Nasłuchiwanie serwera | Nasłuchuj żądań od klienta | |
TC008 | Obsługa serwera | Sprawdź osiągalność węzła w sieci Oblicz opóźnienie i narysuj wykres Nasłuchuj żądań od klienta |
|
TC008 | Obsługa klienta | Wyślij i zlicz żądanie do serwera Oblicz opóźnienie i narysuj wykres |
Test | Uruchomienieserwera |
---|---|
ID przypadkutestowego | TC001 |
Dane wejściowe | Prawidłowy adres IP interfejsu do nasłuchiwania. |
Oczekiwanyrezultat | Serwera zostanie uruchomiony, powołany zostanie wątek nasłuchujący na danym interfejsie o podanym adresie IP |
Krokpokroku | 1. Uruchomienie aplikacji serwera 2. Wprowadzenie adresu interfejsu 3. Przyciśnięcieprzycisku „Start Listening” |
Wyniki: | Serwer jest w stanie gotowości – powołany został wątek nasłuchujący. |
Wnioski: | Serwer nasłuchuje na wskazanym interfejsie, możliwe połączenie z serwerem. |
Test | Wysłanie żądania przez klienta do serwera |
---|---|
ID przypadkutestowego | TC002 |
Dane wejściowe | Prawidłowy adres IP serwera, NICK (po co nick ?) |
Oczekiwanyrezultat | Odebranieodpowiedzi od serwera |
Krokpokroku | 1. Uruchomienie aplikacji klienta 2. Wprowadzenie adresu IP serwera 3. Wprowadzenie parametru NICK w celu (jakim?) 4. Przyciśnięcieprzycisku „Connect” |
Wyniki: | Serwer odbiera żądanie od klienta. |
Wnioski: | Klient prawidłowo komunikuje się z serwerem. |
Test | Odebranieiwyświetlenieodpowiedzi |
---|---|
ID przypadkutestowego | TC003 |
Dane wejściowe | Odpowiedz od serwera |
Oczekiwanyrezultat | Dane odebrane od serwera zostaną prawidłowo przetworzone a następnie wyświetlone |
Krokpokroku | 1. Klient otrzymuje odpowiedź od serwera 2. Przetwarza odpowiedź 3. Wyświetlaodpowiedź |
Wyniki: | Informacjewyświetlone w oknie |
Wnioski: | Klient po wysłanie żądania prawidłowo odebrał i przetworzył informacje od serwera. |
Test | Uruchomienie serwera – błędny adres interfejsu |
---|---|
ID przypadkutestowego | TC004 |
Dane wejściowe | Błędny adres IP interfejsu do nasłuchiwania. |
Oczekiwanyrezultat | Serwer nie zostanie uruchomiony, program poinformuje o błędzie |
Krokpokroku | 1. Uruchomienie aplikacji serwera 2. Wprowadzenie adresu interfejsu 3. Przyciśnięcieprzycisku „Start Listening” |
Wyniki: | Serwer nie został zainicjowany – komunikat o błędzie. |
Wnioski: | Serwer nie może zostać zainicjowany ponieważ podany został błędny adres |
Test | Wysłanie żądania przez klienta do serwera – błędny adres |
---|---|
ID przypadkutestowego | TC005 |
Dane wejściowe | Błędny adres IP serwera, NICK (po co nick ?) |
Oczekiwanyrezultat | Klient nie będzie mógł wysłać żądania pod wskazany adres. |
Krokpokroku | 1. Uruchomienie aplikacji klienta 2. Wprowadzenie błędnego adresu IP serwera 3. Wprowadzenie parametru NICK w celu (jakim?) 4. Przyciśnięcieprzycisku „Connect” |
Wyniki: | Komunikat o niemożliwości wysłania żądania pod wskazany adres. |
Wnioski: | Klient nie może połączyć się z serwerem ze względu na nieprawidłowy adres serwera. |
Test | Rysowanie wykresu |
---|---|
ID przypadkutestowego | TC006 |
Dane wejściowe | Odpowiedzi od klienta |
Oczekiwanyrezultat | Aktualizacja wykresu przez serwer |
Krokpokroku |
|
Wyniki: | Naniesienie na wykres wartości obliczonej na podstawie odebranego komunikatu. |
Wnioski: | Serwer oblicza opóźnienia na podstawie komunikatów przesyłanych podczas połączenia z aplikacjami klienckimi i aktualizuje wykres. |
Test | Nasłuchiwanie serwera |
---|---|
ID przypadkutestowego | TC007 |
Dane wejściowe | Poprawna konfiguracja i uruchomienie serwera |
Oczekiwanyrezultat | Ciągłość działania procesu |
Krokpokroku | 1. Uruchomienie aplikacji serwera 2. Odpowiednie skonfigurowanie aplikacji 3. Start i nieprzerwane działanie procesu |
Wyniki: | Brak zakończenia działania procesu bez ingerencji użytkownika |
Wnioski: | Serwer uruchamia proces nasłuchiwania, który działa nieprzerwanie dopóki nie nastąpi żądanie od klienta wyłączające proces. |
Test | Obsługa serwera |
---|---|
ID przypadkutestowego | TC008 |
Dane wejściowe | Poprawna konfiguracja i uruchomienie serwera oraz klienta |
Oczekiwanyrezultat | Poprawna obsługa aplikacji serwera |
Krokpokroku |
|
Wyniki: | Obsługa błędu nagłego zamknięcia połączenia i wyświetlenie komunikatu |
Wnioski: | Wyłączenie aplikacji klienckiej podczas połączenia z serwerem nie powinno spowodować błędu aplikacji serwera. |
Test | Obsługa klienta |
---|---|
ID przypadkutestowego | TC009 |
Dane wejściowe | Poprawna konfiguracja i uruchomienie serwera oraz klienta |
Oczekiwanyrezultat | Poprawna obsługa aplikacji klienta |
Krokpokroku |
|
Wyniki: | Obsługa błędu nagłego zamknięcia połączenia i wyświetlenie komunikatu |
Wnioski: | Wyłączenie aplikacji serwera podczas nawiązanego z nim połączenia przez klienta nie powinno spowodować błędu aplikacji klienta. |
L.p. | ID przypadku testowego | Rezultat [OK NOTOK] | Uwagi |
---|---|---|---|
TC001 | OK | Serwer nasłuchuje na wskazanym interfejsie, możliwe połączenie z serwerem. | |
TC002 | OK | Klient prawidłowo komunikuje się z serwerem. | |
TC003 | OK | Klient po wysłanie żądania prawidłowo odebrał i przetworzył informacje od serwera. | |
TC004 | OK | Serwer nie może zostać zainicjowany ponieważ podany został błędny adres | |
TC005 | OK | Klient nie może połączyć się z serwerem ze względu na nieprawidłowy adres serwera. | |
TC006 | OK | Brak | |
TC007 | OK | Brak | |
TC008 | OK | Brak | |
TC009 | OK | Brak |