Przyjąć następujące założenia dotyczące firmy kurierskiej:
● firma składa się z bazy i kilku oddziałów;
● firma obsługuje wielu stałych klientów;
● flota firmy składa się z samochodów różnych typów;
● firma zajmuje się dostarczaniem przesyłek do swoich klientów.
Należy zasymulować działanie takiej firmy tworząc sieć połączeń między bazą a oddziałami oraz między oddziałami a klientami.
Oprogramować wizualizację symulacji. Ustalić eksperymentalnie, gdzie robią się najdłuższe kolejki.
Wymagania:
● wykorzystanie dziedziczenia, funkcji wirtualnych, obsługi wyjątków, współpracy ze strumieniami, generycznych klas i algorytmów biblioteki standardowej; przedstawiane problemy są formułowane ogólnie, a sposób i zakres ich uszczegóławiania jest jednym z etapów pracy nad projektem;
● prawidłowy i logiczny podział kodu między między pliki nagłówkowe i implementacyjne oraz plik testujący;
● działanie programu testującego powinno być monitorowane na konsoli, a ponadto przebieg testowania powinien być zapisywany w pliku;
● podział na część publiczną i prywatną klas;
● przejrzysty układ tekstu, zwięzłe i klarowne komentarze zapewniające samodokumentowanie się kodu;
● stosowanie identyfikatorów ułatwiających czytającemu zrozumienie kodu;
● wyraźna identyfikacja autora i prowadzącego;
● przejrzyste menu interakcji z użytkownikiem w programie testującym;
● kompilacja programu przy pomocy makefile (kompilator g++, flaga –Wall);
● zwięzła, papierowa dokumentacja projektowa zawierająca: założenia wstępne, proponowany podział na klasy z uwzględnieniem podstawowych mechanizmów komunikacji między nimi, interfejs użytkownika, sposób testowania; w dokumentacji nie należy umieszczać kodu programu!
● maks. liczba punktów za projekt nr 3 – 25, za terminowe oddanie projektów uważa się zajęcia nr 13 – 05 VI 2014;
● ocena za projekt jest wystawiana po prezentacji projektu na zajęciach i przesłaniu kodów źródłowych na adres mailowy prowadzącego.