Entwicklung & Qualitätsprüfung von AWS (5) Flashcards

1
Q

Überblick Softwareentwicklung als Prozess

A

Wichtigste Aktivitäten der Softwareentwicklung:

1. Analyse
2. Design
3. Implementierung
4. Test
5. Einsatz & Wartung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. Analyse im Entwicklungsprozess
A

Festlegung der fachlichen Anforderungen: Was soll die Software können?

  • Anforderungsanalyse = Erfassung Wünsche des Auftraggebers der Software (Lastenheft)
  • Durchführbarkeitsanalyse = Prüfung fachlichen ökonomischen & personellen Machbarkeit (Gegenüberstellung Lastenheft zur Realität) z.B. Kosten-/Risikoanalyse
  • Systemanalyse = Definition Anforderungen an Software & Modellierung als fachliche Lösung (Pflichtenheft = Basis für Abnahme/ alle Anforderungen des Lastenhefts angepasst an Realität)

Ergebnis: Lasten- & Pflichtenheft mit Modellen der fachlichen Anforderungen (häufig in Diagrammform)

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

Lastenheft

A
  • wird vom Auftraggeber des Projektes formuliert
  • darin werden alle Anforderungen beschrieben die der Auftraggeber an Erreichung des Projektzieles stellt
  • & Beschreibung Rahmenbedingungen unter denen Projekt arbeiten soll
  • Form = projektspezifisch individuell gestaltet

Gliederung:

1. Ausgangssituation –> Warum überhaupt ein Projekt?
2. Zielsetzung –> Gemäß SMART-Kriterien
3. Produkteinsatz –> Was soll das Produkt unter welchen Rahmenbedingungen leisten?
4. Funktionale Anforderungen –> Welche konkreten Funktionen muss Produkt bieten?
5. Nichtfunktionale Anforderungen –> Welche Anforderungen müssen darüber hinaus erfüllt werden? (z.B. Effizienz, Erweiterbarkeit, Zuverlässigkeit, …)
6. Lieferumfang
7. Phasenplanung & Meilensteine Projekt
8. offene Punkte die noch zu klären sind
9. Abnahmekriterien & Qualitätsanforderungen

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

Ziele = elementar wichtig

A

Bedeutung von Zielen für Projekt

  • Ziele ermöglichen gemeinsames Verständnis & einheitliche Ausrichtung
  • Ziele präzisieren schwammige Vorstellungen der Projektbeteiligten
  • Ziele = gut kommunizierbar

Definition Ziele in Projekten

  • Ziele sollten für all wichtigen Tätigkeiten eines Projekts definiert werden
  • Bsp.: Meetings (warum sitzen wir zusammen?), Ausarbeitung von Dokumenten (wozu brauchen wir die Dokumente?)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

SMARTe Ziele

A

Specific –> Ziele müssen konkret, eindeutig, präzise & stimmig mit anderen Zielen sein
Measurable –> Ziele müssen messbar & überprüfbar sein, es muss klar sein wann das Ziel erreicht ist
Achievable –> Ziele müssen erreichbar sein, unerreichbare Ziele = demotivierend
Relevant –> nur wichtige Dinge = als Ziel zu formulieren
Time-based –> Ziele müssen zeitlich terminiert sein, es gibt einen Zeitpunkt bis zu dem Ziel erreicht sein sollen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Design im Entwicklungsprozess
A

Entwurf einer (technischen) Software-Architektur: Wie soll Software grundsätzlich funktionieren?

  • Festlegung Rand- & Umgebungsbedingungen = Treffen technischer Grundsatzentscheidungen (z.B. hinsichtlich Programmiersprachen, Datenbanken)
  • Strukturierung System in Komponenten = Definition & Spezifikation geeigneter Systemkomponenten/ Subsysteme zur Bewältigung Komplexität
  • Festlegung Schnittstellen = Definition Beziehungen & Zusammenwirkens einzelnen Komponenten

Ergebnis: Software-Architektur mit Modellen zur technischen Realisierung (häufig in Diagrammform –> Modellierung Use-Case)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Implementierung im Entwicklungsprozess
A

Umsetzung des Designs im Code

  • Realisierung = Software unter Verwendung geeigneten Programmiersprache
  • Unterstützung durch CASE-Tools = gegebenenfalls, automatisierte Generierung von Code aus entwickelten Diagrammen (erhält dann Basiscode zur Weiterarbeitung)
  • Versions- & Konfigurationsmanagement
  • Dokumentation Implementierung

Ergebnis: lauffähiges System einschließlich Dokumentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Test im Entwicklungsprozess
A

Überprüfung: Erfüllt Software Anforderungen?

  • Komponententest = Unabhängiger Test einzelnen Komponenten/ Module der Software
  • Integrationstest = Testen Zusammenwirkens/ Schnittstellen der einzelnen Komponenten
  • Systemtest = Testen Gesamtsystem gegen Anforderungen
  • Abnahmetest = Testen Software durch Kunden (häufig mit Kopien von Echtdaten) –> anderer Blickwinkel
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Einsatz & Wartung im Entwicklungsprozess
A

Einführung & produktiver Einsatz der Software

  • Zielumgebung vorbereiten (Serverkonfiguration, VM, …)
  • Installation Software
  • Schulung Benutzer der Software
  • Inbetriebnahme/ Umstellung = Übernahme Daten (direkte Umstellung vs. Übergangsphase)
  • Wartung Software (Fehlerbeseitigung/ Anpassung an neue Anforderungen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Arten Vorgehensmodelle

A

Klassische Modelle (nicht mehr zeitgemäß)

  • Prozesse werden detailliert & formal beschrieben
  • Erstellung Dokumente & Teilprodukten = wichtig
  • Beispiele: Wasserfallmodell, V-Modell, Spiralmodell

Agile Modelle

  • Ziel = Softwareentwicklungsprozess flexibler & schlanker gestalten
  • Individuen & Interaktion = wichtiger als Prozesse & Tools
  • Lauffähige Software = wichtiger als umfangreiche Dokumentation
  • Kundenmitentwicklung = wichtiger als Vertragsverhandlungen
  • auf Änderungen reagieren = wichtiger als einem Plan folgen
  • Beispiele: Scrum, eXtreme Programmierung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Scrum Grundlagen

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

Scrum Überblick

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

Scrum Dokumente & (Zwischen-) Produkte

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

Scrum Rollen

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

Scrum Ablauf

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

Wasserfallmodell (mit Rückkopplung)

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

V-Modell

A
18
Q

Spiralmodell

A
19
Q

Vergleich klassische & agile Modelle

A
20
Q

generative KI bei Softwareentwicklung

A
21
Q

Einsatzszenarien für GenAI in Phasen Softwareentwicklung

A
22
Q

Herausforderungen bei Einsatz GenAI

A
23
Q

App-Entwicklung

A
24
Q

Arten Apps

A
25
Q

Web-Apps

A
26
Q

Native Apps

A
27
Q

Was ist Softwarequalität?

A
28
Q

Qualitätsmerkmale bei Softwareprodukten

A
29
Q

Überblick Verfahren Qualitätssicherung

A
30
Q

Black- vs. White-Box-Tests

A
31
Q

Vorgehen beim Strukturtest (White-Box-Test)

A
32
Q

Kontrollflussorientierte Strukturtests (White-Box-Test)

A
33
Q

Kantenmarkierte Kontrollflussmodellierung

A
34
Q

Anweisungsüberdeckung

A
35
Q

Zweigüberdeckung

A
36
Q

Software-Metriken

A
37
Q

Lines of Code LOC

A
38
Q

McCabe-Metrik

A
39
Q

Elementarpfade beim McCabe-Metrik

A
40
Q

Zusammenfassung McCabe-Metrik

A