Touch of Class - Vocabulary
Term (English) Term (Deutsch) Definition (English) Definition (Deutsch)Chapter 1Communication device
Kommunikationsgerät Interface between the computer and the outside world
Schnittstelle zwischen Computer und Aussenwelt
Correct Korrekt Programs that produce the expected result
Programme, die das erwartete Ergebnis liefern
Dynamic Dynamisch Properties that characterize an individual execution Static
Eigenschaften, die eine individuelle Ausführung kennzeichnen Statisch
Hardware Hardware Computers and related devices Computer und verwandte GeräteMemory Speicher Device for storing and retrieving data
and programsGerät, dass Daten und Programme speichert
Processor Prozessor Part of the computer that performs operations
Teil des Computers, das Operationen ausführt
Reusable Wiederverwendbar Program elements that can be used for a similar problem
Programmteile, die später für ähnliche Probleme eingesetzt werden können
Source Quelle / Quelltext Human readable form of a program programming language
Lesbare Form eines Programmes Programmiersprache
Terminal Terminal Video display or output Anzeigegerät / AusgabegerätCompiler Compiler Transform source into an processor
executable formTransformieren Quelltext in eine vom Prozessor ausführbare Form
CPU CPU Central Processing Unit Processor Zentralprozessoreinheit ProzessorEmbedded Eingebaut Computers included in other products In anderen Produkten enthaltene ComputerInformation Information Data interpreted for human purposes
dataFür Menschen benutzbare Interpretationen von Daten Daten
Output Ausgabe Computer to outside world Computer nach aussenProgrammer Programmierer Person who writes a Program Person, die Software schreibtRobust Robust Software should protect itself against
unexpected inputSoftware sollte sich gegen unerwartete Eingaben selbst schützen
Static Statisch Properties of a program (source code) that can be analysed by a compiler
Bestandteile eines Programmes (Quelltext), das von einem Compiler analysiert werden kann Compiler
compilerUser Benutzer Person who runs Software on a
ComputerPerson, die Software auf dem Computer ausführt
Computer Computer Device with memory and processor Gerät mit Speicher und ProzessorData Daten Collections of symbols held in a
computerSammlung von Symbolen die in einem Computer gespeichert sind
Extendible Erweiterbar Programs should be that; easy to change
Programme sollten so sein; einfach zu ändern
Input Eingabe Outside world to computer Eingabe in den ComputerPersistence (memory)
Persistenz(Speicher)
Memory that keeps its data after powering off
Speicher, der seine Daten beim ausschalten behält
Programming language
Programmiersprache Notations of a Program that are designed for human consumption
Für Menschen ausgelegte Notation eines Programmes
Software Software Programs and everything related to them
Programme und alles was dazu gehört
Target Ziel Target-Form of a Program, made by the compiler from source
Ziel Form einer Software, vom Compiler aus dem Quelltext gemacht
Chapter 2Argument Argument A value that we pass to a function Ein Wert, den wir einer Funktion übergebenDeclaration Deklaration Part of a class that describes a function Teil einer Klasse, der die Funktion beschreibtIndentation Einrückung Distance from the left side to the actual
text; Style/formatting elementDistanz von der linken Seite bis zum eigentlichen Text;Stil- und Formatierungselement
Class Klasse A program element; abstract model or building plan of a collection of similar objects
Ein Programmelement; Abstraktes Modell oder Bauplan einer Sammlung von ähnlichen Objekten
Feature Funktion An operation that programs may apply to an object
Eine Operation, die auf ein Objekt ausgeführt werden kann
Object Objekt Software machine allowing programs to access and modify a collection of data
Software-Maschine die es erlaubt, dass Programme auf eine Datensammlung zugreifen und sie verändern können
Command Kommando Feature that may change an object Funktion, das ein Objekt verändern kannFeature call Funktionsaufruf Execution of a feature (command or
query)Ausführung einer Funktion (Kommando oder Abfrage)
Query Abfrage Feature that may access an object Funktion, die auf ein Objekt zugreifen kannChapter 3Abstract Syntax tree (AST)
Abstrakter Syntaxbaum Tree structure of the program excluding keywords without a delimiting role
Baumstruktur eines Programmes ohne Schlüsselwörter, die keine Rolle als Delimiter haben
Code Code Text in some programming language Text in einer ProgrammierspracheExpression Ausdruck A value used by an instructor for its
executionEin Wert, der von einer Instruktion für die Ausführung gebraucht wird
Identifier Kennung/Bezeichnung Identify/Name for an Element/Value terminal
Identifikation/Name für ein Element/Wert Terminal
Leaf Blatt A node with no outgoing branch Ein Knotenpunkt ohne ausgehenden AstNesting Verschachtelung Embedding specimens within other
specimensExemplare in anderen Exemplaren verschachteln/einbinden
Nonterminal Nicht abschliessend Root or internal node, elements that do not end the tree
Wurzel oder interner Knotenpunkt, Elemente, die den Baum nicht beenden
Semantics Semantik Set of properties of a program for its potential executions
Set von Eigenschaften eines Programmes für seine potentiellen Ausführungen
Syntax Syntax Structure and form of a program’s text Struktur und Form von einem ProgrammtextTree Baum Graphical representation / notion for a
structureGraphische Repräsentation / Notation einer Struktur
Break Pause/Absatz Sequence of separation characters used to separate adjacent tokens
Sequenz von Separationszeichen, um zusammenhängende Kürzel zu separieren
Construct Konstrukt Element of the grammar describing a certain category of possible syntax elements
Element der Grammatik, das eine bestimmte Kategorie von Syntaxelementen beschreibt
Free format language
Freiformatsprache Flexible structure to layout the text of a programming language without affecting syntax and semantics
Flexible Struktur, um das Layout eines Textes einer Programmiersprache zu strukturieren ohne Semantik und Syntax zu ändern
Instruction Instruktion Basic operations that we instruct our computer to execute during runtime
Basisoperationen, die wir unserem Computer zur Ausführung während der Laufzeit geben
Lexical Lexikalisch Rules that define how to make up tokens out of characters
Regeln, die definieren, wie Kürzel aus Zeichen gebildet werden müssen
New line Neue Linie/Zeile One character representing the new line
Ein Zeichen, das eine neue Linie/Zeile repräsentiert
Operator Operator Mathematical operators Token Mathematische Operatoren TokenSpecial symbol Spezialsymbol Delimiter DelimiterTerminal Terminal Token with semantics such as
identifiers, operators etc.Zeichen/Kürzel mit Semantik, wie Bezeichner, Operatoren usw.
Value Wert What information are made of Woraus Informationen gemacht sindCarriage return Wagenrücklauf New Line Neue Linie/ZeileDelimiter Delimiter Purely syntactic elements without any
semantics TokenRein syntaktische Elemente ohne Semantik Kürzel
Grammar Grammatik Description of the syntax of a programming language
Beschreib der Syntax einer Programmiersprache
Internal node Interner Knotenpunkt A node that is neither a root nor a leaf Ein Knoten der weder eine Wurzel noch ein Blatt istNatural language Normale Sprache Spoken languages, like English Gesprochene Sprachen wie DeutschNode Knoten(punkt) Points at which a tree may branch
furtherPunkte an denen sich ein Baum weiter verästeln kann
Root Wurzel A node with no incoming branch Ein Knotenpunkt ohne eingehenden AstSpecimen Exemplar Instance of a construct, a syntax
elementInstanz eines Konstrukts, ein Syntaxelement
Token Kürzel/Zeichen Basic elements such as terminals, keywords and special symbols
Basiselemente wie Terminals, Schlüsselwörter und spezielle Symbole
Chapter 4API API Abstract Program Interface Abstraktes Programminterface; SchnittstelleBoolean Wahr/Falsch-Wert Type of value that can only be true or
falseTyp von Wert, der nur wahr oder falsch sein kann
Client Klient System of any kind that uses the software
System irgendeiner Art, das die Software benutzt/bedient
Generating class Erstellende Klasse The class of which an object is instantiated
Die Klasse, von der ein Objekt instanziiert wurde
Instance Instanz Object of a certain class Generating class
Objekt einer bestimmten Klasse Erstellende Klasse
Postcondition Nach-Bedingung Condition that must hold at the end of a feature
Kondition, die am Ende einer Funktion stimmen muss
Software design Softwaredesign
User interface Benutzeroberfläche Interface where clients are people Schnittstelle wo die Klienten Leute sindAssertion Aussage/Zusicherung Part of a contract clause that expresses
a propertyTeil einer Vertragsklausel, der eine Eigenschaft ausdrückt
Bug Fehler A mistake leading to faulty software Ein Fehler, der zu fehlerhafter Software führtClient Programmer Klient-Programmierer A programmer who is using another
programmers classesEin Programmierer, der Klassen eines anderen Programmierers benutzt
GUI Graphische Nutzeroberfläche User interface; graphical Benutzeroberfläche; graphischInterface Interface Description of techniques, enabling
clients to use these mechanismsBeschreibung von Techniken, die den Klienten erlauben, diese Mechanismen zu verwenden
Precondition Vor-Bedingung Condition that must hold before making a feature call
Bedingung, die zutreffen muss, bevor eine Funktion aufgerufen wird
Supplier Versorger The software mechanism used by its clients
Ein Software-Mechanismus, der von seinen Klienten benutzt wird
Assertion tag Aussage-tag/Zusicherung Tags/Identifiers used for an Assertion Kürzel/Kennung, die für eine Aussage/Zusicherung benutzt wird
Class invariant Klassen-Invariante Condition that must hold as soon as an object of a class is instantiated and also before and after the execution of any of the class features
Kondition, die zutreffen muss, sobald ein Objekt einer Klasse generiert wurde und auch bevor und nach jedem Aufruf einer Funktion
Contract Vertrag Is a specification of properties of a software element that affect its use by potential client
Ist eine Spezifikation von Eigenschaften eines Softwareelements, das die Benutzung durch Klienten betrifft
Implementation Implementierung The details/methods of a program/function
Die Details/Methode eines Programms / einer Funktion
Library Bibliothek Collection of software elements (not a software themselves) but provide functionalities
Sammlung von Softwareelementen (kein Programm selbst), die aber Funktionalitäten bereitstellt
Program interface Programmschnittstelle Interface for clients that are themselves software elements
Schnittstelle für Klienten die selbst Softwareelemente sind
Type Typ (Werte-Typ) Type/Class of an Identifier/Argument; Examples: INTEGER, STRING, BOOLEAN
Typ/Klasse eines Bezeichners/Arguments; Beispiele:INTEGER, STRING, BOOLEAN
Chapter 5Antecedent Bedingungsteil The first operand of an implies- Der erste Operand eines Folgerungs-Ausdruckes
expressionBoolean operator Boolescher Operator Operator that works with Boolean
valuesOperator, die mit booleschen Werten arbeiten
Consequent Folgerungsteil The second operand of an implies-expression
Der zweite Operand eines Folgerungs-Ausdruckes
Existential quantifier
Existenzquantor If at least one of the set satisfies the property
Wenn mindestens einer des Sets die Eigenschaft erfüllt
Negation Negation Changing the value to the opposite, true becomes false, false becomes true
Der Wert wird zum Umgekehrten geändert, wahr wird falsch und falsch wird wahr
Propositional calculus
Aussagekalkül Part of logic that deals with basic propositions, which can be true or false
Teil der Logik, der mit Basisaussagen arbeitet, die entweder wahr oder falsch sein kann
Satisfies Erfüllt When a certain truth assignment results as true for an expression truth assignment
Wenn eine gewisse Wahrheitszuweisung für einen Ausdruck in wahr resultiert Wahrheitszuweisung
Tautology Tautologie Boolean expression that is true for all truth assignments truth assignment contradiction
Boolescher Ausdruck der für alle Wahrheitszuweisungen wahr ist Wahrheitszuweisungen Widerspruch
Universal quantifier Universalquantor If all elements of the set satisfy the property
Wenn alle Elemente des Sets die Eigenschaft erfüllen
Boolean value Boolescher Wert Value that is either true or false Wert der entweder wahr oder falsch istBoolean variable Boolesche Variable An identifier denoting a Boolean value Bezeichner, der einen boolescher Wert kennzeichnetContradiction Widerspruch Boolean expression that is false for all
truth assignments truth assignment tautology
Boolescher Ausdruck der für alle Wahrheitszuweisungen falsch ist Wahrheitszuweisungen Tautologie
Implication Folgerung (not a) or b. When A is true, B is true (to make the expression true)
(nicht a) oder b. Wenn A wahr ist, dann ist auch B wahr (um den Ausdruck wahr zu machen)
Opposite Gegenteil The result of a negation, true and false are swapped
Das Resultat einer Negation, wahr und falsch werden vertauscht
Quantifier Quantifikator Expressions that describe the application of a property to a set of objects
Ausdrücke, die die Anwendung von Aussagen auf ein Set von Objekten beschreibt
Strict Strikt If an operator insists on having both variables defined before producing a
Wen nein Operator beide Variablen definiert haben will, bevor es ein Resultat gibt
resultTruth assignment Wahrheitszuweisung A particular choice of values (True or
False) for each variableEine Wahl von Werten (Wahr oder Falsch) für jede Variable
Weaker Schwächer If b is stronger than a (a is weaker) stronger
Falls b starker ist als a (a ist schwächer) stärker
Boolean expression Boolescher Ausdruck An expression made out of Boolean operators, Boolean constants and Boolean variables
Ein Ausdruck aufgebaut aus booleschen Operatoren, booleschen Konstanten und booleschen Variablen
Conjunction UND-Verknüpfung AND-operator UND-VerknüpfungDisjunction ODER-Verknüpfung OR-operator ODER-VerknüpfungLogic Logik The basis of mathematics, machinery
behind the human aptitude to reasonDie Basis der Mathematik, Maschinerie hinter der menschlichen Fähigkeit zu begründen
Predicate calculus Prädikatenkalkül Part of logic that deals with a set of properties
Teil der Logik, der mit einem Set von Aussagen arbeitet
Satisfiable Erfüllbar If an expression is true for at least one truth assignment
Falls ein Ausdruck für mindestens eine Wahrheitszuweisung wahr ist
Stronger Stärker If a implies b is a tautology (a is stronger)
Falls a impliziert b eine Tautologie ist (a ist stärker)
Truth table Wahrheitstabelle Table that specifies the meaning of a Boolean operator
Tabelle, welche die Bedeutung eines booleschen Operators spezifiziert
Chapter 6Alias Alias Operator alias Operator AliasCurrent object Aktuelles Objekt Object that the software is currently
working onObjekt, auf dem momentan gearbeitet wird
Exception Ausnahme/Fehler An abnormal event occurring during program execution Failure
Ein nicht normales Ereignis, das während der Programmausführung auftritt Fehler
Library Bibliothek Group of classes designed for reusability reusability
Gruppe von Klassen, die für Wiederverwendung gemacht sind Wiederverwendung
Pseudocode Pseudocode Informal text standing for program elements to be added later.
Informaler Text, der als Platzhalter für Programmelemente steht, die später hinzugefügt werden sollen
Reusable Wiederverwendbar Reusability WiederverwendungRoot creation Wurzel-Erstellungsprozedur A designated creation procedure of a Eine vorgesehene Erstellungsprozedur einer Wurzelklasse
procedure root class root class WurzelklasseUnqualified call Unqualifizierter Aufruf If a feature call does not list a target
object feature callWenn ein Funktionsaufruf kein Zielobjekt nennt Funktionsaufruf
Attached Angeheftet When a value of an entity represents an object
Wenn ein Wert eines Datensatzes ein Objekt repräsentiert
Detachable Ablösbar A type that allows void reference Ein Typ, der null-Referenz zulässtExtendibility Erweiterbarkeit The ease with which it will be possible
to adapt a systemDie Einfachheit mit der es möglich sein wird, ein System zu ändern
Main program Hauptprogramm Old view of software engineering; Program consisting of many subprograms instead of using more dynamical libraries reusability
Alte Sicht der Softwareentwicklung; Programm, das aus vielen Unterprogrammen besteht statt der Benutzung von dynamischeren Bibliotheken Wiederverwendbarkeit
Qualified call Qualifizierter Aufruf If a feature call explicitly lists the target object feature call
Wenn ein Funktionsaufruf explizit das Zielobjekt nennt Funktionsaufruf
Reusability Wiederverwendung Class with features of general interest, that can be used in other systems
Klasse mit Funktionen von generellem Interesse, die in anderen Systemen verwendet werden können
Void reference Null-Referenz When a reference is not attached to any object reference
Wenn eine Referenz keinem Objekt angeheftet ist Referenz
Creation procedure Erstellungsprozedur Procedures that create an object from a class and ensure that they satisfy the invariant
Prozeduren, die ein Objekt einer Klasse generieren und sicherstellen, dass die Invariante erfüllt ist
Entity Datensatz/Variable/Entität Identifier that denotes a run-time value (such as objecs)
Kürzel, der einen Laufzeit-Wert kennzeichnet (z.B. Objekte)
Failure Fehler Result of an exception, which can be cause by a void call (for example) void-safe
Resultat einer Ausnahmebedingung/Fehlers, der z.B. durch einen Null-Aufruf ausgelöst werden kann Void-sicher
Operator alias Operator Alias Syntactic replacement/alias for a certain operation
Syntaktischer Ersatz/Alias für eine bestimmte Operation
Reference Referenz A reference/relationship between an entity and object
Eine Referenz/Beziehung zwischen einem Datensatz und einem Objekt
Root class Wurzelklasse The main class of a system/program Die Hauptklasse eines Systems/ProgrammsRoot object Wurzelobjekt An instance of the root class root
classEine Instanz der Wurzelklasse Wurzelklasse
Void-safe Void-sicher The compiler can guarantee that no system it accepts can produce any void call
Der Compiler kann garantieren, dass kein System, das es akzeptiert, Null-Aufrufe machen kann
Chapter 7Algorithm Algorithmus The specification of a process acting on
a (possibly empty) set of dataDie Spezifikation eines Prozesses, der auf einem (möglicherweise Leeren) Daten Set arbeitet
Concurrent Gleichzeitig Algorithms that specify certain steps of a set of actions to be executed in parallel
Algorithmen, die gewisse Schritte einer Menge von Aktionen parallel ausführen lassen
Control structure Kontrollstruktur A program construct affecting the control flow
Eine Programmstruktur, die den Kontrollfluss steuert
Control flow Kontrollfluss The scheduling of a program’s operations during execution
Der Ablauf der Operationen eines Programmes während der Ausführung
Indirection Umweg Branching to an address obtained from a memory location
Zu einer Adresse abzweigen, die von einem Speicherort erhalten wurde
Jump table Sprungtabelle Implementation for Multi-branch, with which not every condition has to be evaluated in sequence
Implementation von Multi-Abzweigung, bei der nicht jede Kondition sequentiell ausgewertet werden muss
Loop variant Loop Integer expression with a value that is monotonically decreased under some invariant conditions, ensuring the termination of the loop
Integer-Ausdruck mit einem Wert, der monoton fallend ist, unter Invariant-Bedingungen, um das Beenden einer Schleife sicher zu stellen
Preserve Erhalten If a property is satisfied at the beginning and ending of an execution
Wenn eine Eigenschaft am Anfang und am Ende einer Ausführung erfüllt ist
Unconditional branching
Unkonditionale Abzweigung An instruction that transfers control to the instruction found at a given location in memory
Eine Instruktion, welche die Kontrolle auf eine Instruktion in einem bestimmten Bereich des Speichers übergibt
Branching instruction
Abzweigungs-Instruktion Goto structure – should not be used anymore
Goto-Struktur, sollte heute nicht mehr benutzt werden
Conditional Konditional Control structure that is partitioning the set of possible initial situations in two or more disjoint domains
Kontrollstruktur, welche eine Menge von möglichen ursprünglichen Situationen in zwei oder mehr getrennte Bereiche unterteilt
Cursor Zeiger A virtual marker used to iterate Ein virtueller Marker, der zum iterieren verwendet wird
Iterate Iterieren To perform an operation on each element of a data structure
Eine Operation auf jedes Element einer Datenstruktur anwenden
Loop Schleife Control structure that is repeating it’s body (until a solution is found – or not)
Kontrollstruktur, die ihre Instruktionen / ihren Rumpf wiederholt (bis zur Lösung – oder nicht)
Overspecification Überspezifizierung Solution that is not the most general possible one
Lösung, die nicht die generellste mögliche ist
Sequence Sequenz Multiple instructions that follow after each other
Mehrere Instruktionen hintereinander
Compound Verbund A sequence of zero or more instructions Eine Sequenz aus null oder mehr InstruktionenConditional branching
Konditionale Abzweigung Transfer control to a specified location if two specified values are equal, otherwise proceed to the next instruction
Die Kontrolle auf einen bestimmten Ort übertragen, falls zwei spezifizierte Werte gleich sind, ansonsten wird mit der nächsten Instruktion fortgefahren
Flowchart Flussdiagramm Graphical representation of the control flow (of a program)
Graphische Repräsentation eines Kontrollflusses (eines Programmes)
Iteration of a loop Schleifen-Schritt Execution of the loop body Ausführung des SchleifenrumpfesLoop invariant Schleifen-Invariante Invariant that has to be ensured by the
loop initialization and be preserved by the loop body
Invariante, die durch die Schleifen-Initiierung sichergestellt werden muss und danach durch den Schleifenrumpfs erhalten bleiben muss
Parallel Parallel Simultaneously running instructions Zeitgleich ablaufende InstruktionenSpace-time tradeoff Raum-zeit Kompromiss Principle/approach of getting faster
execution time by sacrificing some memory to store a jump table
Prinzip, schnellere Ausführungszeiten zu erhalten, in dem man etwas Speicher für eine Sprungtabelle opfert
Chapter 8Actual argument Eigentliches Argument Arguments passed to a routine by the
callerArgumente, die vom Aufrufer der Routine übergeben werden
Declaration Deklaration Describes the properties of a routine, also called implementation
Beschreibt die Eigenschaften einer Routine, wird auch Implementierung genannt
Functional abstraction
Funktionelle Abstraktion Abstraction of an algorithm, to describe the abstractions behind an algorithm
Abstraktion eines Algorithmus, um die Abstraktion hinter einem Algorithmus zu beschreiben
Information hiding Informationen verstecken / Geheimnisprinzip
Technique of presenting client programmers only an interface of a software element
Technik, einem Klient-Programmierer nur ein Interface eines Software-Elements zu präsentieren
Routine Routine Subprogram, functions, procedures: software element denoting a certain set of operations
Unterprogramme, Funktionen, Prozeduren: Software-Element, das ein bestimmtes Set von Operationen bezeichnet
Body Rumpf The do-clause of a routine, in which the instructions happen
Die do-Klausel einer Routine, in welcher die Instruktionen passieren
Formal argument Formelles Argument Arguments that appear in the signature (no actual values)
Argumente, die in der Signatur stehen (keine eigentlichen Werte)
Implementation Implementation Actual set of instructions of a routine, often hidden to the client-programmer information hiding
Eigentliches Set von Instruktionen einer Routine, oftmals dem Klient-Programmierer verborgen Informationen verstecken
Placeholder routine Platzhalter-Routine Routine to replace pseudo code prior to actually implementing the routine
Routine, die den Pseudocode ersetzt, bevor man die Routine als solches implementiert
Signature Signatur List of the formal arguments and their types
Liste der formellen Argumente und deren Typen
Data abstraction Datenabstraktion Notion of class to describe the abstraction behind our program’s data – objects
Idee von Klassen, die Abstraktion hinter den Daten unserer Programmen zu beschreiben, also Objekte
Function Funktion Computes a certain value by performing actions
Berechnet einen Wert durch das Ausführen von Aktionen
Incremental compilation
Inkrementelles Compilieren Principle of only recompiling the classes that have been changed, plus all depending classes
Prinzip, nur die Klassen neu zu kompilieren, die auch geändert wurden, plus alle abhängenden Klassen
Procedure Prozedur Performs certain actions, as opposed to functions which also return a result
Führt gewisse Aktionen aus, anders als Funktionen, die auch einen Wert zurück geben
Chapter 9Assignment Belegung / Zuweisung The instruction that allows us to change
the value of a variableDie Instruktion, die uns erlaubt, den Wert einer Variable zu ändern
Reserved word Reserviertes Kürzel An identifier that has a special role in the programming language and may not be used to denote elements
Ein Identifikator, der eine spezielle Rolle in der Programmiersprache hat und nicht für die Bezeichnung von Elementen verwendet werden darf
Temporary variable Temporäre Variable A local variable only used for narrow, immediate purpose
Eine lokale Variable, die nur für begrenzte, unmittelbare Verwendung gedacht ist
Attribute Attribut A Field that belongs to an object, can Ein Feld, das zu einem Objekt gehört, kann auch als Abfrage
also be seen as query from memory (without computation)
vom Speicher (ohne Berechnung) gesehen werden
Variable entity Variable Entity Entity whose associated value may change during execution
Entity, dessen verknüpfter Wert während der Ausführung geändert werden kann
Local variable Lokale Variable An entity, local to a routine and introduced by the keyword local
Ein Entity, das lokal in einer Routine existiert und mit dem Schlüsselwort “local” eingeführt wurde
Variable Variable local variables and attributes lokale Variablen und AttributeCommand Befehl Feature that returns no result but is
able to modify the target objectFeature, das kein Resultat zurückgibt, jedoch das Zielobjekt verändern kann
Procedure Prozedur Routine without a returning result, a feature with computation command
Eine Routine ohne Rückgabewert, ein Feature mit Berechnung Befehl
Query Abfrage Feature/Function that returns a result but is not able to modify the target object (with computation)
Feature, das ein Resultat zurückgibt, jedoch das Zielobjekt nicht verändern kann (mit Berechnung)
Routine Routine A feature that involves computation Eine Funktion, die Berechnungen beinhaltetChapter 11BNF (Backus-Naur-Form)
BNF (Backus-Naur-Form) Compact, formal meta language to describe context-free grammars, such as syntax of high programming languages
Kompakte, formale Metasprache zum Beschreiben von Kontextfreien Grammatiken, wie Syntax von höheren Programmiersprachen
Terminals Terminale Symbols of the language which are not a production of the grammar, like keywords or symbols
Zeichen der Sprache, die nicht durch eine Produktion der Grammatik definiert sind, wie Schlüsselwörter oder Symbole
Nonterminals Nonterminals Names of syntactic structures or substructures that are being used to create phrases
Namen von syntaktischen Strukturen oder Unterstrukturen, die benutzt werden, um Phrasen zu erstellen
Defining production Definierende Produktion The production of a nonterminal in which the nonterminal is on the left side (and is unique)
Die Produktion eines Nonterminals auf der das Nonterminal auf der linken Seite auftritt (ist eindeutig)
Lexical grammar Lexikalische Grammatik The syntax of tokens, the rule how a character sequence is divided up into subsequences
Die Syntax von Kürzeln, die Regel wie eine Zeichenkette in Unterketten aufgeteilt wird
Productions Produktionen Rules which define the nonterminals of Regeln, die durch eine Kombination von Terminalen und
another grammar through a combination of terminals and (other) nonterminals
(anderen) Nonterminalen die Nonterminale einer Grammatik definieren
Top construct Oberes Konstrukt A nonterminal describing the top-level structures, such as classes of the language
Ein Nonterminal, dass den obersten Level einer Struktur beschreibt, wie Klassen einer Sprache
Choice production Wahlproduktion One or more constructs separated by vertical bars (choices)
Eine oder mehr Konstrukte, die durch vertikale Balken abgetrennt sind (Auswahl)
Grammar Grammatik Specifies which sequences belong to the language and which not. Therefore it is a finite set of rules for producing, from a vocabulary, sequences of tokens
Spezifiziert, welche Sequenzen zur Sprache gehören und welche nicht. Es ist also eine endliche Menge an Regeln für die Produktion, von einem Vokabular ausgehend, von Sequenzen von Kürzeln
Metalanguage Metasprache A language serving to describe other languages, such as programming languages
Eine Sprache die dazu dient, andere Sprachen, wie Programmiersprachen, zu beschreiben
Recursive grammar Rekursive Grammatik Grammar appearing to define a concept in terms of itself (directly or indirectly)
Grammatik, die ein Konzept in Bedingungen ihrer selbst definiert (direkt oder indirekt)
Vocabulary Vokabular Basic tokens for a certain language Basiskürzel einer bestimmten SpracheConcatenation production
Verkettete Produktion Zero or more constructs in a certain order, some possibly enclosed in brackets (optional constructs)
Null oder mehr Konstrukte in einer bestimmten Ordnung, manche möglicherweise in Klammern (optionale Konstrukte)
Lexical construct Lexikalisches Konstrukt Terminal constructs such as Identifier and Integer, for which the BNF does not provide a production
Terminalkonstrukte wie Identifikatoren und Ganzzahlen, für welche BNF keine Produktion hat
Repetition production
Wiederholte Produktion Production that lists two constructs on the right. One a nonterminal to be repeated and the other, usually a terminal, serving as separator
Produktion die zwei Konstrukte auf der rechten Seite auflistet. Eines ist ein Nonterminal, welches wiederholt werden soll, und das andere, normalerweise ein Terminal, als Separator
Chapter 13Abstract complexity Abstrakte Komplexität Measure of algorithm complexity, also
known as asymptotic complexity, “Big-O-notation”.
Messung der Komplexität von Algorithmen, auch bekannt als asymptotische Komplexität, „Gross-O-Notation“
Array Array Data structure allowing random access Datenstruktur, die Zufallszugriffe mit Indexen erlaubt
by indexesCorrectness Korrekt If a valid program will always execute in
the desired behaviour and never cause a contract violation or other run-time errors
Wenn ein gültiges Programm immer das gewünschte Verhalten bei der Ausführung zeigt und nie Verträge verletzt oder Laufzeitfehler verursacht
Dynamic typing Dynamische Typisierung Alternative to static typing with which the type declarations would be forsaken and everything gets then checked at runtime
Alternative zur statischen Typisierung, bei welcher die Typendeklarationen vergessen werden und dann alles zur Laufzeit geprüft wird
Generic class Generische Klasse Class with one or more generic parameters
Klasse mit einem oder mehreren generischen Parametern
Hash table Hashtabelle Index structure using a list of keys generated by the hash function hash function
Indexstruktur die eine Liste von Schlüsseln verwendet, die von einer Hashfunktion generiert wurden Hashfunktion
Hash function Hashfunktion Function that maps a set K of possible keys into some integer interval a..b Hash table
Funktion, die ein Set K von möglichen Schlüsseln auf ein Integer-Interval a..b abbildet Hashtabelle
LIFO (Last-In First-Out)
Zuletzt rein zuerst raus Choose the item inserted most recently Stack
Das zuletzt eingefügte Item verwenden Stack
Priority queue Prioritätsschlange Dispenser structure that returns items with the highest priority first
Austeilerstruktur, die zuerst die Items mit der grössten Priorität zurückgibt
Stack Stapel A dispenser applying a LIFO policy LIFO
Ein Austeiler, der nach LIFO funktioniert LIFO
Activation record Aktivierungssatz Record containing all local variables and arguments
Datensatz der alle lokalen Variablen und Argumente enthält
FIFO (First-In First-Out)
Zuerst rein zuerst raus Choose the oldest item not yet removed Queue
Das älteste noch nicht entfernte Item wählen Schlange
Generic derivation Generische Ableitung A type obtained by providing actual generic parameters to a generic class
Ein Typ der dadurch erhalten wird, dass effektive generische Parameter einer generischen Klasse gegeben werden
Heap Haufen Structure containing all the objects allocated through “create” instructions or equivalent
Struktur, die alle Objekte welche durch „create“ Instruktionen oder gleichwertigen bereitgestellt werden
List Liste Container keeping elements in a certain Container, der die Elemente in einer bestimmten Ordnung
order, also called sequence halt, auch Sequenz genanntQueue Schlange A dispenser applying FIFO policy FIFO Ein Austeiler, der nach FIFO funktioniert FIFOStatic typing Statische Typisierung Policy that type properties are specified
in the program text, and so can be enforced at compile time
Grundsatz, dass Typeneigenschaften im Programmtext spezifiziert werden und somit beim kompilieren erzwungen werden können
Actual generic parameter
Eigentlicher generischer Parameter
The type actually passed to a generic class (to get the derivation)
Der Typ, der letztendlich einer generischen Klasse übergeben wird (um die Ableitung zu erhalten)
Complexity Komplexität Properties of an algorithm such as efficiency, performance (execution time and storage space)
Eigenschaften eines Algorithmus, wie Effizienz, Performance (Ausführungszeit und Speicherverwendung)
Dispenser Austeiler Structures from which we can retrieve items but not choose which one
Strukturen bei denen man Items erhalten kann, jedoch keine Wahl hat, welches
Formal generic parameter
Formeller generischer Parameter
Denotes a type, so that within a generic class it is possible to use it for declarations (for example “G” but there may be others)
Bezeichnet ein Typ, so dass es in einer generischen Klasse möglich ist, diesen für Deklarationen o.ä. zu verwenden (zum Beispiel „G“, es könnten auch andere sein)
Genericity Generizität The idea of using a single class but parameterize it so that it can support many types without reprogramming
Idee, eine einzige Klasse zu verwenden, sie aber so zu parallelisieren, dass man viele Typen ohne neue Programmierung unterstützen kann
Linked list Verknüpfte Liste A list in which the elements are linked Eine Liste, in der die Elemente verknüpft sindParameter Parameter The type that we pass to a generic class Den Typ, den wir einer generischen Klasse überreichenRun-time stack Laufzeitstapel Stack containing the activation records
for all currently active routinesStapel, der alle Aktivierungssätze für alle momentan aktiven Routinen beinhaltet
Validity Gültig If a program satisfies all the type rules and other static consistency rules of the language
Wenn ein Programm alle Typenregeln und andere statische Konsistenzregeln der Sprache erfüllt
Chapter 14Activation Aktivierung Concept of instances for routines (like
Objects)Konzert von Instanzen für Routinen (wie bei Objekten)
Backtracking Backtracking / Rücksetzverfahren
Problem solving method that works with trial-and-error by trying a path until it reaches a dead-end and then goes backwards and tries another path
Problemlösungsmethode, die mit Versuch-und-Fehler arbeitet, indem ein Pfad versucht wird, bis eine Sackgasse erreicht wird, dann rückwärts und es wir ein anderer Pfad versucht
Depth-first Tiefensuche Traversals that go as deep as possible into a subtree before trying other nodes
Traversale die zuerst so tief wie möglich in einen Teilbaum gehen, bevor andere Knoten versucht werden
Inorder Symmetrische Reihenfolge Traverse left subtree, visit root, traverse right subtree Binary tree
Linker Teilbaum, Wurzel, rechter Teilbaum Binärbaum
Preorder Hauptreihenfolge Visit root, traverse left, traverse right Binary tree
Wurzel, linker Teilbaum, rechter Teilbaum Binärbaum
Postorder Nebenreihenfolge Traverse left, traverse right, visit root Binary tree
Linker Teilbaum, rechter Teilbaum, Wurzel Binärbaum
Recursive definition Rekursive Definition A definition for a concept is recursive if it involves one or more instances of the concept itself
Eine Definition eines Konzeptes ist rekursiv, falls es eine oder mehr Instanzen vom Konzept selbst involviert
Activation record Aktivierungssatz Data Structure representing a routine execution context
Datenstruktur, die einen Routinenausführungskontext repräsentiert
Binary tree Binärer Baum A finite set (over G) of items called nodes, each containing a value of type G.
Eine endliche Menge (über G) von Items, die Knoten genannt werden, und selbst wieder ein Wert des Typs G enthalten.
Binary search tree Binärer Suchbaum Binary tree such that for any subtree of root item value r, le < r and ri > r
Binärer Baum, bei dem für alle Teilbäume des Wurzel-Item-Wertes r gilt, le < r und ri > r
Direct recursion Direkte Rekursion A feature calls itself directly Recursion
Ein Feature ruft sich selbst auf Rekursion
Iterative Iterativ Non-recursive version of a feature that achieves the same results
Nicht-rekursive Version eines Features, das dieselben Resultate liefert
Non-creative Nicht erfinderisch/schöpferisch
Definition that gives a new name for something already existent but all statements can be expressed without it
Definition, die einen neuen Namen für etwas schon existierendes gibt aber alle Anweisungen können ohne sie ausgedrückt werden
Recursion Rekursion Routines that call themselves, directly or indirectly
Routinen, die sich direkt oder indirekt selbst aufrufen
Traversal Traversal / durchqueren An algorithm that performs a certain operation once on every element of a data structure, in a precisely specified order
Ein Algorithmus, der eine bestimmte Operation einmal auf jedes Element einer Datenstruktur ausführt, in einer präzise festgelegten Reihenfolge
Alpha-beta Alpha-beta Optimization of Minimax by skipping the exploration of entire subtrees which
Optimierung von Minimax, indem ganze Teilbäume ausgelassen werden, die sowieso nicht selektiert würden
are not going to be selected anywaysCall chain Aufrufskette State of the computation: a procedure
calls another one and is suspended until the called routine terminates
Zustand der Berechnung: Eine Prozedur ruft eine andere auf und wird dadurch angehalten, bis die aufgerufene Routine fertig ist
Indirect recursion Indirekte Rekursion Multiple Features call each other Recursion
Mehrere Features rufen sich gegenseitig auf Rekursion
Instance (of a routine)
Instanz einer Routine Activation Aktivierung
Minimax Minimax Backtracking strategy, in which with every step, either the lower value is better or the higher one Backtracking
Backtracking Strategie, bei welcher mit jedem Schritt entweder der kleinere oder grössere Wert besser ist Backtracking
Chapter 15Acyclic Azyklisch A relation without cycles Eine Relation ohne ZyklenCycle Zyklus / Kreis A sequence x1, … xm (m ≥ 2) of elements
of A such that all successive pairs [xi, xi+1] for 1 ≤ i < m belong to r (the relation), and xm = x1
Eine Sequenz x1, … xm (m ≥ 2) von Elementenvon A so dass alle aufeinanderfolgenden Paare [xi, xi+1] für 1 ≤ i < m zu r (der Relation) gehören, und xm = x1
Partial order Halbordnung An order relation that is known to be non-total (≤)
Eine Ordnungsrelation die als nicht-total bekannt ist (≤)
Topological sort Topologische Sortierung A total order relation of which r is a subset, given that r is an acyclic relation on a finite set
Eine totale Ordnungsrelation von welcher r eine Teilmenge ist, vorausgesetzt r ist eine azyklische Relation über eine endliche Menge
Antisymmetric Antisymmetrisch x < y or y < x, but never both x < y oder y < x, aber nie beideIrreflexive Irreflexiv x < x holds for no x x < x für kein xTransitiv Transitiv Whenever x < y and y < z, then also x < z Wenn x < y und y < z so ist auch x < zRelation Relation A set of pairs of the form [x, y] where
both elements of the pair (x and y) are members of the set A
Eine Menge von Paaren der Form [x, y] von welchen beide Elemente des Paares (x und y) Elemente der Menge A sind.
Total order Totale Ordnung Order relation in which for any a and b, one of the following holds: [a, b] is in the relation;[b, a] is in the relation; a = b (<)
Ordnungsrelation in welcher für jedes a und b eines der folgenden hält: [a,b] ist in der Relation; [b,a] ist in der Relation; a=b (<)
Binary relation Binäre Relation A relation over a set A (pairs with two Elements)
Eine Relation über eine Menge A (Paare mit zwei Elementen)
Order relation Ordnungsrelation strict order Strikte OrdnungStrict order Strikte Ordnung The relation has to be irreflexive,
transitive and asymmetric for all elements of the set
Die Relation muss irreflexiv, transitive, antisymmetrisch sein für alle Elemente der Menge
Transitive closure Transitiver Abschluss/Hülle The relation r+ containing all pairs of the form [x1, xm] for some sequence of elements x1, … xm (m ≥ 2) such that all [xi, xi+1] pairs for 1 ≤ i < m belong to r
Die Relation r+ welche alle Paare der Form [x1, xm] für einige Sequenzen von Elementen x1, … xm (m ≥ 2) enthält so dass [xi, xi+1] Paare für 1 ≤ i < m zu r gehören
Chapter 16Ancestor Vorfahre The class itself and all previous
inherited classesDie Klasse selbst und alle darüber liegenden vererbten Klassen
Heir Erbe All descendant classes that inherit (directly or indirectly) a class
Alle Nachkommen (Klassen), die direkt oder indirekt von einer Klasse erben
Parent Vorgänger All ancestor classes (directly or indirectly) of a class
Alle Vorfahren (Klassen), die direkt oder indirekt vererbt wurden (von einer Klasse)
Client (of a visit) Klient Application classes that need to apply the new operations on target classes
Anwendungsklassen, welche die neuen Operationen auf Zielklassen anwenden
Deferred feature, class, type
Aufgebschobene Features, Klassen, Typen
If a class has at least one deferred feature,it is a deferred class, a type based on a deferred class is a deferred type
Wenn eine Klasse mindestens ein aufgeschobenes Feature hat, ist e seine aufgeschobene Klasse, ein Typ der auf einer aufgeschobenen Klasse basiert, ist ein aufgeschobener Typ
Downcasting Herunterkonvertieren Forcing a specific type on an object known through a more general type casting
Einen spezifizierten Typ auf ein Objekt zwingen, das durch einen generelleren Typ bekannt ist Konvertierung
Dynamic dispatch Dynamisch abfertigen Dynamic binding Dynamische BindungGeneric constraint Generische Einschränkung Constrain the generic derivation for
classes that conform to the generic parameter
Die generische Ableitung auf Klassen einschränken, welche mit dem generischen Parameter konform sind
Inherited feature Vererbtes Feature A feature of an ancestor Ein Feature eines Vorfahrens“Is-a” relation „ist eine Art von“-Beziehung Principle that if an instance of an
ancestor class is required, a heir class is Prinzip, dass wenn eine Instanz einer Vorfahren-Klasse erwartet wird, auch eine Erben-Klasse erlaubt ist
also allowedObject test Objekt-Test Clause to enforce a type by testing if an
object is of a certain type and enable the use of a local object with the enforced type
Klausel um einen Typ zu erzwingen (durch einen Test ob dieses Objekt auch von dem gewünschten Typ ist) und dann ein lokales Objekt des gewünschten Typs zu erhalten
Parametric polymorphism
Parametrische Polymorphie Genericity Generizität
Polymorphism Polymorphie Principle, that a binding can have different types for the target variable and the source expression
Prinzip, dass eine Bindung unterschiedliche Typen für die Zielvariable und den Quellausdruck haben kann
Assignment attempt
Zuweisungsversuch Obsolet Mechanism to try attaching a target of a certain type to an object Object test
Obsoleter Mechanismus um ein Ziel eines bestimmten Types an ein Objekt anzuhängen Objekt-Test
Conformance Konformität Two reference types (U, T) are conform if they have the same generic parameter (or no generic parameter) and U is a descendant of T (and expanded Types are only conform to themselves)
Zwei Referenztypen (U, T) sind konform, falls sie denselben generischen Parameter haben (oder keinen generischen Parameter) und U ein Nachkomme von T ist (und expandierte Typen sind nur zu sich selbst konform)
Descendant Nachkomme When a class A inherits B (direct or indirect), it is a descendant of B Heir
Wenn eine Klasse A von B (direkt oder indirekt) erbt, ist sie ein Nachkomme von B Erbe
Dynamic binding Dynamisches binden Ensures that every call of a feature calls the feature f for x that fits best (for a call x.f)
Garantiert, dass jeder Aufruf eines Features die geeignetste Version aufruft (für einen Aufruf x.f)
Effect, effective, effecting
Effektiv, wirksam A type or class is effective if it is not deferred.
Ein Typ oder eine Klasse ist Effektiv, wenn sie nicht aufgeschoben ist.
Immediate feature Direktes Feature A feature that has been defined in the class itself and has not been inherited
Ein Feature, das in der Klasse selbst definiert wurde und nicht vererbt ist
Interface (Java, C#) Schnittstellen (Java, C#) Similar to entirely deferred classes in Eiffel, that allow multiple inheritance in Java and C#
Ähnlich wie komplett aufgeschobene Klassen in Eiffel, die mehrfache Vererbung in Java und C# erlauben
Multiple inheritance
Mehrfachvererbung When a class inherits from more than one class
Wenn eine Klasse von mehr als einer Klasse erbt
Object-Test local Objekt-Test lokale A local object with the enforced type within the Object-test scope Object-test
Ein lokales Objekt des gewünschten Typs innerhalb des Objekt-Test Bereiches Objekt-Test
Polymorphic expression
Polymorpher Ausdruck Expression that is binded to an object of another type due to a polymorphic binding
Ausdruck, der in Folge einer polymorphen Bindung zu einem Objekt eines anderen Typs gebunden wird
Precursor Vorfahre The parent version of a redefined feature, can be used as keyword to call the precursor version
Die Vorfahren Version eines redefinierten Features, kann als Schlüsselwort verwendet werden um die Vorfahren Version aufzurufen
Cast Konvertierung Forcing a type on an object known through a different type
Einen spezifizierten Typ auf ein Objekt zwingen, das durch einen generelleren Typ bekannt ist
Constrained genericity
Eingeschränkte Generizität Generic constraint Generische Einschränkung
Double dispatch Zweifache Ausführung Selecting an action on the basis of two criteria, can be achieved by using single dispatch twice
Eine Aktion auf Basis von zwei Kriterien auswählen, was durch zweifache Benutzung von
Dynamic cast Dynamische Konvertierung Downcasting HerunterkonvertierenFlat view Flache Ansicht An artificially reconstructed version of a
class that has all the features, immediate and inherited
Eine rekonstruierte Version einer Klasse, die alle Features, direkte und vererbte, anzeigt
Inheritance Vererbung A way to reuse code of existing classes, or to establish a subclass from an existing class
Ein Weg um Code einer bestehenden Klasse weiter zu verwenden oder eine Unterklasse zu etablieren
Introduce (a feature)
(ein Feature) einführen When a class defines a not inherited feature
Wenn eine Klasse ein nicht vererbtes Feature einführt
Name clash Namenskonflikt Problem that might occur when a class inherits from multiple classes which have features of the same name (requires renaming)
Problem das auftreten könnte, wenn eine Klasse von mehreren anderen Klassen erbt welche Features mit dem gleichen Namen haben (bedingt Umbenennen)
Overriding Überspielen Redefinition RedefinierungPolymorphic data structures
Polymorphe Datenstruktur Container data structure that can contain objects of different types
Container-Datenstrukturen die Objekte verschiedener Typen enthalten können
Programs with Hole Programme mit Lücken Design pattern, which has effective Designmuster, das effektive Routinen hat, die aufgeschobene
pattern routines calling deferred ones, it captures a general scheme whose details are left fordescendants to implement
Routinen aufruft, es ist ein generelles Schema und die Details der Implementation ist den Nachkommen überlassen
Proper descendant / ancestor
Echter Nachkomme/Vorfahre Descendant / ancestor of a class, excluding itself
Vorfahre / Nachfahre einer Klasse, sich selbst ausgeschlossen
Refinement Verfeinerung Incremental method of development; starting with most features and classes deferred and then introduce more and more effective descendants
Inkrementelle Methode der Softwareentwicklung; mit aufgeschobenen Klassen und Features beginnen und dann mehr und mehr effektive Nachfahren einführen
Routine table Routinentabelle Table of references that point to code, to one version of a routine, for lookup purposes to determine which call must be used
Tabelle von Referenzen, die auf Code zeigen, auf eine Version einer Routine, um nachschauen und herausfinden zu können, welcher Aufruf benutzt werden muss
Single dispatch Einfache Ausführung Dynamic binding Dynamisches bindenSuperclass Oberklasse Ancestor Parent Vorfahre VorgängerType narrowing Typeneinschräkung Downcasting Dynamic cast Herunterkonvertieren Dynamische KonvertierungRedeclaration Redeklaration To change signature, contract and
implementation or remove implementation of an inherited feature (effecting, redefinition, undefinition)
Signatur, Vertrag und Implementation ändern oder die Implementation komplett entfernen (eines vererbten Features) (beinhaltet wirksam machen, redefinieren und undefinieren)
Repeated inheritance
Wiederholte Vererbung Case that arises as a result of multiple inheritance, when more than one path from a descendant to an ancestor exists
Fall der auftritt, als Folge der Mehrfachvererbung, wenn mehr als ein Pfad von einem Nachkomme zu einem Vorfahre existiert
RTTI (Run-Time Type Identification)
Laufzeit-Typenidentifkation Techniques for finding out the types of objects at run time
Techniken, die Typen von Objekten während der Laufzeit herauszufinden
Subclass Unterklasse Descendant Heir Nachkomme ErbeTaxonomy Klassifizierung Hierarchical classification (principal of
systematic, well-structured inheritance)Hierarchische Klassifikation (Prinzip von Systematik und gut strukturierter Vererbung)
Unconstrained genericity
Uneingeschränkte Generizität
Basic genericity that allows any type as generic parameter
Basis der Generizität, die alle Typen als generischen Parameter erlaubt
Redefinition Redefinierung Provide a new implementation for a Eine neue Implementierung für ein Feature geben, das schon
feature that already had one in the parent from which the class inherits it
eine Implementierung in der Vorgängerklasse hatte, von welcher geerbt wird
Replication (of a feature)
Replikation (eines Features) If the feature is inherited under two different names, as a result of renaming along the way, then, again to avoid any overloading, it must denote two different features
Wenn ein Feature unter zwei verschiedenen Namen vererbt wird, wegen Umbenennung auf dem Vererbungsweg, muss man um Überladen zu verhindern, zwei verschiedene Features kennzeichnen
Subcontracting Unterverträge Contract changes that might occur due to inheritance in the inherited features / classes against the original features / classes
Vertragsänderungen die vorkommen könnten, wegen Vererbung, im vererbten Features / Klassen gegen das Originale Features / Klassen
Target (of a visit) Ziel (eines Besuches) Class that adds a facility to accept visitors, object that accepts visitors through this facilities
Klasse die eine Möglichkeit bereitstellt, Besucher zu akzeptieren, Objekt, welches Besucher durch diese Möglichkeiten akzeptiert
Virtual table Virtuelle Tabelle Routine table RoutinentabelleVisitor Besucher An object able to apply a single kind of
operation to many kinds of objectEin Objekt, das eine einzige Art von Operation auf viele Arten von Objekten anwenden kann
Static type Statischer Typ Type of an entity in the declaration of the corresponding class text
Typ der Entität in der Deklaration im zugehörigen Klassentext
Dynamic type Dynamischer Typ If a value of an entity during runtime is binded to an object, the type of this object is the dynamic type of the entity at that time
Falls der Wert einer Entität während einer Ausführung an ein Objekt gebunden ist, ist der Typ dieses Objekts der dynamische Typ der Entität zu dieser Zeit
Chapter 17Agent Agent Objects whose role is to describe an
operationObjekte, deren Rolle es ist, eine Operation zu beschreiben
Church-Rosser property
Church-Rosser Eigenschaft Theorem, thatif from a given lambda expression e two separate sequences of transformationsyield different expressions e1 and e2, then there exist two other sequences thattransform e1 and e2, respectively into
Theorem, dass von einem gegebenen Lambda-Ausdruck e zwei separate Sequenzen von Transformationen zwei verschiedene Ausdrücke e1 und e2 ergeben, dann auch zwei andere Sequenzen existieren, welche e1 und e2 in einen gemeinsamen Ausdruck f transformieren
some common expression fFirst-class citizen First-Class-Objekt Entity than can be constructed at run-
time, passed as a parameter, returned from a subroutine or assigned into a variable
Einheit, die zur Laufzeit konstruiert, als Parameter übergeben oder von einer Unterroutine zurückgegeben und einer Variable zugewiesen werden kann
Lambda expression Lambda Ausdruck Formal system for expressing computation by the way of variable binding and substitution
Formelles System um Berechnungen mit Variablen und Substitution auszudrücken
Nested class Verschachtelte Klassen Principle of declaring a class as local to another class
Prinzip, eine Klasse als lokale Klasse einer anderen Klasse zu definieren
Operand Operand Other term for argument that also can include the target of a call
Anderer Term für Argument, der also das Ziel eines Aufrufes beinhalten kann
Substitution (of a variable in an expression)
Substitutionieren (einer Variable in einem Ausdruck)
Replacing every free occurrence of an expression by another expression
Ersatz jedes freien Vorkommens eines Ausdrucks mit einem anderen Ausdruck
Alpha-conversion Alpha-Konvertierung Changing of bound variables of a lambda expression, as long as no conflicts with free variables exist
Ändern von Schrankenvariablen eines Lambda-Ausdruckes, solange keine Konflikte mit freien Variablen existieren
Closed operand Geschlossener Operand An operand is closed if it is specified in the agent’s definition
Ein Operand ist geschlossen, wenn er in der Definition des Agents ist
Inline agent Inline Agent Needed for agents without a routine, agent definition without burdening any class, useful for contracts
Wird für Agents ohne Routinen gebraucht, Agentendefinition ohne Klassen zu verändern, sehr nützlich für Verträge
Many Little Wrappers pattern
Viele kleine Verpackungen muster
Design pattern that uses dynamic binding based on writing a class, typically small, to wrap each variant of an operation
Design Muster, das dynamische Bindung nutzt, basierend darauf, eine typischerweise kleine Klasse zu schreiben, um jede Variante einer Operation zu verpacken
One-Song-Artist class
Ein-Song-Künstler Klasse A class with just one instance and no fields
Eine Klasse mit nur einer Instanzu und ohne Felder
Partial evaluation Teilweise Auswertung Specialized version of the original function by setting values for some arguments (currying)
Spezialisierte Version der originalen Funktion durch Setzen von Werten für einige Argumente (currying)
Beta-reduction Beta-Reduktion Captures the idea of function Die Idee einer Funktionsanwendung, ist über Substitution
application, is defined in terms of substitution
definiert
Closure Abschluss Used about functional languages to denote expressions representing routines that can be passed around as data
Wird über funktionale Sprachen gebraucht um Ausdrücke zu kennzeichnen, die Routinen repräsentieren, aber als Daten übergeben werden können
Lambda calculus Lambda Kalkül Formal system for expressing computation by the way of variable binding and substitution
Formelles System um Berechnungen mit Variablen und Substitution auszudrücken
Open operand Offener Operand An operand is open if it will be provided only in calls to the agent. In the agent definition, it is marked with a question mark
Ein Operand ist offen, wenn er nur bei Aufrufen einem Agent übergeben wird. In einer Agentendefinition werden diese mit einem Fragezeichen markiert
Prototype (C, C++) Prototyp (C, C++) Declaration of a function that omits the function body but does specify the function’s return type, name, arity and argument types
Deklaration einer Funktion, die den Funktionskörper weglässt, jedoch den Rückgabetyp, Name und Argumenttypen festlegt
Chapter 18Application domain Andwendungsgebiet The technical area in which or for which
the software operatesDas technische Gebiet in welchem oder für welches die Software arbeitet
Catching (an event) (Ein Ereignis) abfangen What subscribers do when an event gets passed to them
Was die Abonnenten machen, wenn sie ein Ereignis übergeben bekommen
Controller Controller Directs the execution of an interactive session
Führt die Ausführung einer interaktiven Session
Event type Ereignistyp Any event belongs to an event type Jedes Ereignis gehört zu einem EreignistypHandle (an event) (Ein Ereignis) verwenden What subscribers do when an event
gets passed to themWas die Abonnenten machen, wenn sie ein Ereignis übergeben bekommen
Publish (an event) (Ein Ereignis) veröffentlichen Execute an event. A software element that may trigger events is a publisher. Subscribers may handle that event
Ein Ereignis ausführen. Ein Softwareelement, das Ereignisse auslösen kann, ist ein Verleger. Abonnenten können dieses Ereignis abhandeln
Refactoring Umbauen / Wiederverwenden
Tasks carried out to improve existing designs
Aufgaben, die gemach werden, um existierende Designs zu verbessern
Trigger (an event) (Ein Ereignis) auslösen Execute an event. A software element Ein Ereignis ausführen. Ein Softwareelement, das Ereignisse
that may trigger events is a publisher. Subscribers may handle that event
auslösen kann, ist ein Verleger. Abonnenten können dieses Ereignis abhandeln
Argument (of an event)
Argument (eines Ereignisses) The information associated with an event (other than the information that the event occurred)
Die Information, welche mit einem Ereignis zusammenhängen (anderes als die Information, dass das Ereignis stattgefunden hat)
Context (of an event)
Kontext (eines Ereignisses) A Boolean expression specified by a subscriber at registration time, but evaluated at triggering time, such that the registered action will only be executed if the evaluation yields true
Ein boolescher Ausdruck, der durch einen Abonnent zur Registrierungszeit spezifiziert wird, jedoch erst bei der Ausführung ausgewertet wird, so dass eine registrierte Aktion nur ausgeführt wird, wenn die Auswertung Wahr ergibt
Event Ereignis An action that can be handled by the software, often comes from outside of the scope of a program
Eine Aktion die von der Software abgehandelt werden kann, kommt oft von Ausserhalb
External event Externes Ereignis Phenomena triggered outside of the software
Phänomen, das von ausserhalb der Software ausgelöst wurde
Model Modell Part of a software system that handles data representing information from the application domain
Teil des Softwaresystems, das Daten behandelt, die Informationen vom Anwendungsgebiet repräsentieren
Publish-Subscribe Veröffentlichen und Anmelden
Programming scheme that works with services and events
Programmierschema, das mit Services und Ereignissen arbeitet
Signature (of event type)
Signatur (eines Eventtypes) All events of a given event type have the same signature
Alle Ereignisse eines gegebenen Typs haben die gleiche Signatur
View Ansicht Presentation of part of information, in the system’s interaction with the outside
Präsentation von einem Teil von Informationen, in der Interaktion des Systems mit der Aussenwelt
Business model Geschäftsmodell Part of a software system that handles data representing information from the application domain
Teil des Softwaresystems, das Daten behandelt, die Informationen vom Anwendungsgebiet repräsentieren
Control (Windows) Kontrolle (Fenster) GUI element such as a window or button ( Widgets)
Oberflächenelement wie ein Fenster oder ein Knopf (Widgets)
Event-driven Ereignisgesteuert Programming scheme that works with services and events
Programmierschema, das mit Services und Ereignissen arbeitet
Glue code Klebecode Code connecting the publishers and Code, der Verleger und Abonnenten verbindet (sollte minimal
subscribers (should be minimized) gehalten werden)MVC (Model-View-Controller)
Modell, Ansicht, Controller Scheme for GUI design consisting of three elements
Schema für Oberflächendesign, das aus drei Elementen besteht
Register Registrieren Software element becoming a subscriber to a certain event type. By doing so it asks to be notified of future events of that event type
Softwareelement wird ein Abonnent von einem bestimmten Ereignistyp. Wenn dies gemacht wird, will der Softwareteil bei zukünftigen Ereignissen dieses Typs benachrichtigt werden
Subscribe Anmelden Software element becoming a subscriber to a certain event type. By doing so it asks to be notified of future events of that event type
Softwareelement wird ein Abonnent von einem bestimmten Ereignistyp. Wenn dies gemacht wird, will der Softwareteil bei zukünftigen Ereignissen dieses Typs benachrichtigt werden
Widget Widget GUI element such as a window or buttons
Oberflächenelement wie ein Fenster oder ein Knopf
Chapter 19Adequacy Adäquanz Satisfaction of defined user needs Erfüllung der vom Benutzer definierten BedürfnissenCorrectibility Korrigierbarkeit How easy it is to update the software to
repair deficienciesWie einfach es ist, die Software zu aktualisieren um Defizite zu beheben
Extendibility Erweiterbarkeit How easy it is to add functionality Wie einfach es ist, Funktionalitäten hinzuzufügenLifecycle Lebenszyklus Specifications of how to schedule the
basic software engineering activities in actual processes
Spezifikation, wie man die Basissoftwareentwicklungsaktivitäten in wirklichen Prozessen einplant
Portability Portabilität How easy it is to transfer the software to other platforms
Wie einfach es ist, die Software auf andere Plattformen zu übertragen
Process (vs. product)
Prozess (versus Produkt) A quest for perfection might take too long to achieve, affecting the “production speed” process factor (trade-off)
Eine Suche nach Perfektion könnte zu lange dauern, um es zu erreichen, was die Produktionsgeschwindigkeit im Prozessfaktor beeinflussen könnte (Abwägung)
Production software
Produktionssoftware Operational software, intended to function in real environments to solve real problems
Arbeitende Software, die dafür vorgesehen ist, in echten Umgebungen echte Probleme zu lösen
Robustness Robustheit How well the system reacts to erroneous cases of use, outside the specification
Wie gut das System auf Fehlerhafte Benutzung, ausserhalb der Spezifikationen, arbeitet
Software engineering
Softwareentwicklung Discipline that defines moving beyond programming, such as requirements, management etc.
Disziplin die über Programmieren herausgeht, wie Anforderungen, Management, und so weiter
Built-in assessment Eingebaute Beurteilung The inclusion of mechanisms and procedures in the process, to evaluate quality factors at well-defined steps
Der Einschluss von Mechanismen und Prozeduren im Prozess, um Qualitätsfaktoren in gut definierten Schritten auszuwerten
Cost control Kostenkontrolle Important point of software engineering, as development costs are often the biggest costs
Wichtiger Punkt der Softwareentwicklung, da Entwicklungskosten meist die grössten Kosten sind
Factor (of software quality)
Faktoren (von Softwarequalität)
All factors of software engineering, such as process quality, long-term product quality, intermediate product quality etc.
Alle Faktoren der Softwareentwicklung, wie Prozessqualität, Langzeitproduktqualität, sofortige Produktqualität, usw.
Maintenance Wartung All development activities occurring after the first release of an operational version
Alle Entwicklungsaktivitäten, die nach dem Erscheinen des ersten Releases einer arbeitenden Version geschehen
Practice (CMMI) Methode (CMMI) A technique that has been shown to help achieve a goal
Eine Technik, die sich als Hilfe etabliert hat, ein Ziel zu erreichen
Process area (CMMI)
Prozessbereich (CMMI) Grouped collections of goals and corresponding practices
Gruppierte Sammlungen von Zielen und dazugehörigen Praktiken
Reproducibility Reproduzierbarkeit The practice of carrying over information and experience from one project to others
Die Praktik, Informationen und gesammelte Erfahrungen von einem Projekt auf ein anderes zu übertragen
Security Sicherheit How well the system protects itself, its data, its users and any affected devices or people against hostile misuse
Wie gut das System sich selbst, seine Daten, seine Benutzer und alle betroffenen Geräte und Personen gegen feindlichen Missbrauch schützt
Stakeholder Interessenvertreter Any person who can affect or be affected by the project and the quality of the resulting software
Jede Person die das Projekt beeinflussen oder vom Projekt und der Qualität der Software beeinflusst wird
Correctness Korrektheit To what extent the software functions as prescribed by the specification, in cases covered by the specification
Bis zu welchem Ausmass die Software wie von der Spezifikation beschrieben funktioniert, in Fällen, die von der Spezifikation abgedeckt wird
Efficiency Effizienz Adequate use of time, memory space, Angemessener Gebrauch von Zeit, Speicherplatz und anderen
and other resources such as bandwidth Ressourcen wie BandbreiteGoal (CMMI) Ziel (CMMI) Desirable property of a process Wünschenswerte Eigenschaft eines ProzessesMeasurability Messbarkeit The availability of sound quantitative
criteria to determine achievement of other quality factors, both process and product
Die Verfügbarkeit of guten quantitativen Kriterien um die Errungenschaften von anderen Qualitätsfaktoren zu bestimmen, sowohl für Prozess als auch Produkt
Predictability Voraussehbarkeit Estimate quality factors (speed and cost) ahead of time
Qualitätsfaktoren (Geschwindigkeit und Kosten) vorbestimmen
Product (vs. process)
Produkt (versus Prozess) Ease of use does not always agree with security, optimizing for efficiency can conflict with corrigibility (trade-off)
Einfache Handhabung passt manchmal nicht mit Sicherheit zusammen, Optimierung für Effizienz passt nicht immer zu Fügsamkeit
Reusability Wiederverwendbarkeit How much of the product can be applied to future developments
Wie viel vom Produkt auf zukünftige Entwicklungen angewendet werden kann
Self-improvement Selbstverbesserung The inclusion, in the process specification itself, of mechanisms to qualify and improve that process
Der Einschluss, in die Prozessspezikfation selbst, von Mechanismen um den Prozess zu qualifizieren und verbessern
CMM CMM Capability Maturity Model Fähigkeit Reife ModellDOD DOD US Department of Defense US VerteidigungsdepartementSEI SEI Software Engineering Institute SoftwareingenieurinstitutCMMI CMMI Capability Maturity Model Integration Fähigkeit Reife Modell IntegrationISO ISO International Organization for
StandardizationInternationale Organisation für Standardisierung
SPICE SPICE Software Process Improvement and Quality dEtermination
Software Prozessverbesserung und Qualitätsbestimmung
DIAMO DIAMO Describe, Implement, Assess, Manage and Operate
Beschreiben, Implementieren, Beurteilen, Verwalten und Betreiben
SCAMPI SCAMPI Standard CMMI Appraisal Method for Process Improvement
Standard CMMI Abschätzungsmethode für Prozessverbesserung