diagram { /* line-style: sloppy 0.3; */ } controlflow { dash-style: 0; } Antragsplattform-VS 1. Use Cases 2. Domain Analysis 3. Architectural Design 4. Detailed Design Use Cases Analyze functional requirements by identifying user roles – actors – and associating them to their use cases. (1.0, 0.0, 0.0, 1.0, 93.76953125, 79.1953125) (0.0, 0.0) 258.0 110.0 Use Case Scenarios Domain Entities Package Dependencies Interactions Interaction Prepare package dependencies diagram to group your implementation classes in appropriate way. This will help you maintain the code well structured and avoid design flaws such as cyclic dependencies or dependencies on unstable parts (1.0, 0.0, 0.0, 1.0, 106.71484375, 51.49999999999997) (0.0, 0.0) 271.5703125 144.0 Model component interactions for use case scenarios in order to find out new methods in existing classes or even new classes with specific responsibilities. (1.0, 0.0, 0.0, 1.0, 43.0, 73.0) (0.0, 0.0) 322.0 93.0 Detailed Class Design Create detailed class diagrams to capture your object-oriented data model. (1.0, 0.0, 0.0, 1.0, 72.0, 76.5) (0.0, 0.0) 215.0 76.0 Implementation Architecture Define the major artifacts that manifest implementation of your components. Indicate how they are deployed on hardware nodes, their inter-dependencies and communication protocols. (1.0, 0.0, 0.0, 1.0, -7.59375, 75.08984375) (0.0, 0.0) 271.0 129.0 Role (1.0, 0.0, 0.0, 1.0, 420.0, 286.30000000000007) (0.0, 0.0) 100.0 57.0 MonetaryApplication (1.0, 0.0, 0.0, 1.0, 41.5, 76.79999999999995) (0.0, 0.0) 173.0 57.0 CostPosition (1.0, 0.0, 0.0, 1.0, 74.0, 243.79999999999995) (0.0, 0.0) 108.0 57.0 ComparisonOffer (1.0, 0.0, 0.0, 1.0, 57.5, 410.79999999999995) (0.0, 0.0) 141.0 57.0 False False (1.0, 0.0, 0.0, 1.0, 524.6953125, 547.609375) [(-368.6953125, 945.7906250000001), (-368.6953125, 1055.790625)] False False (1.0, 0.0, 0.0, 1.0, 504.7304382324219, 405.2265625) [(-348.7304382324219, 921.1734375000001), (-348.7304382324219, 1031.1734375)] MailUser (1.0, 0.0, 0.0, 1.0, 302.0, 286.30000000000007) (0.0, 0.0) 100.0 57.0 OIDCUser (1.0, 0.0, 0.0, 1.0, 184.0, 286.30000000000007) (0.0, 0.0) 100.0 57.0 User (1.0, 0.0, 0.0, 1.0, 48.0, 76.80000000000007) (0.0, 0.0) 90.0 91.0 0 False False (1.0, 0.0, 0.0, 1.0, 198.38525817946226, 293.76171875) [(539.6147418205378, 621.6382812500001), (236.11474182053774, 621.6382812500001), (236.11474182053774, 742.8382812500001)] NativeAdminUser (1.0, 0.0, 0.0, 1.0, 20.5, 286.30000000000007) (0.0, 0.0) 145.0 57.0 False False (1.0, 0.0, 0.0, 1.0, -557.9486113653475, 33.39374224774724) [(650.9486113653475, 134.40625775225283), (650.9486113653475, 252.90625775225283)] False False (1.0, 0.0, 0.0, 1.0, -554.3948141320815, 57.32342974774747) [(692.3948141320815, 102.27657025225255), (906.3948141320815, 102.27657025225255), (906.3948141320815, 228.9765702522526)] False False (1.0, 0.0, 0.0, 1.0, -498.07457791382876, 70.24139849774735) [(636.0745779138288, 93.35860150225267), (732.0745779138288, 93.35860150225267), (732.0745779138288, 216.0586015022527)] False False (1.0, 0.0, 0.0, 1.0, 207.23066589430601, 259.15625) [(620.769334105694, 654.2437500000001), (936.069334105694, 654.2437500000001), (936.069334105694, 785.9437500000001)] Application (1.0, 0.0, 0.0, 1.0, 313.5, 260.80000000000007) (0.0, 0.0) 117.0 74.0 0 False False (1.0, 0.0, 0.0, 1.0, 358.871290894306, 244.40277806339213) [(-37.371290894306014, 828.997221936608), (-167.221290894306, 828.997221936608), (-167.221290894306, 1024.997221936608)] ApplicationStatus (1.0, 0.0, 0.0, 1.0, 275.5, 493.6) (0.0, 0.0) 149.0 57.0 False False (1.0, 0.0, 0.0, 1.0, 314.734572144306, -529.3620656866079) [(54.265427855693986, 864.162065686608), (54.265427855693986, 1022.962065686608)] False False (1.0, 0.0, 0.0, 1.0, -1236.1941425619393, 365.65665379581407) [(1300.194142561939, -93.25665379581392), (307.6227487175104, -90.25665379581392), (307.6227487175104, 898.7433462041861)] ApplicationStatusTransitionEvent (1.0, 0.0, 0.0, 1.0, 41.5, 76.80000000000018) (0.0, 0.0) 273.0 57.0 False False (1.0, 0.0, 0.0, 1.0, 0.30100891188413925, 194.66059056339213) [(1415.1003849325446, -55.86059056339201), (1415.1003849325446, 54.13940943660802)] False False (1.0, 0.0, 0.0, 1.0, 33.84007141188414, 197.73090306339213) [(1245.0613224325446, -72.3309030633921), (262.3299285881159, -69.33090306339204), (262.3299285881159, 1071.669096936608)] False False (1.0, 0.0, 0.0, 1.0, -1215.7136661825446, 170.08246556339216) [(1268.5136661825445, -36.28246556339201), (1269.1122723381159, 669.317534436608), (806.3122723381159, 669.317534436608)] ApplicationStatusTransition (1.0, 0.0, 0.0, 1.0, 64.0, 243.80000000000018) (0.0, 0.0) 228.0 57.0 False False (1.0, 0.0, 0.0, 1.0, -666.8231808222897, 351.1839529258222) [(918.6231808222897, -50.38395292582203), (918.6231808222897, 59.61604707417797)] VoteTransitionCondition (1.0, 0.0, 0.0, 1.0, 500.0, 844.6000000000001) (0.0, 0.0) 200.0 57.0 False False (1.0, 0.0, 0.0, 1.0, -396.62115478515625, 357.37535917582215) [(823.6211547851562, 266.02464082417794), (996.6211547851562, 266.02464082417794), (996.6211547851562, 487.224640824178)] DeadlineTransitionCondition (1.0, 0.0, 0.0, 1.0, 20.5, 844.6000000000001) (0.0, 0.0) 233.0 57.0 TimerTransitionCondition (1.0, 0.0, 0.0, 1.0, 272.0, 844.6000000000001) (0.0, 0.0) 210.0 57.0 False False (1.0, 0.0, 0.0, 1.0, -392.03521728515625, 330.30114042582215) [(741.5352172851562, 338.498859574178), (741.5352172851562, 514.298859574178)] False False (1.0, 0.0, 0.0, 1.0, -361.43756103515636, 362.98473417582215) [(626.6375610351564, 305.815265824178), (626.6375610351564, 510.41526582417794), (614.9375610351564, 510.41526582417794)] False False (1.0, 0.0, 0.0, 1.0, 828.5116577148438, 485.46129667582215) [(1008.8897361295849, 421.138703324178), (1009.4883422851562, 587.9387033241779), (381.48834228515625, 587.9387033241779)] ApplicationChangedEvent (1.0, 0.0, 0.0, 1.0, 442.5, 493.6) (0.0, 0.0) 211.0 57.0 False False (1.0, 0.0, 0.0, 1.0, 199.34644935023059, -323.4169167239906) [(231.1535506497695, 654.0169167239904), (313.48355064976954, 654.0169167239904), (313.48355064976954, 817.0169167239904)] False False (1.0, 0.0, 0.0, 1.0, 329.7214493502305, 228.13698952600967) [(408.2785506497695, 693.2630104739904), (261.44855064976946, 693.2630104739904), (261.44855064976946, 1041.2630104739903)] Attachment (1.0, 0.0, 0.0, 1.0, 321.5, 76.80000000000007) (0.0, 0.0) 101.0 57.0 False False (1.0, 0.0, 0.0, 1.0, -208.20748280714952, 570.1937296537178) [(588.2074828071495, 339.4062703462823), (588.2074828071495, 466.4062703462823)] Permission (1.0, 0.0, 0.0, 1.0, 420.0, 93.80000000000007) (0.0, 0.0) 100.0 57.0 False False (1.0, 0.0, 0.0, 1.0, 823.564421434822, 944.3875091934282) [(353.1355785651781, -34.787509193428036), (353.1355785651781, 100.71249080657196)] TransitionStateMachine (1.0, 0.0, 0.0, 1.0, 1237.4013938444286, 4.999999999999959) (0.0, 0.0) 720.0 921.6000000000001 Auth (1.0, 0.0, 0.0, 1.0, 690.0, 758.8000000000001) (0.0, 0.0) 540.0 587.6 Application (1.0, 0.0, 0.0, 1.0, 8.0, 775.8000000000001) (0.0, 0.0) 674.0 924.6 MonetaryApplication (1.0, 0.0, 0.0, 1.0, 20.0, 416.80000000000007) (0.0, 0.0) 235.0 487.79999999999995 OIDCRole (1.0, 0.0, 0.0, 1.0, 420.0, 510.6) (0.0, 0.0) 100.0 57.0 False False (1.0, 0.0, 0.0, 1.0, 1099.4433427300833, 906.1168633811619) [(60.55665726991674, 363.28313661883817), (60.55665726991674, 195.98313661883822)] TransitionCondition (1.0, 0.0, 0.0, 1.0, 263.0, 577.8000000000002) (0.0, 0.0) 164.0 91.0 0 TransitionTrigger (1.0, 0.0, 0.0, 1.0, 211.5, 410.8000000000002) (0.0, 0.0) 143.0 57.0 False False (1.0, 0.0, 0.0, 1.0, 275.1892391927695, 427.68868981105453) [(56.41076080723042, 40.11131018894565), (56.41076080723042, 150.1113101889457)] False False (1.0, 0.0, 0.0, 1.0, 1592.6201625381254, 599.4292197581965) [(-69.31876869369671, -16.629219758196314), (-68.72016253812535, -50.029219758196405), (-94.82016253812549, -50.029219758196405), (-94.82016253812549, 129.9707802418036), (-87.12016253812544, 129.9707802418036), (-87.7187686936968, 74.37078024180369)] False False (1.0, 0.0, 0.0, 1.0, 1552.276518147199, 610.9513838802018) [(-6.075124302770519, -28.151383880201593), (-5.476518147199158, -98.55138388020168), (-57.57651814719907, -98.55138388020168), (-57.57651814719907, 171.44861611979832), (-44.47651814719916, 171.44861611979832), (-45.07512430277052, 62.84861611979841)] 1 1 1 1 1 1 1 1 0 0 * * 1 1 1 1 0 0 * * 1 1 1 1 1 1 * * 0 0 * * 1 1 * * 0 0 * * 0 0 1 1 0 0 * * 0 0 * * 0 0 1 1 1 1 1 1 False False (1.0, 0.0, 0.0, 1.0, 1356.6266950508402, 272.0847780174482) [(-31.1639519609533, 33.71522198255198), (-936.637501456329, 997.315221982552)] 1 1 1 1 0 0 * * 0 0 * * 0 0 * * 1 1 1 1 0 0 * * 1 1 1 1 1 1 1 1 0 0 * * (1.0, 0.0, 0.0, 1.0, 393.4864951084767, 15.0) (0.0, 0.0) 20.0 20.0 Activity Antrag wird ausgefüllt (1.0, 0.0, 0.0, 1.0, 352.4864951084761, 159.9999999999999) (0.0, 0.0) 102.0 59.0 False False (1.0, 0.0, 0.0, 1.0, 510.2734375, 309.8828125) [(-106.7869423915239, -274.8828125), (-106.7869423915239, -149.8828125)] Antrag wird übermittelt (1.0, 0.0, 0.0, 1.0, 351.9864951084762, 329.0000000000001) (0.0, 0.0) 103.0 59.0 False False (1.0, 0.0, 0.0, 1.0, 499.46727635847606, 431.75390625) [(-95.9807812499999, -212.75390625), (-95.98078124999938, -102.75390625)] False False (1.0, 0.0, 0.0, 1.0, 618.0039672851562, 580.1757507324219) [(-214.51747217667963, -192.17575073242188), (-214.51747217667986, -78.05073116425285)] Sachliche Prüfung (1.0, 0.0, 0.0, 1.0, 393.4864951084761, 502.125019568169) (0.0, 0.0) 20.0 30.0 False False (1.0, 0.0, 0.0, 1.0, 276.4546044024458, 711.2137798397251) [(128.99189070603052, -179.0887602715561), (127.03189070603037, -73.21377983972513)] Betrag / Mitteltyp (1.0, 0.0, 0.0, 1.0, 393.4864951084761, 638.0) (0.0, 0.0) 20.0 30.0 False False (1.0, 0.0, 0.0, 1.0, 245.23088323204826, 537.4487521889214) [(168.25561187642808, -20.323732620752367), (227.07889910881175, -86.31948804874287), (227.07889910881175, -258.1507001753864), (185.992106984904, -318.4487521889214)] sachlich nicht korrekt (1.0, 0.0, 0.0, 1.0, 579.5827128287893, 401.1292641401785) (0.0, 0.0) 123.49956162794717 50.0 False False (1.0, 0.0, 0.0, 1.0, 478.13066577957125, 364.92390407810944) [(101.4520470492181, 61.205360062069076), (-5.820883438711235, 86.20536006206908)] sachlich korrekt (1.0, 0.0, 0.0, 1.0, 264.89391200178744, 560.171305981257) (0.0, 0.0) 100.0 50.0 False False (1.0, 0.0, 0.0, 1.0, 384.22184137068984, 579.0267722788525) [(20.16905060727312, 10.11965585404667), (-19.327929368902403, 10.102913297335249)] prinzipiell abgelehnt (1.0, 0.0, 0.0, 1.0, 393.4864951084762, 804.2675280055308) (0.0, 0.0) 20.0 20.0 False False (1.0, 0.0, 0.0, 1.0, 387.1980677994287, 649.2694246904596) [(125.33623585255953, 164.99810331507115), (169.02158596466677, 164.99810331507115), (169.02158596466688, -377.64939157091874), (67.28842730904739, -459.7694246904597)] Änderung gewünscht (1.0, 0.0, 0.0, 1.0, 86.30305378447231, 308.5000000000001) (0.0, 0.0) 100.0 50.0 False False (1.0, 0.0, 0.0, 1.0, 424.7254088284651, 432.8022644668865) [(131.4942449356305, -161.18223134734558), (-238.42235504399292, -94.45769622843045)] Bestellung / Benachrichtigung (1.0, 0.0, 0.0, 1.0, 328.4864951084763, 935.3219833549934) (0.0, 0.0) 150.0 42.0 STUPA-Abstimmung (1.0, 0.0, 0.0, 1.0, 492.53430365198824, 799.2675280055308) (0.0, 0.0) 20.0 30.0 AStA-Abstimmung (1.0, 0.0, 0.0, 1.0, 285.75, 799.2675280055308) (0.0, 0.0) 20.0 30.0 False False (1.0, 0.0, 0.0, 1.0, 396.19628508631695, 655.282143815186) [(-2.709789977840842, -2.2821438151861457), (-38.69628508631695, -2.282143815186032), (-100.44628508631689, 143.9853841903448)] False False (1.0, 0.0, 0.0, 1.0, 413.3165408516327, 652.7324171238988) [(0.16995425684342536, 0.0), (39.05717704380879, 0.26758287610118714), (89.21776280035556, 146.53511088163202)] False False (1.0, 0.0, 0.0, 1.0, 294.5039129043598, 814.2675280055307) [(11.246087095640178, 0.0), (98.9825822041164, 0.0)] False False (1.0, 0.0, 0.0, 1.0, 493.1618348841456, 813.8651601868628) [(-0.6275312321573665, 0.0), (-79.67533977566939, 0.0)] False False (1.0, 0.0, 0.0, 1.0, 293.7559447026958, 826.7445516775156) [(1.9940552973042145, 2.522976328015261), (1.9940552973042145, 62.95543019667963), (93.9540552973042, 108.57743167747788)] False False (1.0, 0.0, 0.0, 1.0, 503.0957021782477, 827.6383689255033) [(-0.5613985262594952, 1.629159080027648), (-0.5613985262593815, 62.061612948691845), (-86.35898788374493, 107.68361442949015)] False False (1.0, 0.0, 0.0, 1.0, 288.54518284184724, 812.6581305498586) [(-2.795182841847293, 0.0), (-56.48687544823105, 0.0), (-56.48687544823099, -541.0380974303177), (63.94131226662881, -623.1581305498587)] False False (1.0, 0.0, 0.0, 1.0, 685.1166759968547, 322.34231359972745) [(-498.8136222123825, 16.002254638728573), (-453.0583686032385, -50.722280480186555)] abgeschlossen (1.0, 0.0, 0.0, 1.0, 396.7367142945026, 1034.0463524244658) (0.0, 0.0) 20.0 20.0 False False (1.0, 0.0, 0.0, 1.0, 400.60309011497486, 967.718124499075) [(6.133624179527658, 9.603858855918475), (6.133624179527317, 66.32822792539082)] genehmigt (1.0, 0.0, 0.0, 1.0, 545.8474357723634, 906.3219833549934) (0.0, 0.0) 100.0 50.0 False False (1.0, 0.0, 0.0, 1.0, 293.7299763747003, 869.75866241019) [(2.0200236252997, 19.94131946400512), (252.11745939766308, 61.563320944803536)] False False (1.0, 0.0, 0.0, 1.0, 500.4127015795313, 889.433234555125) [(0.5782257198338989, 1.0874221045984953), (45.43473419283208, 41.88874879986861)] QSM ∨ >10.000€ (1.0, 0.0, 0.0, 1.0, 574.8306500860928, 589.1464281328991) (0.0, 0.0) 142.03357137254125 50.0 VSM ∧ <10.000€ (1.0, 0.0, 0.0, 1.0, 116.04056472461077, 589.1296855761877) (-39.0, 0.0) 139.0 50.0 False False (1.0, 0.0, 0.0, 1.0, 178.07017506371722, 697.7761509624287) [(37.970389660893545, -87.96139992214876), (179.42982493628278, -44.77615096242869)] False False (1.0, 0.0, 0.0, 1.0, 596.1334151326375, 698.0283369192172) [(-21.302765046544778, -83.88190878631815), (-143.76153838707674, -45.02834958816458)] Zusätzlich wäre eine Benachrichtigung nach jedem Schritt sinnvoll. In der aktuellen Form ist das jedoch kaum umsetzbar (1.0, 0.0, 0.0, 1.0, 502.53430365198807, 24.999999999999986) (0.0, 0.0) 221.69166648439295 93.0