From 8bc63c77cb12714d6de1f95a537de3c2c21c88ae Mon Sep 17 00:00:00 2001 From: Cezary Adamczak Date: Wed, 12 Jan 2022 10:57:02 +0100 Subject: [PATCH] Add design patterns --- models/149613.diagram | 150 ++++++++++------- models/models.prj | 365 ++++++++++++++++++++++++++++++++++++++---- 2 files changed, 430 insertions(+), 85 deletions(-) diff --git a/models/149613.diagram b/models/149613.diagram index 1f201f8..0c014db 100644 --- a/models/149613.diagram +++ b/models/149613.diagram @@ -2,23 +2,15 @@ format 224 classcanvas 128109 class_ref 171885 // Bankomat classdiagramsettings member_max_width 0 end - xyz 122 279 2000 + xyz 44 276 2000 end classcanvas 128237 class_ref 172269 // Weryfikacja_Uzytkownika classdiagramsettings member_max_width 0 end - xyz 126 124 2000 -end -classcanvas 128493 class_ref 172141 // Sensory - classdiagramsettings member_max_width 0 end - xyz 397 330 2006 -end -classcanvas 128877 class_ref 172013 // Banknoty - classdiagramsettings member_max_width 0 end - xyz 440 177 2000 + xyz 55 122 2000 end classcanvas 129133 class_ref 172397 // Karta classdiagramsettings member_max_width 0 end - xyz 459 519 2000 + xyz 458 519 2000 end classcanvas 129389 class_ref 172525 // Bank classdiagramsettings member_max_width 0 end @@ -30,76 +22,126 @@ classcanvas 129645 class_ref 172653 // Operator_Kart_Platniczych end classcanvas 129901 class_ref 172909 // Wyplata_Gotowki classdiagramsettings member_max_width 0 end - xyz 20 560 2000 + xyz 21 738 2000 end classcanvas 130029 class_ref 172781 // Wplata_Gotowki classdiagramsettings member_max_width 0 end - xyz 149 563 2000 + xyz 142 738 2000 end classcanvas 130157 class_ref 173037 // Sprawdzenie_Stanu_Konta classdiagramsettings member_max_width 0 end - xyz 265 572 2006 + xyz 255 739 2006 end classcanvas 130285 class_ref 173165 // Potwierdzenie_Transakcji classdiagramsettings member_max_width 0 end - xyz 60 704 2000 + xyz 61 858 2000 end +classcanvas 131181 class_ref 179693 // IStrategiaTransakcje + classdiagramsettings hide_attributes no hide_operations no hide_getset_operations no show_members_full_definition yes show_members_visibility yes member_max_width 0 show_parameter_name yes end + xyz 67 564 2012 +end +note 131949 "Dodany wzorzec Strategy" + xyzwh 229 572 2000 157 35 +classcanvas 132205 class_ref 179821 // ISensoryAdapter + classdiagramsettings show_members_full_definition yes member_max_width 0 end + xyz 301 353 2000 +end +note 132717 "Dodany wzorzec Adapter" + xyzwh 614 368 2000 153 35 +classcanvas 132973 class_ref 180205 // SensoryEkranu + classdiagramsettings member_max_width 0 end + xyz 230 209 2012 +end +classcanvas 133101 class_ref 180077 // SensorKieszenie + classdiagramsettings member_max_width 0 end + xyz 336 208 2011 +end +classcanvas 133229 class_ref 179949 // SensorKarta + classdiagramsettings member_max_width 0 end + xyz 591 202 2005 +end +note 133869 "... reszta sensorow ..." + xyzwh 450 217 2000 131 35 relationcanvas 128365 relation_ref 163949 // wywoluje - from ref 128109 z 2001 label "wywoluje" italic max_width 255 xyz 149.5 228 3000 to ref 128237 + from ref 128109 z 2001 label "wywoluje" italic max_width 255 xyz 76 216.5 2001 to ref 128237 no_role_a no_role_b - multiplicity_a_pos 185 197 3000 multiplicity_b_pos 182 260 3000 -end -relationcanvas 128749 relation_ref 164077 // ma - decenter_end 504 - from ref 128109 z 2007 label "ma" italic max_width 255 xyz 328 373 3000 to ref 128493 - no_role_a no_role_b - multiplicity_a_pos 382 394 3000 multiplicity_b_pos 284 395 3000 -end -relationcanvas 129005 relation_ref 164205 // obsluguje - from ref 128493 z 2007 label "obsluguje" italic max_width 255 xyz 518 279 3000 to ref 128877 - no_role_a no_role_b - multiplicity_a_pos 498 240 3000 multiplicity_b_pos 496 311 3000 + multiplicity_a_pos 114 177 3000 multiplicity_b_pos 107 257 3000 end relationcanvas 129261 relation_ref 164333 // obsluguje - from ref 128109 z 2001 label "obsluguje" italic max_width 255 xyz 359 462 3000 to ref 129133 + from ref 128109 z 2001 label "obsluguje" italic max_width 255 xyz 319.5 451.5 2001 to ref 129133 no_role_a no_role_b - multiplicity_a_pos 430 541 3000 multiplicity_b_pos 284 441 3000 + multiplicity_a_pos 429 538 3000 multiplicity_b_pos 206 421 3000 end relationcanvas 129517 relation_ref 164461 // obsluguje - from ref 129389 z 2001 label "obsluguje" italic max_width 255 xyz 581 546 3000 to ref 129133 + from ref 129389 z 2001 label "obsluguje" italic max_width 255 xyz 575.5 537 2001 to ref 129133 no_role_a no_role_b - multiplicity_a_pos 581 567 3000 multiplicity_b_pos 622 567 3000 + multiplicity_a_pos 570 558 3000 multiplicity_b_pos 622 558 3000 end relationcanvas 129773 relation_ref 164589 // obsluguje - from ref 129645 z 2001 label "obsluguje" italic max_width 255 xyz 518 622 3000 to ref 129133 + from ref 129645 z 2001 label "obsluguje" italic max_width 255 xyz 514 613 2001 to ref 129133 no_role_a no_role_b - multiplicity_a_pos 488 608 3000 multiplicity_b_pos 498 636 3000 -end -relationcanvas 130413 relation_ref 164717 // tworzy - from ref 128109 z 2001 label "tworzy" italic max_width 255 xyz 73 520 3000 to ref 129901 - no_role_a no_role_b - multiplicity_a_pos 82 541 3000 multiplicity_b_pos 109 506 3000 -end -relationcanvas 130541 relation_ref 164845 // tworzy - from ref 128109 z 2001 label "tworzy" italic max_width 255 xyz 162 526 3000 to ref 130029 - no_role_a no_role_b - multiplicity_a_pos 184 544 3000 multiplicity_b_pos 182 506 3000 -end -relationcanvas 130669 relation_ref 164973 // tworzy - from ref 128109 z 2007 label "tworzy" italic max_width 255 xyz 262 530 3000 to ref 130157 - no_role_a no_role_b - multiplicity_a_pos 303 553 3000 multiplicity_b_pos 260 506 3000 + multiplicity_a_pos 483 590 3000 multiplicity_b_pos 495 636 3000 end relationcanvas 130925 relation_ref 165229 // tworzy - decenter_end 708 - from ref 130029 z 2001 label "tworzy" italic max_width 255 xyz 145 661 3000 to ref 130285 + decenter_begin 455 + decenter_end 811 + from ref 130029 z 2001 label "tworzy" italic max_width 255 xyz 145.5 816.5 2001 to ref 130285 no_role_a no_role_b - multiplicity_a_pos 158 685 3000 multiplicity_b_pos 170 636 3000 + multiplicity_a_pos 158 839 3000 multiplicity_b_pos 171 793 3000 end relationcanvas 131053 relation_ref 165357 // tworzy decenter_end 178 - from ref 129901 z 2001 label "tworzy" italic max_width 255 xyz 50 657 3000 to ref 130285 + from ref 129901 z 2001 label "tworzy" italic max_width 255 xyz 47 814 2001 to ref 130285 no_role_a no_role_b - multiplicity_a_pos 63 685 3000 multiplicity_b_pos 75 633 3000 + multiplicity_a_pos 60 839 3000 multiplicity_b_pos 72 793 3000 end +relationcanvas 131309 relation_ref 171885 // tworzy + from ref 128109 z 2013 label "tworzy" italic max_width 255 xyz 90 516 3000 to ref 131181 + no_role_a no_role_b + multiplicity_a_pos 121 545 3000 multiplicity_b_pos 111 485 3000 +end +relationcanvas 131565 relation_ref 172013 // + decenter_end 97 + from ref 129901 z 2013 to ref 131181 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 131693 relation_ref 172141 // + decenter_end 786 + from ref 130029 z 2013 to ref 131181 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 131821 relation_ref 172269 // + decenter_end 902 + from ref 130157 z 2013 to ref 131181 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 132461 relation_ref 172525 // komunikuje_sie + from ref 128109 z 2001 label "komunikuje_sie" italic max_width 255 xyz 205 365 3000 to ref 132205 + no_role_a no_role_b + multiplicity_a_pos 284 388 3000 multiplicity_b_pos 206 385 3000 +end +relationcanvas 133485 relation_ref 174317 // + decenter_end 141 + from ref 132973 z 2013 to ref 132205 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 133613 relation_ref 174445 // + from ref 133101 z 2012 to ref 132205 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +relationcanvas 133741 relation_ref 174573 // + decenter_end 961 + from ref 133229 z 2006 to ref 132205 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b +end +line 132077 -_-_ + from ref 131949 z 2013 to ref 131181 +line 132845 -_-_ + from ref 132717 z 2001 to ref 132205 end diff --git a/models/models.prj b/models/models.prj index 9f294f1..8c429aa 100644 --- a/models/models.prj +++ b/models/models.prj @@ -1,7 +1,7 @@ format 224 "models" - revision 22 - modified_by 109 "legion" + revision 23 + modified_by 109 "s452664" @@ -210,17 +210,29 @@ format 224 end - classrelation 168813 // (posiada>) + classrelation 168813 // posiada> relation_ref 161133 // posiada> end - classrelation 172397 // (dokonuje>) + classrelation 172397 // dokonuje> relation_ref 162925 // dokonuje> end - classrelation 173421 // (dokonuje>) + classrelation 173421 // dokonuje> relation_ref 163437 // dokonuje> end + + classrelation 183149 // (posiada>) + relation_ref 172653 // posiada> + end + + classrelation 183917 // (posiada>) + relation_ref 173165 // posiada> + end + + classrelation 184685 // (posiada>) + relation_ref 173677 // posiada> + end end class 128237 "Karta" @@ -373,7 +385,7 @@ format 224 classrelation_ref 169965 // ( end - classrelation 172141 // (dziedziczy po>) + classrelation 172141 // dziedziczy po> relation_ref 162797 // dziedziczy po> end - classrelation 173165 // (dziedziczy po>) + classrelation 173165 // dziedziczy po> relation_ref 163309 // dziedziczy po> end - classrelation 173933 // ( @@ -1750,11 +1762,18 @@ format 224 + end + + classrelation 182637 // + relation 172269 -_-|> + a public + classrelation_ref 182637 // + b parent class_ref 179693 // IStrategiaTransakcje end end class 172909 "Wyplata_Gotowki" - visibility package stereotype "Transakcja" + visibility package cpp_decl "" java_decl "" php_decl "" @@ -1772,7 +1791,7 @@ format 224 a role_name "" multiplicity "1" private classrelation_ref 173037 // (dziedziczy po>) b role_name "" multiplicity "*" private - classrelation_ref 173165 // (dziedziczy po>) + classrelation_ref 173165 // dziedziczy po> end classrelation 173293 // (dokonuje>) @@ -1780,7 +1799,7 @@ format 224 a role_name "" multiplicity "1" private classrelation_ref 173293 // (dokonuje>) b role_name "" multiplicity "*" private - classrelation_ref 173421 // (dokonuje>) + classrelation_ref 173421 // dokonuje> end attribute 140653 "kwota:Waluta" @@ -1808,10 +1827,17 @@ format 224 classrelation_ref 175725 // (tworzy) b multiplicity "1" parent class_ref 173165 // Potwierdzenie_Transakcji end + + classrelation 182381 // + relation 172013 -_-|> + a public + classrelation_ref 182381 // + b parent class_ref 179693 // IStrategiaTransakcje + end end class 172781 "Wplata_Gotowki" - visibility package stereotype "Transakcja" + visibility package cpp_decl "" java_decl "" php_decl "" @@ -1829,7 +1855,7 @@ format 224 a role_name "" multiplicity "1" private classrelation_ref 172013 // (dziedziczy po>) b role_name "" multiplicity "*" private - classrelation_ref 172141 // (dziedziczy po>) + classrelation_ref 172141 // dziedziczy po> end classrelation 172269 // (dokonuje>) @@ -1837,7 +1863,7 @@ format 224 a role_name "" multiplicity "1" private classrelation_ref 172269 // (dokonuje>) b role_name "" multiplicity "*" private - classrelation_ref 172397 // (dokonuje>) + classrelation_ref 172397 // dokonuje> end attribute 140525 "kwota:Waluta" @@ -1865,10 +1891,17 @@ format 224 classrelation_ref 175597 // (tworzy) b multiplicity "1" parent class_ref 173165 // Potwierdzenie_Transakcji end + + classrelation 182509 // + relation 172141 -_-|> + a public + classrelation_ref 182509 // + b parent class_ref 179693 // IStrategiaTransakcje + end end class 172653 "Operator_Kart_Platniczych" - visibility package stereotype "Organizacja" + visibility package cpp_decl "" java_decl "" php_decl "" @@ -1912,7 +1945,7 @@ format 224 end - classrelation 171501 // () b role_name "" multiplicity "1..*" private - classrelation_ref 168813 // (posiada>) + classrelation_ref 168813 // posiada> end operation 138349 "IsHardwareOk" @@ -2154,6 +2187,13 @@ format 224 classrelation_ref 174573 // (obsluguje) b multiplicity "1" parent class_ref 172013 // Banknoty end + + classrelation 182765 // + relation 172397 -_-|> + a public + classrelation_ref 182765 // + b parent class_ref 179821 // ISensoryAdapter + end end sequencediagram 128507 "1-1-wlorzenieidentyfikatora" @@ -2170,7 +2210,7 @@ format 224 end class 171885 "Bankomat" - visibility package stereotype "Obiekt Fizyczny" + visibility package cpp_decl "" java_decl "" php_decl "" @@ -2363,6 +2403,32 @@ format 224 classrelation_ref 175341 // (tworzy) b multiplicity "1" parent class_ref 173037 // Sprawdzenie_Stanu_Konta end + + classrelation 182253 // (tworzy) + relation 171885 ---> name "tworzy" + a role_name "" multiplicity "*" private + classrelation_ref 182253 // (tworzy) + b multiplicity "1" parent class_ref 179693 // IStrategiaTransakcje + end + + classrelation 182893 // (komunikuje_sie) + relation 172525 ---> name "komunikuje_sie" + a role_name "" multiplicity "1" private + classrelation_ref 182893 // (komunikuje_sie) + b multiplicity "1" parent class_ref 179821 // ISensoryAdapter + end + + classrelation 183405 // (posiada>) + relation_ref 172781 // posiada> + end + + classrelation 184173 // (posiada>) + relation_ref 173293 // posiada> + end + + classrelation 184941 // (posiada>) + relation_ref 173805 // posiada> + end end sequencediagram 128635 "1-2-autentykacja" @@ -2534,5 +2600,242 @@ format 224 classdiagramsettings draw_all_relations no member_max_width 0 end size A4 end + + class 179693 "IStrategiaTransakcje" + visibility package stereotype "interface." + cpp_decl "" + java_decl "${comment}${@}${visibility}${static}${final}${abstract}class ${name}${extends}${implements} { +${members}} +" + php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { +${members}} +" + python_2_2 python_decl "" + idl_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} { +${members}}; +" + explicit_switch_type "" + mysql_decl "" + + attribute 147181 "TransactionType" + private explicit_type "enum" + cpp_decl "" + java_decl "" + php_decl "" + python_decl "" + idl_decl "" + mysql_decl "" + MysqlColumn + end + + operation 145901 "Execute" + public explicit_return_type "" + nparams 1 + param in name "b" type class_ref 171885 // Bankomat + + + + + + end + end + + class 179821 "ISensoryAdapter" + visibility package stereotype "interface." + cpp_decl "" + java_decl "${comment}${@}${visibility}${static}${final}${abstract}class ${name}${extends}${implements} { +${members}} +" + php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { +${members}} +" + python_2_2 python_decl "" + idl_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} { +${members}}; +" + explicit_switch_type "" + mysql_decl "" + + operation 146029 "getHardwareState" + public explicit_return_type "" + nparams 1 + param out name "hardwareState" explicit_type "hardwareState" + + + + + + end + end + + class 179949 "SensorKarta" + visibility package + cpp_decl "" + java_decl "" + php_decl "" + python_2_2 python_decl "" + idl_decl "" + explicit_switch_type "" + mysql_decl "" + + classrelation 183021 // (posiada>) + relation 172653 ---- name "posiada>" + a role_name "" multiplicity "1" private + classrelation_ref 183021 // (posiada>) + b role_name "" multiplicity "1..*" private + classrelation_ref 183149 // (posiada>) + end + + operation 146157 "IsHardwareOk" + public explicit_return_type "" + nparams 0 + + + + + + end + + operation 146541 "AreCardToBePicked" + public explicit_return_type "" + nparams 0 + + + + + + end + + classrelation 183277 // (posiada>) + relation 172781 ---- name "posiada>" + a role_name "" multiplicity "1" private + classrelation_ref 183277 // (posiada>) + b role_name "" multiplicity "1..*" private + classrelation_ref 183405 // (posiada>) + end + + classrelation 183533 // (obsluguje) + relation 172909 ---> name "obsluguje" + a role_name "" multiplicity "*" private + classrelation_ref 183533 // (obsluguje) + b multiplicity "1" parent class_ref 172013 // Banknoty + end + + classrelation 185709 // + relation 174573 -_-|> + a public + classrelation_ref 185709 // + b parent class_ref 179821 // ISensoryAdapter + end + end + + class 180077 "SensorKieszenie" + visibility package + cpp_decl "" + java_decl "" + php_decl "" + python_2_2 python_decl "" + idl_decl "" + explicit_switch_type "" + mysql_decl "" + + classrelation 183789 // (posiada>) + relation 173165 ---- name "posiada>" + a role_name "" multiplicity "1" private + classrelation_ref 183789 // (posiada>) + b role_name "" multiplicity "1..*" private + classrelation_ref 183917 // (posiada>) + end + + operation 146669 "IsHardwareOk" + public explicit_return_type "" + nparams 0 + + + + + + end + + classrelation 184045 // (posiada>) + relation 173293 ---- name "posiada>" + a role_name "" multiplicity "1" private + classrelation_ref 184045 // (posiada>) + b role_name "" multiplicity "1..*" private + classrelation_ref 184173 // (posiada>) + end + + classrelation 184301 // (obsluguje) + relation 173421 ---> name "obsluguje" + a role_name "" multiplicity "*" private + classrelation_ref 184301 // (obsluguje) + b multiplicity "1" parent class_ref 172013 // Banknoty + end + + classrelation 185581 // + relation 174445 -_-|> + a public + classrelation_ref 185581 // + b parent class_ref 179821 // ISensoryAdapter + end + end + + class 180205 "SensoryEkranu" + visibility package + cpp_decl "" + java_decl "" + php_decl "" + python_2_2 python_decl "" + idl_decl "" + explicit_switch_type "" + mysql_decl "" + + classrelation 184557 // (posiada>) + relation 173677 ---- name "posiada>" + a role_name "" multiplicity "1" private + classrelation_ref 184557 // (posiada>) + b role_name "" multiplicity "1..*" private + classrelation_ref 184685 // (posiada>) + end + + operation 147181 "IsHardwareOk" + public explicit_return_type "" + nparams 0 + + + + + + end + + classrelation 184813 // (posiada>) + relation 173805 ---- name "posiada>" + a role_name "" multiplicity "1" private + classrelation_ref 184813 // (posiada>) + b role_name "" multiplicity "1..*" private + classrelation_ref 184941 // (posiada>) + end + + classrelation 185069 // (obsluguje) + relation 173933 ---> name "obsluguje" + a role_name "" multiplicity "*" private + classrelation_ref 185069 // (obsluguje) + b multiplicity "1" parent class_ref 172013 // Banknoty + end + + classrelation 185325 // + relation 174189 -_-> + a public + classrelation_ref 185325 // + b parent class_ref 179821 // ISensoryAdapter + end + + classrelation 185453 // + relation 174317 -_-|> + a public + classrelation_ref 185453 // + b parent class_ref 179821 // ISensoryAdapter + end + end end end