Explain thoroughly what is going on in the UML Class Diagram.
(BREAK EVERYTHING DOWN TO ME AS CLEARLY AS POSSIBLE ALL THE RELATIOSHIPS)
Highlight 4 ways where there can be improvements.
Rearrange & Recreate the UML Class Diagram so it resembles the 4 NEW improvements.
LEAVE A LINK WHERE I CAN DOWNLOAD THE NEW & IMPROVED UML CLASS DIAGRAM FILE.
I need to be able to open the ARGOUML FILE & make chages to the UML DIAGRAM FILE.

Class Diagram SimQueue SimDriver +SimQueue: simEngine + BusSystem: martaModel + runinterpreter(void): void +SimQueue: simEngine +addNewEvent(Integer, String, Integer): void +triggerNextEvent(Bus System): void BusSystem +stops: HashMapInteger, BusStop> + riderArrivals: integer routes: HashMap + buses: HashMap Integer, BusStop> +riders: HashMapcInteger, BusStop> +makeStop(String ,int Double Double): int + makeRoute(int, String): int +makeBus(int,int,int,int,int): int BusRoute + displayEvent void +takeTurn:void +getNextLocation (int): Intege + displaylnternalStatus(void): oid SimEvent +timeRank: Integer +eventType: String +eventID Integer + equals(Object): boolean Bus BusStop + displaylnternalStatus: void +takeTurn: void + adjustPassengers(int): void + displayEvent void +takeTurn: void + findDistance(BusStop): Double + addNewRiders(int): void +displaylnternalStatus :void SimEventComparator + compare(SimEvent x, SimEvent y): int Class Diagram SimQueue SimDriver +SimQueue: simEngine + BusSystem: martaModel + runinterpreter(void): void +SimQueue: simEngine +addNewEvent(Integer, String, Integer): void +triggerNextEvent(Bus System): void BusSystem +stops: HashMapInteger, BusStop> + riderArrivals: integer routes: HashMap + buses: HashMap Integer, BusStop> +riders: HashMapcInteger, BusStop> +makeStop(String ,int Double Double): int + makeRoute(int, String): int +makeBus(int,int,int,int,int): int BusRoute + displayEvent void +takeTurn:void +getNextLocation (int): Intege + displaylnternalStatus(void): oid SimEvent +timeRank: Integer +eventType: String +eventID Integer + equals(Object): boolean Bus BusStop + displaylnternalStatus: void +takeTurn: void + adjustPassengers(int): void + displayEvent void +takeTurn: void + findDistance(BusStop): Double + addNewRiders(int): void +displaylnternalStatus :void SimEventComparator + compare(SimEvent x, SimEvent y): int