background image

4.6.2014

projekt_16_04_zad_3: projekt 16/04 zadanie 3

file:///F:/Moje%20dokumenty/projects/projekt_16_04/projekt_16_04_zad_3/projekt_16_04_zad_3/doxygen/html/index.html

1/2

projekt 16/04 zadanie 3

Autor: 

Tomasz Jakubczyk 

Prowadzacy: 

Piotr Witoński 

Zadanie

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.

Przyjete dodatkowe zalożenia

Klient nadaje paczke w oddziale lub oddziale ktory jest jednoczesnie baza.

Oddzial sortuje paczki. Jesli adresat nalezy do oddzialu, to paczka zostaje wyslana do niego

pierwszym dostepnym samochodem razem z innymi paczkami czekajacymi na dostarczenie do

klientow. Jesli adresat nie nalezy do oddzialu paczka zostaje wyslana pierwszym dostepnym

samochodm do bazy razem z innymi paczkami czekajacymi na wyslanie do bazy.

Baza po otrzymaniu paczki sprawdza w ktorym oddziale jest adresat i wysyla ja pierwszym

dostepnym samochodem razem z paczkami czekajacymi na wyslanie do tego oddzialu.

Oddzial po otrzymaniu paczki z bazy wysyla ja pierwszym dostepnym samochodem do klienta

razem ze wszystkimi paczkami czekajacymi na dostarczenie do klientow w rejonie.

Przebieg wykonywany jest w fazach bedacych liczbami naturalnymi (co zwieksza czytelnosc, a

ewentualnie latwo jest konwertowac na daty), nadanie i posortowanie zajmuje jedna faze, tak

samo kazde przewiezienie samochodem.

Rozdzielanie paczek do samochodow:

paczki najwczesniej nadane ze zbiorow jadacych w to samo miejsce zajmoja samochod

najpierw

zawsze dopelniac samochod jadacy w dane miejsce paczkami ktore tam jada

te paczki ktore zostana czekaja do nastepnej fazy

paczki ladowane sa do najmniejszego wolnego samochodu ktory moze je pomiescic

jesli zaden wolny samochod nie miesci paczek to najwieksy dostepny zabiera ile zmiesci, a

reszta musi pojechac innym samochodem wedlug tych samych zasad

background image

4.6.2014

projekt_16_04_zad_3: projekt 16/04 zadanie 3

file:///F:/Moje%20dokumenty/projects/projekt_16_04/projekt_16_04_zad_3/projekt_16_04_zad_3/doxygen/html/index.html

2/2

Opis uruchamiania

Program testujacy ma trzy opcje: new - wprowadzenie nowych danych, start - wykonanie symulacji

(zwraca przebieg do konsoli i zapisuje go do pliku), exit - koniec programu

Wprowadzanie danych: Najpierw nalerzy podac nazwe pliku w ktorym zostanie zapisany przebieg.

Nastepnie nalazy podac ilosc oddzialow ilosc i typy samochodow oraz ilosc i nazwy klientow. Na

koniec mozna wprowadzic ilosc przesylek, ich nadawcow i odbiorcow oraz czas nadania, albo

wpisujac w ilosc przesylek "-1" losowo wygenerowac przesylki.

background image

Hierarchia klas

Ta lista dziedziczenia posortowana jest z grubsza, choć nie całkowicie, alfabetycznie:

[poziom szczegółów 

1 2

]

engine

Zapewnia sterowanie przebiegiem symulacji

klient

Klient nalezy do jednego oddzialy i moze wysylac i dostawac paczki

oddzial

Oddzial ma klientow i samochody

baza

Baza spelnia funkce oddzialu i jest polaczona ze wszystkimi odzialami

paczka

Paczka idzie od nadawcy do odbiorcy

samochod

Samochody przewoza paczki

duzy

Duzy samochod o pojemnosci 100

maly

Maly samochod o pojemnosci 10

sredni

Sredni samochod o pojemnosci 50