12 & 13 - Software Entwicklung

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/25

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

26 Terms

1
New cards

Was sind die Schitte eines Software-Entlicklungsprozesses?

  • Anforderungsanalyse

  • Design & Spezifikation

  • Implementierung

  • Verifikation und Validierung

2
New cards

Was für Vorgehensmethoden gibt es für Software-Entwicklung?

  • Wasserfallmodell

  • iterative Modell

  • agile Modell

3
New cards

Was ist das Ziel der Anforderungsanalyse?

sammeln, dokumentieren und strukturieren der Anforderungen an eine Software-Lösung

4
New cards

Was sind die zwei groben Kategorien von Anforderungen?

  • funktionale Anforderungen

  • nicht-funktionale Anforderungen

5
New cards

Was ist das Ziel der Design und Spezifikations Schrittes?

Spezifizieren, wie eine Software-Lösung umgesetzt werden soll

6
New cards

Welche Aspekte gehören zur Spezifikation?

  • Softwarearchitektur beschreibt die Struktur des Programs in Komponenten und deren Zusammenspiel

  • Datenmodell beschriebt Entitäten und deren Beziehungen

  • Integration in bestehende Umgebung

  • weitere Randbedingungen

7
New cards

Was ist das Ziel der Implementierung?

Umsetzung der Software-Lösung

8
New cards

Welche Aktivitäten beinhaltet die Implementierung?

  • analysieren

  • programmieren

  • debuggen

    • kommunizieren

9
New cards

Was ist das Ziel der Verifikation und Validierung?

Testen der Software-Lösung

10
New cards

Was für Techniken zur Verifikation und Validierung gibt es?

  • Software und System Tests

  • Integration Tests

  • Unit Tests

11
New cards

Was ist der Unterschied zwischen Blackbox und Whitebox bei der Verifikation und Validierung?

Whitebox:

  • nur I/O Sichtbar

  • Interna verborgen

  • Software und System Tests

Blackbox:

  • Bestandteile/Module/Teile testen

  • Programmverhalten während Laufzeit

12
New cards

Was ist eine Programmiersprache?

formale Sprache zur Entwicklung von Programmen

13
New cards

Was sind die zwei Arten von Programmiersprachen?

  • Assemblersprachen

    • maschinenorientiert

  • höhere Sprachen

    • problemorientiert

14
New cards

Was sind die Eigenschaften, mit denen man Programmiersprachen einteilen kann?

  • Problemparadigma

  • Typensystem

  • Speichermanagement

  • Einsatzgebiet

15
New cards

Was für Typensysteme existieren?

  • statisch vs dynamisch

    • Typen zu Compiler- oder Laufzeit geprüft

  • explizit vs implizit

    • müssen Typen deklariert werden oder werden sie abgeleitet

  • strikt vs schwach

    • können Typen soch ändern

    • kann man Typen mischen

  • nominal vs strukturell

    • werden komplexe Typen nur anhand Namen verglichen oder anhand Struktur

16
New cards

Was sind gängige Programmierparadigmen?

  • abstrakt

    • abstrakte Programmierstrukturen zur Kontrolle des Programmierflusses

  • prozedural

    • Programm in kleinere Prozeduren aufgeteilt

  • objektorientiert

    • Daten und Funktionen in Objekte zusammengefasst

17
New cards

Was sind vielgebrauchte Programmiersprachen und deren Eigenschaften?

knowt flashcard image
18
New cards

Wie sieht das mentale Modell, um Probleme algorithmisch zu lösen aus?

  • Programmieren ist ein Handwerk

  • Programmiersprachen sind Werkzeuge

  • mentale Modell unabhängig von Programmiersprache

  • unterschiedliche Programmiersprachen sind mehr oder weniger gut für bestimmte Einsatzzwecke

19
New cards

Was ist ein Compiler?

übersetzt Hochsprache in Maschinsprache

20
New cards

Was sind die Eigenschaften eines Compilers?

  • sind Programme

  • müssen für eine Quell-Sprache geschieben werden

  • unterstützen oft mehrere Zielsprachen

  • können resultierenden Code auch optimieren

21
New cards

Wie ist ein Compiler aufgebaut?

knowt flashcard image
22
New cards

Was für Compilerarten gibt es?

  • Source-to-Source Compiler

    • übersetzt Quellsprache in Zielsprache

  • Bytecode Compiler

    • übersetzt Quellsprache in Maschinensprache einer virtuellen Maschine, aka Bytecode

  • Just-In-Time (JIT) Compiler

    • verschieben Kompilierung in Laufzeit

23
New cards

Was für Arten der Programmausführung gibt es?

knowt flashcard image
24
New cards

Was sind Programm(ier)fehler (Bugs)?

Abweichungen von Laufzeitverhalten von gewünschten Sollzustand

25
New cards

Was für Programmierfehler gibt es?

  • Syntaxfehler

  • Laufzeitfehler

  • Logikfehler

26
New cards

Was ist eine Exception?

Datentype, welcher Informationen über Fehlerzustand bzw Ausnahmesituation umfasst