IT Begriffe Flashcards

(43 cards)

1
Q

Single-Responsibility-Prinzip

A

(auch SRP, dt. „Prinzip der eindeutigen Verantwortlichkeit“) ist eine Softwareentwurfsrichtlinie (aus SOLID).
„A module should be responsible to one, and only one, actor.“ (aus Robert C. Martin: Clean Architecture), d. h. aber nicht, dass eine Klasse nur eine definierte Aufgabe zu erfüllen hat.
Zur Verallgemeinerung des SRP siehe: Curly‘s Law

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

Curly‘s Law

A

Eine Verallgemeinerung des SRP, es fasst zusammen SRP, methods should do one thing, once and only once (OAOO), don‘t repeat yourself (DRY) und single source of truth (SSOT).
Es bezieht sich auf den gesamten Softwareentwurf, also auch Klassen, Funktionen und Variablen (daher auch bei nicht-OOP anwendbar).
(D. h. z. B. der veränderte Inhalt einer Variable muss in einer Neuen gespeichert werden, z. B. $numbers->sort in $sortedNumbers.)

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

SCADA

A

Supervisory Control and Data Acquisition (dt. Überwachung, Steuerung und Datenerfassung) beschreibt das Computersystem, bzw. die Software, zur Überwachung und Steuerung technischer Prozesse im Bereich von ICS (Industrial Control System, dt. industrielle Steuerungsanlagen).

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

PLC

A

Programmable Logic Controller (dt. speicherprogrammierbare Steuerung) ein digital programmierbares Gerät zur Steuerung einer Maschine. Löste die „festverdrahtete“ verbindungsprogrammierte Steuerung (VPS, engl. hard-wired programmed logic controller) ab.

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

CVE

A

Common Vulnerabilities and Exposures

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

CGI/FastCGI

A

(Common Gateway Interface) Schnittstelle zwischen einem Webserver und dritter Software, die Anfragen beantwortet.
CGI startet und beendet einen Prozess pro Request (viel Overhead = schlechte Performance) und FastCGI stellt zentrale Prozessressourcen für mehrere Requests bereit (schneller, ressourcensparender).

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

DIE-Modell

A

Distributed – verteilt, Immutable – unveränderbar, Ephemeral – kurzlebig

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

CAN

A

Controller Area Network

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

CIA-Triade

A

Schutzziele (Confidentiality, Integrity und Availability)

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

(Code-) Walkthrough

A

Folgen des Pfades durch den Algorithmus bzw. Quellcode. (s. a. Cognitive Walkthrough).

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

Cognitive Walkthrough

A

(dt. kognitiver Durchgang, Durchdenken des Problemes) Eine Usability-Inspektionsmethode aus den analytischen Evaluationsverfahren (im Gegensatz zu empirischen Evaluationsverfahren, wie dem Usability-Test). Hineinversetzen in einen (hypothetischen) Nutzer und Analyse konkreter (vorgegebener) Handlungsabläufe unter der Prämisse der Wahl eines Weges des geringsten kognitiven Aufwandes.

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

Usability-Test

A

Überprüfung (als empirisches Evaluationsverfahren) der Gebrauchstauglichkeit einer Software (oder Hardware). Ziel ist die Detailoptimierung von Interaktionsprozessen.

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

Audit

A

Untersuchung durch (geschulte) Auditoren, ob ein Managementsystem die gesetzten Anforderungen erfüllt und ob es wirksam ist.

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

Mehrfachvererbung

A

Teil der Objektorientierten Programmierung, bei der eine abgeleitete Klasse von mehr als einer Basisklasse erbt (z. B. Amphibienfahrzeug von Land- und Wasserfahrzeug). Abgrenzung zur sequentiellen, mehrstufigen Vererbung, mit jeweils nur einer Ableitung pro Klasse.
Mögliche Probleme: komplizierter, unübersichtlich (s. a. Diamond-Problem)

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

Diamond-Problem

A

Durch Mehrfachvererbung erbt D (Amphibienfahrzeug) von B (Landfahrzeug) und C (Wasserfahrzeug) und B und C von A (Fahrzeug).
Verhält sich D wie B UND C oder wie B ODER C?
Die Höchstgeschwindigkeit weicht ab (D hat zwei Fortbewegungsarten, aber A, B und C jeweils nur Eine.), die Sitzplatzanzahl bleibt aber unverändert.

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

statischer Test

A

Ein Test ohne Programmausführung.
Z. B. Review oder statische Code-Analyse (auch formale Verifikation)

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

dynamischer Test

A

Ein Test mit Programmausführung.
Z. B. strukturorientierter Test (Kontrollflussorientiert, wie Anweisungs-, Zweig-, Bedingungs- und Pfadüberdeckungstests ODER Datenflussorientiert, wie Defs-/Uses-Kriterien, Required k-Tupels-Test, Datenkontextüberdeckung), funktionsorientierter Test gegen eine Spezifikation (funktionale Äquivalenzklassenbildung, zustandsbasierter Test, Ursache-Wirkungs-Analyse, Syntaxtest, transaktionsflussbasierter Test, Test auf Basis von Entscheidungstabellen ODER Positiv- (Anforderungen verifizieren) und Negativtest (Prüfung der Robustheit)), diversifizierender Test der Ergebnisse mehrerer Tests (Regressionstest, Back-To-Back-Test, Mutationen-Test) und sonstige (Bereicherungstest bzw. Domain Testing, Error guessing, Grenzwertanalyse, Zusicherungstechniken).

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

Regressionstest

A

(lat. regredior, regressus sum „zurückschreiten“) Wiederholung von Testfällen, dass Modifikationen keine neuen Fehler (Regressionen) in zuvor getesteten Teilen verursacht haben.

19
Q

Back-To-Back-Test

A

Aus der n-Versionen-Programmierung ergeben sich mehrere Versionen, aus unabhängigen Teams, nach gleicher Spezifikation, die gegeneinander getestet werden.
Teueres Gesamtverfahren, nur bei (sehr) hohen Sicherheitsanforderungen gerechtfertigt.

20
Q

Mutationen-Test

A

Verwendet/Testet andere Testmethoden durch künstliches Einfügen von (typischen) Fehlern, um festzustellen, ob sie detektiert werden.

21
Q

Review

A

Manuelle Prüfung von Arbeitsergebnissen per Durchsicht einer anderen Person (Gutachter).
Z. B. Code-Review (Quelltext) und Architektur-Review (Softwarearchitektur).

22
Q

statische Code-Analyse

A

Zur Übersetzungszeit wird der Quelltext formalen Prüfungen unterzogen, um bestimmte Fehler zu finden, noch vor Ausführung (Modultest) der Software. Falsifizierendes Verfahren (Anwesenheit von Fehlern finden).
Klassisches Programm dafür ist „Lint“, daher gebräuchlich linten (engl. linting).

23
Q

Verifizierung/Verifikation
(verifizieren von Software)

A

Feststellen, ob ein Programm den Spezifikationen entspricht (z. B. math. Hoare-Kalkül über den Quellcode). Fehlerfreiheit kann dabei nicht festgestellt werden.

24
Q

Modultest / unit test

A

(auch Komponententest) häufig durch den Entwickler durchgeführter Test von einzelnen, abgrenzbaren Teilen (Codeabschnitt, Unterprogramm, Unit, Klasse) eines Softwareprogrammes, um die technische Lauffähigkeit und Korrektheit ihrer fachlichen (Teil-)Ergebnisse nachzuprüfen.

25
ISO 9241
„Ergonomie der Mensch-System-Interaktion“, beschreibt die Anforderungen an die Arbeitsumgebung (Hardware, Software, Prozesse) zum Human-centered-design, um Gesundheitsschäden zu vermeiden und den Benutzern die Verwendung zu vereinfachen.
26
Singleton pattern
Zählt zu den Entwurfsmustern (creational pattern), und stellt sicher, dass von einer Klasse genau ein Objekt existiert (Durch einen privaten Konstruktor und eine öffentliche Methode, die eine Instanz der Klasse ausgibt, falls noch keine existiert.), was meist global verfügbar ist.
27
Persona (HCI/MCI)
(dt. Maske, pl. engl. Personas / lat./dt. Personae) Nutzer(-Kreis) zur Analyse der Interaktion mit einer späteren Anwendung. Dazu Erstellen fiktiver Personen, stellvertretend für spätere Anwender, anhand von fundierten Daten (Umfragen, Beobachtungen, Interviews).
28
User Story
(dt. Anwendererzählung) ist eine in alltagssprache formulierte, kurze (1-2 Sätze) Software-Anforderung (z. B. bei XP (Extreme Programming), Scrum, …). Schema: Rolle => Ziel/Wunsch => Nutzen (z. B.: Als Autor (Rolle) möchte ich nach dem Start mein zuletzt bearbeitetes Dokument sehen (Ziel/Wunsch), um Zeit zu sparen (Nutzen).). Mit mehreren User Stories erst in die Breite gehen und dann in die Tiefe.
29
Observer Pattern
(auch listener pattern, dt. Beobachtermuster) ist ein Verhaltensmuster (engl. behavioral pattern) und dient der Weitergabe von Änderungen an einem Objekt an von diesem abhängige Strukturen. Push, Push-Update oder Pull Notification (informieren und abholen lassen, informieren und liefern oder nachfragen und abholen).
30
NoSQL
(Not Only SQL) bezeichnet Datenbanken, die einen nicht-relationalen Ansatz verfolgen. Sie benötigen keine festen Tabellenschemata, versuchen JOINs zu vermeiden und skalieren horizontal (mehr Knoten, im Gegensatz zu vertikal => mehr Ressourcen für einen Knoten). NoSQL ist für viele Schreib-/Leseanfragen geeignet (bei häufig geringer Garantie für Konsistenz).
31
ACID
atomicity, consistency, isolation, durability (Atomarität, Konsistenz, Isolation, Dauerhaftigkeit) Gelten als Vorraussetzungen für die Verlässlichkeit von Systemen, und sind z. B. erwünschte Eigenschaften von Transaktionen in DBMS.
32
A-/B-Test (auch split test)
Testmethode bei der das Original gegen eine leicht veränderte Variante getestet wird, z. B. um eine bestimmte Nutzeraktion zu steigern.
33
Race Condition
(dt. Wettlaufsituation/-Bedingung i. V. m. Race Hazard -> Wettlauf-Risiko) bezeichnet eine Situation, in der das Ergebnis einer Operation vom zeitlichen Verhalten bestimmter Einzeloperationen oder der Umgebung abhängt. (Zwei Signale wettlaufen, um das Ergebnis als erstes zu beeinflussen.)
34
Heisenbug
Ein Fehler, der verschwindet oder sein Verhalten ändert, wenn man versucht ihn zu untersuchen.
35
Semaphor
(alt.-gr. „Signalgeber/-träger“) eine Datenstruktur, bestehend aus einer Ganzzahl und den atomaren Nutzungsoperationen „Reservieren/Probieren“ und „Freigeben“. Zur Verwaltung von Ressourcen, auf die mehrere Prozesse/Threads zugreifen und zur Koordination asynchroner Abläufe. Die Aktivitätsträger, die „reservieren“/„freigeben“ müssen nicht identisch sein (anders als bei Lock bzw. Mutex).
36
Mutex
(mutual exclusion, dt. wechselseitiger Ausschluss) ein Verfahren zur Lösung des kritischen Abschnittes. Um Inkonsistenzen zu verhindern dadurch, dass nebenläufige Prozesse/Threads gleichzeitig genutzte Datenstrukturen unkoordiniert verändern.
37
SPF
Sender Policy Framework (früher Sender Permitted From) soll das Versenden von Emails über nicht legitimierte MTAs (Mail Transfer Agents) verhindern, indem der Domaininhaber im DNS authorisierte IP-Adressen hinterlegt (SPF Records).
38
DKIM
DomainKeys Identified Mail, stellt sicher, dass eine Email unverändert vom authorisierten Absender stammt, durch Signierung der gesendeten Email mit einem PrivateKey und Überprüfung mit dem PublicKey.
39
Conways Law
Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.
40
Wirth‘s Law (Wirthsches Gesetz)
(Von Niklaus Wirth aus „A Plea for Lean Software“) 1. Software is getting slower more rapidly, than hardware becomes faster. 2. Software expands to fill the available memory.
41
Cargo-Kult (Cargo Cult)
Oberflächliche Nachahmung äußerlicher Darstellungen und Handlungsweisen erfolgreicher Menschen in Erwartung von Reichtum, Ansehen und Erfolg.
42
never roll your own crypto
Period!
43
never roll your own crypto
Period!