© 2005 7 Todsünden der Softwareentwicklung Die 7 Todsünden der Softwareentwicklung.

Slides:



Advertisements
Ähnliche Präsentationen
Vom Anfänger zum Könner -
Advertisements

Architektur, Design oder Implementation? Ulrich Schulz, Sebastian Ordyniak.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Erfahrungen aus Tests komplexer Systeme
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
1 WS 2012 Software-Engineering II Aspektorientierung.
Forschungszentrum Informatik, Karlsruhe Objektorientierte Systeme unter der Lupe Markus Bauer Oliver Ciupke.
Prudence Aharimpisya.
frei und schuldig zugleich?
Klein-Peter und sein Geburtstagswunsch
Ein neues Element in der Stundentafel der künftigen gymnasialen Oberstufe Projektkurse für das Fach Kunst und Musik.
Bilder aus dem Internet 003 Datum und Uhrzeit aktuell :55 Weiter geht es mit :
Michael Lukas, Beate Wallner
Wahre Freunde sind alles im Leben! Atme dich durch diese Präsentation
Das ist ein Test von SONY´s neuer Technologie
德语初级2 Woche 2.
Ein Spanischlehrer erklärte seiner Klasse dass im Spanischen, anders als im Englischen, die Namen entweder männlich oder weiblich sind. "Haus" zum Beispiel,
Bitte mit Mausklick weiter
Hardware / Software Codesign Hardware versus Software.
Herzlich Willkommen! Name der Stadt Name des Schülers
Warum starb Jesus?.
Sandrine Ferrari Benjamin Bäni. CRYSTL-PIM (Product Information System) Ablauf Ausgangslage Ziele Lösungsansatz Komponenten Demonstration.
Jugendtag Schmalkalden
Kreativität statt Material? Eine kratzbürstige Einführung in die Tagungsthematik.
Liebe KollegInnen, Anbei finden Sie eine PowerPoint-Vorlage zur Erarbeitung eines kurzen Zwischenberichts Ihrer Gruppe für das nächste Treffen. Bitte befüllen.
God is love Gott ist Liebe von Lenny Kravitz.
WIR LÖSEN DAS PROBLEM FÜR SIE
Gefahren im Internet erkennen und vermeiden
Komplexitätsmanagment
Software Design Patterns
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Calendar+ makes things easier! calendar+ makes things easier!
Denke daran, eine Staubschicht schützt das Holz, das darunter liegt. Ein Haus wird erst ein Heim, wenn Du "Ich liebe Dich" auf die Möbel schreiben.
Todsünde = schwere Sünde
Kacper Gomoła Klasa 1e.  Mein name ist Kacper Gomoła. Ich habe dreizehn Jahre alt. Ich wohne in Gleiwitz. Ich gehe in die erste Klasse das Gymnasium.
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
Übungsart: Seite: Bearbeitet von: Siegbert Rudolph Lesemotivationstraining Titel: Quelle: Nächste Seite 1 Übungsart: Titel: Textquelle: Leseübungen: Da.
Bilder aus dem Internet (24) Gemacht von K.M 2010 Datum und Uhrzeit aktuell :55.
Automatisierung Lotta Winkler Seminar Ingenieurpsychologie Dr. Romy Müller TU Dresden
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Erfolgs-Tipps Meine 5 wichtigsten Erfolgstipps
WISSENSCHAFTLICHES PROJEKT Projekttitel Ihr Name | Name Ihres Lehrers| Ihre Schule.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Android Apps selbst gemacht
S A L I G Die Sieben „Todsünden“ Hochmut / Stolz Superbia
MEINE Selbsteinschätzung
Hallo, Kinder! Ich bin Sophia.
Siegbert Rudolph Persen
Wahre Freunde sind alles im Leben! Atme dich durch diese Präsentation
Web-Interface for Multi-FPGA Board Pamette
Na und Autoplay.
01 Plus im Zahlenbereich bis 9
MEINE Selbsteinschätzung
Titel des wissenschaftlichen Projekts
Was für Schwierigkeiten !!!
Lifecycle-Management von Websites
Supervision TA FG Zürich SV TA FG ZH,
Test.
Vorlesung Software Engineering I
13 Gedanken über das Leben
Professionelles IT-Wissen für dein Studium
Titel des Wissenschaftsprojekts
TITELFOLIE Name des Webinars kurze Begrüßung.
Wissenschaftliches Projekt
Danke! Gedanken zum Jahresschluss.
<Fügen Sie den Titel des Problems ein>
So einfach geht Smarthome
 Präsentation transkript:

© Todsünden der Softwareentwicklung Die 7 Todsünden der Softwareentwicklung

© Todsünden der Softwareentwicklung Die christlichen Todsünden Seite 2 ● Die christlichen 7 Todsünden gehen auf Evagrius Ponticus zurück ● Mönch im 4. Jahrhundert n. Chr. ● Ursprung 8 Dämonen: Völlerei, Unkeuschheit, Habsucht, Zorn, Trübsinn, Faulheit, Ruhmsucht, Stolz ● Ursprüngliche 8 Dämonen, von Papst Gregor im 6. Jahrhundert auf die mysthische Zahl 7 reduziert ● aus Trübsinn und Faulheit wurde Trägheit ● aus Ruhmsucht und Stolz wurde Hochmut ● Neid kam hinzu

© Todsünden der Softwareentwicklung Aufbau der Todsündenfolien Seite 3 ● Name der Todsünde ● Beschreibung in Stichworten mit Aussagebeispielen ● Resultierende Antipattern

© Todsünden der Softwareentwicklung Was sind Antipattern Seite 4 ● Antipattern sind Negativbeispiel in der Softwareentwicklung mit Lösungsanleitungen ● Das Gegenteil sind Pattern, also Lösungsansätze für Probleme ● Anitpattern müssen mindestens 3 mal beobachtet worden sein ● Anitpattern sind lehrreicher als Pattern ● Antipattern und Lösungen werden nicht besprochen, nur erwähnt

© Todsünden der Softwareentwicklung 1. Unangebrachte Hast Seite 5 ● Hastige Entscheidungen führen zu Fehlern ● Unrealistische Zeitvorgaben ● Qualität wird während der Projektlaufzeit immer schlechter ● Auf Tests wird verzichtet ● Fachwissen fehlt ● Entwurfskomplexität wird unterschätzt Antipattern ● Der Blob (The God Class) ● Stovepipesysteme

© Todsünden der Softwareentwicklung 2. Desinteresse Seite 6 ● Mangelnde Sorgfalt bei der Lösung von Problemen ● Teilnahmslosigkeit verhindert saubere Gliederung ● Schlechtes Schnittstellendesign ● „Wiederverwenden? Wer wird diesen verdammten Code jemals wiederverwenden?“ Antipattern ● Stovepipe Enterprise Systeme (Islands of Automation) ● Vendor Lock-In (Product-Dependent Architecture)

© Todsünden der Softwareentwicklung 3. Engstirnigkeit Seite 7 ● Verweigerung gegenüber Lösungen die sich als praktisch (Pattern) oder unpraktisch (Antipattern) erwiesen haben ● „Bei uns gibt es nichts zu konfigurieren. Das ist alles im Code“ ● „Unsere Datenbank ist unsere Architektur“ ● „Vielleicht hätten wir hierfür lieber Excel verwenden sollen“ Antipattern ● Golden Hammer (Head-in-the Sand) ● Stovepipe Enterprise (Islands of Automation)

© Todsünden der Softwareentwicklung 4. Faulheit Seite 8 ● Schlechte Entscheidungen auf einfache Fragen ● Schlampiges Schnittstellendesign ● Schlechte Dokumentation ● „Diese Klasse ist das Herzstück unserer Applikation“ Antipattern ● Cut-and-Paste Programmierung ● Lava Flow (Dead Code) ● Spaghetti Code

© Todsünden der Softwareentwicklung 5. Geiz Seite 9 ● Mangelnde Abstraktion führt zu ausufernder Komplexität Dies führt zu: ● hohen Entwicklungskosten ● hohen Testkosten ● hohen Pflege- und Erweiterungskosten ● R&D Code in Produkt übernehmen Antipattern ● Lava Flow (Dead Code) ● Stovepipe-System

© Todsünden der Softwareentwicklung 6. Ignoranz Seite 10 ● Form intellektueller Faulheit ● „Ich bin nicht ganz sicher was diese Klasse macht, aber es ist sicher sehr wichtig.“ ● „Unser Problem ist einmalig“ ● „Ich habe wirklich nicht die Zeit das alles zu lesen. Schreiben sie mir eine Zusammenfassung. Vielleicht eine Seite.“ ● Ignoranten verhindern Veränderungen Antipattern ● Poltergeist ● Spaghetti Code ● Reinvent the Wheel (Greenfield System)

© Todsünden der Softwareentwicklung 7. Stolz Seite 11 ● Mangelhafte Unterstützung von Wiederverwendbarkeit ● „Das ist nicht von uns“ ● Einführung neuer Elemente obwohl System dies schon unterstützt. ● Wohlgemerkt, das eigene System! ● „Ich muss dabei mitmachen... (bin ich wichtig, yeah!)“ Antipattern ● Golden Hammer (Head-in-the Sand) ● Vendor Lock-In ● Design by Committee (Make everybody happy)

© Todsünden der Softwareentwicklung Quelle Seite 12 ● Brown, William J.; Malveau, Raphael C.; McCormick, Hays W. „Skip“ III; Mowbray, Thomas J., AntiPatterns: Entwurfs- fehler erkennen und vermeiden, mitp-Verlag, 2004 ● ISBN: ●

© Todsünden der Softwareentwicklung Seite 13 Fragen