Softwareentwicklung und Testprozess

Fakultät für Wirtschaftswissenschaften ARBEITSPLAN UND GROBKONZEPT Softwareentwicklung und Testprozess Modul: Formale Methoden (WS2011/2012) einge...
Author: Björn Albert
3 downloads 0 Views 140KB Size
Fakultät für Wirtschaftswissenschaften

ARBEITSPLAN UND GROBKONZEPT

Softwareentwicklung und Testprozess

Modul: Formale Methoden (WS2011/2012)

eingereicht von:

Thomas Hintze Fernstudiengang Master Wirtschaftsinformatik

Betreuer:

Prof. Dr. Jürgen Cleve

Rostock, den 10. September 2011

Inhalt 1

Einleitung ..........................................................................................................................3 1.1 Problemstellung .......................................................................................................................................3 1.2 Abgrenzung ..............................................................................................................................................4

2

Arbeitsplan ........................................................................................................................5

3

Grobkonzept .....................................................................................................................6

4

Literatur ............................................................................................................................7

-2-

1 Einleitung Softwarefehler sind allgegenwärtig. Zu bedeutsamen, öffentlich gewordenen Fehlern zählen beispielhaft das Jahr-2010-Problem der Banken und Sparkassen 1, Fehler in der Patriot Luftabwehr2 während des ersten Golfkrieges, Fehler im Abfertigungssystem der Lufthansa 3 oder auch ein mehrstündiger Ausfall des gesamten Handels an der Tokioter Börse 4. Durch systematische Softwaretests vor Inbetriebnahme der Systeme hätte vielleicht der eine oder der andere Fehler verhindert werden können. Selbst das Entwickeln kleiner isolierter Softwareprogramme oder -module wird von Programmierern heutzutage kaum ohne zeitnahe Tests erledigt. Das hier zumeist vorherrschende „Trial and Error“-Prinzip5 kann bei überschaubarer Komplexität zu durchaus akzeptablen Ergebnissen führen. Sollen jedoch umfangreiche Softwaresysteme industriell entwickelt werden, kann sich das Austesten der Entwicklungsergebnisse ebenso aufwändig gestalten, wie die Entwicklung der Systeme selbst. Gerade dann, wenn mehrere Entwickler an einem Projekt beteiligt sind, ist neben der reinen Programmierungs- und Testarbeit noch eine beachtliche Anstrengung für die Koordination und Kommunikation6 der Entwicklungsprozesse und den nebenläufigen Testprozessen notwendig. Mit aktuellen Entwicklungssystemen und Softwaretools lassen sich Software-Infrastrukturen installieren, mit denen eine konfliktarme gemeinsame Arbeit am Softwareprojekt möglich ist. Hierbei helfen Versionsverwaltungssysteme und Build-Automatisierung ebenso wie Testautomatisierung und Defektmanagement7 nicht nur die Produktivität der Softwareentwickler zu steigern. Sie sind auch dazu geeignet, der Projektleitung Status- und Statistikinformationen als Input für das projektbezogene Risikomanagement, für die weitere Projektplanung oder die Abrechnung zu liefern.

1.1 Problemstellung Vor allem große umfangreiche Softwaresysteme durchlaufen mit fortschreitender Zeit einzelne Lebenszyklen. Dabei müssen nach der initialen Erstellung geänderte Anforderungen implementiert werden, um das System weiterhin einsetzen und zweckorientiert nutzen zu können8. So entstehen während der Lebenszyklen des Softwaresystems verschiedene 1 2 3 4 5 6 7 8

20 Mio. EC-Karten mussten getauscht werden, weil der Jahreswechsel 2009/2010 nicht verarbeitet werden konnte. Es entstand ein Schaden in dreistelliger Millionenhöhe (SPIEGELONLINE 2010). Ein Softwarefehler in der Genauigkeit der Zielerfassung führte 1991 zu 28 Toten und mehr als 90 Verletzten (HOFFMANN 2008: 44). Nach dem Update des Abfertigungssystems USAS der Lufthansa im Jahre 2004 wurden aufgrund eines Softwarefehlers 60 Flüge gestrichen und 6000 Passagiere nicht befördert. Zudem fiel der gesamt CargoBereich aus. Betroffen waren insgesamt 46 verbundene Fluggesellschaften (WIWO 2004). Ende 2005 fiel an der Tokioter Börse wegen eines Softwarefehlers der Handel mehrstündig aus (FTD 2010). Trial and Error (deutsch: Versuch und Irrtum) als heuristische Methode zur Problemlösung ist gekennzeichnet durch Probieren. PEZZE und YOUNG sehen neben dem gestiegenen Koordinationsbedarf auch erhöhten Kommunikationsbedarf in der Qualitätssicherung, gerade dann, wenn Software im Team entwickelt und getestet wird. Dieser Mehraufwand kann durch ausgereifte Entwicklungsprozesse minimiert werden (PEZZE/YOUNG 2009: 451). Die Aufzählung basiert auf HOFFMANN 2008: 415-489. Dies ist schon allein aus Gründen des langfristigen Investitionsschutzes geboten (HEINRICH/LEHNER

-3-

Versionen, Varianten und sofern in anderen Softwaresystemen applikationsübergreifend integriert, auch Komponenten des ursprünglichen Systems, die als Produktdiversifizierungen 9 betrachtet werden können. Ziel dieser Arbeit ist es, eine Abhandlung zum Thema „Softwareentwicklung und Testprozess“ aus softwaretechnischer Sicht zu erstellen. Hierzu zählen Versionsverwaltung, Build-Automatisierung, Testautomatisierung und Defektmanagement. Dabei wird neben theoretischen Grundlagen ein reales Softwareentwicklungsprojekt10 eines 11 Großhandelsunternehmens beschrieben und aufgrund der Erkenntnisse dieser Arbeit bewertet.

1.2 Abgrenzung Die Aufgabenstellung ist inhaltlich an das Kapitel 8 des Buches „Software-Qualität“ von HOFFMANN12 angelehnt. Somit folgen die thematischen Abgrenzungen automatisch aus der zugrunde liegenden Basislektüre. Es werden hier weder Methoden der Softwareentwicklung noch des Testprozessmanagements behandelt.

2005: 240). Nach HOFFMANN ist Produktdiversifizierung bei Softwareprodukten das Ergebnis von aufeinanderfolgenden Entwicklungsphasen (HOFFMANN 2008: 415ff). 10 Das Entwicklungsprojekt läuft mittlerweile über mehrere Jahre und wird von zwei Großhandelsbetrieben kooperativ vorangetrieben. 11 Hierbei handelt es sich nicht um ein Informationstechnologieunternehmen. 12 HOFFMANN 2008: 415-489. 9

-4-

2 Arbeitsplan Diese Arbeit wird vom Verfasser allein angefertigt und präsentiert. Für die Literatursammlung wird vornehmlich Literatur aus dem Bereich Softwarequalität und Entwicklungstools verwendet.

Arbeitsphase

Aktivität

Dauer (in Tagen)

Vorlauf

Literaturrecherche

3

Sammeln und Querlesen zum Thema (Bücher, Zeitschriften, Internet)

Redaktion

Layout entwickeln

1

Formatvorlage OpenOffice Literaturverarbeitung

7

Lesen, Markieren, Literaturverzeichnis erstellen Recherche im Unternehmen

2

Untersuchung der Entwicklungstools Erstellen der Ausarbeitung

15

Einleitung Hauptteil Erstellung der Verzeichnisse kapitelweise Ausformulierung13 Ergebnisse und Diskussion

Abschluss

Erstellung der Präsentation

4

Schlusskontrolle

2

Abgabe von Arbeit und Präsentation

Die Abgabe der Arbeit und der Präsentation erfolgt als PDF. Zum Erstellen der Arbeit wird OpenOffice verwendet. Als Abgabetermin ist der 20. Oktober 2011 vorgesehen.

13 Die einzelnen Kapitel sind im Grobkonzept aufgeführt.

-5-

3 Grobkonzept Nach aktuellem Kenntnisstand erhält die Arbeit nachfolgende Gliederung. I

Abbildungsverzeichnis .......................................................................................................

II

Tabellenverzeichnis ............................................................................................................

III Abkürzungsverzeichnisverzeichnis ................................................................................... 1

Einleitung ............................................................................................................................ 1.1 Problemstellung ......................................................................................................................................... 1.2 Abgrenzung ................................................................................................................................................

2

Softwareentwicklung und Testprozess ............................................................................. 2.1 Software-Infrastruktur................................................................................................................................. Einordnung in den Gesamtprozess der Softwareentwicklung, allgemeine Werkzeuge in der Softwareentwicklung, Herausgreifen der nachfolgenden Werkzeuge, Beschreibung der einzelnen Konzepte, Vorteile, Nachteile, alternative Konzepte. 2.1.1 Versionsverwaltung............................................................................................................................ 2.1.2 Build-Automatisierung...................................................................................................................... 2.1.2 Testautomatisierung........................................................................................................................... 2.1.2 Defektmanagement............................................................................................................................ 2.2 Praxisbeispiel............................................................................................................................................... Einsatz ausgewählter Tools in einem realen Software-Projekt, spezifischer Lösungsansatz in der Team-Entwicklung über Unternehmensgrenzen hinweg. Kompensation fehlender Werkzeuge durch organisatorische Maßnahmen.

4

Resümee und Ausblick .......................................................................................................

5

Literatur ..............................................................................................................................

6

Ehrenwörtliche Erklärung ................................................................................................

7

Anhangsverzeichnis ............................................................................................................

-6-

4 Literatur Heinrich/Lehner (2005): Heinrich, Lutz J., Lehner, Franz, Informationsmanagement, 8. Auflage, Oldenbourg Wissenschaftsverlag, München Hoffmann (2008): Hoffmann, Dirk W., Software-Qualität, Springer-Verlag, Berlin Heidelberg Pezze/Young (2009): Pezze, Mauro, Young, Michael, Software testen und analysieren, Oldenbourg Wissenschaftsverlag, München

Internetquellen FTD (2010): Financial Times Deutschland, Chef der Tokioter Börse tritt zurück, http://www.ftd.de/karriere-management/management/:chef-der-tokioter-boerse-trittzurueck/35474.html, Abruf 09.09.2011 SpiegelOnline (2010): Klebefilm-Trick hebelt 2010-Fehler aus, http://www.spiegel.de/wirtschaft/soziales/0,1518,670433,00.html, Abruf 09.09.2011 wiwo (2004): Wirtschaftswoche, Panne setzt Lufthansa-Check-In für Stunden außer Gefecht, http://www.wiwo.de/unternehmen-maerkte/panne-setzt-lufthansa-check-in-fuer-stundenausser-gefecht-360458/, Abruf 09.09.2011

-7-