vault backup: 2025-02-21 16:16:30
This commit is contained in:
@@ -6017,6 +6017,12 @@ Prüfungen
|
|||||||
Paketierung
|
Paketierung
|
||||||
Praktiken
|
Praktiken
|
||||||
Problemmeldungen
|
Problemmeldungen
|
||||||
|
Pfade
|
||||||
|
Prozentsatz
|
||||||
|
Projektfortschritts
|
||||||
|
Programmierkenntnisse
|
||||||
|
Pfadüberdeckung
|
||||||
|
Path
|
||||||
obj
|
obj
|
||||||
oV
|
oV
|
||||||
oYj
|
oYj
|
||||||
@@ -17661,6 +17667,9 @@ Letzter
|
|||||||
Life
|
Life
|
||||||
Lockerung
|
Lockerung
|
||||||
Laufzeitumgebung
|
Laufzeitumgebung
|
||||||
|
Lines
|
||||||
|
Logik
|
||||||
|
Logikfehler
|
||||||
Filter
|
Filter
|
||||||
FlateDecode
|
FlateDecode
|
||||||
Ff
|
Ff
|
||||||
@@ -23681,6 +23690,12 @@ Freigabe
|
|||||||
Fachlogik
|
Fachlogik
|
||||||
FATAL
|
FATAL
|
||||||
Frameworks
|
Frameworks
|
||||||
|
Funktionseinheit
|
||||||
|
Failure
|
||||||
|
Fehlerdichte
|
||||||
|
Funktionstests
|
||||||
|
Fehlerfindung
|
||||||
|
Flow
|
||||||
stream
|
stream
|
||||||
se
|
se
|
||||||
sH
|
sH
|
||||||
@@ -30028,6 +30043,11 @@ systematisch
|
|||||||
sichtbarer
|
sichtbarer
|
||||||
statischen
|
statischen
|
||||||
strenger
|
strenger
|
||||||
|
spiegeln
|
||||||
|
sobald
|
||||||
|
spezifizierten
|
||||||
|
selten
|
||||||
|
sicherstellen
|
||||||
ZKs
|
ZKs
|
||||||
ZN
|
ZN
|
||||||
Zf
|
Zf
|
||||||
@@ -36139,6 +36159,11 @@ Zweigüberdeckung
|
|||||||
Zweig
|
Zweig
|
||||||
Zyklomatische
|
Zyklomatische
|
||||||
Zweige
|
Zweige
|
||||||
|
Zusammenhalts
|
||||||
|
Zählen
|
||||||
|
Zustandsübergangstests
|
||||||
|
Zustandsautomat
|
||||||
|
Zufallstests
|
||||||
Who
|
Who
|
||||||
We
|
We
|
||||||
WE
|
WE
|
||||||
@@ -42502,6 +42527,8 @@ Wahrheitswerten
|
|||||||
Weighted
|
Weighted
|
||||||
Werkzeugen
|
Werkzeugen
|
||||||
WARN
|
WARN
|
||||||
|
Widerstand
|
||||||
|
Wählen
|
||||||
KI
|
KI
|
||||||
Kt
|
Kt
|
||||||
KF
|
KF
|
||||||
@@ -48906,6 +48933,10 @@ Konstanten
|
|||||||
Korrektive
|
Korrektive
|
||||||
Kontrollausgaben
|
Kontrollausgaben
|
||||||
Kontrollflussgraphen
|
Kontrollflussgraphen
|
||||||
|
Kommunizieren
|
||||||
|
Kommunikationsmittel
|
||||||
|
Kategorien
|
||||||
|
Konsistenz
|
||||||
bq
|
bq
|
||||||
bQ
|
bQ
|
||||||
bG
|
bG
|
||||||
@@ -54967,6 +54998,11 @@ beseitigen
|
|||||||
begünstigt
|
begünstigt
|
||||||
begrenzte
|
begrenzte
|
||||||
berechnende
|
berechnende
|
||||||
|
bewerten
|
||||||
|
besser
|
||||||
|
basierend
|
||||||
|
besten
|
||||||
|
bleiben
|
||||||
iZ
|
iZ
|
||||||
ig
|
ig
|
||||||
iA
|
iA
|
||||||
@@ -61250,6 +61286,10 @@ iGXL
|
|||||||
ieCBi
|
ieCBi
|
||||||
integrierten
|
integrierten
|
||||||
implementiert
|
implementiert
|
||||||
|
interpretiert
|
||||||
|
identifizieren
|
||||||
|
interne
|
||||||
|
ineffizienten
|
||||||
GJe
|
GJe
|
||||||
GAG
|
GAG
|
||||||
GJ
|
GJ
|
||||||
@@ -67256,6 +67296,7 @@ Grundeinstellungen
|
|||||||
Grammatikprüfung
|
Grammatikprüfung
|
||||||
Gesamtzahl
|
Gesamtzahl
|
||||||
Gemeinsame
|
Gemeinsame
|
||||||
|
Graph
|
||||||
AO
|
AO
|
||||||
Aw
|
Aw
|
||||||
Az
|
Az
|
||||||
@@ -73753,6 +73794,14 @@ Aktive
|
|||||||
Arbeit
|
Arbeit
|
||||||
Ausgangszustands
|
Ausgangszustands
|
||||||
Aufwands
|
Aufwands
|
||||||
|
Ausgabeoperanden
|
||||||
|
Ausfällen
|
||||||
|
Anwendungsbereiche
|
||||||
|
Anforderungsanalyse
|
||||||
|
Akzeptanz
|
||||||
|
Automatisieren
|
||||||
|
Analysieren
|
||||||
|
Abdeckung
|
||||||
QV
|
QV
|
||||||
Qom
|
Qom
|
||||||
QJ
|
QJ
|
||||||
@@ -86114,6 +86163,7 @@ namen
|
|||||||
natürlichsprachliche
|
natürlichsprachliche
|
||||||
normaler
|
normaler
|
||||||
neuer
|
neuer
|
||||||
|
niedrige
|
||||||
YJ
|
YJ
|
||||||
Yb
|
Yb
|
||||||
YwM
|
YwM
|
||||||
@@ -98960,6 +99010,8 @@ Uses
|
|||||||
Unterklassen
|
Unterklassen
|
||||||
Unterklasse
|
Unterklasse
|
||||||
Unterteilung
|
Unterteilung
|
||||||
|
Umfang
|
||||||
|
Unabhängigkeit
|
||||||
TZ
|
TZ
|
||||||
TF
|
TF
|
||||||
TP
|
TP
|
||||||
@@ -105243,6 +105295,11 @@ Teilbedingung
|
|||||||
Testzugang
|
Testzugang
|
||||||
Testware
|
Testware
|
||||||
Teils
|
Teils
|
||||||
|
Testabdeckung
|
||||||
|
Trends
|
||||||
|
Teilen
|
||||||
|
Tester
|
||||||
|
Testfallerstellung
|
||||||
gO
|
gO
|
||||||
gHoVo
|
gHoVo
|
||||||
gD
|
gD
|
||||||
@@ -111263,6 +111320,9 @@ groupId
|
|||||||
getestet
|
getestet
|
||||||
generische
|
generische
|
||||||
geplant
|
geplant
|
||||||
|
garantiert
|
||||||
|
gewünschtes
|
||||||
|
genutzten
|
||||||
DMg
|
DMg
|
||||||
Dv
|
Dv
|
||||||
DLg
|
DLg
|
||||||
@@ -117243,6 +117303,12 @@ Depth
|
|||||||
Descandants
|
Descandants
|
||||||
Datenflussanomalieanalyse
|
Datenflussanomalieanalyse
|
||||||
DEBUG
|
DEBUG
|
||||||
|
Detaillierte
|
||||||
|
Defect
|
||||||
|
Durchschnittliche
|
||||||
|
Datenflussfehler
|
||||||
|
Datenflussanalyse
|
||||||
|
Datenflusses
|
||||||
xU
|
xU
|
||||||
xM
|
xM
|
||||||
xK
|
xK
|
||||||
@@ -128731,6 +128797,11 @@ Hierarchisierung
|
|||||||
Hiding
|
Hiding
|
||||||
Hauptfehler
|
Hauptfehler
|
||||||
Häufige
|
Häufige
|
||||||
|
Höhere
|
||||||
|
Höheres
|
||||||
|
Höherer
|
||||||
|
Herausforderungen
|
||||||
|
Hoher
|
||||||
zo
|
zo
|
||||||
zL
|
zL
|
||||||
zE
|
zE
|
||||||
@@ -134836,6 +134907,11 @@ zutreffend
|
|||||||
zusätzlicher
|
zusätzlicher
|
||||||
zustandsverändernder
|
zustandsverändernder
|
||||||
zusammengesetzt
|
zusammengesetzt
|
||||||
|
zusammenhängender
|
||||||
|
zukünftige
|
||||||
|
zyklomatische
|
||||||
|
zufälligen
|
||||||
|
zeitaufwendig
|
||||||
hr
|
hr
|
||||||
hAa
|
hAa
|
||||||
hH
|
hH
|
||||||
@@ -140727,6 +140803,8 @@ hiDO
|
|||||||
hUOD
|
hUOD
|
||||||
hinzugenommen
|
hinzugenommen
|
||||||
hoffe
|
hoffe
|
||||||
|
helfen
|
||||||
|
hindeuten
|
||||||
pt
|
pt
|
||||||
ps
|
ps
|
||||||
pao
|
pao
|
||||||
@@ -146668,6 +146746,9 @@ predicate
|
|||||||
prädikativen
|
prädikativen
|
||||||
parametrisierte
|
parametrisierte
|
||||||
privater
|
privater
|
||||||
|
prozessen
|
||||||
|
projekte
|
||||||
|
passen
|
||||||
Ic
|
Ic
|
||||||
IT
|
IT
|
||||||
Ir
|
Ir
|
||||||
@@ -152764,6 +152845,8 @@ Interfaces
|
|||||||
Inheritance
|
Inheritance
|
||||||
Integrationsprozesses
|
Integrationsprozesses
|
||||||
INFO
|
INFO
|
||||||
|
Interpretieren
|
||||||
|
Implementierung
|
||||||
ap
|
ap
|
||||||
aE
|
aE
|
||||||
at
|
at
|
||||||
@@ -158728,6 +158811,11 @@ atomaren
|
|||||||
abstrakte
|
abstrakte
|
||||||
abstrakter
|
abstrakter
|
||||||
atomare
|
atomare
|
||||||
|
abgedeckt
|
||||||
|
ausschließlich
|
||||||
|
abdecken
|
||||||
|
angenommen
|
||||||
|
auflisten
|
||||||
fb
|
fb
|
||||||
fVVvD
|
fVVvD
|
||||||
fh
|
fh
|
||||||
@@ -164791,6 +164879,7 @@ finale
|
|||||||
früh
|
früh
|
||||||
formale
|
formale
|
||||||
fehlerträchtigen
|
fehlerträchtigen
|
||||||
|
frühen
|
||||||
Bs
|
Bs
|
||||||
ByJ
|
ByJ
|
||||||
BF
|
BF
|
||||||
@@ -170485,6 +170574,11 @@ Berichten
|
|||||||
Builds
|
Builds
|
||||||
Berichtswesen
|
Berichtswesen
|
||||||
Berichte
|
Berichte
|
||||||
|
Betrachtung
|
||||||
|
Bewerten
|
||||||
|
Best
|
||||||
|
Benutzerperspektive
|
||||||
|
Branch
|
||||||
ek
|
ek
|
||||||
eP
|
eP
|
||||||
eVPm
|
eVPm
|
||||||
@@ -176961,6 +177055,11 @@ entdecken
|
|||||||
engineering
|
engineering
|
||||||
erneutes
|
erneutes
|
||||||
else
|
else
|
||||||
|
ermöglichen
|
||||||
|
erzielen
|
||||||
|
empfinden
|
||||||
|
erreicht
|
||||||
|
entdeckte
|
||||||
tj
|
tj
|
||||||
tg
|
tg
|
||||||
tt
|
tt
|
||||||
@@ -183239,6 +183338,8 @@ thwMz
|
|||||||
tnPR
|
tnPR
|
||||||
tOKfa
|
tOKfa
|
||||||
testenden
|
testenden
|
||||||
|
treffen
|
||||||
|
tiefes
|
||||||
JFRO
|
JFRO
|
||||||
JG
|
JG
|
||||||
JL
|
JL
|
||||||
@@ -195528,6 +195629,10 @@ konstruktiven
|
|||||||
konsistent
|
konsistent
|
||||||
komplett
|
komplett
|
||||||
kompletten
|
kompletten
|
||||||
|
komplexität
|
||||||
|
komplexeren
|
||||||
|
komplexere
|
||||||
|
kostspielig
|
||||||
EU
|
EU
|
||||||
Evq
|
Evq
|
||||||
Er
|
Er
|
||||||
@@ -201883,6 +201988,19 @@ Einfacher
|
|||||||
Entnahme
|
Entnahme
|
||||||
Erleichterung
|
Erleichterung
|
||||||
ERROR
|
ERROR
|
||||||
|
Einblicke
|
||||||
|
Entwicklungen
|
||||||
|
Entscheidungen
|
||||||
|
Endbenutzers
|
||||||
|
Eingabekombinationen
|
||||||
|
Erfordert
|
||||||
|
Eingabewerte
|
||||||
|
Entscheidungstabellentests
|
||||||
|
Eingabebedingungen
|
||||||
|
Eingabewerten
|
||||||
|
Einblick
|
||||||
|
Effiziente
|
||||||
|
Entwicklerperspektive
|
||||||
lX
|
lX
|
||||||
ll
|
ll
|
||||||
lC
|
lC
|
||||||
@@ -208085,6 +208203,7 @@ ljsp
|
|||||||
laZZ
|
laZZ
|
||||||
lokale
|
lokale
|
||||||
logischen
|
logischen
|
||||||
|
liefern
|
||||||
wG
|
wG
|
||||||
wd
|
wd
|
||||||
ws
|
ws
|
||||||
@@ -214522,6 +214641,9 @@ woXz
|
|||||||
wZeUHd
|
wZeUHd
|
||||||
wwwwwwwww
|
wwwwwwwww
|
||||||
wDph
|
wDph
|
||||||
|
warten
|
||||||
|
weiterhin
|
||||||
|
wider
|
||||||
RmZh
|
RmZh
|
||||||
Rp
|
Rp
|
||||||
RJ
|
RJ
|
||||||
@@ -220668,6 +220790,8 @@ Reflection
|
|||||||
Rechtschreib
|
Rechtschreib
|
||||||
Redefined
|
Redefined
|
||||||
Relationssymbole
|
Relationssymbole
|
||||||
|
Ressourcennutzung
|
||||||
|
Redundanz
|
||||||
vJ
|
vJ
|
||||||
vS
|
vS
|
||||||
vKDF
|
vKDF
|
||||||
@@ -226905,6 +227029,11 @@ verschleißt
|
|||||||
vieler
|
vieler
|
||||||
vertauschten
|
vertauschten
|
||||||
vollautomatischen
|
vollautomatischen
|
||||||
|
versionen
|
||||||
|
vorherzusagen
|
||||||
|
voreingenommen
|
||||||
|
verhalten
|
||||||
|
vollen
|
||||||
XE
|
XE
|
||||||
Xd
|
Xd
|
||||||
XRb
|
XRb
|
||||||
@@ -251566,6 +251695,13 @@ Mehrfach
|
|||||||
Minimale
|
Minimale
|
||||||
Metrik
|
Metrik
|
||||||
Mehr
|
Mehr
|
||||||
|
Minimalvokabulars
|
||||||
|
Messungen
|
||||||
|
Managern
|
||||||
|
Messung
|
||||||
|
Modules
|
||||||
|
MTTF
|
||||||
|
Muster
|
||||||
qO
|
qO
|
||||||
qj
|
qj
|
||||||
qG
|
qG
|
||||||
@@ -257651,6 +257787,7 @@ qRix
|
|||||||
qtnyh
|
qtnyh
|
||||||
qevy
|
qevy
|
||||||
qnDo
|
qnDo
|
||||||
|
quantifizieren
|
||||||
yB
|
yB
|
||||||
yyNs
|
yyNs
|
||||||
yQU
|
yQU
|
||||||
@@ -269952,6 +270089,10 @@ uBc
|
|||||||
ukuZ
|
ukuZ
|
||||||
upZFL
|
upZFL
|
||||||
unstimmige
|
unstimmige
|
||||||
|
untere
|
||||||
|
unabhängiger
|
||||||
|
unmöglich
|
||||||
|
unentdeckt
|
||||||
ma
|
ma
|
||||||
ml
|
ml
|
||||||
mB
|
mB
|
||||||
@@ -282688,6 +282829,8 @@ definitionsfreien
|
|||||||
definitionsfrei
|
definitionsfrei
|
||||||
definitionsfreier
|
definitionsfreier
|
||||||
dynamischen
|
dynamischen
|
||||||
|
deutet
|
||||||
|
deuten
|
||||||
VV
|
VV
|
||||||
VA
|
VA
|
||||||
Vsm
|
Vsm
|
||||||
@@ -288984,6 +289127,13 @@ Vorbereitende
|
|||||||
Versions
|
Versions
|
||||||
Viel
|
Viel
|
||||||
Verknüpfung
|
Verknüpfung
|
||||||
|
Verstehen
|
||||||
|
Vorhersagen
|
||||||
|
Vollständigkeit
|
||||||
|
Verfolgung
|
||||||
|
Verwenden
|
||||||
|
Verständnis
|
||||||
|
Vollständige
|
||||||
SGN
|
SGN
|
||||||
Sg
|
Sg
|
||||||
SrEHO
|
SrEHO
|
||||||
@@ -295357,6 +295507,16 @@ Schlüsselwörter
|
|||||||
Softwaresystems
|
Softwaresystems
|
||||||
Systematisches
|
Systematisches
|
||||||
Sequenz
|
Sequenz
|
||||||
|
Schranke
|
||||||
|
Softwareprodukten
|
||||||
|
Softwareprodukte
|
||||||
|
Steuern
|
||||||
|
Softwareentwicklungsprozessen
|
||||||
|
Softwaresystem
|
||||||
|
Softwaredesigns
|
||||||
|
Schwierige
|
||||||
|
Strukturtests
|
||||||
|
Statement
|
||||||
rn
|
rn
|
||||||
rE
|
rE
|
||||||
rD
|
rD
|
||||||
@@ -301711,6 +301871,9 @@ rTwL
|
|||||||
repräsentativ
|
repräsentativ
|
||||||
redundanzarm
|
redundanzarm
|
||||||
repräsentiert
|
repräsentiert
|
||||||
|
ressourcen
|
||||||
|
relevante
|
||||||
|
redundante
|
||||||
Cu
|
Cu
|
||||||
CL
|
CL
|
||||||
Ch
|
Ch
|
||||||
@@ -307303,6 +307466,16 @@ Codierungsrichtlinien
|
|||||||
Checkstyle
|
Checkstyle
|
||||||
CodePro
|
CodePro
|
||||||
Codebasis
|
Codebasis
|
||||||
|
Codezeilen
|
||||||
|
Classes
|
||||||
|
Coupling
|
||||||
|
Cohesion
|
||||||
|
Codezeile
|
||||||
|
Coverage
|
||||||
|
Codierung
|
||||||
|
Codequalität
|
||||||
|
Cases
|
||||||
|
Codeoptimierung
|
||||||
OM
|
OM
|
||||||
OWR
|
OWR
|
||||||
Os
|
Os
|
||||||
@@ -313408,6 +313581,7 @@ Oberklasse
|
|||||||
Operatoren
|
Operatoren
|
||||||
Operanden
|
Operanden
|
||||||
Objektorientierte
|
Objektorientierte
|
||||||
|
Objektivität
|
||||||
cgl
|
cgl
|
||||||
cj
|
cj
|
||||||
content
|
content
|
||||||
@@ -320042,6 +320216,7 @@ computational
|
|||||||
Äquivalenzklassen
|
Äquivalenzklassen
|
||||||
Änderungs
|
Änderungs
|
||||||
Änderungsanträgen
|
Änderungsanträgen
|
||||||
|
Änderungsfreundlichkeit
|
||||||
äz
|
äz
|
||||||
äh
|
äh
|
||||||
äe
|
äe
|
||||||
@@ -320270,6 +320445,7 @@ computational
|
|||||||
üSa
|
üSa
|
||||||
üYB
|
üYB
|
||||||
überprüfbar
|
überprüfbar
|
||||||
|
überschneiden
|
||||||
ßc
|
ßc
|
||||||
ßI
|
ßI
|
||||||
ßVq
|
ßVq
|
||||||
|
|||||||
21
.obsidian/workspace.json
vendored
21
.obsidian/workspace.json
vendored
@@ -29,14 +29,12 @@
|
|||||||
"id": "dc1bf961d97f0cb4",
|
"id": "dc1bf961d97f0cb4",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "pdf",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "WS2425/SWT D/Notes.md",
|
"file": "WS2425/SWT D/Praktikum/swtd-p-03.pdf"
|
||||||
"mode": "source",
|
|
||||||
"source": false
|
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file-text",
|
||||||
"title": "Notes"
|
"title": "swtd-p-03"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -252,18 +250,18 @@
|
|||||||
"obsidian-livesync:Show log": false
|
"obsidian-livesync:Show log": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "dc1bf961d97f0cb4",
|
"active": "b8336cb3c3d06be9",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"Pasted image 20250221131512.png",
|
|
||||||
"WS2425/SWT D/Vorlesung/swtd_merged.pdf",
|
|
||||||
"Persistierung.ts.md",
|
|
||||||
"WS2425/SWT D/Notes.md",
|
"WS2425/SWT D/Notes.md",
|
||||||
|
"WS2425/SWT D/Praktikum/swtd-p-03.pdf",
|
||||||
|
"WS2425/SWT D/Vorlesung/swtd_merged.pdf",
|
||||||
|
"Pasted image 20250221131512.png",
|
||||||
|
"Persistierung.ts.md",
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-08.pdf",
|
"WS2425/SWT D/Praktikum/swtd-p-08.pdf",
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-07.pdf",
|
"WS2425/SWT D/Praktikum/swtd-p-07.pdf",
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-06.pdf",
|
"WS2425/SWT D/Praktikum/swtd-p-06.pdf",
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-05.pdf",
|
"WS2425/SWT D/Praktikum/swtd-p-05.pdf",
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-04.pdf",
|
"WS2425/SWT D/Praktikum/swtd-p-04.pdf",
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-3.pdf",
|
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-02.pdf",
|
"WS2425/SWT D/Praktikum/swtd-p-02.pdf",
|
||||||
"WS2425/SWT D/Praktikum/swtd-p-01.pdf",
|
"WS2425/SWT D/Praktikum/swtd-p-01.pdf",
|
||||||
"WS2425/SWT D/Uebung/swtd-ue-01.pdf",
|
"WS2425/SWT D/Uebung/swtd-ue-01.pdf",
|
||||||
@@ -283,7 +281,6 @@
|
|||||||
"img/Pasted image 20241206141721.png",
|
"img/Pasted image 20241206141721.png",
|
||||||
"img/Pasted image 20241206141709.png",
|
"img/Pasted image 20241206141709.png",
|
||||||
"img/Pasted image 20241206141658.png",
|
"img/Pasted image 20241206141658.png",
|
||||||
"img/Pasted image 20241206141645.png",
|
|
||||||
"WS2425/Web Tech/Übung/Notes.md",
|
"WS2425/Web Tech/Übung/Notes.md",
|
||||||
"WS2425/Data Science/VL/lecture_08_notes.md",
|
"WS2425/Data Science/VL/lecture_08_notes.md",
|
||||||
"WS2425/Data Science/VL/lecture_07_notes.md",
|
"WS2425/Data Science/VL/lecture_07_notes.md",
|
||||||
|
|||||||
@@ -265,6 +265,144 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Softwaremetriken: Detaillierte Betrachtung**
|
||||||
|
|
||||||
|
**1. Was sind Softwaremetriken?**
|
||||||
|
|
||||||
|
* **Definition:** Softwaremetriken sind quantitative Messungen, die verwendet werden, um verschiedene Aspekte von Softwareprodukten, -prozessen und -ressourcen zu bewerten und zu verfolgen. Sie liefern Einblicke in die Qualität, Komplexität, Größe, Effizienz und andere wichtige Eigenschaften von Software.
|
||||||
|
* **Zweck:**
|
||||||
|
* **Verstehen:** Metriken helfen, die Eigenschaften von Software besser zu verstehen und zu quantifizieren.
|
||||||
|
* **Vergleichen:** Sie ermöglichen den Vergleich verschiedener Softwareprodukte, -versionen oder -projekte.
|
||||||
|
* **Vorhersagen:** Metriken können verwendet werden, um zukünftige Entwicklungen, Kosten oder Risiken vorherzusagen.
|
||||||
|
* **Steuern:** Sie unterstützen die Steuerung von Softwareentwicklungsprozessen und die Optimierung von Ressourcen.
|
||||||
|
* **Kommunizieren:** Metriken dienen als Kommunikationsmittel zwischen Entwicklern, Managern und anderen Stakeholdern.
|
||||||
|
|
||||||
|
**2. Kategorien von Softwaremetriken**
|
||||||
|
|
||||||
|
* **Quantitätsmetriken:** Messen die Größe und den Umfang von Software.
|
||||||
|
* **Beispiele:**
|
||||||
|
* *Lines of Code (LOC):* Anzahl der Codezeilen in einem Programm.
|
||||||
|
* *Function Points (FP):* Messung der Funktionalität, die ein Softwaresystem bietet.
|
||||||
|
* *Number of Classes/Modules:* Anzahl der Klassen oder Module in einem System.
|
||||||
|
* **Komplexitätsmetriken:** Bewerten die Komplexität von Software.
|
||||||
|
* **Beispiele:**
|
||||||
|
* *Cyclomatic Complexity (McCabe):* Messung der Anzahl unabhängiger Pfade durch ein Programm.
|
||||||
|
* *Halstead Metrics:* Messung der Komplexität basierend auf der Anzahl der Operatoren und Operanden.
|
||||||
|
* *Coupling and Cohesion:* Messung der Abhängigkeiten zwischen Modulen und des Zusammenhalts innerhalb von Modulen.
|
||||||
|
* **Qualitätsmetriken:** Bewerten die Qualität von Software.
|
||||||
|
* **Beispiele:**
|
||||||
|
* *Defect Density:* Anzahl der Fehler pro Codezeile oder Funktionseinheit.
|
||||||
|
* *Mean Time To Failure (MTTF):* Durchschnittliche Zeit zwischen Ausfällen eines Systems.
|
||||||
|
* *Maintainability Index:* Messung der Wartbarkeit von Software.
|
||||||
|
* *Code Coverage:* Prozentsatz des Codes, der durch Tests abgedeckt wird.
|
||||||
|
|
||||||
|
**3. Anwendungsbereiche von Softwaremetriken**
|
||||||
|
|
||||||
|
* **Anforderungsanalyse:** Messung der Vollständigkeit und Konsistenz von Anforderungen.
|
||||||
|
* **Entwurf:** Bewertung der Qualität des Softwaredesigns.
|
||||||
|
* **Codierung:** Überwachung der Codequalität und -komplexität.
|
||||||
|
* **Testen:** Messung der Testabdeckung und Fehlerdichte.
|
||||||
|
* **Wartung:** Bewertung der Wartbarkeit und Änderungsfreundlichkeit von Software.
|
||||||
|
* **Projektmanagement:** Verfolgung des Projektfortschritts und der Ressourcennutzung.
|
||||||
|
|
||||||
|
**4. Beispiele für Softwaremetriken und ihre Berechnung**
|
||||||
|
|
||||||
|
* **Lines of Code (LOC):**
|
||||||
|
* *Berechnung:* Zählen der Anzahl der Codezeilen in einem Programm.
|
||||||
|
* *Interpretation:* Höhere LOC kann auf größere Komplexität hindeuten, aber auch auf Redundanz.
|
||||||
|
* **Cyclomatic Complexity (McCabe):**
|
||||||
|
* *Berechnung:* $V(G) = E - N + 2$, wobei E die Anzahl der Kanten und N die Anzahl der Knoten im Kontrollflussgraphen ist.
|
||||||
|
* *Interpretation:* Höhere zyklomatische Komplexität deutet auf komplexeren Code hin, der schwieriger zu testen und zu warten ist.
|
||||||
|
* **Halstead Metrics:**
|
||||||
|
* *Basisparameter:*
|
||||||
|
* $t$: Anzahl der unterschiedlichen Operatoren
|
||||||
|
* $d$: Anzahl der unterschiedlichen Operanden
|
||||||
|
* $n_t$: Gesamtzahl aller Operatoren im Programm
|
||||||
|
* $n_d$: Gesamtzahl aller Operanden im Programm
|
||||||
|
* *Berechnungen:*
|
||||||
|
* Größe des Vokabulars: $G = t + d$
|
||||||
|
* Länge des Programms: $N = n_t + n_d$
|
||||||
|
* Volumen des Programms: $V = N \times log_2 G$
|
||||||
|
* Level: $L = V^* / V$
|
||||||
|
* Schwierigkeit: $D = 1 / L$
|
||||||
|
* Aufwand: $E = V \times D$
|
||||||
|
* *Interpretation:* Höheres Volumen und höherer Aufwand deuten auf komplexeren Code hin.
|
||||||
|
* **Weighted Method per Class (WMC):**
|
||||||
|
* *Berechnung:* $WMC = \sum_{i=1}^{M} v(m_i)$, wobei $v(m_i)$ die Komplexität der Methode $m_i$ ist (z.B. zyklomatische Komplexität).
|
||||||
|
* *Interpretation:* Höherer WMC deutet auf eine komplexere Klasse hin, die schwieriger zu verstehen und zu testen ist.
|
||||||
|
|
||||||
|
**5. Herausforderungen bei der Verwendung von Softwaremetriken**
|
||||||
|
|
||||||
|
* **Interpretation:** Metriken müssen im Kontext interpretiert werden. Eine hohe LOC ist nicht immer schlecht, und eine niedrige zyklomatische Komplexität garantiert keine hohe Qualität.
|
||||||
|
* **Manipulation:** Metriken können manipuliert werden, um ein gewünschtes Ergebnis zu erzielen.
|
||||||
|
* **Kosten:** Die Erfassung und Analyse von Metriken kann kostspielig sein.
|
||||||
|
* **Akzeptanz:** Entwickler können Metriken als Bedrohung empfinden, was zu Widerstand führen kann.
|
||||||
|
|
||||||
|
**6. Best Practices für die Verwendung von Softwaremetriken**
|
||||||
|
|
||||||
|
* **Definieren Sie klare Ziele:** Was soll mit den Metriken erreicht werden?
|
||||||
|
* **Wählen Sie relevante Metriken:** Welche Metriken sind für die spezifischen Ziele am besten geeignet?
|
||||||
|
* **Automatisieren Sie die Erfassung:** Verwenden Sie Werkzeuge, um Metriken automatisch zu erfassen.
|
||||||
|
* **Analysieren Sie die Daten:** Interpretieren Sie die Metriken im Kontext und identifizieren Sie Trends und Muster.
|
||||||
|
* **Kommunizieren Sie die Ergebnisse:** Teilen Sie die Ergebnisse mit den Stakeholdern und verwenden Sie sie, um Entscheidungen zu treffen.
|
||||||
|
* **Überprüfen und passen Sie die Metriken an:** Stellen Sie sicher, dass die Metriken weiterhin relevant und nützlich sind.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Black-Box-Testing (Funktionstests)**
|
||||||
|
|
||||||
|
* **Konzept:**
|
||||||
|
* Der Tester betrachtet das System als "Black Box", d.h. er hat keine Kenntnisse über die interne Struktur, den Code oder die Implementierung des Systems.
|
||||||
|
* Die Testfälle werden ausschließlich auf Basis der Spezifikation, der Anforderungen oder der Dokumentation des Systems entwickelt.
|
||||||
|
* Das Ziel ist es, die Funktionalität des Systems aus der Sicht des Endbenutzers zu überprüfen.
|
||||||
|
* **Vorteile:**
|
||||||
|
* **Unabhängigkeit:** Tester benötigt keine Programmierkenntnisse.
|
||||||
|
* **Benutzerperspektive:** Testfälle spiegeln die tatsächliche Nutzung des Systems wider.
|
||||||
|
* **Frühe Testphase:** Kann bereits in frühen Phasen des Entwicklungsprozesses durchgeführt werden, sobald die Spezifikationen vorliegen.
|
||||||
|
* **Objektivität:** Tester ist nicht durch die Implementierung voreingenommen.
|
||||||
|
* **Nachteile:**
|
||||||
|
* **Begrenzte Abdeckung:** Es ist unmöglich, alle möglichen Eingabekombinationen und Pfade zu testen.
|
||||||
|
* **Redundanz:** Testfälle können sich überschneiden oder redundante Funktionalität abdecken.
|
||||||
|
* **Nicht entdeckte Fehler:** Fehler in nicht spezifizierten oder selten genutzten Bereichen können unentdeckt bleiben.
|
||||||
|
* **Schwierige Testfallerstellung:** Erfordert ein tiefes Verständnis der Spezifikationen und Anforderungen.
|
||||||
|
* **Gängige Techniken:**
|
||||||
|
* **Äquivalenzklassenbildung:** Aufteilung der Eingabewerte in Äquivalenzklassen, von denen angenommen wird, dass sie sich gleich verhalten.
|
||||||
|
* **Grenzwertanalyse:** Testen von Werten an den Grenzen der Äquivalenzklassen.
|
||||||
|
* **Entscheidungstabellentests:** Erstellung von Tabellen, die alle möglichen Kombinationen von Eingabebedingungen und den entsprechenden Ausgaben auflisten.
|
||||||
|
* **Zustandsübergangstests:** Modellierung des Systems als Zustandsautomat und Testen aller Zustandsübergänge.
|
||||||
|
* **Use-Case-Tests:** Entwicklung von Testfällen basierend auf den Use Cases des Systems.
|
||||||
|
* **Zufallstests:** Generierung von zufälligen Eingabewerten und Überprüfung der Ausgaben.
|
||||||
|
* **Property-based Testing:** Prüfung, ob ein Prädikat erfüllt ist: $\forall x.P(x, f_{SUT}(x))$.
|
||||||
|
|
||||||
|
**Glass-Box-Testing (White-Box-Testing, Strukturtests)**
|
||||||
|
|
||||||
|
* **Konzept:**
|
||||||
|
* Der Tester hat vollen Einblick in die interne Struktur, den Code und die Implementierung des Systems.
|
||||||
|
* Die Testfälle werden auf Basis des Codes entwickelt, um sicherzustellen, dass alle Teile des Codes ausgeführt werden.
|
||||||
|
* Das Ziel ist es, die interne Logik des Systems zu überprüfen und Fehler in der Implementierung zu finden.
|
||||||
|
* **Vorteile:**
|
||||||
|
* **Vollständige Abdeckung:** Kann sicherstellen, dass alle Teile des Codes getestet werden.
|
||||||
|
* **Effiziente Fehlerfindung:** Kann Fehler in der Implementierung, wie z.B. Logikfehler oder Datenflussfehler, aufdecken.
|
||||||
|
* **Codeoptimierung:** Kann helfen, ineffizienten oder unnötigen Code zu identifizieren.
|
||||||
|
* **Nachteile:**
|
||||||
|
* **Hoher Aufwand:** Erfordert detaillierte Kenntnisse des Codes und der Implementierung.
|
||||||
|
* **Komplexität:** Kann sehr komplex und zeitaufwendig sein, insbesondere bei großen Systemen.
|
||||||
|
* **Entwicklerperspektive:** Testfälle spiegeln möglicherweise nicht die tatsächliche Nutzung des Systems wider.
|
||||||
|
* **Nicht entdeckte Spezifikationsfehler:** Kann keine Fehler in den Spezifikationen oder Anforderungen aufdecken.
|
||||||
|
* **Gängige Techniken:**
|
||||||
|
* **Anweisungsüberdeckung (Statement Coverage):** Sicherstellen, dass jede Anweisung im Code mindestens einmal ausgeführt wird.
|
||||||
|
* **Zweigüberdeckung (Branch Coverage):** Sicherstellen, dass jeder Zweig (z.B. if-else) im Code mindestens einmal ausgeführt wird.
|
||||||
|
* **Bedingungsüberdeckung (Condition Coverage):** Sicherstellen, dass jede Bedingung in einem Zweig mindestens einmal true und einmal false ist.
|
||||||
|
* **Pfadüberdeckung (Path Coverage):** Sicherstellen, dass jeder mögliche Pfad durch den Code mindestens einmal ausgeführt wird.
|
||||||
|
* **Datenflussanalyse (Data Flow Analysis):** Analyse des Datenflusses durch den Code, um sicherzustellen, dass Variablen korrekt definiert, verwendet und gelöscht werden.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Note Notes
|
# Note Notes
|
||||||
|
|
||||||
**Glass-Box-Test (White-Box-Test) / Strukturtest:**
|
**Glass-Box-Test (White-Box-Test) / Strukturtest:**
|
||||||
|
|||||||
Reference in New Issue
Block a user