3. Software Engineering - 1. Grundlagen Flashcards
Was war das main probleme bei der Softwarekrise und wann war sie?
Ende der 1960er Jahre
hier Überstiegen die Kosten der Software in vielen Anwendungsfelder erstmals die Kosten der Hardware, weshalb dann Anwendungsprojekte an der Software scheiterten
Wann ist die “Geburtsstunde” der Software Engineering?
1968
Definition Software Engineering
“Eine technische Disziplin, die sich mit allen Aspekten der Softwareherstellung beschäftigt, von den frühen Phasen der Systemspezifikation bis hin zur Wartung des Systems, nachdem sein Betrieb aufgenommen wurde”
Worin liegt der wesentliche Unterschied von Standardsoftware(zB word) und Individualentwicklungen(zB SAP für BASF)?
- Spezifikationen selbst programmiert werden
2. genauen Wünsche der Anwender werden bei Standardsoftware nicht einbezogen.
Herausforderungen für Software Engineering
- Heterogene Umgebung (Hardware und Software von verschiedenen Herstellern verwendet)
- kurze Projektzielzeiten
- Software muss immer verlässlich
Was sind die 4 Merkmale guter Software
Wartbarkeit
Zuverlässlichkeit
Effizienz
Benutzerfreundlichkeit
Was sind die Merkmale von guter Software und wie würdest du die Merkmale beschreiben?
Wartbarkeit
- so geschrieben, dass Weiterentwicklung möglich, damit veränderten Kundenbedürfnissen Rechnung getragen werden kann (Softwareveränderungen unvermeidliche Konsequenz einer sich verändernden Geschäftsumgebung)
Zuverlässlichkeit
- muss Verlässlich sein, Zugriff geschützt, Betriebssicherheit gegeben
- keine körperlichen oder wirtschaftlichen Schaden verursachen, falls System ausfällt
Effizienz
- nicht verschwenderisch mit Systemressourcen (Speicher und Prozesskapazität) umgehen
- umfasst Reaktionszeit, Verarbeitungszeit, Speichernutzung, etc.
Benutzerfreundlichkeit
- ohne unangemessene Anstrengungen von Benutzer (für den es entwickelt wurde) nutzbar
- über angemessene Benutzeroberfläche und ausreichend Dokumentation verfügen
Definiere “Kritische Systeme”
Systeme von denen Menschenleben abhängen oder dessen Versagen schweren wirtschaftlichen Schaden verursacht
Definiere “Sicherheitskritische Systeme” mit Bsp
Ausfall kann zu Schaden für Menschen und Umwelt führen
Bsp. Steuerung für Atomkraftwerke
Definiere “Aufgabenkritische Systeme” mit Bsp
Ausfall kann zum Scheitern einer in Relation zum System selbst umfangreiche Aufgabe führen
Bsp. Navigationssysteme in der Raumfahrt
Definiere “Geschäftskritische Systeme” mit Bsp
Ausfall kann hohe Kosten zur Folge haben
Bsp. Informationssysteme einer Börse
Wichtigste Eigenschaft eines kritischen Systems? Und warum?
Zuverlässigkeit
- wenn unzuverlässig von Benutzer abgelehnt (und alle anderen Systeme des Herstellers)
- Kosten eines Ausfalls sehr hoch (Existenz von Unternehmen gefährdet)
- Verlorene Informationen können wertvoller sein als System selbst
Worauf sollte man achten wenn man kritische Systeme entwickelt?
- ausgereifte Techniken vor neuen
- kosten fürs Testen höher als für unkritische Systeme
- besonders aufwendige Methoden lohnen sich hier!
Hardwarefehler, Softwarefehler und Bedienungsfehler können gegenseitig zur Folge haben (Sicht auf Gesamtsystem wichtig)
Beschreibe die Kosten eines kritischen Systems
Expotentieller Anstieg an kosten.
Je höher die Verlässlichkeit des Systems sein soll desto schneller wird es teurer. Niedrige Verlässlichkeit kostet noch nicht zu viel aber äußerst hohe Verlässlichkeit ist sehr teuer, da hier mehr Zeit in vor allem das Testen gesteckt werden muss