Klausurfragen Flashcards

1
Q

Refactoring (Extreme Programming)

A

Codeverbesserung ohne zusätzliche Funktionalität

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

DevOps

A

Teams für eine Applikation aus Entwicklern/Testern und Operatoren/Administratoren zusammengestellt

unabhängig vom Vorgehensmodell, ergibt aber besonders mit agilen Methoden und CI Sinn

In vielen IT Organisationen sind Entwicklungsprojekte und Systembetriebe traditionell voneinander getrennt

DevOps Toolchain: create, verify, package, release, configure, monitor, plan

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

V-Modell

A

V-Modell des Bundes

Vorgehensmodell für IT Systeme der öffentlichen Hand Deutschlands

Gepflegt und weiterentwickelt von Beauftragten der Bundesregierung für Informationstechnik

Wurde Jahrelang weiterentwickelt, hat viele Aspekte aus anderen Vorgehensmodellen (agile, iterative) integriert = sehr umfangreich

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

Lastenheft (Spezifikation von Software)

A

Anforderungen aus Sicht des Auftraggebers
Ist Zustand VS Soll Zustand
Funktionale Anforderungen
Nichtfunktionale Anforderungen
Grundlage der Angebote potentieller Auftragsnehmer

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

Pflichtenheft (Spezifikation von Software)

A

Realisierungsvorhaben aus Sicht des Auftragnehmers
detailliert das Lastenheft
enthält Kriterien für Abnahme
begründet grundsätzliche Plattformentscheidungen

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

GUI

A

graphical user interface (Grafische Benutzeroberfläche)

sehr entscheidend für die Zuverlässigkeit des Systems

Viele Benutzerfehler können durch eine der Zielgruppen angemessene Benutzerführung vermieden werden

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

3-Tier-Server Modell (Architekturentscheidung)

A

Zentrale Datenbankserver sorgt für Persistenz

Ein oder mehrere Applikationsserver sind für Applikationslogik zuständig

Clients übernehmen Benutzereingaben und Bildschirmdarstellung

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

2-Tier-Server-Modell (Architekturentscheidung)

A

nur zwei Stufen : Client und Server

Thin Client:
Anwendungslogik läuft komplett auf Server
Client für Benutzereingaben und Bildschirmdarstellung zuständig

Fat Client:
Server übernimmt nur die Datenhaltung
Anwedungslogik, Bildschirmdarstellung und Benutzereingaben laufen auf Client

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

CRUD

A

Testprinzip

Datenbasiertes Testen.
Testfälle werden so zusammengestellt, dass ein Objekt den Lebenszyklus Create Read Update Delete durchläuft

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

Schnittstellentest

A

Unittest (Teststufe)

Unittest werden für die einzelenen Komponten des Gesamtsystem angewandt
Sie werden über ihre Schnittstellen angesprochen

Richtlinien:
Grenzen der Gültigkeitsbereiche aller Parameter testen
Reaktionen auf ungültige Parameterkombinationen testen
Reaktion auf Überlastung durch eine Vielzahl von Aufrufen testen
Zusammenwirkende Komponenten in unterschiedlicher Reihenfolge testen

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

Framework

A

STILL IN NEED OF HELP

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

SCRUM

A

von Ken Schwaber u.a. entwickelt

Idee: Prozesse eines Softwareprojektes sind ohnehin komplexer, um sie detailliert beschreiben zu können. Scrum gibt deshalb nur einen groben Rahmen vor.

Schwerpunkt: Projektmanagment

In diesem Rahmen können Projekte gestaltet werden, indem Projektteam selbst Richtlinien gibt

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

Äquivalenzklasse

A

STILL IN NEED OF HELP

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

Assoziationsklasse

A

STILL IN NEED OF HELP

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

Regressionstest

A

STILL IN NEED OF HELP

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

Sprint Backlog

A

STILL IN NEED OF HELP

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

Pointcut (Aspektorierntierte Entwicklung)

A

Eine in einem Aspekt eingeschlossene Anweisung, die die Verbindungspunkte definiert, an denen der mit dem Aspekt verküpfte Advice ausgefährt wird

Definition, an welchen Join Points der Aspekt eingefügt werden soll

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

DoR (Scrum)

A

STILL IN NEED OF HELP

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

DoD (Scrum)

A

STILL IN NEED OF HELP

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

Software Engineering

A

STILL IN NEED OF HELP

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

Verbindungspunktmodell (Aspektorierntierte Entwicklung)

A

Satz von Ereignissen, auf die in einem Pointcut verwiesen werden kann

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

Anforderungsbasiertes Testen

A

Aus dem Use Cases werden die Test Case abgeleitet

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

Strukturelles Testen

A

Man kennt den Algorithmus und versucht, Grenzfälle abzudecken (zB mittleren Wert einer binären Suche)

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

Batchverarbeitende Systeme (Typen von Software)

A

verarbeiten Daten am Stück ohne Eingriff des Benutzers

eignen sich wenn eine große Menge von Daten auf immer ähnliche Operationen angewandt werden müssen

Architektur:
bestehen meistens aus Komponenten für Eingabe, Verarbeitung und Ausgabe

Bsp.
System, das Mahnungen über zu zahlende Zeitschriftenabonnementsgebühren druckt

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

Ereignisverarbeitende Systeme (Typen von Software)

A

reagieren ständig und sofort auf Ereignisse wie Benutzereingaben

zB Echtzeitsysteme, Graphikprogramme, Officeprogramme

meist Einbenutzersysteme
müssen schnell auf Benutzerreaktionen reagieren
bearbeiten Daten längere Zeit im Hauptspeicher

Architektur:
mehrere autonome Objekte stehen miteinander in Kommunikationsbeziehung. Sie verarbeiten Ereignisse und interpretieren Befehle

Bsp.
Fotoalbum, das Funktionen zur Wiederherstellung alter Fotografien bietet

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

Sprachverarbeitende Systeme (Typen von Software)

A

arbeiten Anweisungen ab, die in einer formalen Sprache formuliert sind

dazu gehören zB Compiler und Skriptinterpreter für Makros

Architektur:
Verschiedene Komponenten übernehmen das prüfen, auswerten und ausführen von Anweisungen

Bsp:
System, das sehbehinderten Benutzern Webseiten vorliest

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

Transaktionsverarbeitende Systeme (Typen von Software)

A

verarbeotem Schreib- und Lesezugriffe auf einen großen Datenbestand

müssen sicherstellen, dass die Benutzer sich nicht gegenseitig behindern (Isolation) und dass jede Transaktion automar ist (ganz oder garnicht)

Architekur:
bestehen oft aus Komponenten für Benutzerinteraktion, Anwendungslogik und Datenhaltung

Bsp.
Kassensystem in einem Supermarkt

28
Q

UML Timing Diagramm

A

STILL IN NEED OF HELP

29
Q

Wrapper um Legancy-Systeme

A

STILL IN NEED OF HELP

30
Q

Aspektorientierte Softwareentwicklung

A

STILL IN NEED OF HELP

31
Q

Seperation of Concerns

A

Für die Wartung eines Softwaresystems ist es ideal, seine Aufteilung in Komponenten anhand der Anforderungen vorzunehmen.

Mann kann versuchen diesem Ziel so nahe wie möglich zu kommen, doch zu 100% wird es nie erreichbar sein

32
Q

Komposition

A

STILL IN NEED OF HELP

33
Q

As low as reasonably practical

A

STILL IN NEED OF HELP

34
Q

Klassenbasiertes Testen

A

STILL IN NEED OF HELP

35
Q

Komponentenmodell

A

STILL IN NEED OF HELP

36
Q

RUP

A

Rational Unified Process

Vorgehensmodell für Projekte der objektorientierten Softwareentwicklung, das sich auf die UML bezieht

RUP sieht an vielen Stellen den Einsatz bestimmter Werkzeuge vor

37
Q

Product Backlog (nach Scrum)

A

Erstellt vom Product Owner, enthält alle bisher bekannten Anforderungen.

Nicht abgeschlossen sondern wird ständig weiterentwickelt

Kann vom Product Owner geändert werden

Detaillierter als Product Backlog ist der Sprint Backlog

38
Q

Skalierbarkeit

A

Ohne Änderungen an Software kann eine größere Anzahl an Prozessen bedient werden, indem zusätzliche Hardware beschafft wird

39
Q

Klassenbasiertes Testen

A

Ein- und Ausgabewerte werden klassifiziert nach der Art wie sie verarbeitet werden. Alle diese Äquivalenzklassen werden getestet

40
Q

Kapselung

A

Verbergen von Daten oder Informationen vor dem Zugriff von außen.

Der direkte Zugriff auf interne Datenstruktur wird unterbunden und erfolgt stattdessen über definierte Schnittstellen

41
Q

Entwurfsmuster

A

Bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme

42
Q

OOA

A

objektorientieres Design

43
Q

Product Owner (nach Scrum)

A

kommuniziert mit Kunden und vertritt diese gegenüber dem Team
definiert Projektziele anhand von User Stories
priorisiert die Einträge im Product Backlog
kommuniziert direkt mit dem Team
erstellt Product Backlog

44
Q

Echtzeitsysteme (Entwurf von Software)

A

Ereignisverarbeitendes System

besonders zeitliche Anforderungen gestellt, Design muss dafür geeignet sein

korrekte Funktionsweise hängt von Ergebnissen und Zeit ab in der Ergebnisse erzeugt werden

Unmittelbar nach Empfang eines Stimulus von einem Sensor muss geeignete Routine aufgerufen werden
Dies erfolgt üblicherweise mit einer Menge nebenläufiger, miteinander kooperierender Prozesse

45
Q

Pointcut (Aspektorierntierte Entwicklung)

A

Eine in einem Aspekt eingeschlossene Anweisung, die die Verbindungspunkte definiert, an denen der mit dem Aspekt verküpfte Advice ausgefährt wird

Definition, an welchen Join Points der Aspekt eingefügt werden soll

46
Q

Advice (Aspektorierntierte Entwicklung)

A

Code zum Implementieren eines Belangs

der Quellecode gemäss den (anderen Anforderungen kreuzend) Anforderungen

47
Q

Aspekt (Aspektorierntierte Entwicklung)

A

Programmabstraktion, die einen sich kreuzenden Belang definiert. Verhält die Definition eines Pointcuts und den mit dem Belang verknüpften Advice

bestehen aus Advice und Pointcut

48
Q

Entwicklungsstandards (Extreme Programming)

A

Keine persönlichen Vorlieben bei der Codegestaltung

49
Q

Sprialmodell

A

Spiralmodell nach Barry Boehm

Inkrementell iteratives Vorgehensmodell, bei dem jeder Zyklus aus 4 Quadranten besteht: Zieldefinition, Risikoabschätzung, Implementierung und Test, Planung des nächsten Zyklus

50
Q

Scrum Master (Scrum)

A

überwacht Einhaltung der Scrum Regeln
kein Teammitglied
kein Teamleiter (Team organisiert sich selbst)bei Schwierigkeiten Ansprechpartner für Mitglieder
trägt Blockaden, die im Daily Scrum genannt werden in Impediment Backlog ein, und ist verantwortlich sie zu beseitigen
kann Sprint abbrechen, wenn Ziele unerreichbar oder Hindernisse für unüberwindbar gehalten werden

51
Q

Einweben (Aspektorierntierte Entwicklung)

A

Einbeziehen des Advicecodes an den angegebenen Verbindungspunkten durch einen Aspect Weber

52
Q

Verbindungspunktmodell (Aspektorierntierte Entwicklung)

A

Satz von Ereignissen, auf die in einem Pointcut verwiesen werden kann

53
Q

Anforderungsbasiertes Testen

A

Aus dem Use Cases werden die Test Case abgeleitet

54
Q

Strukturelles Testen

A

Man kennt den Algorithmus und versucht, Grenzfälle abzudecken (zB mittleren Wert einer binären Suche)

55
Q

Pfadüberdeckungs Testen

A

Man versucht, alle Ausführungspfade eines Programms abzudecken (zB den Wahr und Falsch Fall aller Verweigungsbedingungen)

56
Q

Testen auf Zufallswerte

A

Ergänzed, weil Entwickler in Testcases eher jede Eingabedaten aufnehmen, die sie schon bei der Entwicklung besonders beachtet haben

57
Q

Lasttest/Stresstest

A

Nicht funktionale Test

simuliert große Benutzerzahlen

58
Q

Usability Test

A

Nicht funktionaler Test

prüft die Bedienbarkeit mit Testbenutzern

59
Q

Recovery Test

A

nicht funktionaler Test

testet die Wiederherstellung nach Systemausfällen, insbesondere die Datenintegrität nach Wiederherstellung

60
Q

Sicherheitstest

A

nicht funktionaler Test

simuliert zB einen potentiellen Angreifer

61
Q

Integrationstest / Systemtest

A

Teststufe

Bsp. Performance Test
Gesamtsystem wird getestet
Tester haben Zugriff auf Quellcode. Berücksichtigen diese Kenntnisse beim Entwurf des Testcases
Automatisieirte Testtools können zum Einsatz kommen. Besonders sinnvoll um große Last zu erzeugen und wenn so oft getestet werden muss, dass der Initialaufwand zum Einrichten eines Testwerkzeuges gerechtfertigt ist
Vom Systemtest spricht man erst wenn Komponenten vollständig Integriert wurden

62
Q

Regressionstest

A

Teststufe

Wenn es sich um eine neue Version handelt und nicht um iene komplett neue Software ist es ein Regressionstest
Auch veränderter Code muss nochmals gettestet werden, um unerwüschte Seiteneffekte des Codes zu finden

63
Q

Auslieferungstest

A

User Acceptance Test (Teststufe)

Gesamtsystem wird getestet
Tester haben keinen Zugriff auf Quellcode (Black Box)

64
Q

Alphatest

A

Teststufe für COTS Software

Hersteller von Standardsoftware führen oft einen internen Test durch, der den SChwerpunkt ähnlich wie der User Acceptance Test auf Funktionalität und Usability setzt

65
Q

Betatest

A

Teststufe für COTS Software

Erste Version einer Standardsoftware wird meistens an einen (eingeschränkten) Benutzerkreis ausgeben, um Fehlermeldungen zu sammeln
Danach folgen (unterschiedlich von Herstellern genannt):
Release Candidate
Release to Manufacturing
General Availability