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
Q

Was sind die Ziele der MDA?

A
  • effiziente Softwareentwicklung
  • geringere Fehleranfälligkeit durch Vermeidung von Medienbrüchen
  • Entwickler beschäftigen sich (nur) mit technischen Aspekten
26
Q

Was ist ein Projekt?

A

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
Q

Was ist Projektmanagement?

A

Gesamtheit von Führungsaufgaben, -organisation, -techniken

und -mitteln für die Abwicklung eines Projektes

28
Q

Was sind die Aufgaben des Projektmanagements?

A
  • 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
Q

Wie ist der Ablauf der Projektplanung?

A
  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
Q

Was ist eine Aufwandsschätzung im Software-Projektmanagement?

A

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
Q

Was sind die Probleme einer Aufwandsschätzung?

A

-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?)