Was ist Software?
Sammelbegriff für: - die Gesamtheit der Programme - die zugehörigen Daten - die notwendige Dokumentation , die es erlauben mit Hilfe eines Computers Aufgaben zu erledigen
Kann für bestimmten Kunden oder freien Markt entwickelt werden.
In welchen Formen widerspiegelt sich die Komplexität von Software?
Komplexität:
a) der Funktionen
b) der Daten
c) der Algorithmen
d) des zeitabhängiges Verhaltens
e) der Systemumgebung
f) der Benutzungsoberfläche
Wie unterscheidet sich Software von einem technischen Produkt?
Definiere Software-Engineering
Systematische Entwicklung und Gestaltung von Software unter Verwendung geeigneter Prinzipien, Methoden und Werkzeuge.
Warum gibt es Software-Engineering?
Software-Entwicklung findet in einem Spannungsfeld statt:
- Erhöhung der Qualität/ des Umfangs –> höhere Kosten/ größerer Zeitbedarf
Was sind die Eigenschaften von guter Software
Welches sind die grundlegenden Aktivitäten des Software-Engineering?
(Bzw. grundlegende Schritte jedes Vorgehensmodells im SE)
Worin liegt der Unterschied zwischen Software-Engineering und Informatik?
Informatik: Fokus auf Theorie und Grundlagen
Software-Engineering: Entwicklung in der Praxis + Herstellung nützlicher Software
Worin liegt der Unterschied zwischen Software-Engineering und Systems-Engineering?
Systems-Engineering: beschäftigt sich mit allen Aspekten computerbasierter Systementwicklung:
–> Software-Engineering ist ein Teil dieses Prozesses
Worin liegen die größten Herausforderungen für das Software Engineering?
erfolgreicher Umgang mit:
Was kostet das Software-Engineering
60% Entwicklungskosten - 40% Testkosten
Skizziere den Rahmen des Software-Engineering-Prozesses
Analyse –> Design –> Codierung –> Test –> Wartung
Nenne 4 Vorgehensmodelle im Software-Engineering
Nenne Vor- und Nachteile des Wasserfallmodells
Vorteile:
Nachteile:
- Big-Bang-Effekt: bei letztlicher Integration/Wartung werden Spezifikations-/Entwurfsfehler festgestellt
Nenne Vor- und Nachteile der Inkrementellen Entwicklung
Vorteile:
Nachteile:
Nenne Vor- und Nachteile der komponentenbasierten Entwicklung
Vorteil:
- Rückgriff auf fertige Softwarebestandteile, damit reduzierte Kosten, Zeit und Risiken
Nachteil:
Nenne 5 Kernprinzipien der agilen Softwareentwicklung
Unterscheide Inkrement und Iteration?