44
Touch of Class - Vocabulary Term (English) Term (Deutsch) Definition (English) Definition (Deutsch) Chapter 1 Communication 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äte Memory Speicher Device for storing and retrieving data and programs Gerä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ät Compiler Compiler Transform source into an processor executable form Transformieren Quelltext in eine vom Prozessor ausführbare Form

n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

Embed Size (px)

Citation preview

Page 1: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 2: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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)

Page 3: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 4: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 5: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 6: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 7: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 8: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 9: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 10: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 11: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 12: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 13: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 14: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 15: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 16: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 17: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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 (<)

Page 18: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 19: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 20: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 21: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 22: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 23: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 24: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 25: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 26: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 27: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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

Page 28: n.ethz.chtschopfa/download/1. Semester/Epro… · Web viewn.ethz.ch

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