Nützliche Hinweise zum Meilenstein "Softwaremetriken und Codeüberdeckung"
Folgende Inhalte sollten in Ihren Softwaremetriken bzw. Codeüberdeckungen im Rahmen des zweiten Meilensteins abgegeben werden:
- Deckblatt mit Name der Veranstaltung, Thema des Meilensteins, Ihrem Gruppennamen, Namen und Matrikelnummern aller Gruppenteilnehmer sowie einer Mailadresse, unter der Ihr Dozent Sie als Gruppe erreichen kann
Erster Teil (Softwaremetriken)
- Auswahl eines Algorithmus' pro Übungsgruppe mittels www.rosettacode.org (dort "Tasks" genannt)
- Auswahl einer Implementierung des gewählten Algorithmus' in einer (fast) beliebigen Programmiersprache pro Teilnehmer der Übungsgruppe:
- Üblicherweise eine Methode, die den Algorithmus implementiert
- Der gewählte Quelltext muss mindestens eine if-Bedingung und mindestens eine Schleife beinhalten; ein paar Anweisungen dazu schaden auch nicht. ;)
- Es ist nicht notwendig, einen möglichst langen Quelltext auszuwählen.
- Wählen Sie eine Programmiersprache, die Sie mindestens ein klein wenig verstehen.
- Wählen Sie nicht Brainfuck o.ä.
- Je weiter die gewählten Programmiersprachen voneinander "entfernt" sind, desto spannender werden die Ergebnisse: z.B. Java vs. JavaScript ist langweilig, Basic vs. Assembler ist spannend
- "Normalisieren" Sie den Quelltext im Vergleich zu den Quelltexten der anderen Teilnehmer Ihrer Übungsgruppe, damit sie untereinander vergleichbar werden.
- Wenden Sie Lines Of Code (LoC) auf Ihre Quelltexte an (Legende nicht vergessen) und interpretieren Sie die Ergebnisse gemeinsam in einem Teilfazit (beste Sprache, schlechte Sprache, Gründe dafür etc.).
- Wenden Sie die Zyklomatische Komplexität nach McCabe auf Ihre Quelltexte an und interpretieren Sie die Ergebnisse ebenso in einem Teilfazit.
- Wenden Sie die Halstead-Metriken auf Ihre Quelltexte an (achten Sie darauf, den richtigen Logarithmus zu verwenden) und interpretieren Sie die Ergebnisse ebenso in einem Teilfazit.
- Wenden Sie eine selbst ausgedachte, im Internet recherchierte oder von den "Standard"metriken erweiterte Metrik auf Ihre Quelltexte an und interpretieren Sie die Ergebnisse ebenso in einem Teilfazit.
- Interpretieren Sie alle Ergebnisse, die Sie insgesamt beobachten konnten, in einem Gesamtfazit.
Zweiter Teil (Codeüberdeckung)
- Erstellen Sie einen Programmablaufgraphen für den von Ihnen gewählten Quelltext: Er hilft Ihnen beim Erkennen der Pfade und Finden der Testfälle
- Finden Sie Testfälle, um die Anweisungsüberdeckung C0 auf 100 % zu bringen
- Finden Sie Testfälle, um die Zweigüberdeckung C1 auf 100 % zu bringen
- Finden Sie Testfälle, um die Bedingungskombinations- C2 bzw. Prädikatenüberdeckung C1p auf 100 % zu bringen
- Finden Sie Testfälle, um die Pfadüberdeckung C∞b (Boundary-Interior-Variante) auf 100 % zu bringen
- Beachen Sie für Ihre Testfälle die Minimalforderung und das Effizienzprinzip