Softwareentwicklung Flashcards

1
Q

Eine zentrale Aufgabe der Wirtschaftsinformatik?

A

Die Entwicklung von (betrieblichen) Informations- und Kommunikationssystemen

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

Was ist eine Phase der Softwareentwicklung?

A

Zeitlicher Abschnitt der Softwareentwicklung, der sachlich

von anderen Abschnitten getrennt abläuft (DIN 69901)

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

Was ist der Vorteil durch Einteilung in Phasen?

A
  • besserer Überblick über Fortschritt
  • Zuordnung von eindeutigen Verantwortlichkeiten
  • > bessere Kontrolle
  • > geringeres Risiko von Fehlentwicklungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie lautet der Softwarelebenszyklus?

A
  1. Initiierung
  2. Planung
  3. Anforderungsanalyse
  4. Entwurf
  5. Implementierung
  6. Test, Integration und Einführung
  7. Wartung und Pflege
    (8. ). Stilllegung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was geschieht bei der Phase Planung?

A

Das Projekt wird initiiert und Problemanalyse.
Grundlegene Anforderungen an ein Entwicklungsprojekt werden erarbeitet und es erfolgt eine Grobplanung. Durchführbarkeit und Wirtschaftlichkeit wird überprüft.

  • > Lastenheft/Produktbeschreibung
  • wesentliche funktionale Anforderungen
  • fachliche und technische Ebene berücksichtigen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was geschieht bei der Phase Anforderungsanalyse?

A

Erarbeitung von detaillierten und verbindlichen Anforderungen an
die Software. Grundlage für spätere Softwaretests und Detaillierung des Projekts.

  • > Pflichtenheft/Anforderungsspezifikation
  • geforderte Funktion
  • Datenbasis
  • technische Randbedingungen
  • Benutzerschnittstellen
  • Qualitäts- und Dokumentationsanforderungen
  • Projektentwicklungsplan (Zeitplan für die weiteren Aktivitäten)
  • Software-Testplan für die Abnahme und Einführung der Software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was geschieht bei der Phase Entwurf?

A

Es wird noch nicht programmiert.
Beschreibung der Softewarearchitektur. Bestandteil sind z.B. Module bzw. Komponenten mit definierten Schnittstellen und Beziehungen.

  • > Entwurfsspezifikation
  • Vorgehensweise zur Realisierung
  • Grob- und Feinentwurf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was geschieht bei der Phase Implementierung?

A

Anhand des Entwurfs Software programmieren. Entwicklungsumgebungen oder CASE Tools werden eingesetzt.

->Programmcode, Module/Komponenten, Dokumentation

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

Was geschieht bei der Phase Test, Integration und Einführung?

A

Verschiedene Aufgaben:
Gesamttest:
-gesamte Software testen

Verifikation:
Korrektheit anhand der Anforderungsspezifikation überprüfen

Validierung:
Ist Software für Einsatz geeignet

->oft experimentelle Testmethoden, keine Fehlerfreiheit nachweisbar

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

Was geschieht bei der Phase Wartung und Pflege?

A

Wartung:
Laufende Korrektur von im Betrieb festgestellten Fehlern

Pflege:
Anpassung der Software an neue Anforderungen

->neue Versionen, davor braucht es Qualitätssicherung

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

Was ist Qualitätssicherung?

A

Basiert auf Softwarequalität. Ob die Software sich eignet und Erfordernisse erfüllt.

Primärer Qualitätsfaktor:
korrekte Erfüllung der funktionalen Anforderungen

sekundär:

  • Erweiterbarkeit /Anpassbarkeit
  • Robustheit / Zuverlässigkeit
  • Effizienz
  • Portabilität und Kompatibilität
  • Wiederverwendbarkeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was sind Vorgehensmodelle in der Softwareentwicklung?

A

Alle Aktivitäten der Softwareentwicklung können durch verschiedene Modellierungsmethoden dargestellt werden.

Z.B.
ER-Modell,EPK,BPMN(Anforderungsanalyse und Entwurf)

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

Was ist das Wasserfallmodell?

A

Die Erweiterung des Softwarelebenszyklus um Rücksprünge um jeweils eine Aktivität.

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

Was ist das V-Modell?

A

Folgt sequenziellen Ablauf, Qualitätssicherung spielt aber übergeordnete Rolle, während der einzelnen Phasen Testfälle.

+erhöhte Qualitätssicherheit
+Verifikation und Validierung
-hoher Dokumentationsaufwand

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

Was ist agile Softwareentwicklung?

A

Hauptziel ist funktionierende Software, dabei Vorgehen flexibel halten

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

Was sind die Maximen der agilen Softwareentwicklung?

A
  • Ergebnisorientierung (alles tun, was für das Hauptziel nötig ist)
  • Angemessenheit (nur das tun, was für das Hauptziel nötig ist)
  • best Practices aus Erfahrung nutzen (statt verordnete Vorgaben)
  • miteinander reden (statt viele unnütze Dokumente erstellen)
  • flexibel und offen für Änderungen sein (statt starre Pläne)
  • Menschen und Kommunikation (statt Prozesse und Tools)
17
Q

Was ist Inrementell-terative Softwareentwicklung?

A

Annahme: komplexe Systeme können kaum in einem einmal zu
durchlaufenden sequenziellen Prozess entwickelt werden

->wiederholtes (iteratives) Durchlaufen von Anforderungsanalyse,
Entwurf und Implementierung

->Verwendung von Implementierungstechniken, die eine starke
Modularisierung ermöglichen (z.B. Komponententechnik)

18
Q

Was ist Prototyping?

A

Schnelle Entwicklung von rudimentären, aber

ablauffähigen Vorversionen (Prototypen) des Systems.

19
Q

Wozu braucht man Software-Wiederverwendung?

A

Steigerung der Effizienz der Softwareentwicklung durch
Wiederverwendung von Teilen bereits existierender Software, d.h.
Nutzung dieser Teile in einem neuen Kontext

->Software sollte so entwickelt werden, dass Wiederverwendung von
Teilen dieser Software später relativ einfach möglich ist:

20
Q

Was ist Domain Engineering?

A

Domäne (Domain): Gruppe von ähnlichen Softwaresystemen eines
Anwendungsgebiets

Domain Engineering: Softwareentwicklung nicht an konkrete Erfordernissen einer Anwendung auszurichten, sondern an ihrer Domäne.

21
Q

Was ist Komponententechnik?

A

Anwendung wird aus verschiedenen, wiederverwendbaren Modulen zusammengesetzt. Module von Anfang an getrennt entwicklen.

22
Q

Aufgaben der Komponententechnik

A
  • Design der Systemarchitektur (Aufbau des Gesamtsystems)
  • Identifikation der benötigten Komponenten
  • Spezifikation der Schnittstellen für die Funktionalitäten

-Entscheidung, ob Komponenten erstellt werden müssen
(oder vorhanden sind bzw. beschafft werden können)

23
Q

Vorteile der Komponententechnik?

A
  • Effizienzsteigerung bei der Anwendungsentwicklung
  • paralleles Entwickeln verschiedener Komponenten möglich
  • isoliertes Testen der Komponenten ( Qualitätssicherung)
  • höhere Zuverlässigkeit von Komponenten durch vielfachen Einsatz
  • Erhöhung der Wartbarkeit und Skalierbarkeit des Softwaresystems
24
Q

Was ist Modellgetriebene Architektur(MDA)?

A

Ein teilautomatisierter Entwurf und Implementierung von Software ausgehend von fachlichen Modellen.

Mögliche Ausprägungen:

  • Modelltransformation(Modell in ein anderes)
  • Codetransformation(Modell in ein Code)
25
Was sind die Ziele der MDA?
- effiziente Softwareentwicklung - geringere Fehleranfälligkeit durch Vermeidung von Medienbrüchen - Entwickler beschäftigen sich (nur) mit technischen Aspekten
26
Was ist ein Projekt?
Vorhaben, das im Wesentlichen durch seine Einmaligkeit der Bedingungen in ihrer Gesamtheit gekennzeichnet ist, wie z.B. -Zielvorgabe -zeitliche, finanzielle oder andere Begrenzungen -Abgrenzungen gegenüber anderen Vorhaben -projektspezifische Organisation
27
Was ist Projektmanagement?
Gesamtheit von Führungsaufgaben, -organisation, -techniken | und -mitteln für die Abwicklung eines Projektes
28
Was sind die Aufgaben des Projektmanagements?
- Projektziele - Aufbauorganisation (Aufbau einer Projektorganisation) - Ablauforganisation(geeigneter Projektablauf) - Projektplanung(Planung realistischer Leistungen, Termine, Kosten, Kapazitäten - Führung (Motivation, Engagement und Zusammenarbeit aller betroffenen Mitarbeiter) - Projektcontrolling(laufende Überwachung und Abweichungen steuern)
29
Wie ist der Ablauf der Projektplanung?
1. Strukturplanung(Funktionen, Teilaufgaben) 2. Ablaufplanung(Abhängigkeiten, Prioritäten) 3. Kapazitätsplanung 4. Terminplanung 5. Kostenplanung Kapazitäten, Kosten und Termine hängen eng zusammen und beeinflussen sich gegenseitig.
30
Was ist eine Aufwandsschätzung im Software-Projektmanagement?
Die Schätzung des Aufwands für ein Projekt. Bei Softwareprojekten sind das meistens Schätzungen des Entwicklungsaufwandes. Sind aber nur ein einfacher Anhaltspunkt und diese werden oft aus Erfahrungswerten gebildet.
31
Was sind die Probleme einer Aufwandsschätzung?
-Wie misst bzw. schätzt man die Kenngrößen? (Problem: Aufwandsschätzung ist oft sehr früh im Softwareentwicklungsprozess.) -Sind die angenommenen Zusammenhänge aus früheren Projekten im aktuellen Projekt gültig? -Gibt es überhaupt gültige Daten zum Aufwand früherer Projekte? (Probleme: Wurde der tatsächliche oder geplante Aufwand dokumentiert? Wurde der Bezug zu Funktionalitäten dokumentiert?)