Grundlagen des Software-Engineerings: Methoden und Modelle

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,14 KB

Grundlagen des Software-Engineerings

  • Software: Die Menge von Programmen, Verfahren, Regeln, Dokumentationen und zugehörigen Daten im Rahmen eines EDV-Systems.
  • Software-Engineering: Die Anwendung eines systematischen, disziplinierten und quantifizierbaren Ansatzes für die Entwicklung, den Betrieb und die Wartung von Software sowie die Untersuchung solcher Ansätze.
  • System: Eine Reihe von Dingen, die zueinander in Beziehung stehen und gemeinsam auf ein bestimmtes Ziel hinarbeiten.
  • Modell: Eine Darstellung eines Systems mittels einer verständlichen Modellierungssprache.
  • Methodische Grundsätze: Axiome oder erworbenes Wissen, das die Merkmale definiert, die ein Modell für eine angemessene Systemdarstellung aufweisen muss.
  • Heuristik: Eine Reihe empirischer Regeln, um Modelle zu erstellen, die den methodischen Grundsätzen entsprechen.
  • Werkzeuge: Hilfsmittel zur Darstellung von Modellen, die eine automatische oder halbautomatische Unterstützung bei der Anwendung von Methoden bieten.
  • Methode: Eine Abfolge von Aktivitäten zur Erstellung eines Produkts (Modell), die beschreibt, wie Werkzeuge und Heuristiken einzusetzen sind.
  • Lebenszyklus: Die Menge der Phasen, Prozesse und Aktivitäten zur Ausführung der Software-Produktion.
  • Methodik: Eine Zusammenstellung von Philosophien, Phasen, Verfahren, Regeln, Techniken, Tools, Dokumentation und Schulungsfragen für Entwickler von IT-Systemen.

Software-Entwicklungsmodelle

  • Wasserfall-Modell: Jede Phase beginnt erst nach Abschluss der vorherigen Ziele. Dies hilft, Termine und Kosten zu planen. Nach jeder Phase erfolgt eine Prüfung.
  • Prototypen-Modell: Schnelles Design, das sich auf die für den Kunden sichtbaren Aspekte der Software konzentriert, um diese bewerten zu lassen.
  • Evolutionäres Modell: Kontinuierliche Weiterentwicklung der Software, bis das finale Produkt erreicht ist.
  • Inkrementelles Modell: Schrittweise Entwicklung der Software; der erste Anstieg entspricht oft dem Kernprodukt.

Wichtige Aspekte des Software-Engineerings

  1. Software-Prozessmodelle: Forschung und Anwendung von Lebenszyklen und Methoden.
  2. Systemanforderungen: Untersuchung der Integration in das Gesamtsystem zur Erreichung übergeordneter Ziele.
  3. Anforderungsspezifikation: Festlegung der Aufgaben und Anforderungen an das Produkt.
  4. Software-Design: Unterteilt in Architektur (Überblick) und Ausführungsplanung (modulare Spezifikation).
  5. Umsetzung: Entwicklung des Programmcodes und Erstellung persistenter Datenstrukturen.
  6. Verifikation und Validierung: Sicherstellung der Korrektheit und Übereinstimmung mit den Anforderungen.
  7. Wartung: Debugging, Verbesserung und Anpassung an Veränderungen.
  8. Management: Organisation, Implementierung und Kontrolle des Entwicklungsprozesses.
  9. Software-Bewertung: Festlegung von Metriken zur Bewertung der Qualität von Produkten und Prozessen.
  10. Qualitätssicherung: Transversale Kontrolle und Verbesserung über alle Aktivitäten hinweg.

Software-Lebenszyklus

Die wichtigsten Funktionen eines Lebenszyklus sind die Bestimmung der Phasenreihenfolge sowie die Festlegung von Übergangskriterien zwischen den Phasen.

Vorteile

  • Leitfaden für die Personalentwicklung und Aufgabenverteilung.
  • Systematische Entwicklung ermöglicht frühzeitige Fehlererkennung.
  • Kontrolle von Fristen und Kosten.
  • Standardisierte Dokumentation verbessert die Kommunikation.
  • Minimierung von Nachbesserungen.

Software-Methodologien

Methoden definieren den Rahmen für die Software-Entwicklung basierend auf einem oder mehreren Lebenszyklen.

  • Konventionelle Methode (1950–1970): Projektmanagement ohne klare Kostenkontrolle oder Vorhersehbarkeit.
  • Strukturierte Methodik (ab 1970): Systematische Entwicklung basierend auf traditionellen Ingenieursmethoden.
  • Objektorientierte Methodik (ab 1985): Fokus auf das Paradigma der Objekte bei Techniken und Werkzeugen.
  • Komponentenorientierte Methodik (ab 2000): Basiert auf dem Konzept der wiederverwendbaren Komponenten.

Ziele und Eigenschaften von Software-Methoden

Methoden dienen dazu, einen systematischen Ansatz zu bieten, Informationssysteme kosteneffizient zu erstellen und Änderungen im Prozess zu unterstützen.

Wünschenswerte Eigenschaften

  • Vordefinierte Vorschriften und flächendeckende Zyklen.
  • Zwischenprüfungen und effektive Kommunikation.
  • Unterstützung für Management, Wiederverwendung und Schulung.
  • Anpassbarkeit an verschiedene Projektgrößen.

Verwandte Einträge: