8
com.umlet.element.Class
312
16
104
40
Wetterstation --
com.umlet.element.Class
744
16
112
40
Alarmverzeichnis --
com.umlet.element.Relation
392
16
368
40
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;352;24
com.umlet.element.Class
320
128
104
64
Sensor {abstract} -- wert : Real
com.umlet.element.Relation
168
16
160
240
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
232
232
80
24
WrSensor
com.umlet.element.Relation
248
168
136
80
lt=<<-
120;24;120;40;24;40;24;64
com.umlet.element.Class
424
224
104
64
MinMaxSensor {abstract} -- min : Real max : Real
com.umlet.element.Relation
344
168
144
72
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
496
328
88
32
TrendSensor {abstract}
com.umlet.element.Class
296
328
80
24
LdSensor
com.umlet.element.Relation
312
264
168
80
lt=<<-
152;24;152;40;24;40;24;64
com.umlet.element.Relation
440
264
120
80
lt=<<-
24;24;24;40;104;40;104;64
com.umlet.element.Class
392
328
80
24
LfSensor
com.umlet.element.Relation
392
264
88
80
lt=<<-
72;24;72;40;24;40;24;64
com.umlet.element.Class
448
408
80
24
WgSensor
com.umlet.element.Class
560
408
80
24
TSensor
com.umlet.element.Relation
520
336
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
472
336
88
88
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Class
672
328
80
24
Historie
com.umlet.element.Relation
560
304
128
56
lt=- m1=1 m2=1 hat r1=hist
112;40;24;40
com.umlet.element.Class
680
424
88
64
Messung -- wert : Real zeitpunkt : Date
com.umlet.element.Relation
656
328
98
112
lt=<<<- enthält m1= 0..1 m2= *
56;24;56;96
com.umlet.element.Relation
744
32
98
112
lt=<<<- enthält m1= 0..1 m2= *
56;24;56;96
com.umlet.element.Class
744
128
104
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
696
240
80
24
Sturmwarnung
com.umlet.element.Class
808
240
88
24
Glatteiswarnung
com.umlet.element.Relation
768
168
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
720
168
88
88
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
168
16
160
336
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;320;128;320
com.umlet.element.Relation
168
16
272
376
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;360;256;360;256;336
com.umlet.element.Relation
168
16
336
448
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;432;320;432;320;416
com.umlet.element.Relation
168
16
456
448
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;432;440;432;440;416
com.umlet.element.Class
320
608
168
64
Wetterstation -- -- starteWetterstation() : void messeAlles() : void
com.umlet.element.Class
752
608
112
40
Alarmverzeichnis --
com.umlet.element.Relation
464
608
304
40
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;288;24
com.umlet.element.Class
328
720
112
64
Sensor {abstract} -- wert : Real -- verbinde() : void
com.umlet.element.Relation
176
608
160
240
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
240
824
80
24
WrSensor
com.umlet.element.Relation
256
760
136
80
lt=<<-
120;24;120;40;24;40;24;64
com.umlet.element.Class
432
816
104
64
MinMaxSensor {abstract} -- min : Real max : Real
com.umlet.element.Relation
352
760
144
72
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
504
920
88
32
TrendSensor {abstract}
com.umlet.element.Class
304
920
80
24
LdSensor
com.umlet.element.Relation
320
856
168
80
lt=<<-
152;24;152;40;24;40;24;64
com.umlet.element.Relation
448
856
120
80
lt=<<-
24;24;24;40;104;40;104;64
com.umlet.element.Class
400
920
80
24
LfSensor
com.umlet.element.Relation
400
856
88
80
lt=<<-
72;24;72;40;24;40;24;64
com.umlet.element.Class
456
1000
80
24
WgSensor
com.umlet.element.Class
568
1000
80
24
TSensor
com.umlet.element.Relation
528
928
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
480
928
88
88
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Class
680
920
80
24
Historie
com.umlet.element.Relation
568
896
128
56
lt=- m1=1 m2=1 hat r1=hist
112;40;24;40
com.umlet.element.Class
688
1016
88
64
Messung -- wert : Real zeitpunkt : Date
com.umlet.element.Relation
664
920
98
112
lt=<<<- enthält m1= 0..1 m2= *
56;24;56;96
com.umlet.element.Relation
752
624
98
112
lt=<<<- enthält m1= 0..1 m2= *
56;24;56;96
com.umlet.element.Class
752
720
104
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
704
832
80
24
Sturmwarnung
com.umlet.element.Class
816
832
88
24
Glatteiswarnung
com.umlet.element.Relation
776
760
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
728
760
88
88
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
176
608
160
336
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;320;128;320
com.umlet.element.Relation
176
608
272
376
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;360;256;360;256;336
com.umlet.element.Relation
176
608
336
448
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;432;320;432;320;416
com.umlet.element.Relation
176
608
456
448
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;432;440;432;440;416
com.umlet.element.Class
320
1160
168
104
Wetterstation -- -- starteWetterstation() : void messeWr() : void zeigeWr(w:Real) : void
com.umlet.element.Class
752
1208
112
40
Alarmverzeichnis --
com.umlet.element.Relation
464
1208
296
32
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;288;24
com.umlet.element.Class
328
1320
112
64
Sensor {abstract} -- wert : Real -- verbinde() : Sensor
com.umlet.element.Relation
176
1208
152
232
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
240
1408
96
80
WrSensor -- -- messe() : void holeWert() : Real getWert() : Real
com.umlet.element.Relation
256
1360
128
56
lt=<<-
120;24;120;40;24;40;24;48
com.umlet.element.Class
432
1416
104
64
MinMaxSensor {abstract} -- min : Real max : Real
com.umlet.element.Relation
352
1360
136
64
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
504
1520
88
32
TrendSensor {abstract}
com.umlet.element.Class
304
1520
80
24
LdSensor
com.umlet.element.Relation
320
1456
160
72
lt=<<-
152;24;152;40;24;40;24;64
com.umlet.element.Relation
448
1456
112
72
lt=<<-
24;24;24;40;104;40;104;64
com.umlet.element.Class
400
1520
80
24
LfSensor
com.umlet.element.Relation
400
1456
80
72
lt=<<-
72;24;72;40;24;40;24;64
com.umlet.element.Class
456
1600
80
24
WgSensor
com.umlet.element.Class
568
1600
80
24
TSensor
com.umlet.element.Relation
528
1528
96
80
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
480
1528
80
80
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Class
680
1520
80
24
Historie
com.umlet.element.Relation
568
1496
120
56
lt=- m1=1 m2=1 hat r1=hist
112;40;24;40
com.umlet.element.Class
688
1616
88
64
Messung -- wert : Real zeitpunkt : Date
com.umlet.element.Relation
672
1520
88
104
lt=<<<- enthält m1= 0..1 m2= *
48;24;48;96
com.umlet.element.Relation
760
1224
88
104
lt=<<<- enthält m1= 0..1 m2= *
48;24;48;96
com.umlet.element.Class
752
1320
104
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
704
1432
80
24
Sturmwarnung
com.umlet.element.Class
816
1432
88
24
Glatteiswarnung
com.umlet.element.Relation
776
1360
96
80
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
728
1360
80
80
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
176
1208
152
328
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;320;128;320
com.umlet.element.Relation
176
1208
264
368
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;360;256;360;256;336
com.umlet.element.Relation
176
1208
328
440
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;432;320;432;320;416
com.umlet.element.Relation
176
1208
448
440
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;432;440;432;440;416
com.umlet.element.Class
304
1776
168
144
Wetterstation -- -- starteWetterstation() : void messeWr() : void zeigeWr(w:Real) : void messeLd() : void zeigeLd(w:Real) : void zeigeMinLd(w:Real) : void zeigeMaxLd(w:Real) : void
com.umlet.element.Class
736
1864
112
40
Alarmverzeichnis --
com.umlet.element.Relation
448
1864
304
40
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;288;24
com.umlet.element.Class
312
1928
112
112
Sensor {abstract} -- wert : Real -- verbinde() : Sensor messe() : void holeWert() : Real getWert() : Real
com.umlet.element.Relation
160
1864
152
232
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
224
2072
88
32
WrSensor
com.umlet.element.Relation
240
2016
128
64
lt=<<-
120;24;120;40;24;40;24;56
com.umlet.element.Class
416
2072
104
64
MinMaxSensor {abstract} -- min : Real max : Real
com.umlet.element.Relation
336
2016
136
64
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
552
2224
88
32
TrendSensor {abstract}
com.umlet.element.Class
288
2160
112
112
LdSensor -- -- messe() : void getMin() : Real getMax() : Real updateMin() : void updateMax() : void
com.umlet.element.Relation
304
2112
160
56
lt=<<-
152;24;152;40;24;40;24;48
com.umlet.element.Relation
432
2112
176
120
lt=<<-
24;24;24;40;168;40;168;112
com.umlet.element.Class
448
2224
80
24
LfSensor
com.umlet.element.Relation
432
2112
72
120
lt=<<-
24;24;24;40;64;40;64;112
com.umlet.element.Class
504
2304
80
24
WgSensor
com.umlet.element.Class
616
2304
80
24
TSensor
com.umlet.element.Relation
576
2232
96
80
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
528
2232
80
80
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Class
736
2224
80
24
Historie
com.umlet.element.Relation
616
2200
128
56
lt=- m1=1 m2=1 hat r1=hist
120;40;24;40
com.umlet.element.Class
736
2320
88
64
Messung -- wert : Real zeitpunkt : Date
com.umlet.element.Relation
720
2224
88
104
lt=<<<- enthält m1= 0..1 m2= *
48;24;48;96
com.umlet.element.Relation
744
1880
88
104
lt=<<<- enthält m1= 0..1 m2= *
48;24;48;96
com.umlet.element.Class
736
1976
104
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
688
2088
80
24
Sturmwarnung
com.umlet.element.Class
800
2088
88
24
Glatteiswarnung
com.umlet.element.Relation
760
2016
96
80
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
712
2016
80
80
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
160
1864
152
328
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;320;128;320
com.umlet.element.Relation
160
1864
328
440
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;432;320;432;320;384
com.umlet.element.Relation
160
1864
400
520
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;512;384;512;384;464
com.umlet.element.Relation
160
1864
512
520
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;512;504;512;504;464
com.umlet.element.Note
48
520
184
104
wrsen = new WrSensor(); ... andere Sensoren wrsen.verbinde(); ... andere Sensoren alarmvz = new Alarmverzeichnis(); (GRASP: Creator) fg=red bg=default
com.umlet.element.Relation
208
560
152
96
lt=. bg=default fg=default
24;24;136;80
com.umlet.element.Note
104
1136
144
48
wrsen.messe(); Real w = wrsen.getWert(); zeigeWr(w); fg=red
com.umlet.element.Relation
224
1136
104
88
lt=.
24;24;96;80
com.umlet.element.Note
56
1440
120
32
wert = holeWert(); fg=red
com.umlet.element.Relation
152
1424
96
40
lt=.
24;32;88;24
com.umlet.element.Note
64
1512
120
32
return wert; fg=red
com.umlet.element.Relation
160
1456
88
72
lt=.
24;64;80;24
com.umlet.element.Note
72
1752
152
112
ldsen.messe(); Real w = ldsen.getWert(); Real min = ldsen.getMin(); Real max = ldsen.getMax(); zeigeLd(w); zeigeMinLd(min); zeigeMaxLd(max); fg=red
com.umlet.element.Relation
128
1976
192
48
lt=.
24;40;184;24
com.umlet.element.Note
0
1992
152
64
Gemeinsame Operationen in die Superklasse. (GRASP: High Cohesion) fg=red
com.umlet.element.Relation
200
1768
112
96
lt=.
24;24;104;88
com.umlet.element.Note
0
2128
152
184
(überschreibt messe() aus Klasse Sensor) wert = holeWert(); if(wert < min) { updateMin(); } if(wert > max) { updateMax(); } Problem: 24h-Berechnung benötigt Historie. fg=red
com.umlet.element.Relation
128
2176
168
32
lt=.
24;24;160;24
com.umlet.element.Class
312
2448
168
160
Wetterstation -- -- starteWetterstation() : void messeWr() : void zeigeWr(w:Real) : void messeLd() : void zeigeLd(w:Real) : void zeigeMinLd(w:Real) : void zeigeMaxLd(w:Real) : void (analog für LfSensor)
com.umlet.element.Class
744
2552
112
40
Alarmverzeichnis --
com.umlet.element.Relation
456
2552
296
32
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;288;24
com.umlet.element.Class
320
2616
112
112
Sensor {abstract} -- wert : Real -- verbinde() : Sensor messe() : void holeWert() : Real getWert() : Real
com.umlet.element.Relation
168
2552
152
232
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
232
2760
88
32
WrSensor
com.umlet.element.Relation
248
2704
128
64
lt=<<-
120;24;120;40;24;40;24;56
com.umlet.element.Class
424
2760
104
64
MinMaxSensor {abstract} -- min : Real max : Real
com.umlet.element.Relation
344
2704
136
64
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
560
2912
88
32
TrendSensor {abstract}
com.umlet.element.Class
296
2848
144
120
LdSensor -- -- LdSensor() messe() : void getMin() : Real getMax() : Real updateMin(w:Real) : void updateMax(w:Real) : void
com.umlet.element.Relation
312
2800
160
56
lt=<<-
152;24;152;40;24;40;24;48
com.umlet.element.Relation
440
2800
176
120
lt=<<-
24;24;24;40;168;40;168;112
com.umlet.element.Class
456
2912
80
24
LfSensor
com.umlet.element.Relation
440
2800
72
120
lt=<<-
24;24;24;40;64;40;64;112
com.umlet.element.Class
512
2992
80
24
WgSensor
com.umlet.element.Class
624
2992
80
24
TSensor
com.umlet.element.Relation
584
2920
96
80
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
536
2920
80
80
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Class
712
2912
176
80
Historie -- -- updateHist(w:Wert,d:Date) : void computeMin() : Real; computeMax() : Real;
com.umlet.element.Relation
504
2776
296
144
lt=- m1=1 m2=1 hat r1=hist fg=red bg=red
272;136;272;40;24;40
com.umlet.element.Class
728
3064
144
64
Messung -- wert : Real zeitpunkt : Date -- Messung(w:Real,d:Date)
com.umlet.element.Relation
736
2968
88
104
lt=<<<- enthält m1= 0..1 m2= * r2=messungen
48;24;48;96
com.umlet.element.Relation
752
2568
88
104
lt=<<<- enthält m1= 0..1 m2= *
48;24;48;96
com.umlet.element.Class
744
2664
104
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
696
2776
80
24
Sturmwarnung
com.umlet.element.Class
808
2776
88
24
Glatteiswarnung
com.umlet.element.Relation
768
2704
96
80
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
720
2704
80
80
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
168
2552
152
328
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;320;128;320
com.umlet.element.Relation
168
2552
328
472
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;464;320;464;320;384
com.umlet.element.Relation
168
2552
400
520
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;512;384;512;384;464
com.umlet.element.Relation
168
2552
512
520
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;512;504;512;504;464
com.umlet.element.Note
0
2896
176
80
wert = holeWert(); Date now = new Date(); hist.updateHist(wert,now); updateMin(); updateMax(); fg=red bg=default
com.umlet.element.Relation
152
2880
152
64
lt=.
24;56;144;24
com.umlet.element.Note
808
2808
184
96
TrendSensor - Historie zu MinMaxSensor - Historie statt zusätzlicher Assoziation (GRASP: High Cohesion Low Coupling) fg=red
com.umlet.element.Relation
752
2832
64
40
lt=.
24;32;56;24
com.umlet.element.Note
16
2824
152
32
hist = new Historie(); fg=red
com.umlet.element.Relation
144
2816
160
80
lt=.
24;24;152;72
com.umlet.element.Note
920
2920
144
56
Messung m = new Messung(w,d); messungen.add(m); fg=red
com.umlet.element.Relation
864
2920
64
40
lt=.
24;32;56;24
com.umlet.element.Note
544
3096
144
40
wert = w; zeitpunkt = d; fg=red
com.umlet.element.Relation
664
3096
72
32
lt=.
64;24;24;24
com.umlet.element.Note
920
3000
144
56
Historienberechnungen in Klasse Historie, GRASP: Information Expert fg=red
com.umlet.element.Relation
808
2952
120
80
lt=.
24;24;112;72
com.umlet.element.Class
336
3280
168
160
Wetterstation -- -- starteWetterstation() : void messeWr() : void zeigeWr(w:Real) : void messeLd() : void zeigeLd(w:Real) : void zeigeMinLd(w:Real) : void zeigeMaxLd(w:Real) : void (analog für LfSensor)
com.umlet.element.Class
768
3384
112
40
Alarmverzeichnis --
com.umlet.element.Relation
480
3384
296
32
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;288;24
com.umlet.element.Class
344
3448
112
112
Sensor {abstract} -- wert : Real -- verbinde() : Sensor messe() : void holeWert() : Real getWert() : Real
com.umlet.element.Relation
192
3384
160
240
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
256
3592
88
32
WrSensor
com.umlet.element.Relation
272
3536
128
64
lt=<<-
120;24;120;40;24;40;24;56
com.umlet.element.Class
448
3592
168
136
MinMaxSensor {abstract} -- min : Real max : Real -- messe() : void getMin() : Real getMax() : Real updateMin(w:Real) : void updateMax(w:Real) : void
com.umlet.element.Relation
368
3536
136
64
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
576
3784
88
32
TrendSensor {abstract}
com.umlet.element.Class
360
3784
96
48
LdSensor -- -- LdSensor()
com.umlet.element.Relation
392
3704
112
96
lt=<<-
96;24;96;56;24;56;24;80
com.umlet.element.Relation
464
3704
176
96
lt=<<-
24;24;24;56;160;56;160;80
com.umlet.element.Class
472
3784
80
24
LfSensor
com.umlet.element.Relation
464
3704
72
96
lt=<<-
24;24;24;56;56;56;56;80
com.umlet.element.Class
440
3864
192
88
WgSensor -- -- messe() : void prognostiziere() : Real bearbeiteWarnung(pwert:Real) : void
com.umlet.element.Class
640
3864
80
24
TSensor
com.umlet.element.Relation
600
3792
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
544
3792
96
88
lt=<<-
80;24;80;40;24;40;24;72
com.umlet.element.Class
736
3744
176
80
Historie -- -- updateHist(w:Wert,d:Date) : void computeMin() : Real; computeMax() : Real;
com.umlet.element.Relation
592
3632
240
128
lt=- m1=1 m2=1 hat r1=hist fg=black
216;112;216;40;24;40
com.umlet.element.Class
752
3896
144
64
Messung -- wert : Real zeitpunkt : Date -- Messung(w:Real,d:Date)
com.umlet.element.Relation
760
3800
88
112
lt=<<<- enthält m1= 0..1 m2= * r2=messungen
48;24;48;96
com.umlet.element.Relation
776
3400
88
104
lt=<<<- enthält m1= 0..1 m2= *
48;24;48;96
com.umlet.element.Class
768
3496
104
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
720
3608
80
24
Sturmwarnung
com.umlet.element.Class
832
3608
88
24
Glatteiswarnung
com.umlet.element.Relation
792
3536
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
744
3536
88
88
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
192
3384
184
440
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;424;168;424
com.umlet.element.Relation
192
3384
328
480
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;464;312;464;312;424
com.umlet.element.Relation
192
3384
392
640
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;624;376;624;376;568
com.umlet.element.Relation
192
3384
512
640
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;624;496;624;496;504
com.umlet.element.Note
232
3688
160
64
Gemeinsame Operationen in die Superklasse. (GRASP: High Cohesion) fg=red
com.umlet.element.Relation
128
2000
296
96
lt=.
24;24;288;88
com.umlet.element.Relation
368
3656
96
88
lt=.
80;24;24;72
com.umlet.element.Relation
368
3704
136
96
lt=.
120;80;24;24
com.umlet.element.Relation
368
3704
240
96
lt=.
224;80;24;24
com.umlet.element.Relation
368
3704
56
96
lt=.
40;80;24;24
com.umlet.element.Relation
128
2008
104
72
lt=.
24;24;96;64
com.umlet.element.Note
224
3880
192
72
wie MixMaxSensor.messe(), plus: Real pwert = prognostiziere(); if(pwert > 70) { bearbeiteWarnung(pwert); } fg=red
com.umlet.element.Relation
392
3880
64
40
lt=.
48;24;24;24
com.umlet.element.Note
384
4032
192
168
ldsen.messe(); Real ldw = ldsen.getWert(); Real ldMax = ldsen.getMax(); if(ldMax - ldw > 15) { Date now = new Date(); Sturmwarnung stw = new Sturmwarnung(pwert, now); alarmvz.eintragen(stw); wst.meldeStw(); } viele neue Referenzen! fg=red
com.umlet.element.Relation
448
3912
72
136
lt=.
56;24;24;120
com.umlet.element.Class
304
4240
168
176
Wetterstation -- -- starteWetterstation() : void messeWr() : void zeigeWr(w:Real) : void messeLd() : void zeigeLd(w:Real) : void zeigeMinLd(w:Real) : void zeigeMaxLd(w:Real) : void ... meldeStw() : void zeigeStw() : void
com.umlet.element.Class
736
4360
152
56
Alarmverzeichnis -- -- eintragen(w:Warnung) : void
com.umlet.element.Relation
448
4360
304
40
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;288;24
com.umlet.element.Class
312
4424
112
112
Sensor {abstract} -- wert : Real -- verbinde() : Sensor messe() : void holeWert() : Real getWert() : Real
com.umlet.element.Relation
160
4360
152
232
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
224
4568
88
32
WrSensor
com.umlet.element.Relation
240
4512
136
72
lt=<<-
120;24;120;40;24;40;24;56
com.umlet.element.Class
416
4568
168
136
MinMaxSensor {abstract} -- min : Real max : Real -- messe() : void getMin() : Real getMax() : Real updateMin(w:Real) : void updateMax(w:Real) : void
com.umlet.element.Relation
336
4512
144
72
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
544
4760
88
32
TrendSensor {abstract}
com.umlet.element.Class
328
4752
96
48
LdSensor -- -- LdSensor()
com.umlet.element.Relation
360
4680
112
88
lt=<<-
96;24;96;56;24;56;24;72
com.umlet.element.Relation
432
4680
176
96
lt=<<-
24;24;24;56;160;56;160;80
com.umlet.element.Class
440
4760
80
24
LfSensor
com.umlet.element.Relation
432
4680
72
96
lt=<<-
24;24;24;56;56;56;56;80
com.umlet.element.Class
408
4840
192
120
WgSensor -- -- WgSensor(ldsen:LdSensor, alarmvz:Alarmverzeichnis, wst:Wetterstation) messe() : void prognostiziere() : Real bearbeiteWarnung(pwert:Real) : void
com.umlet.element.Class
608
4840
80
24
TSensor
com.umlet.element.Relation
568
4768
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
512
4768
96
88
lt=<<-
80;24;80;40;24;40;24;72
com.umlet.element.Class
704
4720
176
80
Historie -- -- updateHist(w:Wert,d:Date) : void computeMin() : Real; computeMax() : Real;
com.umlet.element.Relation
560
4608
240
128
lt=- m1=1 m2=1 hat r1=hist fg=black
216;112;216;40;24;40
com.umlet.element.Class
720
4872
144
64
Messung -- wert : Real zeitpunkt : Date -- Messung(w:Real,d:Date)
com.umlet.element.Relation
728
4776
88
112
lt=<<<- enthält m1= 0..1 m2= * r2=messungen
48;24;48;96
com.umlet.element.Relation
744
4392
88
96
lt=<<<- enthält m1= 0..1 m2= * r2=warnungen
48;24;48;80
com.umlet.element.Class
736
4472
104
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
624
4584
160
40
Sturmwarnung -- -- Sturmwarnung(w:Real,d:Date)
com.umlet.element.Class
800
4584
88
24
Glatteiswarnung
com.umlet.element.Relation
760
4512
96
80
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
712
4512
80
80
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
160
4360
184
432
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;416;168;416
com.umlet.element.Relation
160
4360
328
480
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;464;312;464;312;424
com.umlet.element.Relation
160
4360
392
640
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;624;376;624;376;600
com.umlet.element.Relation
160
4360
512
640
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;624;496;624;496;504
com.umlet.element.Relation
128
4376
296
536
lt=<- r1=wst m1=1 fg=red bg=red
176;24;24;24;24;520;280;520
com.umlet.element.Relation
344
4776
80
128
lt=<- r1=ldsen m1=1 fg=red bg=red
24;24;24;112;64;112
com.umlet.element.Note
208
4992
192
104
this.ldsen = ldsen this.alarmvz = alarmvz this.wst = wst (Code für starteWetterstation in Klasse Wetterstation muss angepasst werden!) fg=red
com.umlet.element.Relation
312
4864
136
144
lt=.
120;24;24;128
com.umlet.element.Relation
104
4208
720
712
lt=<- r1=alarmvz m1=1 fg=red bg=red
696;152;696;24;24;24;24;696;304;696
com.umlet.element.Note
568
4424
112
24
warnungen.add(w); fg=red
com.umlet.element.Relation
656
4384
96
72
lt=.
80;24;24;56
com.umlet.element.Note
568
4480
112
32
zeitpunkt = d; prognosewert = w; fg=red
com.umlet.element.Relation
640
4488
56
104
lt=.
48;96;24;24
com.umlet.element.Note
504
4336
112
24
zeigeStw(); fg=red
com.umlet.element.Relation
376
4328
144
72
lt=.
24;56;128;24
com.umlet.element.Note
16
3000
152
24
min = hist.computeMin(); fg=red bg=default
com.umlet.element.Relation
144
2920
160
96
lt=.
24;88;152;24
com.umlet.element.Class
280
5152
168
176
Wetterstation -- -- starteWetterstation() : void messeWr() : void zeigeWr(w:Real) : void messeLd() : void zeigeLd(w:Real) : void zeigeMinLd(w:Real) : void zeigeMaxLd(w:Real) : void ... meldeStw() : void zeigeStw() : void
com.umlet.element.Class
712
5272
160
56
Alarmverzeichnis -- -- eintragen(w:Warnung) : void
com.umlet.element.Relation
424
5272
304
40
lt=<<<<- m1=1 m2=1 r2=alarmvz
24;24;288;24
com.umlet.element.Class
288
5336
112
112
Sensor {abstract} -- wert : Real -- verbinde() : Sensor messe() : void holeWert() : Real getWert() : Real
com.umlet.element.Relation
136
5272
160
240
lt=<<<<- r2=wrsen m1=1 m2=1
144;24;24;24;24;224;64;224
com.umlet.element.Class
200
5480
88
32
WrSensor
com.umlet.element.Relation
216
5424
136
72
lt=<<-
120;24;120;40;24;40;24;56
com.umlet.element.Class
392
5480
168
136
MinMaxSensor {abstract} -- min : Real max : Real -- messe() : void getMin() : Real getMax() : Real updateMin(w:Real) : void updateMax(w:Real) : void
com.umlet.element.Relation
312
5424
144
72
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
520
5672
192
104
TrendSensor {abstract} -- -- messe() : void prognostiziere() : Real bearbeiteWarnung(pwert:Real) : void
com.umlet.element.Class
304
5664
96
48
LdSensor -- -- LdSensor()
com.umlet.element.Relation
336
5592
112
88
lt=<<-
96;24;96;56;24;56;24;72
com.umlet.element.Relation
408
5592
176
96
lt=<<-
24;24;24;56;160;56;160;80
com.umlet.element.Class
416
5672
80
24
LfSensor
com.umlet.element.Relation
408
5592
72
96
lt=<<-
24;24;24;56;56;56;56;80
com.umlet.element.Class
384
5872
192
120
WgSensor -- -- WgSensor(ldsen:LdSensor, alarmvz:Alarmverzeichnis, wst:Wetterstation) messe() : void prognostiziere() : Real bearbeiteWarnung(pwert:Real) : void
com.umlet.element.Class
584
5872
120
56
TSensor -- -- analog WGSensor
com.umlet.element.Relation
544
5752
104
136
lt=<<-
24;24;24;80;88;80;88;120
com.umlet.element.Relation
488
5752
96
136
lt=<<-
80;24;80;80;24;80;24;120
com.umlet.element.Class
736
5632
176
80
Historie -- -- updateHist(w:Wert,d:Date) : void computeMin() : Real; computeMax() : Real;
com.umlet.element.Relation
536
5520
296
128
lt=- m1=1 m2=1 hat r1=hist fg=black
272;112;272;40;24;40
com.umlet.element.Class
752
5784
144
64
Messung -- wert : Real zeitpunkt : Date -- Messung(w:Real,d:Date)
com.umlet.element.Relation
760
5688
88
112
lt=<<<- enthält m1= 0..1 m2= * r2=messungen
48;24;48;96
com.umlet.element.Relation
720
5304
88
88
lt=<<<- enthält m1= 0..1 m2= * r2=warnungen
48;24;48;80
com.umlet.element.Class
712
5384
120
64
Alarm {abstract} -- zeitpunkt : Date prognosewert : Real
com.umlet.element.Class
600
5496
160
40
Sturmwarnung -- -- Sturmwarnung(w:Real,d:Date)
com.umlet.element.Class
776
5496
88
24
Glatteiswarnung
com.umlet.element.Relation
736
5424
104
88
lt=<<-
24;24;24;40;88;40;88;72
com.umlet.element.Relation
688
5424
88
88
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
136
5272
184
432
lt=<<<<- m1=1 m2=1 r2=ldsen
144;24;24;24;24;416;168;416
com.umlet.element.Relation
136
5272
328
480
lt=<<<<- m1=1 m2=1 r2=lfsen
144;24;24;24;24;464;312;464;312;424
com.umlet.element.Relation
136
5272
392
768
lt=<<<<- r2=wgsen m1=1 m2=1
144;24;24;24;24;752;376;752;376;720
com.umlet.element.Relation
136
5272
512
768
lt=<<<<- r2=tsen m1=1 m2=1
144;24;24;24;24;752;496;752;496;656
com.umlet.element.Relation
104
5288
432
488
lt=<- r1=wst m1=1 fg=red bg=red
176;24;24;24;24;472;416;472
com.umlet.element.Relation
320
5688
80
216
lt=<- r1=ldsen m1=1 fg=black
24;24;24;200;64;200
com.umlet.element.Relation
80
5120
720
664
lt=<- r1=alarmvz m1=1 fg=red bg=red
696;152;696;24;24;24;24;648;440;648
com.umlet.element.Relation
448
5672
232
216
lt=<- r1=lfsen m1=1 fg=red bg=red
24;24;24;136;216;136;216;200
com.umlet.element.Note
168
5808
168
72
Gemeinsame Operationen und Assoziationen von WgSensor und TSensor in Superklasse. GRASP: High Cohesion fg=red
com.umlet.element.Relation
232
5744
112
80
lt=.
96;24;24;64
com.umlet.element.Relation
224
5736
64
88
lt=.
48;24;24;72
com.umlet.element.Relation
248
5712
288
112
lt=.
272;24;24;96
com.umlet.element.Note
184
5928
144
40
Überschriebene bzw. implementierte Methoden. fg=red
com.umlet.element.Relation
304
5928
96
48
lt=.
80;32;24;24
com.umlet.element.Class
296
6064
208
216
Wetterstation -- -- +starteWetterstation() : void +messeWr() : void -zeigeWr(w:Real) : void +messeLd() : void -zeigeLd(w:Real) : void -zeigeMinLd(w:Real) : void -zeigeMaxLd(w:Real) : void ... +meldeStw(stw:Sturmwarnung) : void -zeigeStw() : void +pruefeStw() : void
com.umlet.element.Class
752
6224
168
56
Alarmverzeichnis -- -- +eintragen(w:Warnung) : void
com.umlet.element.Relation
480
6224
288
40
lt=<<<<-> m1=1 m2=1 r2=+alarmvz
24;24;272;24
com.umlet.element.Class
328
6288
112
112
Sensor {abstract} -- #wert : Real -- +verbinde() : Sensor +messe() : void -holeWert() : Real -getWert() : Real
com.umlet.element.Relation
168
6224
144
240
lt=<<<<-> r2=-wrsen m1=1 m2=1
128;24;32;24;32;224;72;224
com.umlet.element.Class
240
6432
104
56
WrSensor -- -- +WrSensor()
com.umlet.element.Relation
256
6376
136
72
lt=<<-
120;24;120;40;24;40;24;56
com.umlet.element.Class
432
6432
168
136
MinMaxSensor {abstract} -- -min : Real -max : Real -- +messe() : void +getMin() : Real +getMax() : Real -updateMin(w:Real) : void -updateMax(w:Real) : void
com.umlet.element.Relation
352
6376
144
72
lt=<<-
24;24;24;40;128;40;128;56
com.umlet.element.Class
560
6624
200
104
TrendSensor {abstract} -- -- +messe() : Real #prognostiziere() : Real #bearbeiteWarnung(pwert:Real) : void
com.umlet.element.Class
344
6616
96
48
LdSensor -- -- +LdSensor()
com.umlet.element.Relation
376
6544
112
88
lt=<<-
96;24;96;56;24;56;24;72
com.umlet.element.Relation
448
6544
176
96
lt=<<-
24;24;24;56;160;56;160;80
com.umlet.element.Class
456
6616
80
48
LfSensor -- -- +LfSensor()
com.umlet.element.Relation
448
6544
72
88
lt=<<-
24;24;24;56;56;56;56;72
com.umlet.element.Class
408
6824
208
120
WgSensor -- -- +WgSensor(alarmvz:Alarmverzeichnis, wst:Wetterstation) +messe() : void #prognostiziere() : Real #bearbeiteWarnung(pwert:Real) : void
com.umlet.element.Class
624
6824
120
56
TSensor -- -- analog WGSensor
com.umlet.element.Relation
584
6704
104
136
lt=<<-
24;24;24;80;88;80;88;120
com.umlet.element.Relation
528
6704
96
136
lt=<<-
80;24;80;80;24;80;24;120
com.umlet.element.Class
776
6584
176
80
Historie -- -- +updateHist(w:Wert,d:Date) : void +computeMin() : Real; +computeMax() : Real;
com.umlet.element.Relation
576
6496
296
104
lt=<- m1=1 m2=1 hat r1=-hist fg=black
272;88;272;40;24;40
com.umlet.element.Class
792
6736
144
96
Messung -- -wert : Real -zeitpunkt : Date -- +Messung(w:Real,d:Date) +getWert() : Wert +getDate() : Date
com.umlet.element.Relation
800
6640
88
112
lt=<<<-> enthält m1= 0..1 m2= * r2=-messungen
48;24;48;96
com.umlet.element.Relation
760
6256
88
96
lt=<<<- enthält m1= 0..1 m2= * r2=warnungen
48;24;48;80
com.umlet.element.Class
752
6336
128
64
Alarm {abstract} -- #zeitpunkt : Date #prognosewert : Real
com.umlet.element.Class
640
6448
176
56
Sturmwarnung -- -- +Sturmwarnung(w:Real,d:Date)
com.umlet.element.Class
832
6448
184
56
Glatteiswarnung -- -- +Glatteiswarnung(w:Real,d:Date)
com.umlet.element.Relation
776
6376
120
88
lt=<<-
24;24;24;40;104;40;104;72
com.umlet.element.Relation
728
6376
88
88
lt=<<-
72;24;72;40;24;40;24;72
com.umlet.element.Relation
176
6224
184
432
lt=<<<<-> m1=1 m2=1 r2=+ldsen
120;24;24;24;24;416;168;416
com.umlet.element.Relation
176
6224
328
480
lt=<<<<-> m1=1 m2=1 r2=+lfsen
120;24;24;24;24;464;312;464;312;440
com.umlet.element.Relation
176
6224
392
768
lt=<<<<-> r2=-wgsen m1=1 m2=1
120;24;24;24;24;752;376;752;376;720
com.umlet.element.Relation
176
6224
512
768
lt=<<<<-> r2=-tsen m1=1 m2=1
120;24;24;24;24;752;496;752;496;656
com.umlet.element.Note
240
6992
192
168
wst.ldsen.messe(); Real ldw = wst.ldsen.getWert(); Real ldMax = wst.ldsen.getMax(); if(ldMax - ldw > 15) { Date now = new Date(); Sturmwarnung stw = new Sturmwarnung(pwert, now); wst.alarmvz.eintragen(stw); wst.meldeStw(stw); } (GRASP: Low Coupling) fg=red
com.umlet.element.Relation
144
6240
432
488
lt=<- r1=wst m1=1 bg=black fg=black
152;24;24;24;24;472;416;472
com.umlet.element.Relation
312
6864
104
136
lt=.
96;24;24;128
com.umlet.element.Note
560
6176
136
40
alarmvz.eintragen(stw); zeigeStw(); bg=default fg=red
com.umlet.element.Relation
472
6176
104
48
lt=.
88;24;24;32
com.umlet.element.Note
96
6120
136
40
Wetterstation verletzt High Cohesion bg=default fg=red
com.umlet.element.Relation
208
6120
104
40
lt=.
24;24;88;24