Kurs:Wirtschaftsinformatik SS09/SE1/Lernskript/Einleitung
Der Begriff Software-Engineering: Betrifft die Konstruktion von großen Programm-Systemen mit dem Fokus auf Komplexitätsbewältigung. Die regelmäßige Kooperation von Menschen ist ein weiterer integraler Bestandteil des SE. Einzuordnen ist SE in die praktische und angewand- te Informatik mit starkem Anwendungsbezug.
- Besonderheiten: Software ist ein immaterielles Gut, allgemein anerkannte und bewährte Abs-
traktionen und Visualisierungen existieren noch nicht (erster Ansatz: UML). Projektkosten be- stehen größtenteils aus Personalkosten, und die Qualität des Personals ist ein entscheidender Erfolgsfaktor.
- Benötigte Fähigkeiten eines Software Engineers: Kommunikation auf verschiedenen Abstrakti-
onsebenen mit Personen mit unterschiedlichen Zielsetzungen/Vorstellungen, Erstellung und Verwendung von Modellen und Methoden, Arbeitsplanung und -koordination
- Software bestimmt einen Großteil der Entwicklungskosten von Fahrzeugen und Steuergeräten,
90% aller Innovationen sind getrieben von Elektronik/Software Ø Innovationstreiber.
Entwicklung zum industriellen SE Bearbeiten
60er Jahre: Spezialrechner mit Spezialsoftware 70er Jahre: Mikroelektronik 80er Jahre: Software-Massenmarkt 90er Jahre: Komponenten-Markt, Migration 2000++: Individuell anpassbare Massenprodukte basierend auf einer einheitlichen Plattform
Was ist Software Engineering ? Bearbeiten
Konstruktion von großen Programm – Systemen Bearbeiten
Komplexitätsbewältigung Bearbeiten
Software wird immer weiter entwickelt (Wartung, Erweiterung) Bearbeiten
Kommunikation / Kooperation Bearbeiten
Software muss Benutzer unterstützen Bearbeiten
Fähigkeiten eines Software Engineers Bearbeiten
Programmiersprachen Bearbeiten
Programmierer ≠ Software Engineer Bearbeiten
Kommunikation auf unterschiedlichen Abstraktionsebenen (Mitarbeiter, Kunden) Bearbeiten
Erstellung von Modellen Bearbeiten
Verwenden von Methoden (Prinzipien) Bearbeiten
Arbeitsplanung und Koordination Bearbeiten
Phänomene beim Software Engineering Bearbeiten
- Phänomen 1: Qualität, Termin und Budget nicht gleichzeitig realisierbar, deshalb Konzentration
auf 2 Kriterien
- Phänomen 2: Je größer das Projekt, desto größer die Abbrecherquote
- Phänomen 3: gestiegene SW-Kosten, SW-Entwicklung und Instandhaltung machen heutzuta-
ge einen Großteil der Kosten gegenüber Hardware-Kosten aus
- Gründe für die Phänomene: Viele Missverständnisse, häufig Projekte in neuen Branchen, rela-
tiv neue Wissenschaft (ca. 30 Jahre) Ø aber SE gewinnt immer mehr an Bedeutung
Phänomene Ursachen Konsequenzen Bearbeiten
Phänomene | Ursachen | Konsequenzen |
Kosten- und Terminüberschreitungen | geringes Domänewissen (kein Wissen über den Bereich,für den SW produziert wird) | Software wird auch in nicht software – sensitiven
Projekten Erfolgsfaktor |
Bei Auslieferung: schlechte Qualität | Änderungen und Konflikte in Anforderungen | |
Keine Produktivitätskontrolle | Kommunikations- /Koordinationsstörungen | |
Keine zuverlässige Software – Herstellung im industriellen Maßstab | Junge Wissenschaft |
Beispiele Bearbeiten
- Automobilindustrie: häufige Rückrufaktionen
- Hartz – IV – Software: Verspätung, fehlerhaft, eingeschränkter Funktionsumfang, fehlerhafte Zahlungen, verspätete Zahlungen
Eigenschaften von Software (resultierende Konsequenzen) Bearbeiten
- immaterielles Gut
- beliebig änderbar
- Konstruktionsfehler schwer erkennbar
- Kosten durch Personalkosten bestimmt
Unterschiede zu anderen Ingenieursdisziplinen Bearbeiten
- Allgemein bewährte Abstraktionen existieren noch nicht (UML = Ansatz)
- Qualität des Personals ist entscheidender Erfolgsfaktor
- Multipersonaler Entwicklungsprozess (Kommunikation wichtig)
Mooresches Gesetz Bearbeiten
- Komplexität innerhalb integrierter Schaltkreise verdoppelt sich alle 2 Jahre
- Beispiel: Automobilindustrie (BMW)
- Wachstum: exponentiell
Rollenbasierte Softwareentwicklung Bearbeiten
Rolle:
- Rolle beschreibt Menge von Aufgaben und Befugnissen
- Kann von einer oder mehr Personen ausgeübt werden
- Eine Person kann mehrere Rollen ausüben