Bei PlusPedia sind Sie sicher – auch wenn Ihr Browser etwas anderes anzeigen sollte: Wir verarbeiten keine personenbezogenen Daten, erlauben umfassend anonyme Mitarbeit und erfüllen die Datenschutz-Grundverordnung (DSGVO) vollumfänglich. Es haftet der Vorsitzende des Trägervereins.
PlusPedia ist wieder da.
Wir haben auf die Neue Version 1.43.3 aktualisiert
Wir haben SSL aktiviert.
Bitte prüft die aktuellen Ereignisse: PlusPedia:Aktuelle_Ereignisse
ACHTUNG Passwort:
Bitte nutzt Euer PlusPedia-Passwort nur bei der PlusPedia.
Wenn Ihr Euer altes oder neues Passowrt woanders nutzt ändert es bitte DORT!
Tatsächlich ist es so, dass wir überall wo es sensibel ist immer unterschiedliche Passworte verwenden sollten!
Aus Gründen der Sicherheit (PlusPedia hatte bis 24.07.2025 kein SSL | https://)
Vorgehensmodell
Problem
Ein Problemfall
- Kunde stellt eine "Wunschliste"
- Chefentwickler verfasst ein mehr oder weniger technisches Konzept
- Entwickler setzen es rasch in Code um
- Ansprechende Schnittstellen werden gezeigt. Es gibt was greifbares
- Es stellen sich Unzulänglichkeiten des Konzepts
- Entwickler müssen vom Konzept abweichen
- Behelfsmaßnahmen sind nicht dokumentiert
- Kunde hat Konzept gesehen und erwartet es
- Software wird zu einem Flickwerk
- Niemand weiß wie und warum die Software funktioniert
- Durch Budget-Überschreigung droht das Prjoekt zu schietern
- Wartung und Umsetzung werden mehr und mehr zum Alptraum
"Big Ball of Mud" - Man steckt im Morast und kommt nicht raus.
Ziele
Konflikt
Bei der Softwareentwicklung gibt es das Spannungsdreieck
- Qualität
- Kosten
- Zeit
Alle Punkte können nicht perfekt erreicht werden sondern nur optimiert.
Projektmanagement-Aufgaben
- Problem- und Anforderungsanalyse
- Entwurf (Design)
- Implementierung
- Testen
- Installation und Betrieb in der Ablaufumgebung
- Leistungsbewertung (z.B. Leistungsbewertung)
- Validierung
- Weiterentwicklung (Evolution)
Modelle
Wasserfallmodel
Phasen
Durchführbarkeitsanalyse
- Was für ein Problem ist es
- Wie kann es durch Software und andere Maßnahmen gelöst werden
- Eine Studie kommt dabei raus.
- Kosten und Nutzen sind analysiert. Nun wird geklärt ob das Projekt weiterverfolgt wird.
Anforderungsanalyse
- Anforderungsanalyse
- Anforderungsspezifikation
- Die Anforderungsspezifikation wird üblicherweise vom Kunden bestellt und muss vom Softwarehaus geliefert werden und vom Kunden bezahlt werden.
Design
Teilweise werden 80% in Design gesetzt
- Welche Architektur und vorhandene Bibliotheken werden verwendet?
- Welche Schnittstellen werden benötigt
Implementierung
- Code schreiben
Testen
- Testen ist ein sehr essentieller Schritt
Abgabe
- Die Software wird ausgelifert
Vorteile / Nachteile
Vorteile:
- Meilensteine dokumentieren den Fortschritt des Projekts
- Gut Strukturierte Systeme können entwickelt werden
- Eignung für große Systeme mit langer Lebensdauer
Nachteile:
- Kunde kann erst sehr spät sehen was er bekommt
- Man kann schlecht Schritte zurückgehen (Meilensteine sind erledigt)
- Man kann nicht einfach Schritte zurückgehen; Der Kunde wird nicht miteinbezogen. (Wechselnde Kundenwünsche) Spezifikationsändeurngen mitten im Fertigungsprozess
Evolutionäres Modell
Von einem ersten Entwurf ausgehend
- Wird die Spezifikation und Realisierungen und Validierungen umgesetzt. Dies wird dauerhaft durchgeführt
- Die Zwischenrealisationen werden ausgegeben.
- Eine Finale Version ist ein Wunschdenken.
- Erforschendes Programmieren (exploratiory programming)
- Der Programmierer arbeitet mit dem Kunden zusammen, und dessen Anforderungen herauszufinden.
- Zu Beginn werden die verstanden Komponenten entwickelt und schrittweise um neue Komponentne und Funktionalitäten ergänzt
- Wegwerf-Programmeirung (throw-away-prototyping)
- Kunde wird ein mögliches Aussehen gezeigt und gegebenfalls verworfen und neu begonnen
- Rapid Prototyping - Es wird mit vielen Dummywerten gearbeitet
- Extremfall des Evolutionären Modells
Vorteile / Nachteile
- Effektiver als das Wasserfallmodel
- Systemspezifikation kann verstanden werden
- Findet Verwendung in kleinen Systemen mit kurzer Lebensdauer
- Entwicklungsprozess ist nicht sichtbar / planbar
- Entwickler sind nicht vertraut mit anderen Prototypen
Zusammenfassung
- Wasserfallmodell bei stabilen Anforderungen
- Evolutionäres MOdell bei stabile Anforderung / instabile Anforderungen
- Extrem Programming (Instablie Anforderungen - kleinere Projkete) - Fehler werden reduziert.