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

Softwarequalität - Einführung in eine neue Vorlesung

Jun 25, 2015

Download

Education

Gerrit Beine

Die Einführungsfolien zur Vorlesung Softwarequalität.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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/