Commit 02a081fb authored by Lukas Geiter's avatar Lukas Geiter

Add general details on metrics

parent b79eacf7
......@@ -543,6 +543,20 @@ Person-Months (PM) $$ PM = 3.2 * (KDSI) ^{1.05} $$ Development Time: $$ 2.5 * (P
\section{Metriken}
Projekt besser zu verstehen, Verbesserungspotential sehen und die Qualität zu erhöhen (Technical Debt besser einschätzen)
Zukünftige Projekte besser abschätzen, Effekt von Anpassungen bewerten, Kosten von Projekten zu sehen
\begin{description}
\item[Indikatoren] Grösste SRC-Files (LOC), Cyclomatic Complexiy, Code Guidelines Komformität, Number of Commits, Gefährliche Konstrukte, Duplicate Code, Kopplung/Kohäsion, Test Coverage, Lesbarkeit, Separation of Concerns, Gutes Naming
\item[Typen]
\textbf{Umfangsmetriken} (Anzahl Codezeilen, Anzahl Unterprogramme), \textbf{Logische Strukturmetriken} (McCabe, WMC),
\textbf{Datenstrukturmetriken} (Anzahl Variablen \& ihre Gültigkeit),
\textbf{Stilmetriken} (Namenskonventionen), \textbf{Bindungsmetriken} [Kohäsion und Kopplung] (Anzahl Packages ausserhalb, von denen Klassen im Package abhängen $\rightarrow$ Efferent Coupling)
\item[Tools]
\textbf{Dynamisch}: (Code ausführen) Covertura, EclEmma, Unit Tests, Integration Tests
\textbf{Statisch}: Checkstyle, FindBugs, ReSharper, STAN, structure101, Metrik Anaylse (McCabe), Reviews, Formal Verification
\end{description}
\subsection{Zyklomatische Zahl}
Misst Komplexität der logischen Struktur auf Basis Kontrollflussgraph G eines Programms. Zyklomatische Zahl (Anzahl linear unabhängiger Pfade durch Programm). $G$ berechnet sich $V(G) = e -n + 2p$ mit der Anzahl Kanten (edges) $e$, Anzahl Knoten (nodes) $n$ und Anzahl Komponenten (unabhängige Teil-Graphen) $p$. Für einzelne Funktion/Methode kann die vereinfachte Formel $V(G) = Anzahl Verzweigungen + 1$ verwendet werden.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment