Software Engineering Flashcards

K6 LE 1

1
Q

In welchen Punkten unterscheiden sich Software-Projekte von konventionellen Projekten?

A

Qualität des Ergebnis ist von Qualität des Entw.-Prozess abhängig

hohe Anforderungen da man das Verhalten des Systems und der Benutzer antizipieren muss

Ergebnis nicht materiel und Qualität nur schwer messbar

Komplexität und somit Aufwand schwer abschätzbar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In welchen Punkten macht sich die Software-Krise besonders bemerkbar?

A
  • Anwendungsstau
    nicht schnell genug neue Software da zu viele Mitarbeit der Wartung gezwungen sind
  • Mangelnde Qualität
    Mangel an Robustheit, Benutzerfreundlichkeit und Wartbarkeit
  • Kosten- und Terminüberschreitung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche Gründe sind vorallem auschlaggeben für die Software-Krise?

A

hohe Innovationsgeschwindigkeit

Kostenverschiebung (früher nur 20% Wartung, heute 75%)

Ausbildungsdefizit (Vernachlässigung von konstruktiv-analytischen Vorgehen)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was war die #1 Hauptursache der Software-Krise?

A

Erster Entwurf war zu grob, somit wurden Fehler sehr spät erkannt und somit war oft eine Neuprogrammierung, des Gesamten oder von Teilen, der günstigste Weg.

Durch so ein Flickwerk war die Dokumentation somit lückenhaft und stimmte nicht überein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Durch welche Schritte wurde die Codierung und das Testen verbessert?

A

Durch verschiebung von Analyse und Design in die frühe Entwurfsphase.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Welche Vorteile bringt die frühe Analyse und Design?

A

kostengünstiger Fehler ausmerzen (früh erkennen)

gesamtheitliches Konzept

entfallen von aufwendiger Neucodierung

stabielere und wartbare Software

Dokumentation parallel erstellt (vollständig und lückenlos)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind die Ziele des Software-Engineerings?

A

qualitativ hochwertige Software
kostengünstig
einhalten von Zeit- und Kostenrahmen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

In welche Prinzipien kann man das Software-Engineering unterteilen? Nennen Sie jeweils ein Beispiel.

A

allgemeine Prinzipien (integrierte Dokumentation)

Entwurfsprinzipien (Modularisierung, Strukturierung)

Implementierungsprinzipien (schrittweise Verfeinerung)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Erklären Sie die möglichen Ansätze des Software-Engineerings?

A

Top-Down
Benutzer gibt möglichst vollständige Angaben vor zur Programmierung

Bottom-Up
Aufbau der Software durch bestehende Bausteine, qulitativ und quantitativ im vorhinein feststellbar, eingeschränkte Möglichkeiten

Evolutionär
Zyklische Annäherung des Software-Produkts an
Anforderung, mehreres Durchlaufen einzelner Entwicklungsschritte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welches große Problem tritt durch konventionelle Software-Entwicklungs-Ansätze (z.B. Wasserfallmodel) auf und wie wird dieses Problem heute vermieden?

A

Durch z.B. dem Wasserfall-Model wurde die Software erst spät im Entw.-Prozess zusammengeführt und fehler erst spät erkannt. Somit entstanden enorme Kosten und Mehraufwand.

Durch Prototypen wird dies heutzutage vermieden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

In welche Arten von Prototypen wird unterschieden?

A

Explorativer-Prototyp
Experimenteller-Prototyp
Evolutionärer-Prototyp

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Welche Probleme treten druch Prototype auf?

A

Mehraufwand durch “Wegwerf Prototypen”

Kunde könnte Prototyp als fertiges Produkt sehen

Ständiges Verändern des Prototypen kann zu Inkonsitenzen und Fehleranfälligkeit führen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Beschreiben Sie den Experimentellen Prototypen?

A

Von Entwicklern eingesetzt. Simulation von den einzelnen Komponenten und Schnittstellen zum testen von Verhalten, Performance und Umsetztbarkeit

Unterstütz System- und Komponenten-entwurf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Beschreiben Sie den Explorativen Prototypen?

A

Einsatz in der Anforderungsanalyse und Systemspezifikation. Entwickler und Anwender versuchen anhand des Prototypen eine möglichst vollständige Systemspezifikation zu erarbeiten.

Größter Vorteil ist das frühzeitige Erkennen von Spezifikations-Fehlern und -Probleme

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Beschreiben Sie den Evolutionären Prototypen?

A

Der Prototyp hat bereits alle Funktionen, aber noch nicht vollständig entwickelt, und wird im Laufe des Projekts immer mehr zum fertigen Software-Produkt

Es gibt keine klare unterscheidung zwischen Prototyp und Produkt

Durch den permanten Änderungsprozess wird die einheitliche Systemkonzeption behindert, was somit das Projektmanagement erschwert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly