Beruflich Dokumente
Kultur Dokumente
Einführung Wirtschaftsinformatik
AGENDA SOFTWAREENGINEERING
• Rückblick Projektarbeit
• Risiken der Projektarbeit
• Softwareengineering
• Prinzipien, Methoden, Hilfsmittel
• Qualitätsmerkmale von Software
• Analyse unvollständig
• Zeitverschiebung im Projekt
– Arbeitsblöcke erweitert
– Mitarbeiter stehen nicht zur Verfügung
– Verzögerungen durch Kundenbesuche, Abstimmung,
Entscheidung
– Interne Streitigkeiten
– Verzögerte Entscheidungen
– Fehlende Ressourcen, fehlende Informationen
• Kostenüberschreitung
• Höhere Personalkosten
• Unerwartete Sachkosten, höhere Reisekosten
• Unerfahrenheit bei der Kostenschätzung
• Druck durch vorgegebenes Budget
• Qualitätsmangel
• Fehler treten erst spät auf:
– Je später, desto teurer.
• Unzureichende Qualitätssicherung (QS)
• Fehlende Projektkontrolle
• Unerfahrenheit
• Fehlende Systematik
• Startphase
– Projektteam ist neu zusammengestellt, die
Mitarbeiter kennen sich noch nicht
– Projektteam hat keine Erfahrung mit Branche
und Aufgabenfeld
– Projektteam hat keine Erfahrung mit der
Programmiersprache, Betriebssystem,
Datenbanksystem etc.
– Qualifikation und Erfahrung der Projektleitung
• Laufzeit
• Technik
27.11.2020 Jade Hochschule - Angela Moldenhauer - Ewinf20-21/ 7-Softwareengineering 12
RISIKEN DER PROJEKTARBEIT (LAUFZEIT)
• Start
• Laufzeit
– Projekt ist Gegenstand interner Streitigkeiten
– Notwendige Entscheidungen werden nur zögernd und
halbherzig getroffen
– Lange Projektlaufzeit: Die Motivation lässt nach, das
Projekt wird überflüssig
– Bereits existierende Programme müssen modifiziert
werden
– Die Kontinuität der personellen Besetzung ist nicht
gewährleistet (Zeitverschiebung)
• Technik
27.11.2020 Jade Hochschule - Angela Moldenhauer - Ewinf20-21/ 7-Softwareengineering 13
RISIKEN DER PROJEKTARBEIT (TECHNIK)
• Start
• Laufzeit
• Technik
– Schnittstellen werden nicht eingehalten
– Rechnerzeit muss mit anderen Projekten geteilt
werden
– Hardwareintegration kommt zu spät,
d.h. es müssen zwischenzeitlich Umweltsimulationen
durchgeführt werden
• Entscheidungen werden
nicht herbeigeführt und abgesichert.
– Welche Farbe darf es denn sein?
27.11.2020 Jade Hochschule - Angela Moldenhauer - Ewinf20-21/ 7-Softwareengineering 15
SOFTWAREENGINEERING
Beispiele:
• Modularisierung
• Strukturierung
• Hierarchisierung ---
Schlüssel– Schloss Prinzip
• Information Hiding
– Modulschnittstelle einhalten,
interner Ablauf bleibt verborgen
• Projektbegleitende Dokumentation
27.11.2020 Jade Hochschule - Angela Moldenhauer - Ewinf20-21/ 7-Softwareengineering 22
EINE METHODE
Beispiele:
• OOA / OOD (Objekt-orientierte Analyse / Design)
• Unified Process (UP) für die Planung und
Steuerung von Entwicklungsprojekten
Beispiele:
• Formulare, Schablonen, Werkzeuge, ...
---
Vgl. Ludewig-Lichter, S. 52
• 1979: erste Venussonde flog am Ziel vorbei, weil im Fortran- Programm ein
Punkt mit einem Komma vertauscht wurde.
– Kosten: mehrere hundert Millionen Dollar
• 1985: Die Bank of New York buchte 32 Milliarden Dollar zu viel, weil ein 16-Bit
Zähler überlief.
– Kosten: 5 Millionen Dollar (Zinsverlust)
1. Funktionalität /Functionality
2. Benutzbarkeit / Usability
3. Zuverlässigkeit / Reliability
4. Effizienz / Performance
5. Wartbarkeit / Supportability
– Änderbarkeit
– Übertragbarkeit/Portierbarkeit
• Angemessen (Eignung)
• Richtigkeit
• Interoperabilität
• Ordnungsmäßig
• Sicherheit (der Daten, Security)
• Einfach
• Einheitlich
• Verständlich
• Erlernbar
• Bedienbar
• Attraktiv
• Ordnungsmäßig (Normen, Vorschriften, …)
• Supportability
– Maintainability / Wartungsfreundlichkeit:
Analysierbarkeit, Änderbarkeit, Stabilität,
Testbarkeit
– Portability / Übertragbarkeit:
Anpassbarkeit, Installierbarkeit, Konformität,
Austauschbarkeit
• Analysierbar
• Modifizierbar
• Stabilität (nach Änderungen)
• Prüfbar
• Ordnungsmäßig (Normen, Vorschriften)
Aufgabe:
Welches Qualitätsmerkmal für Software wurde in den
folgenden Fällen verletzt?
a. Das System benötigt mehr Platz auf der Festplatte, als die
Standardausführung des Rechners zur Verfügung hat.
Aufgabe:
Welches Qualitätsmerkmal für Software wurde in den
folgenden Fällen verletzt?
• Preis-/Leistungsverhältnis
• Verbreitung des Produkts
• Renommierter Hersteller / Anbieter
• Sicherheit (Bonität) des Herstellers / Anbieters
• Produktpolitik des Herstellers
• Support
– Unterstützung bei Einführung und Einsatz eines Systems,
Bsp. Hotline, Einführungslehrgänge, Schulung
Vorgehensmodell
REVIEW
– Inspektion von Projektergebnissen
– ohne sofortige Korrektur
• Persönliches Review
• Schreibtischtest,
• Prüfung mit Checklisten durch Entwickler/Kollegen, …
• Walk-Through
• Durchspielen von Szenarien und Testfällen durch Entwickler und Prüfer
• Inspektion
• Prüfung nach festgelegten Kriterien, Protokoll
• Komponententest – Unit-Test
– prüft, ob eine Komponente für sich den Anforderungen genügt
– Verwendung von Testdaten, Testprogrammen
• Integrationstest
– prüft das Zusammenspiel der Komponenten, soweit diese ausreichend fertig
gestellt sind
• Systemtest
– prüft das Gesamtsystem auf Basis echter Daten
• Belastungstest, Stresstest
• Abnahme
– Prüfung des Entwicklungsergebnisses
durch den Auftraggeber
Abnahme
Systemtest
Detaillierung
Integrations-
test
Komponenten-
test
Test bei der
Implementierung
a. Nur eine einzige Entwicklerin bzw. ein einziger Entwickler ist in der Lage, an einem
bestimmten Modul Änderungen vorzunehmen.
b. Für die drei von dem Programm unterstützten Betriebssysteme werden drei
unterschiedliche Versionen des Programmcodes gepflegt.
c. Bei einer bestimmten Tastenkombination geht das Programm in den Testmodus und
lässt sich nur noch vom Administrator_in reaktivieren.
d. Wegen ungünstiger Farbdarstellung sind viele Menüeinträge nur mit Mühe zu lesen.
e. Während ein Text ausgedruckt wird, kann das Programm nicht weitergenutzt werden.
Aufgabe:
Zu welchen Stufen gehören folgende Arbeiten?
In welcher Reihenfolge sind sie auszuführen?