TODO:
- Dodać animacje przemieszczania się
- Dodać stos itemów czekających na recepcjonistę
- Ogarnąć to, że UI jest diabolicznie brzydkie
- Zrobić refactor kodu - rozwikłać część spaghetti
Ma pokazać za pomocą graficznej aplikacji współbieżny przebieg procesów w zakładzie naprawczo-usługowym.
Zadanie nr: PW-10/2024
Język implementacji: Java
Środowisko implementacyjne: Eclipse, Intelij IDEA, Netbeans
Termin wykonania: ostatnie zajęcia
Podstawowe wymagania:
a. liczba procesów sekwencyjnych powinna być dobrana z wyczuciem tak, aby zachować czytelność interfejsu i
jednocześnie umożliwić zobrazowanie reprezentatywnych przykładów,
b. kod źródłowy programu musi być tak skonstruowany, aby można było „swobodnie” modyfikować liczbę
procesów sekwencyjnych (za wyjątkiem zadań o ściśle określonej liczbie procesów),
c. graficzne zobrazowanie działania procesów współbieżnych,
d. odczyt domyślnych danych wejściowych ze sformatowanego, tekstowego pliku danych (xml, properties, inne),
e. możliwość modyfikacji danych wejściowych poprzez GUI.
Sprawozdanie (w formie elektronicznej) powinno zawierać następujące elementy:
- stronę tytułową,
- niniejszą treść zadania,
- syntetyczny opis problemu – w tym wszystkie przyjęte założenia,
- wykaz własnych procesów sekwencyjnych,
- wykaz współdzielonych zasobów,
- wykaz wyróżnionych punktów synchronizacji,
- wykaz obiektów synchronizacji,
- listing programu.
Założenia: Pewien zakład usługowy zatrudnia łącznie 4 pracowników. Jedna osoba przyjmuje zamówienia na naprawę sprzętu X a trzy pozostałe osoby realizują te naprawy. Zakład może maksymalnie pomieścić 100 elementów sprzętu X. Osoba przyjmująca zamówienia notuje adresy właścicieli oddawanego przez nich sprzętu do naprawy i dołącza je do przyjmowanego egzemplarza. Potem odkłada sprzęt na półkę. Gdy któryś z trzech "fizycznych" naprawiaczy jest wolny to bierze odebrany element, naprawia go, opakowuje, przykleja adres odbiorcy i wysyła do zamawiającego naprawę. Dopiero wówczas element znika z ewidencji zakładu naprawczego.