34
1 Softwarequalität Einführung in eine neue Vorlesung Gerrit Beine, M.Sc. [email protected] Prof. Dr. Wolfgang Golubski [email protected]

Softwarequalität - Einführung in eine neue Vorlesung

Embed Size (px)

DESCRIPTION

Die Einführungsfolien zur Vorlesung Softwarequalität.

Citation preview

Page 1: Softwarequalität - Einführung in eine neue Vorlesung

1

Softwarequalität

Einführung in eine neue Vorlesung

Gerrit Beine, [email protected]

Prof. Dr. Wolfgang [email protected]

Page 2: Softwarequalität - Einführung in eine neue Vorlesung

2

Zur Motivation

Page 3: Softwarequalität - Einführung in eine neue Vorlesung

3

ROTI

Maximise Your Return On Time Invested!

Page 4: Softwarequalität - Einführung in eine neue Vorlesung

4

Vorstellung

Page 5: Softwarequalität - Einführung in eine neue Vorlesung

5

Wolfgang Golubski, Prof. Dr. rer.nat. habil.

● Jahrgang 1960● Seit 2004 an der Westsächsischen Hochschule Zwickau● Aktivitäten und Forschung auf den Gebieten

● Software-Entwicklung und -technologien und -Architekturen

● von Systems Engineering über Modellierung zum Programm

● Seit Anfang der 80er Software- und Tool-Entwicklung, auch im industriellen Umfeld● Projektleitung in verschiedenen Vorhaben● Objekt-orientierte Sprachen (Smalltalk-80, Eiffel, Java, JEE, etc.) und Methoden sowie

Modell-getriebene Entwicklung● Zahlreiche (wissenschaftliche) Veröffentlichungen zu den Themen „Programmiersprachen

und Modell-getriebene Software-Entwicklung“

Page 6: Softwarequalität - Einführung in eine neue Vorlesung

6

Gerrit Beine, M.Sc.

● Jahrgang 1980● Selbständig seit 1998, zunächst im Bereich Linux/Unix Support● Ab 2000 Einführung von Agilen Methoden, Test Driven Development, Continuous

Integration bei verschiedenen Unternehmen● Nebenbei Informatik-Studium in Zwickau● Ab 2006 Fokussierung auf ganzheitliche Softwarequalität● Nebenbei Master-Studium in Zwickau● 2008-2011 Software-Architekt bei AUDI● Seit 2011 Scrum Master bei Saxonia Systems● Dozent bei Open Source School (Test Driven Development, UML)● Nebenbei MBA-Studium in Leipzig● Seit einigen Jahre Speaker auf Linux- und Open Source Konferenzen● Contributer für FreeBSD und openSUSE

Page 7: Softwarequalität - Einführung in eine neue Vorlesung

7

Und was qualifiziert uns für diese Vorlesung?

Page 8: Softwarequalität - Einführung in eine neue Vorlesung

8

Unterschiede im Ablauf

Page 9: Softwarequalität - Einführung in eine neue Vorlesung

9

Vorbereitung & Ablauf

● 2 Wochen vor jeder Vorlesung geben wir eine Reihe von Artikeln aus● 1 Woche vor jeder Vorlesung muss jeder zu jedem Artikel drei qualifizierte Fragen stellen● Denn: Ein Drittel der Vorlesung basiert auf Euren Fragen!

● Aktive Teilnahme ist Zulassungsvoraussetzung zur Prüfung!● Wer mehr als einmal keine Fragen schickt, kann nicht an der Prüfung teilnehmen.

● Jede Vorlesung gliedert sich in drei Teile● Theorieteil – aktueller Stand der Forschung, Begriffe, Hypothesen● Praxisteil – was passiert im Projekt, Anwendung der Theorie● Teilnahme – Diskussion und Beantworten der Fragen, Erfahrungsberichte

Page 10: Softwarequalität - Einführung in eine neue Vorlesung

10

Nach der Vorlesung...

...ist jeder verpflichtet seinen ROTI anzugeben!

Page 11: Softwarequalität - Einführung in eine neue Vorlesung

11

Und das Projekt sowie die Prüfung?

● Finden statt● Projekt

● Jeder verfasst ein Paper.

● Zur Form:

● 8-12 Seiten A4

● Arial, Schriftgröße 11

● 1,5-zeilig

● Zum Inhalt:

● Aus der Vorlesung werden zwei Aspekte von Softwarequalität ausgewählt

● Aus seinem reichhaltigen Erfahrungsschatz wählt jeder ein Projekt

● Das Projekt wird unter diesen beiden Aspekten reflektiert

● Was lief gut? Was lief schlecht?

● Was würde man nach der Vorlesung anders machen?

● Prüfung: mündlich

Page 12: Softwarequalität - Einführung in eine neue Vorlesung

12

Und die Inhalte?

Page 13: Softwarequalität - Einführung in eine neue Vorlesung

13

Softwarequalität aus unterschiedlichen Perspektiven

● Die Macht der Zahlen: Source Code Metriken

● Die falsch verstandene Methode: Testen wird überbewertet

● Qualitätsaspekte im Requirements Engineering

● Denn sie wissen nicht was sie tun: Modellierung

● Wir bauen auf, wir reißen nieder: Architektur und Qualität

● Retrospektiven: Auf dem besten Weg bleiben

Page 14: Softwarequalität - Einführung in eine neue Vorlesung

14

Einführung und Grundlagen

Page 15: Softwarequalität - Einführung in eine neue Vorlesung

15

Regelfall ???

Page 16: Softwarequalität - Einführung in eine neue Vorlesung

16

Qualität

● Was ist das ?

● Wer spielt mit ?

Page 17: Softwarequalität - Einführung in eine neue Vorlesung

17

Softwarequalität – was ist das?

● Qualität entsteht nicht von selbst.● Qualität bezieht sich auf Produkte und Prozesse und Projekte.

● Qualität muss definiert werden. ● Qualität muss konstruiert werden.

● Versuch einer Definition (nach [Wallmüller])

ist die Summe aller relevanten Eigenschaften eines Software-Produkts, mit denen seine Kunden zufriedengestellt werden, und die Summe der dazu notwendigen Eigenschaften von Software-Prozessen wie z. B. erreichte Reifegrade, die zur Erstellung, zum Betrieb und zur Pflege gefordert werden.

Page 18: Softwarequalität - Einführung in eine neue Vorlesung

18

Softwarequalität – was ist das?

● Definition (ISO 9126)

ist die Gesamtheit von Funktionen und Merkmalen eines Software-Produkts, das die Fähigkeit besitzt, angegebene oder implizierte Bedürfnisse zu befriedigen.

● Was fehlt für eine praktische Verwendung?● Merkmale

● Aber was sind nun wieder Merkmale?● Hier kann wieder ISO 9126 helfen

● Unterscheide funktionale und nicht-funktionale Anforderungen

Page 19: Softwarequalität - Einführung in eine neue Vorlesung

19

ISO/IEC 9126 bzw. ISO/IEC 25000

● Eine Norm, die eins (von vielen) Modellen ist, dass Produktqualität und Qualitätsmerkmale beschreibt

● DIN ISO/IEC 25000 Software-Engineering – Qualitätskriterien und Bewertung von Softwareprodukten (SQuaRE) – Leitfaden für SquaRE

http://www.ehealthkarriere.de/tag/iso-9126

Page 20: Softwarequalität - Einführung in eine neue Vorlesung

20

Qualitätsbegriff aus verschiedenen Sichten

● Produkt● Qualität ist präzise messbar

● Anwender● Qualität wird vom Anwender festgelegt

● Prozess (bzw. Hersteller)● Qualität im Entwicklungs-/Herstellungsprozess durch Kontrolle, Audits, Inspektionen

● Preis/Nutzen● Verhältnis von Kosten, Nutzen und Qualität

Page 21: Softwarequalität - Einführung in eine neue Vorlesung

21

Wechselwirkungen der Qualitätssichten

[Wallmüller, Software Quality Engineering, Hanser-Verlag, 2011, S. 13]

Page 22: Softwarequalität - Einführung in eine neue Vorlesung

22

Software-Entwicklung

Softwarequalität

Modellierung

Anforderungen

Design

Implementierung

Testen

Konfigurieren

Page 23: Softwarequalität - Einführung in eine neue Vorlesung

23

Prozessmodelle – nur ein paar

[Wallmüller, Software Quality Engineering, Hanser-Verlag, 2011, S. 30]

Page 24: Softwarequalität - Einführung in eine neue Vorlesung

24

Qualitätsmanagement

● Qualitätsplanung● Festlegen der Ziele, Prozesse und der notwendigen Ressourcen

● Qualitätslenkung● Erfüllen der Qualitätsanforderungen

● Präventiv

● Konstruktiv

● analytisch

● Qualitätssicherung● Prüfung des QM

● Dokumentation

● Zertifizierung

● Nachweis von Verbesserungsprogrammen inkl. Nachverfolgung

● Qualitätsverbesserung

Page 25: Softwarequalität - Einführung in eine neue Vorlesung

25

Qualitätsprobleme - Architektur

"Hauptsache billig"

E.Rauschenbach

Deutscher Karikaturpreis 2003

Page 26: Softwarequalität - Einführung in eine neue Vorlesung

26

Qualitätsprobleme – Ist vs Soll

Anforderungendes

Kunden

ImplementierteFunktionalität

Page 27: Softwarequalität - Einführung in eine neue Vorlesung

27

Softwarequalität in der Praxis

Page 28: Softwarequalität - Einführung in eine neue Vorlesung

28

Thesen von Praktikern

● Qualität kommt von Quälen● Qualität wird nicht gesichert, Qualität wird produziert● Qualität ist nicht verhandelbar● Qualität ist ein Prozess● Wer 80% anstrebt, bekommt auch nur 80% dieser 80% (das sind dann 64% ;-)● Die Kosten für Qualität sind konstant,

die Kosten für fehlende Qualität wachsen exponentiell● Was an Qualität gespart wird, muss an Zeit investiert werden● Man kann Qualität nicht in Software hineintesten

Page 29: Softwarequalität - Einführung in eine neue Vorlesung

29

Thesen von Praktikern

● Qualität kommt von Quälen● Qualität wird nicht gesichert, Qualität wird produziert● Qualität ist nicht verhandelbar● Qualität ist ein Prozess● Wer 80% anstrebt, bekommt auch nur 80% dieser 80% (das sind dann 64% ;-)● Die Kosten für Qualität sind konstant,

die Kosten für fehlende Qualität wachsen exponentiell● Was an Qualität gespart wird, muss an Zeit investiert werden● Man kann Qualität nicht in Software hineintesten

Page 30: Softwarequalität - Einführung in eine neue Vorlesung

30

Zwei Geschichten aus dem wahren Leben

● Die unerträgliche Leichtigkeit des Seins: 100% API-Dokumentation

● Der Scrum-Dopplereffekt: Test Driven Sprint Planning

Page 31: Softwarequalität - Einführung in eine neue Vorlesung

31

Das magische Dreieck

● Klassisches Projektmanagement definiert den Umfang von Projekten als konstant

● Zeit, Kosten, Qualität sind verhandelbar● Auf Softwareprojekte praktisch nicht

anwendbar● Reduktion der Qualität führt immer zu

einer Erhöhung der Kosten und Zeit

● Umfang sollte verhandelbar sein● Qualität ist die einzige echte Konstante

Quelle: http://it-wissenschaft.de/333/magisches-dreieck-kosten-zeit-oder-qualitat/

Page 32: Softwarequalität - Einführung in eine neue Vorlesung

32

Wissen ist die einzige Ressource,die sich vermehrt, wenn man sie teilt.

Page 33: Softwarequalität - Einführung in eine neue Vorlesung

33

Schneller Wissensaufbau in Teams

● Aufteilen der Artikel ● Jedes Teammitglied bearbeitet einen Artikel

● Pro Artikel wird eine Zusammenfassung erstellt (s.u.)

● Die Zusammenfassung wird im Team besprochen und Fragen geklärt

● Anschließend kann jedes Teammitglied anhand der Zusammenfassung durch den Artikel navigieren und Details nachlesen

● Bearbeiten eines Artikels● Artikel durchblättern und alle Überschriften in eine Mindmap packen

● Jeden Abschnitt durchlesen und Fakten extrahieren

● Worum geht es? Was wird erklärt? Warum ist das wichtig?

● Erkenntnisse unter der jeweiligen Überschrift in die Mindmap stecken

● Die Mindmap mit Verweisen ergänzen, wo es notwendig erscheint

● Grafiken und Diagramme vor dem Team komplett entwickeln

Page 34: Softwarequalität - Einführung in eine neue Vorlesung

34

Verwendung dieser Unterlagen

● Wir stellen diese Unterlagen unter der Creative Commons Lizenz CC-BY-NC-SA zur allen am Thema Interessierten Verfügung.

● Es ist erlaubt, die Unterlagen unter gleichen Bedingungen zu● kopieren

● verteilen

● übertragen und

● adaptieren, wenn

● die ursprünglichen Autoren genannt werden und● die Verwendung nicht zu kommerziellen Zwecken stattfindet.

● Details zur Lizenz sind hier zu finden:http://creativecommons.org/licenses/by-nc-sa/3.0/