header-image

Software Engineering

Arbeitsbereiche Peterjohann Consulting, (C) Peterjohann Consulting, 2005-2017

Obwohl ich nicht in der unmittelbaren Erstellung von Software (Programmierung) tätig bin, so habe ich dennoch großes Know-how rund um die Entwicklung von Softwaresystemen, insbesondere was den konkreten Einsatz von Vorgehensmodellen oder dem Einsatz von System-Modellierungen (beispielsweise mit der BPMN oder der UML) anbetrifft.


1. Basisdefinitionen

Hier werden zunächst einige Definitionen zur Softwareentwicklung vorgestellt. Der Begriff Softwareentwicklung wird zumeist durch den (übergeordneten) Begriff Softwaretechnik ersetzt, da die Softwareentwicklung (zunächst) keine (systematische) Vorgehensweise vorgibt.

1.1 Softwaretechnik

  • „Die Softwaretechnik beschäftigt sich mit der zielorientierten Bereitstellung und systematischen Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresystemen.“ /Balzert08/

Die Softwaretechnik umfasst eine große Anzahl von Teilgebieten (auch aus anderen Disziplinen), die auf dieser Website vorgestellt werden, wie das Geschäftsprozessmanagement, das Projektmanagement oder auch das Requirements Engineering.


2. Vorgehensmodelle

Vorgehensmodelle definieren die Herangehens- und Bearbeitungsweise an ein Problem (zur Erstellung eines Softwaresystems). Je nach Größe oder Schwierigkeitsgrad werden bei der Softwaretechnik unterschiedliche Vorgehensmodelle verwendet – folgende Software-Vorgehensmodelle sind in der Praxis zu finden:

  • das Wasserfallmodell
  • das V-Modell (in der neuesten Fassung XT)
  • inkrementelle Modelle
  • iterative Modelle (wie RUP)
  • evolutionäre Modelle
  • Modelle unter Einsatz agiler Methoden

In der konkreten Umsetzung finden Sie dann wiederum Mischformen aus den Vorgehensmodellen, angereichert mit Spezialmerkmalen und oftmals wiederum mit eigenen Begrifflichkeiten versehen (aspektorientiert, OO-Modelle).

Welche Vorgehensmodell ist nun am besten einzusetzen? Diese Frage kann nur bei der Betrachtung der Aufgabenstellung beantwortet werden. Während bei großen komplexen Systemen ohnehin umfangreich dokumentiert werden muss, ist eine Steuerung über die Dokumente sinnvoll – hier bieten sich dann das Wasserfall (rein sequentiell) oder das V-Modell (sequentiell mit Inkrementen) an.

Charakterisierung von Vorgehensmodellen, (C) Peterjohann Consulting, 2006-2017

Abbildung 2.1: Eine Charakterisierung der Vorgehensmodelle nach /Ebert14/


4. Grafiken zur Softwaretechnik

Einige Grafiken zur Softwaretechnik – Zur Großdarstellung bitte auf die jeweilige Abbildung klicken.

Zeit und Tätigkeiten bei den Vorgehensmodellen, (C) Peterjohann Consulting, 2006-2017 Von der Analyse zum Betrieb, (C) Peterjohann Consulting, 2006-2017 Vom Geschäftsprozess zum Softwaresystem, (C) Peterjohann Consulting, 2006-2017

Abb. 4.1: Zeit und Tätigkeiten bei Vorgehensmodellen

Abb. 4.2: Von der Analyse zum Betrieb

Abb. 4.3: Das Wasserfallmodell

Das Teufelsquadrat nach Sneed, (C) Peterjohann Consulting, 2006-2017 Grad der Formalisierung bei Vorgehensmodellen, (C) Peterjohann Consulting, 2006-2017

Abb. 4.4: Das Teufelsquadrat nach Sneed

Abb. 4.5: Grad der Formalisierung bei Vorgehensmodellen


A. Ressourcen

A.1 Meine öffentliche SE-Präsentation

InhaltVersionStandSeitenGrößeTyp
Software & Requirements Engineering: Spezifikationen – Eine Anleitung update1.5012/2016440,4 MB pdf (pdf)

A.2 Literatur

Alle Bücher zur Softwareentwicklung aufzuführen würden zu einer sehr langen Liste führen; daher werden hier nur einige „Standardwerke“ genannt.

  1. /Balzert08/ Helmut Balzert: Lehrbuch der Softwaretechnik: Softwaremanagement, Spektrum Akademischer Verlag, Heidelberg 2. Auflage 2008, ISBN 978-3-8274-1161-7
  2. /Balzert09/ Helmut Balzert: Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering, Spektrum Akademischer Verlag, Heidelberg 3. Auflage 2009, ISBN 978-3-8274-1705-3
  3. /Balzert11/ Helmut Balzert: Lehrbuch der Softwaretechnik: Entwurf, Implementierung, Installation und Betrieb, Spektrum Akademischer Verlag, Heidelberg 3. Auflage 2011, ISBN 978-3-8274-1706-0
  4. /Moore06/ James W. Moore: The Road Map to Software Engineering: A Standards-Based Guide, John Wiley, Hoboken, New Jersey 2006, ISBN 978-0-471-68362-9
  5. /Ludewig13/ Jochen Ludewig, Horst Lichter: Software Engineering. Grundlagen, Menschen, Prozesse, Techniken, dpunkt, Heidelberg 3. Auflage 2013, ISBN 978-3-864-90092-1
  6. /Oester12/ Bernd Oestereich: Analyse und Design mit UML 2.5, Oldenbourg, München 10. Auflage 2012, ISBN 978-3-486-71667-2
  7. /Rupp12/ Chris Rupp: UML 2 glasklar: Praxiswissen für die UML-Modellierung, Hanser, München 4. Auflage 2012, ISBN 978-3-446-43057-0<
  8. /Sommer10/ Ian Sommerville: Software Engineering, Prentice Hall, New Jersey 9th Edition 2010, ISBN 978-0-13-705346-9
  9. /Sommer12/ Ian Sommerville: Software Engineering, Pearson Studium, München 9. Auflage 2012, ISBN 978-3-86894-099-2
  10. /SWEBOK14/ Pierre Bourque, Richard E. Fairley: Guide to the Software Engineering Body of Knowledge, IEEE Computer Society Press, Los Alamitos, California 3rd Edition 2014, ISBN 978-0-7695-2330-9
  11. /Winter05/ Mario Winter: Methodische objektorientierte Softwareentwicklung: Eine Integration klassischer und moderner Entwicklungskonzepte, dpunkt, Heidelberg 2005, ISBN 978-3-89864-273-6

A.2.1 Literatur zum Schätzen und Messen von Software(projekten)

Nachdem das Schätzen und Messen in den 80er Jahren nicht die erhofften Erfolge brachte, erlebt dieses Gebiet seit einigen Jahren wieder eine Renaissance. Hier sind daher einige Bücher aufgeführt.

  1. /Bundschuh04/ Manfred Bundschuh, Axel Fabry: Aufwandschätzung von IT-Projekten, mitp, Bonn 2. Auflage 2004, ISBN 978-3-8266-0864-3
  2. /Bundschuh08/ Manfred Bundschuh, Carol Dekkers: The IT Measurement Compendium: Estimating and Benchmarking Success with Functional Size Measurement, Springer, Heidelberg 2008, ISBN 978-3-540-68187-8
  3. /Cohn05/ Mike Cohn: Agile Estimating and Planning, Prentice Hall International, Upper Saddle River, New Jersey 2005, ISBN 978-0-13-147941-8
  4. /deMarco04/ Tom DeMarco: Was man nicht messen kann … kann man nicht kontrollieren, mitp, Bonn 2004, ISBN 978-3-8266-1488-0
  5. /Ebert04/ Christof Ebert, Reiner Dumke, Manfred Bundschuh, Andreas Schmietendorf: Best Practices in Software Measurement: How to Use Metrics to Improve Project and Process Performance, Springer, Heidelberg 2004, ISBN 978-3-540-20867-9
  6. /Ebert07/ Christof Ebert, Reiner Dumke: Software Measurement: Establish, Extract, Evaluate, Execute, Springer, Berlin 2007, ISBN 978-3-540-71648-8
  7. /Hummel11/ Oliver Hummel: Aufwandsschätzungen in der Software- und Systementwicklung kompakt, Spektrum Akademischer Verlag, Heidelberg 2011, ISBN 978-3-8274-2751-9
  8. /Hürten04/ Robert Hürten: Function-Point Analysis – Theorie und Praxis. Die Grundlage für modernes Softwaremanagement, Expert Verlag, Renningen 2004, ISBN 978-3-8169-2398-5
  9. /McConnell06/ Steve McConnell: Aufwandschätzung bei Softwareprojekten, Microsoft Press, München 2006, ISBN 978-3-86645-612-9
  10. /Parthas07/ M. A. Parthasarathy: Practical Software Estimation. Function Point Methods for Insourced and Outsourced Projects, Addison-Wesley Longman, Boston, Massachusetts 2007, ISBN 978-0-321-43910-9
  11. /Plewan11/ Hans-Jürgen Plewan, Benjamin Poensgen: Produktive Softwareentwicklung: Bewertung und Verbesserung von Produktivität und Qualität in der Praxis, dpunkt, Heidelberg 2011, ISBN 978-3-89864-686-4
  12. /Poensgen12/ Benjamin Poensgen: Die Function-Point-Analyse. Ein Praxishandbuch, dpunkt, Heidelberg 2. Auflage 2012, ISBN 978-3-89864-762-5

A.2.2 Literatur zum Testen von Software(projekten)

Dem Testen kommt in der Softwareentwicklung eine enorme Bedeutung zu. Aus der Vielzahl der Bücher zu diesem Gebiet hier eine Auswahl.

  1. /Bath14a/ Graham Bath, Judy McKay: The Software Test Engineer’s Handbook: A Study Guide for the ISTQB Test Analyst and Technical Test Analyst Advanced Level Certificates 2012, Rocky Nook, Santa Barbara, California 2nd edition 2014, ISBN 978-1-937538-44-6
  2. /Bath14b/ Graham Bath, Erik Van Veenendaal: Improving the Test Process: Implementing Improvement and Change – A Study Guide for the ISTQB Expert Level Module, Rocky Nook, Santa Barbara, California 2014, ISBN 978-1-933952-82-6
  3. /Bath15/ Graham Bath, Judy McKay: Praxiswissen Softwaretest – Test Analyst und Technical Test Analyst: Aus- und Weiterbildung zum Certified Tester – Advanced Level nach ISTQB-Standard, dpunkt, Heidelberg 3. Auflage 2015, ISBN 978-3-86490-137-9 [Rf]
  4. /Baumgart13/ Manfred Baumgartner, Martin Klonk, Helmut Pichler, Richard Seidl, Siegfried Tanczos: Agile Testing: Der agile Weg zur Qualität, Hanser, München 2013, ISBN 978-3-446-43194-2
  5. /Black08/ Rex Black: Advanced Software Testing – Vol. 1: Guide to the ISTQB Advanced Certification as an Advanced Test Analyst, Rocky Nook, Santa Barbara, California 2008, ISBN 978-1-933952-19-2
  6. /Black09/ Rex Black: Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing, John Wiley & Sons, Hoboken, New Jersey 3rd Edition 2009, ISBN 978-0-470-40415-7
  7. /Black09/ Rex Black, Eric van Vennendal, Dorothy Graham: Foundations of Software Testing: ISTQB Certification, Cengage Learning EMEA, Andover, Great Britain, 3rd Edition 2012, ISBN 978-1-4080-4405-6
  8. /Black14/ Rex Black: Advanced Software Testing – Vol. 2: Guide to the ISTQB Advanced Certification as an Advanced Test Manager, Rocky Nook, Santa Barbara, California 2nd Edition 2014, ISBN 978-1-937538-50-7
  9. /Black15a/ Rex Black, Jamie L. Mitchell: Advanced Software Testing – Vol. 3: Guide to the ISTQB Advanced Certification as an Advanced Technical Test Analyst, Rocky Nook, Santa Barbara, California 2nd Edition 2015, ISBN 978-1-937538-64-4
  10. /Black15b/ Rex Black, Debra Friedenberg: The Expert Test Manager: Guide to the ISTQB Expert Level Certification, Rocky Nook, Santa Barbara, California 2015, ISBN 978-1-933952-94-9 (erscheint im Oktober 2015)
  11. /Bucsics15/ Thomas Bucsics, Manfred Baumgartner, Richard Seidl, Stefan Gwihs: Basiswissen Testautomatisierung: Konzepte, Methoden und Techniken, dpunkt, Heidelberg 2. Auflage 2015, ISBN 978-3-86490-194-2
  12. /Crispin08/ Lisa Crispin, Janet Gregory: Agile Testing: A Practical Guide for Testers and Agile Teams, Addison-Wesley Longman, Amsterdam 2008, ISBN 978-0-321-53446-4
  13. /Crispin14/ Lisa Crispin, Janet Gregory: More Agile Testing: Learning Journeys for the Whole Team, Addison-Wesley Longman, Amsterdam 2014, ISBN 978-0-321-96705-3
  14. /Gärtner13/ Markus Gärtner: ATDD in der Praxis: Eine praktische Einführung in die Akzeptanztest-getriebene Softwareentwicklung mit Cucumber, Selenium und FitNesse, dpunkt, Heidelberg 2013, ISBN 978-3-86490-046-4 [Rf]
  15. /Grün13/ Stephan Grünfelder: Software-Test für Embedded Systems: Ein Praxishandbuch für Entwickler, Tester und technische Projektleiter, dpunkt, Heidelberg 2013, 978-3-89864-799-1 [Rf]
  16. /Hellerer12/ Heinz Hellerer: Soft Skills für Softwaretester und Testmanager: Kommunikation im Team, Teamführung, Stress- und Konfliktmanagement, dpunkt, Heidelberg 2012, ISBN 978-3-89864-831-8 [Rf]
  17. /Hendrick14/ Elisabeth Hendrickson: Explore It!: Wie Softwareentwickler und Tester mit explorativem Testen Risiken reduzieren und Fehler aufdecken, dpunkt, Heidelberg 2014, ISBN 978-3-86490-093-8 [Rf]
  18. /Langr14/ Jeff Langr: Testgetriebene Entwicklung mit C++: Sauberer Code. Bessere Produkte., dpunkt, Heidelberg 2014, ISBN 978-3-86490-189-8 [Rf]
  19. /Langr15/ Jeff Langr, Andy Hunt, Dave Thomas: Pragmatic Unit Testing in Java 8 with Junit, Pragmatic Programmers, Raleigh, North Carolina 2015, ISBN 978-1-941222-59-1
  20. /Ligges09/ Peter Liggesmeyer: Software-Qualität: Testen, Analysieren und Verifizieren von Software, Spektrum Akademischer Verlag, Heidelberg 2. Auflage 2009, ISBN 978-3-8274-2056-5
  21. /Linz13/ Tilo Linz: Testen in Scrum-Projekten: Leitfaden für Softwarequalität in der agilen Welt, dpunkt, Heidelberg 2013, ISBN 978-3-89864-799-1 [Rf]
  22. /Linz14/ Tilo Linz: Testing in Scrum: A Guide for Software Quality Assurance in the Agile World, Rocky Nook, Santa Barbara, California 2014, ISBN 978-1-937538-39-2
  23. /Roßner10/ Thomas Roßner, Christian Brandes, Helmut Götz, Mario Winter: Basiswissen Modellbasierter Test, dpunkt, Heidelberg 2010, ISBN 978-3-89864-589-8 [Rf]
  24. /Sneed11/ Harry M. Sneed, Manfred Baumgartner, Richard Seidl: Der Systemtest: Von den Anforderungen zum Qualitätsnachweis, Hanser, München 3. Auflage 2011, ISBN 978-3-446-42692-4
  25. /Spillner12/ Andreas Spillner, Tilo Linz: Basiswissen Softwaretest: Aus- und Weiterbildung zum Certified Tester – Foundation Level nach ISTQB-Standard, dpunkt, Heidelberg 5. Auflage 2012, ISBN 978-3-86490-024-2 [Rf]
  26. /Spillner14a/ Andreas Spillner, Thomas Roßner, Mario Winter, Tilo Linz: Praxiswissen Softwaretest – Testmanagement, Aus- und Weiterbildung zum Certified Tester – Advanced Level nach ISTQB-Standard, dpunkt, Heidelberg 4. Auflage 2014, ISBN 978-3-86490-052-5 [Rf]
  27. /Spillner14b/ Andreas Spillner, Thomas Roßner, Hans Schäfer: Software Testing Foundations: A Study Guide for the Certified Tester Exam, Rocky Nook, Santa Barbara, California 4th Edition 2014, ISBN 978-1-937538-42-2
  28. /Stauffer13/ Herbert Stauffer, Beat Honegger, Hanspeter Gisin: Testen von Data-Warehouse- und Business-Intelligence-Systemen: Vorgehen, Methoden und Konzepte, dpunkt, Heidelberg 2013, ISBN 978-3-86490-072-3 [Rf]
  29. /Thaller02/ Georg Erwin Thaller: Software-Test: Verifikation und Validation, Heise, Hannover 2. Auflage 2002, ISBN 978-3-88229-198-8
  30. /Vigen10/ Uwe Vigenschow: Testen von Software und Embedded Systems: Professionelles Vorgehen mit modellbasierten und objektorientierten Ansätzen, dpunkt, Heidelberg 2. Auflage 2010, ISBN 978-3-89864-638-3
  31. /Wall14/ Ernest Wallmüller: Risikomanagement für IT- und Software-Projekte: Ein Leitfaden für die Umsetzung in der Praxis, Hanser, München 2. Auflage 2014, ISBN 978-3-446-43477-6
  32. /Winter12/ Mario Winter, Mohsen Ekssir-Monfared, Harry M. Sneed, Richard Seidl, Lars Borner: Der Integrationstest: Von Entwurf und Architektur zur Komponenten- und Systemintegration, Hanser, München 2012, ISBN 978-3-446-42564-4

Anmerkung:
Wenn [Rf] hinter der ISBM steht, ist das Buch bei Readfy (siehe Leselisten weiter unten) verfügbar.


A.3 Weblinks

Folgende Weblinks liefern weitere hilfreiche Informationen zum Software Engineering:

Legende zu den Weblinks
/ / Verweis auf eine Website (generell)
/*/ Verweis auf eine Website, die als Buch-Ergänzung dient
/#/ Verweis auf einzelnes Thema auf einer Website
/#V/ Verweis auf ein Video auf einer Website