Woche 2: Eigenschaften und Qualitätsmerkmale von Software
In dieser Woche diskutieren wir Eigenschaften von Software und wie sich Software von anderen Produkten unterscheidet. Wir lernen auch einige Qualitätsmerkmale von Software kennen.
Theorie
Vorbereitung (zu bearbeiten bis 26. September)
Als Vorbereitung für die Vorlesungsstunde in dieser Woche bearbeiten Sie bitte folgende Schritte:
- Schritt 1: Schauen Sie das Video “Eine kurze Geschichte des Software Engineerings”. (Video, Slides)
- Schritt 2: Schauen Sie das Video “Eigenschaften von Software”. (Video, Slides)
- Schritt 3: Schauen Sie das Video “Qualitätsmerkmale von Software” (Video, Slides)
- Schritt 4: Lesen Sie das Paper von Fred Brooks: No Silver Bullet. (Paper)
- Schritt 5: Überprüfen Sie ihr Wissen, indem sie den Selbsttest auf Adam bearbeiten. Adam.
Präsenzveranstaltung vom 27. September
In der Präsenzveranstaltung werden wir die im Selbststudium bearbeiten Themen in Diskussionen und Gruppenarbeiten vertiefen. Wir werden auch auf das Paper von Fred Brooks eingehen und diskutieren, inwiefern seine Prognosen vor 40 Jahren noch heute relevant sind.
Praxis:
Im praktischen Teil der Veranstaltung geben wir eine kurze Einführung in Versionsverwaltung mit Git.
Danach werden Sie selbst erste, kleine Änderungen an Jabref anbringen.
Hausaufgaben
- Arbeiten Sie den Selbststudiumsteil Woche 3 durch und bearbeiten Sie die dort angegebenen Aufgaben.
- Falls Sie an der Präsenzveranstaltung nicht anwesend waren, bearbeiten Sie die Theoriefragen und reichen diese bis zum 4.10 auf Adam ein.
- Bearbeiten Sie die praktische Übung und reichen Sie diese wie angegeben per Pull Request ein.
Lernziele
Die Teilnehmenden
- können die Hauptcharakteristiken nennen, die Software von anderen Industrieprodukten unterscheidet.
- kennen die wichtigsten Qualitätsmerkmale von Software und Softwareprozessen und können einschätzen, wie sich diese Gegenseitig beeinflussen.
- können interne von externen Qualitätsmerkmalen unterscheiden und den Unterschied erklären.
- können den Unterschied zwischen Essential und Accidental Komplexität erklären.
- verstehen, weshalb der Mensch in der Softwareentwicklung eine zentrale Rolle spielt und einige Auswirkungen davon ableiten.
- können argumentieren, weshalb Softwareentwicklung ein intrinsisch schwieriges Unterfangen ist.