diff --git a/.obsidian/graph.json b/.obsidian/graph.json index 3ef0499..99b55cd 100644 --- a/.obsidian/graph.json +++ b/.obsidian/graph.json @@ -1 +1,22 @@ -{"collapse-filter":true,"search":"","showTags":false,"showAttachments":false,"hideUnresolved":false,"showOrphans":true,"collapse-color-groups":true,"colorGroups":[],"collapse-display":true,"showArrow":false,"textFadeMultiplier":0,"nodeSizeMultiplier":1,"lineSizeMultiplier":1,"collapse-forces":true,"centerStrength":0.518713248970312,"repelStrength":10,"linkStrength":1,"linkDistance":250,"scale":1,"close":false} \ No newline at end of file +{ + "collapse-filter": true, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": true, + "colorGroups": [], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": false, + "centerStrength": 0.630208333333333, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 0.7132754626224425, + "close": true +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-completr/scanned_words.txt b/.obsidian/plugins/obsidian-completr/scanned_words.txt index 7770b98..d7a8651 100644 --- a/.obsidian/plugins/obsidian-completr/scanned_words.txt +++ b/.obsidian/plugins/obsidian-completr/scanned_words.txt @@ -30027,6 +30027,7 @@ semantischen systematisch sichtbarer statischen +strenger ZKs ZN Zf @@ -36137,6 +36138,7 @@ Zustandstest Zweigüberdeckung Zweig Zyklomatische +Zweige Who We WE @@ -48903,6 +48905,7 @@ Komplexitätsmetriken Konstanten Korrektive Kontrollausgaben +Kontrollflussgraphen bq bQ bG @@ -134832,6 +134835,7 @@ zCwS zutreffend zusätzlicher zustandsverändernder +zusammengesetzt hr hAa hH @@ -158723,6 +158727,7 @@ analysiert atomaren abstrakte abstrakter +atomare fb fVVvD fh @@ -176955,6 +176960,7 @@ erfordern entdecken engineering erneutes +else tj tg tt @@ -208078,6 +208084,7 @@ litB ljsp laZZ lokale +logischen wG wd ws @@ -220660,6 +220667,7 @@ Rückgabewerte Reflection Rechtschreib Redefined +Relationssymbole vJ vS vKDF @@ -251557,6 +251565,7 @@ Mock Mehrfach Minimale Metrik +Mehr qO qj qG @@ -288974,6 +288983,7 @@ Variablenzugriffe Vorbereitende Versions Viel +Verknüpfung SGN Sg SrEHO @@ -295346,6 +295356,7 @@ Sicht Schlüsselwörter Softwaresystems Systematisches +Sequenz rn rE rD @@ -301699,6 +301710,7 @@ rjaJP rTwL repräsentativ redundanzarm +repräsentiert Cu CL Ch diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 64b94ff..1e70221 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -22,11 +22,11 @@ ] }, { - "id": "b132bb5dcec4264f", + "id": "8576c3cf71ad6a4a", "type": "tabs", "children": [ { - "id": "910b9380583bd4b9", + "id": "dc1bf961d97f0cb4", "type": "leaf", "state": { "type": "markdown", @@ -252,11 +252,13 @@ "obsidian-livesync:Show log": false } }, - "active": "910b9380583bd4b9", + "active": "dc1bf961d97f0cb4", "lastOpenFiles": [ + "Pasted image 20250221131512.png", "WS2425/SWT D/Vorlesung/swtd_merged.pdf", - "WS2425/SWT D/Praktikum/swtd-p-08.pdf", + "Persistierung.ts.md", "WS2425/SWT D/Notes.md", + "WS2425/SWT D/Praktikum/swtd-p-08.pdf", "WS2425/SWT D/Praktikum/swtd-p-07.pdf", "WS2425/SWT D/Praktikum/swtd-p-06.pdf", "WS2425/SWT D/Praktikum/swtd-p-05.pdf", @@ -299,7 +301,6 @@ "SS24/SWT2/SWT2.canvas", "SS24/SWT2/KW17/KW17.md", "SS24/SWT2/KW16/KW16.md", - "SS24/SWT2/KW24/KW24.md", - "SS24/SWT2/KW23/KW23.md" + "SS24/SWT2/KW24/KW24.md" ] } \ No newline at end of file diff --git a/Pasted image 20250221131512.png b/Pasted image 20250221131512.png new file mode 100644 index 0000000..b035fb9 Binary files /dev/null and b/Pasted image 20250221131512.png differ diff --git a/Persistierung.ts.md b/Persistierung.ts.md new file mode 100644 index 0000000..e69de29 diff --git a/WS2425/SWT D/Notes.md b/WS2425/SWT D/Notes.md index 3019966..451d48b 100644 --- a/WS2425/SWT D/Notes.md +++ b/WS2425/SWT D/Notes.md @@ -261,4 +261,57 @@ * Log-Level: DEBUG, INFO, WARN, ERROR, FATAL. * Logging-Frameworks: log4j. -Ich hoffe, diese Zusammenfassung hilft Ihnen bei der Vorbereitung auf Ihre Prüfung! Viel Erfolg! + + + + +# Note Notes + +**Glass-Box-Test (White-Box-Test) / Strukturtest:** +S.223 +**Kontrollflussgraph:** +- Ein Glass-Box-Test orientiert sich am Kontrollflussgraphen einer Code- Sequenz +- Anweisungen werden im Kontrollflussgraphen als Knoten dargestellt +- Der Kontrollfluss zwischen den Anweisungen wird über die Kanten repräsentiert + + +**Überdeckung** +1. Anweisungsüberdeckung (statement coverage) / C0-Test + - Jede Anweisung im Programm muss im Test mindestens einmal ausgeführt werden (100% Anweisungsüberdeckung) +2. Zweigüberdeckung (Entscheidungsüberdeckung) / C1-Test + - Jeder Zweig im Programm wird im Test mindestens einmal ausgeführt (100% Zweigüberdeckung) + - Die Zweigüberdeckung ist strenger, als die Anweisungsüberdeckung, wenn das Programm leere Zweige enthält (z.B. if-then ohne else- Zweig) +3. Bedingungsüberdeckung + - Die Zweigüberdeckung stellt sicher, dass eine logische Bedingung während des Tests mindestens einmal true und einmal false ist + - Wenn die Bedingung zusammengesetzt ist, wird damit aber nicht sichergestellt, dass die Teilbedingungen korrekt formuliert sind + - Eine Bedingung ist eine Verknüpfung von Teilbedingungen mit den logischen Operatoren AND, OR und NOT + - Eine (atomare) Teilbedingung enthält keine logischen Operatoren, sondern höchstens Relationssymbole (<,>,\=\=) + - Mehr: S.230f. +4. Datenflussbasierte Überdeckung (Defs-Uses-Überdeckung + - S. 233f. + + +**Metriken:** S.258f. +- Unterteilung von Software-Metriken + - Quantitätsmetriken + - Komplexitätsmetriken + - Qualitätsmetriken +- Halstead + - S.264f. + - Größe des Vokabulars: G = t + d + - Länge des Programms: N = nt + nd + - Volumen des Programms: V = N x log2 G + - Eine untere Schranke für die Operanden ist die Anzahl der Ein- und Ausgabeoperanden: d\* + - Größe des Minimalvokabulars: G\* = d\* + 2 + - V\* = G\* x log2 G\* + - L = V\* / V + - D = 1 / L + - E = V x D + - E = V x D = V / L = V / (V\* / V) = V2 / V\* +- McCabe-Metrik + - V(G) = |E| - |N| + 2 + - Kontrollflussgraph + - V(G) = |E| - |N| + 1 + - stark zusammenhängender Graph + - ![[Pasted image 20250221131512.png]] +