Skip to main content

Vorlesung Softwarequalität im Sommersemester 2020

Im Sommersemester 2020 gibt es eine überarbeitete Version der Vorlesung Softwarequalität im Masterstudiengang Informatik an der Westsächsischen Hochschule Zwickau. Die Vorlesung findet jeden zweiten Montag von 9-15 Uhr statt.

Neuigkeiten zur Vorlesung wird es immer hier auf dieser Seite geben.

Wichtig: Prüfungsvorleistung

Am 15.06.2020 und am 29.06.2020 gibt es Projekte für sechs Gruppen. Jede der Gruppen muss ein Buch durcharbeiten und eine Vorlesung dazu gestalten. Die Vorlesung soll das jeweilige Buch in den Bezug zu Softwarequalität setzen. Die von euch gestalteten Vorlesungen sind die Prüfungsvorleistung und gehen in die Bewertung der Prüfung ein.

Die formalen Anforderungen an die Prüfungsvorleistung werden in der ersten Vorlesung bekannt gegeben und dann hier zur Verfügung gestellt. Die Links zu den Büchern sind jeweils im Abschnitt zur Vorlesung angegeben.

Vorlesung 1 (23.03.2020): Corona-Ferien

Vorlesung 2 (06.04.2020): Was bedeutet Qualität für Software?

Inhalte

  • Einführung in Microsoft Teams
  • Organisatorisches zur Remote-Arbeit und Prüfungsvorleistung
  • Einführung zu Software-Qualität
    • Perspektiven auf Software
    • Was ist Qualität?
    • Von der ISO 9126 zur ISO 25010
    • Prozess- und Produktqualität
    • Einordnung im Software-Engineering
    • Qualitätsmanagement
    • Softwarequalität in der Praxis

Vorlesung 3 (20.04.2020): Die Vermessung von Qualität

In der zweiten Vorlesung dreht sich alles um das Thema Messen und Metriken. Beginnen mit der Frage, was eigentlich eine Messung ist gehen wir über Code-Metriken zur Vermessung ganzer Software-Systeme.

Schlussendlich schauen wir uns natürlich, was das ganze Messen für die Anwender von Software bewirkt und wie wir anhand unserer Messungen sinnvolle Entscheidungen treffen können.

Inhalte

  • Messen und Metriken
  • Source-Code-Metriken
    • McCabes Zyklomatische Komplexität
    • Robert C. Martins Metriken zur Objektorientierung
  • Architekturmetriken
  • Metriken für die Prozessperspektive
  • Metriken für die Anwenderperspektive
  • Abstraktionsgrade
  • Entscheidungen treffen mit Metriken

Vorlesung 4 (04.05.2020): Die Architektur von Qualität

Inhalte

  • Einführung
  • Kommunikation & Kollaboration
  • Technische Schulden
  • Frameworks & Stile
  • Conway‘s Law
  • AIM42 & Pattern
  • ATAM – Architecture Tradeoff Analysis Method
  • Vorgehensmuster

Vorlesung 5 (18.05.2020): Qualität aus Anwenderperspektive

Inhalte

  • Usability und User Experience
  • Das Dreieck User Experience-Architektur-Qualität
  • Mensch-Computer-Interaktion (ISO 9241)

Vorlesungen 6 & 7: Prüfungsvorleistung

Soziale Systeme und die Qualität von Software

Agile Softwareentwicklung ist der de-facto Standard geworden, kaum ein Unternehmen arbeitet noch nach anderen Methoden. Damit agiles Arbeiten funktionieren kann, muss die Organisation gewisse Eigenschaften aufweisen.

In dieser Vorlesung erkunden wir diese Eigenschaften und die Frage, wie Aspekte, Eigenschaften und Verhaltensweisen der Organisation als sozialen Systems auf die Softwareentwicklung wirken.

Dazu habe ich zwei Bücher ausgewählt, die von zwei Gruppen in der Vorlesung vorgestellt werden.

Ethik und Verantwortung als Qualität von Software

Wir leben im Zeitalter von Big Data und künstlicher Intelligenz. Deshalb möchte ich mit euch darüber diskutieren, welche Auswirkungen Qualität in Algorithmen auf das Leben von Menschen haben kann.

Dazu habe ich zwei Bücher ausgewählt, die von zwei Gruppen vorgestellt werden. Im Anschluss daran besprechen wir noch einige grundlegende Fragen zu Relevanz von Qualitätsbetrachtungen in diesem Umfeld.

Source Code als Fundament von Software-Qualität

Source Code ist eher ein notwendiges Übel als die Essenz der Software-Entwicklung. Er bleibt jedoach das Medium in unserer Disziplin, über das wir uns am häufigsten austauschen, mit dem wir am häufigsten arbeiten und das am längsten erhalten bleibt.

Ich habe zwei Bücher ausgewählt, die sich mit der Frage beschäftigen, wie Source Code altert und wie er von Entwicklern verstanden werden kann.

Vorlesung 6 (15.06.2020)

Inhalte

  • Gruppe 1 - Einführung in Systemtheorie und Konstruktivismus
  • Gruppe 3 - Invisible Women: Exposing Data Bias in a World Designed for Men
  • Gruppe 5 - Working Effectively with Legacy Code

Vorlesung 7 (29.06.2020)

Inhalte

  • Gruppe 2 - Organisationen - Eine sehr kurze Einführung
  • Gruppe 4 - Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy
  • Gruppe 6 - xUnit Test Patterns: Refactoring Test Code

Prüfung

Termine, Beispielfragen und weitere Details zur Prüfung werden rechtzeitig hier bekannt gegeben.

FAQ zur Prüfung

  • Welche Inhalte sind Teil der Prüfung?
    A: Wir stellen Fragen zu allen 7 Vorlesungen. Auch zu den Inhalten, die aus den Gruppenarbeiten resultieren.
  • Wie lange dauert die Prüfung?
    A: Insgesamt 30 Minuten. Das Prüfungsgespräch dauert 20-25 Minuten, dann beraten wir uns noch 5 Minuten und geben das Resultat bekannt.
  • Wo wird die Prüfung stattfinden?
    A: Wird rechtzeitig bekannt gegeben.
  • Wann wird die Prüfung stattfinden?
    A: Wird rechtzeitig bekannt gegeben.
  • Haben die späteren Teilnehmer nicht einen Vorteil?
    A: Könnte man denken, passiert aber nicht. ;-)

Beispiele zu den Prüfungsfragen

Hinweis: Qualität bezieht sich in diesem Kontext immer auf Software.

  • Nenne und erkläre eine Definition von Qualität für Software.
  • Welche Qualitätsmerkmale beschreibt die ISO 25010?
  • Welche Bereiche gehören zum Qualitätsmanagement?
  • Beschreibe das magische Dreieck der Qualität.
  • Was ist Messen?
  • Was ist eine Metrik und wie kann sie abgebildet werden?
  • Was gehört zur Vorbereitung einer Messung?
  • Warum sollte man Qualität messen?
  • Welche Dimensionen von Qualität beschreibt Sneed?
  • Welche Messobjekte beschreibt Sneed?
  • Beschreibe den E4 Measurement Process.
  • Welche Herausforderungen gibt es bei der Messung von Qualität?
  • Erkläre die zyklomatische Komplexität nach McCabe?
  • Erkläre die Martin-Metrik
  • Welche Perspektiven auf Software-Architektur müssen hinsichtlich der Qualität betrachtet werden?
  • Beschreibe den Prozess einer Architekturbewertung nach ATAM.
  • Nenne und erkläre zwei der Metriken von Chidamber und Kemerer.
  • Wie kann Prozessqualität gemessen werden?
  • Erkläre die Goal-Question-Metrik-Methode mit einem Beispiel.
  • Nenne und erkläre eine Definition für Software-Architektur.
  • Wo ordnet sich Software-Architektur in den anderen Architekturdisziplinen ein?
  • Welche Aufgaben mit Qualitätsbezug haben Software-Architekten?
  • Welche Kommunikationswerkzeuge stehen Architekten zur Verfügung?
  • Was sind technische Schulden?
  • Was besagen Lehman’s Laws?
  • Wie klassifiziert Fowler technische Schulden?
  • Erkläre die 5 Orders of Ignorance anhand eines Beispiels.
  • Erkläre das Technical Debt Balance Sheet.
  • Erkläre Conway’s Law.
  • Wie ist die häufigste Fehlinterpretation von Conways’s Law in der IT?
  • Erkläre Komponenten-Teams und Feature-Teams.
  • Wann solche welche Art von Team genutzt werden?
  • Aus welchen Elementen besteht ein Pattern?
  • Wie können projektspezifische Pattern erkannt werden?
  • Beschreibe die vier Kategorien von Vorgehensmustern für Architektur mit jeweils einem Beispiel.
  • Wie lautet die Definition von Usability?
  • Wie lautet die Definition von User Experience?
  • Beschreibe den menschenzentrierten Gestaltungsprozess.
  • Beschreibe drei wichtige Teile der ISO 9241.
  • Erkläre das ABC-Modell.
  • Erkläre den Prozess des Usability Engineering.
  • Was sind die 7 Grundsätze der Dialoggestaltung nach ISO 9241-110?
  • Erkläre drei Praktiken aus dem Usability Engineering.
  • Erkläre drei wichtige Entwurfsprinzipien.
  • Erkläre drei Beispiele für wichtige Kapitel einer Usability-Guideline.
  • Erkläre GOMS an einem Beispiel.
  • Welche zusätzlichen Aspekte beschreiben Sarodnick & Brau im Vergleich zur ISO 9241?
  • Was war die herausragende Erkenntnis von Landauer & Neilson zu Usability Tests?

Updates vom 05.04.2020

  • Die Termine für die Prüflungsvorleistung sind verschoben auf den 15.06.2020 und den 29.06.2020
  • Die erste Vorlesung findet am 06.04.2020 statt
  • Die weiteren Vorlesungen verschieben sich um eine Woche
  • Für die Vorlesung wird Microsoft Teams benutzt, wer noch keine Einladung erhalten hat, meldet sich bitte bei mir

Updates vom 18.05.2020

  • Die Prüfungsvorleistungen finden ebenfalls als Vorlesungen in MS Teams statt
  • Die Prüfung findet in MS Teams statt
    • Beide Prüfer und die Prüflinge arbeiten mit aktiviertem Video
    • Es wird ein digitales Whiteboard für Notizen zur Verfügung gestellt

Updates vom 18.05.2020

  • Die Beispiele für Prüfungsfragen sind verfügbar

Sonstiges

Für alle weiteren Fragen zwischendurch bin ich über die links stehende Kanäle erreichbar.

Die Inhalte und Materialien, die ich für die Vorlesung erstellt habe, sind unter CC BY-SA 4.0 verfügbar. Anders formuliert: Ich freue mich, wenn ihr sie benutzt mindestens ebenso sehr, wie über die Quellenangabe.