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 in Umple representing design of a system // for managing surveys of rainfall in Afghanistan // See: http://www.databaseanswers.com/data_models/afghanistan_rainfall/index.htm namespace afghan_rainfall; class Watershed { Integer id; details; key {id} } class District { Integer id; name; key{id} } class Office { Integer id; name; other_office_details; key {id} } class WorkerRole { code; description; key {code} } //associationClass Workder class Worker { Integer id; gender; name; other_work_details; key {id} 1 -- * Office; 1 -- * WorkerRole; } class WorkersOnSurvey { Integer id; Date date_assigned_from; Date date_assigned_to; 1 -- * VillageSurvey; 1 -- * Worker; key {id} } class VillageSurvey { Integer id; * -> 0..1 Village; Date due_date; Date completion_date; key {id} } class SurveyObservation { Integer id; Integer rainfall_centimetres; Integer humidity; Integer temperature; other_observation_details; * -> 0..1 VillageSurvey; } class Farm { id; farm_details; * -> 0..1 Village; key {id} } class Bulletin { Integer id; Date next_bulletin_due_date; Date issued_date; comments; * -> 0..1 AgriculturalResearchStation; key {id} } class AgriculturalResearchStation { name; details { Herat, Kabul, Kunduz } key {name} } class AgriculturalZone { Integer id; details; * -> 0..1 District; key {id} } //assocationClass class Village { Integer id; name; other_village_details; 1 -- * AgriculturalZone; 1 -- * Watershed; key {id} } //$?[End_of_model]$? //Positioning class Watershed { position 1 502 119 75; } class District { position 301 502 112 75; } class Office { position 667 324 207 92; } class WorkerRole { position 452 408 148 75; } class Worker { position 423 265 204 109; position.association Worker__WorkerRole 64,109 35,0; position.association Office__Worker 204,67 0,21; } class WorkersOnSurvey { position 382 43 203 92; position.association Worker__WorkersOnSurvey 106,92 65,0; position.association VillageSurvey__WorkersOnSurvey 0,85 177,27; } class VillageSurvey { position 44 190 177 92; position.association Village__VillageSurvey 88,92 131,0; } class SurveyObservation { position 11 24 249 126; position.association SurveyObservation__VillageSurvey 123,126 90,0; } class Farm { position 250 348 159 75; position.association Farm__Village 0,38 214,41; } class Bulletin { position 682 34 165 125; position.association AgriculturalResearchStation__Bulletin 81,125 83,0; } class AgriculturalResearchStation { position 680 199 169 73; } class AgriculturalZone { position 132 502 119 75; position.association AgriculturalZone__District 119,40 0,40; } class Village { position 1 345 214 92; position.association Village__Watershed 63,92 63,0; position.association AgriculturalZone__Village 174,92 43,0; }