Einführung und Grundlagen

Einführung

Besonderheiten der Softwareentwicklung

  • Unbegrenzte Möglichkeiten etwas umzusetzen
  • altert nicht
  • leicht zu ändern

Warum scheitern IT Projekte

  • System is ungeeignet
  • Anwender lehnen System ab
  • System ist unzureichend
  • Schlechte Kommunikation zwischen Auftraggeber und Entwickler
  • Unzureichend Mittel für das Erreichen der Ziele

Balance der Entwicklung

Es muss die Balance zwischen Qualität, Komplexität, Kosten und Entwicklungsdauer bestehen.

Aufgaben des Software Engineerings

Verbesserung der Kommunikation, Kosten und Qualität durch strukturierte

  • Vorgehensmodelle
  • Modellierung der Anforderungen
  • Designmethoden
  • Implementationsmethoden
  • Testmethoden

Grundbegriffe des Software Engineerings

Software

Menge von Programmen und Daten zusammen mit begleitenden Dokumenten

Eine Sammlung von Computerprogrammen, Prozeduren, Regeln, zugehörige Dokumentationen und Daten

Immateriell

Software und Umgebung

Software-Systeme
  • bestehen aus Systemkomponenten und Elementen
  • stellt die innere Sichtweise des Entwicklers dar
  • Software Produkt

betrachtet Software von außen aus, Benutzer

Wesentliche Aktivitäten in der Softwareentwicklung

  • Kosten/Nutzen Analyse
  • funktionale und nichtfunktionale Anforderungen festlegen
  • Bauen der SW
  • Verifizieren und Validieren
  • Mangement

Rollen und Beteiligte

  • Kunden: Vertreter der Anwender
  • Benutzer: Anwender, haben Wünsche und Vorstellungen der SW
  • Manager: vermittelt zwischen Kunden und Entwicklern, verantwortlich für Entscheidungen
  • Entwickler: Beteiligte der SE, in Rollen eingeteilt
    • Requierments Engineer
    • SW-Architekt
    • Programmierer
    • Tester

Prozess der Softwareentwicklung

  • ist in Phasen eingeteilt

    • Planung
    • Analyse und Anforderungsdefinition
    • Entwurf
    • Implementierung
    • Abnahme und Einführung
    • Betrieb und Wartung
  • eine Phase umfasst Menge von Aktivitäten und liefert Ergebnisse (Artefakte)

Software-Produkt

Gesamtheit der möglichen Arbeitsergebnisse

Software-Prozess

Für das Mangment eines SW-Projektes ein organisatorischer Rahmen - Prozessmodell

Prozessmodell

definiert welche Aktivitäten und Artefakte wann und wo benötigt werden

Software-Engineering - eine Bestandsaufnahme

Im Manifest „Strategische Bedeutung des Software Engineering“ heißt es: Software ist der fundamentale Werkstoff des Informationszeitalters. Innovative Produkte und Dienstleistungen sind ohne Software nicht mehr denkbar. Die Wettbewerbsfähigkeit der deutschen Wirtschaft hängt entscheidend von der Fähigkeit ab, Software-intensive Produkte und Dienstleistungen mit höchster Qualität zu erstellen… Software wird in der Zukunft integrierter – in vielen Fällen sogar dominierender – Teil großer komplexer Systeme sein. … Die erforderliche Integration … kann nur durch die frühzeitige Integration der Modellierungs-kompetenzen des Software Engineering in den Entwicklungsprozess beherrscht werden.

Erweiterung der Definition des Software Engineering

SE grenzt sich zu seinen Grundlagendisziplinen … dadurch ab, dass es sich vor allem auf Methoden konzentriert und dabei immer den Anspruch praktischer Anwendbarkeit vor Augen hat. Die Anwendungsfelder liegen hauptsächlich im Bau von Konsum- und Investitionsgütern … sowie der Unterstützung und Automatisierung von Unternehmensprozessen..

Diese Anwendungsfelder liefern vor allem fachliche Anforderungen für Software. Das Software Engineering stellt Methoden und Prozesse für die Erhebung der Anforderungen und deren technische Umsetzung bereit.

Last modified 2022.04.11