Draw on the right, write (Umple) model code on the left. Analyse models and generate code. This tool stores your data in cookies and on a server. I understand. Click to learn about privacy. Download Donate For help: User manual Ask questions Report issue
// UML class diagram of a system for managing a warehouse namespace warehouse; class MovementLocation{} class SlotSet{ isA MovementLocation; 0..1 -- 0..1 BoxOrPallet; 1 -- * Slot; } class Slot{ Integer number; Double width; } class Level{ Integer height; Integer number; 1 -- * Slot; } class LoadingGate{ Integer number; isA MovementLocation; } class Truck{ Integer registerNum; Boolean isWaiting; 1 -- * DeliverOrShipmentBom; } class Rwbm{ Integer id; } class Item{ Double value; Integer hazardID; Integer breakability; } class Row{ Integer depth; Integer number; 1 -- * Level; } //Note that here we have the choice to use // Time or Double, if the customer requires Double due to // some interoperability issues with a legacy syste, we can easily // accomodate them and use Double instead of Time. class RwbmMovement{ Double startTime; Double endTime; * toMovement -- 1 MovementLocation to; * fromMovement -- 1 MovementLocation from; * -- 1 BoxOrPallet movedBox; 1 -- * Rwbm; } // Both associations should be -> class DeliverOrShipmentBom { Double startTimeLoadOrUnload; Double endTimeExpected; * delivery -- 0..1 LoadingGate sentThrough; * arrival -- 0..1 LoadingGate arriveAt; } class BoxOrPallet{ Integer rfidTagNumber; Double lengthINmm; Double widthINmm; Double heightINmm; Double weightINkg; String contentType; * -- * DeliverOrShipmentBom; 1 -- * Item; } //$?[End_of_model]$? //Positioning class DeliverOrShipmentBom { position 279 314 235 79; position.association DeliverOrShipmentBom:delivery__LoadingGate:sentThrough 197,0 90,62; position.association DeliverOrShipmentBom:arrival__LoadingGate:arriveAt 116,0 9,62; } class BoxOrPallet { position 13 393 181 145; position.association BoxOrPallet__DeliverOrShipmentBom 182,110 0,36; position.association BoxOrPallet__Item 5,0 5,96; } class Item { position 13 21 161 96; } class Truck { position 318 453 164 79; position.association DeliverOrShipmentBom__Truck 82,0 121,79; } class Row { position 552 30 134 76; position.association Level__Row 70,76 68,0; } class LoadingGate { position 386 162 134 58; } class Level { position 554 143 134 79; position.association Level__Slot 70,79 71,0; } class Slot { position 553 317 134 76; } class Rwbm { position 87 297 109 62; } class SlotSet { position 255 187 109 45; position.association BoxOrPallet__SlotSet 17,45 163,0; position.association Slot__SlotSet 86,45 57,0; } class MovementLocation { position 322 32 135 45; } class RwbmMovement { position 65 155 145 75; position.association BoxOrPallet:movedBox__RwbmMovement 8,75 60,0; position.association Rwbm__RwbmMovement 66,75 44,0; position.association MovementLocation:from__RwbmMovement:fromMovement 145,17 60,45; position.association MovementLocation:to__RwbmMovement:toMovement 53,0 30,45; }