Projekt 16/04:

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.