Glossar

A

Android

Betriebssystem und Software-Plattform für mobile Geräte, die von der Open Handset Alliance, unter Leitung von Google, entwickelt wird. Android basiert auf Linux und wird hauptsächlich über Java programmiert. Android ist freie Software und quelloffen, nicht zuletzt daher gibt es unzählige Softwareerweiterungen.

Weitere Informationen: http://www.android.com/
Siehe auch:
Apache CXF

Open-Source-Web-Service-Framework der Apache Software Foundation. Zu den Kernfähigkeiten gehören die Unterstützung von Web-Service-Standards, verschiedenen Frontend-Programmiermodellen und die einfache Verwendung und Unterstützung von binären und proprietären Protokollen. CFX kommt häufig in SOA-Infrastruktur-Projekten zum Einsatz.

Siehe auch:
API (Application Programming Interface)

Programmierschnittstelle

Teilprogramm, das anderen Programmen von einem Softwaresystem zur Anbindung an eben dieses System zur Verfügung gestellt wird. Die Programmanbindung wird hierbei auf Quelltextebene definiert. Die API ermöglicht oder vereinfacht den Zugriff auf Datenbanken oder Hardwarekomponenten und das Erstellen  von Komponenten der grafischen Benutzeroberfläche.

ARTOP

Eclipse-basierte Implementierung grundlegender Funktionalität für AUTOSAR-Entwicklungswerkzeuge. Artop und sein Quellcode sind für alle AUTOSAR-Mitglieder und -Partner frei verfügbar.

Siehe auch:
ASP.NET

Serverseitige Technologie von Microsoft, die der Erstellung von Webanwendungen auf Basis des Microsoft-.NET-Frameworks dient. Alle von .NET unterstützten Programmiersprachen können dabei zum Einsatz kommen – gebräuchlich sind jedoch nahezu ausschließlich C# und VB.NET.

Siehe auch:
AUTOSAR (AUTomotive Open System ARchitecture)

Weitverbreiteter Architekturstandard, der mehr und mehr zur Grundlage der Softwareentwicklung in der Automobilindustrie wird. Ziel ist es, einen vereinfachten Austausch von Software auf verschiedenen Steuergeräten zu ermöglichen. Um dies zu erreichen, wurde eine einheitliche Softwarearchitektur erarbeitet. So soll sichergestellt werden, dass Softwarekomponenten wiederverwendet, ausgetauscht, skaliert und integriert werden können.

C

C

Imperative Programmiersprache, die seit Beginn der 1970er Jahre zur System- und Anwendungsprogrammierung eingesetzt wird. Die Systemkerne vieler Betriebssysteme und die grundlegenden Programme aller Unix Systeme sind in C programmiert. Zahlreiche Programmiersprachen orientieren sich an C, darunter C++, C#, Java und PHP.

Siehe auch:
C#

Von Microsoft entwickelte objektorientierte Programmiersprache, die Konzepte der Programmiersprachen Java, C++, Haskell, C und Delphi aufgreift.

Siehe auch:
CDT

Ein Plugin für Eclipse, das eine gute Basis für die Entwicklung von Software in den Programmiersprachen C und C++ bietet.

Siehe auch:

D

DSL (Domain Specific Language)

domänenspezifische Sprache

Eine formal definierte und speziell für ein bestimmtes Problemfeld (Domäne) entworfene Sprache. Alle Probleme dieser (und nur dieser) Domäne müssen darstellbar sein. Kann grafisch oder textuell ausgeprägt sein und ermöglicht leichte Verständlichkeit ohne besonderes Zusatzwissen.

Siehe auch:

E

EBNF (Erweiterte Backus-Naur-Form)

Formale Metasprache, die genutzt wird, um die Syntax von formalen Sprachen darzustellen.

Eclipse

Quelloffenes Programmierwerkzeug für die Entwicklung von Software. Im Ursprung wurde Eclipse als integrierte Entwicklungsumgebung für in Java geschriebene Programme genutzt. Aufgrund seiner Erweiterbarkeit wird es heute auch für viele andere Entwicklungsaufgaben eingesetzt. Viele dieser Erweiterungen sind ebenfalls quelloffen. Verantwortlich für die Entwicklung von Eclipse ist die Eclipse Foundation, in der itemis sich als strategisches Mitglied engagiert.

Siehe auch:
EJB 3 (Enterprise Java Beans)

Standardisierte Komponenten innerhalb eines Java-EE-Servers, die die Entwicklung mehrschichtiger, verteilter Softwaresysteme mit Java vereinfachen. Diese können sowohl remote, als auch lokal angesprochen werden. Mit Enterprise JavaBeans können Konzepte, die für die Geschäftslogik einer Anwendung nötig sind, gut umgesetzt werden.

Siehe auch:
Embedded Systems

Eingebettete Systeme

Elektronische Rechner, die in einen technischen Kontext eingebunden sind. Hierbei steuert der Rechner das System, in das er eingebettet ist, oder er ist für Daten- bzw. Signalverarbeitung zuständig. Sind in einer Vielzahl, oft sehr unterschiedlicher technischer Systeme und Geräte zu finden, z.B. Kraftfahrzeuge, Flugzeuge, Waschmaschinen und Kühlschränke.

EMF (Eclipse Modeling Framework)

Open-Source Java-Framework zur automatisierten Erzeugung von Quelltext anhand von strukturierten Modellen. Basiert auf offenen Standards. EMF ist ein Projekt der Eclipse Open-Source-Gemeinschaft.

Siehe auch:
EMP (Eclipse Modeling Project)

Sammlung von Eclipse-Projekten, die sich mit Modellierung, Erstellung von domänenspezifischen Sprachen und verschiedenen Technologien der modellgetriebenen Softwareentwicklung beschäftigen.

F

Framework

Programmiergerüst, das die Umgebung darstellt, innerhalb derer der Entwickler eine Anwendung schreibt. Es wird insbesondere in der objektorientierten Softwareentwicklung sowie bei komponentenbasierten Entwicklungsansätzen verwendet.

G

GEF

Eclipse Graphical Editing Framework

Eclipse-Framework zur Erstellung grafischer Editoren.

Siehe auch:
Generator

Computerprogramm für die Softwareentwicklung. Er übersetzt Modelle, die in einer formalen Sprache erstellt wurden, in die Programmiersprache der gewählten Zielplattform. Er erzeugt schnell und fehlerfrei Quellcode (Codegenerierung), der danach mit anderen Programmteilen zu einem Programm verbunden wird.

GMF

Graphical Modeling Framework

Ergänzung zum Graphical Editing Framework (GEF). Unterstützt die generative Entwicklung von grafischen Modelleditoren mit GEF.

Siehe auch:
Groovy

Objektorientierte dynamische Sprache, die auf der Java-Plattform aufsetzt. Java-Klassen und -Bibliotheken sind direkt mit Groovy verwendbar. So gliedert sich Groovy einfach in bestehende Java-Infrastrukturen ein. Groovy verzichtet auf den syntaktischen Ballast klassischer Programmiersprachen und ist damit einfach erlernbar. Besonders eignet sich Groovy zur XML-Bearbeitung oder zum Testen.

Siehe auch:

I

IIS (Internet Information Services)

Eine Diensteplattform für PCs und Server von Microsoft. Kernfunktion ist die Bereitstellung von Webseiten, wobei der IIS die statischen Inhalte und die Auslieferung verwaltet. Es kommen verschiedene Kommunikationsprotokolle zum Einsatz, darunter HTTP(S), FTP, MTP und WebDAV.

J

Java

Objektorientierte, plattformunabhängige Programmiersprache und eingetragenes Warenzeichen der Firma Sun Microsystems, die Anfang 2010 von Oracle übernommen wurde. Java-Programme werden zuerst in Bytecode übersetzt und dann in der Java-Laufzeitumgebung ausgeführt, deren wichtigster Bestandteil die Java Virtual Machine (Java-VM) ist. Dabei wird der Bytecode interpretiert und bei Bedarf Just-in-Time kompiliert. Java-Programme sind plattformunabhängig und laufen in der Regel auf allen Computern und Betriebssystemen, für die eine Java-VM existiert.

Siehe auch:
JAXB (Java Architecture for XML Binding)

Eine Programmschnittstelle in Java, die die XML-Datenbindung ermöglicht. Hierbei werden Daten aus einem XML-Schema automatisch an Java-Klassen gebunden, und diese Java-Klassen aus einem XML-Schema heraus generiert.

Siehe auch:
JetBrains MPS

Open-Source-Entwicklungsumgebung für domänenspezifische Sprachen, die eine sehr breite Menge an Notationen zum Einsatz bringen kann. Auch die Modularisierung und Komposition von Sprachen und Codegeneratoren ist mit dem Werkzeug sehr leicht möglich.

Siehe auch:
JPA (Java Persistence API)

Eine Schnittstelle für Java-Anwendungen, die die Zuordnung und die Übertragung von Objekten zu Datenbankeinträgen vereinfacht. Der Entwickler persistiert domänenspezifische Java-Objekte in der Datenbank; JPA kümmert sich um die nötige Umsetzung in Datenbanktabellen. Auch bereits vorhandene Datenbankschemata, die nicht geändert werden können oder sollen, lassen sich mittels JPA für moderne Java-Anwendungen nutzbar machen.

Siehe auch:
JPQL (Java Persistence Query Language)

Wird zur Datenbankabfrage genutzt. Diese Abfragen beziehen sich auf Entitäten und nicht auf Datenbanktabellen. Die JPA übersetzt in JPQL formulierten Abfragen in SQL-Statements, die von der Zieldatenbank verstanden werden. Diese Abstraktion ermöglicht einen Austausch des  Datenbanksystems bei vollständigem Java-Klassenerhalt.

Siehe auch:
JUnit

Ein Framework zum Testen von Java-Programmen. Besonders eignet sich der Einsatz von JUnit bei automatisierten Tests einzelner Units, meist Klassen oder Methoden. Wichtiges Hilfsmittel im Extreme Programming und der testgetriebenen Entwicklung.

Siehe auch:

M

MATLAB

Kommerzielle plattformunabhängige Software zur Lösung mathematischer Probleme und zur grafischen Darstellung der Ergebnisse, primär für numerische Berechnungen mithilfe von Matrizen.

Siehe auch:
Maven

Buildmanagement-Werkzeug für die objektorientierte Entwicklung mit Java. Entwickler können mit Maven Java-Anwendungen standardisiert erstellen und verwalten. Maven unterstützt sie dabei von der Anlage eines Softwareprojektes über das Kompilieren und Testen bis zum Verteilen der Software auf Anwendungsrechnern, so dass viele Schritte automatisiert werden können.

Siehe auch:
MDA

Modellbasierte Architektur, Model Driven Architecture

Standardisierungsinitiative der Object Management Group (OMG) zur modellbasierten und generativen Softwareentwicklung. Die MDA sichert durch eine klare Trennung von Abstraktionsschichten bei der Systemmodellierung die Wiederverwendbarkeit und Langlebigkeit der Modelle. Die automatische Generierung von Quellcode aus den Modellen erhöht den Automatisierungsgrad der Entwicklung und minimiert Fehlerquellen.

Weitere Informationen: http://www.omg.org/mda/
MDSD (Model Driven Software Development)

modellgetriebene Softwareentwicklung, modellbasierte Softwareentwicklung

MetaEdit+

Ein kommerzielles Werkzeug zur Erstellung grafischer domänenspezifischer Sprachen und dazu passender Codegeneratoren.

Siehe auch:
modellbasierte Softwareentwicklung

modellgetriebene Softwareentwicklung, Model Driven Software Development, MDSD

Erhöht den Automatisierungsgrad der Softwareerstellung. Aus formalen und abstrakten Modellen werden große Teile des Programmcodes automatisch generiert. Die Trennung von Fachlichkeit (Modelle) und Technik (Generator) reduziert die Komplexität. Die technischen Entscheidungen werden in den Generierungsvorschriften festgehalten; damit lässt sich eine wohl definierte, verbindliche und leicht zu wartende Architektur umsetzen. Das so konservierte Architekturwissen ist damit unabhängig von Expertenwissen wiederverwendbar. Dieses Vorgehen verbessert die Qualität des Ergebnisses und führt darüber hinaus zu deutlich geringeren Entwicklungskosten.

Siehe auch:

N

.NET

Softwareplattform, die der Entwicklung und Ausführung von Programmen dient. Sie beinhaltet eine Laufzeitumgebung, Klassenbibliotheken, Programmierschnittstellen und Dienstprogramme, sogenannte Services. Da von Microsoft entwickelt, ist .NET in vollem Umfang nur für Windows verfügbar.

O

oAW (openArchitectureWare)

Generatoren-Framework für die modellbasierte Softwareentwicklung. Die oAW-Kernkomponenten wie Xtext, Xpand, Xtend und die Modeling Workflow Engine sind mittlerweile in das Eclipse Modeling Project umgezogen und werden dort von der weltweiten Eclipse-Community weiterentwickelt.

OCL (Object Constraint Language)

Eine Ergänzung zu UML. Soll die Modellierung von Software noch präziser gestalten, da zusätzlich die Randbedingungen eines Modells spezifiziert werden. OCL-Ausdrücke können von Programmen verarbeitet werden und tragen zur Code-Generierung bei. Das Modell wird hierbei jedoch nicht verändert, sondern überwacht.

Siehe auch:
OEM (Original Equipment Manufacturer)

Hersteller, der fertige Komponenten oder Produkte produziert, diese aber nicht selbst in den Handel bringt. In der Computerbranche wird der Begriff in unterschiedlichen Zusammenhängen benutzt. OEM-Software beispielsweise kann sich von der Vollversion durch einen geringeren Lieferumfang unterscheiden.

Open-Source

Open-Source-Software steht unter einer von der Open Source Initiative (OSI) anerkannten Lizenz. Die OSI wendet den Begriff Open-Source an, wenn die Software in einer für den Menschen lesbaren und verständlichen Form vorliegt, beliebig kopiert, verbreitet, genutzt, verändert und in der veränderten Form weitergegeben werden darf.

Oracle Forms

Entwicklungswerkzeug, das bei der Programmierung von Datenbank-gestützten, interaktiven Dialogmasken zum Einsatz kommt. Neben der Oracle-Datenbank werden auch diverse andere SQL-Datenbanken unterstützt. In der aktuellen Version wird ausschließlich die Web-basierte 3-Schichten-Architektur unterstützt.

Siehe auch:
ORM (Object-relational mapping)

Objektrelationale Abbildung

Technik der Softwareentwicklung, mit der einem Anwendungsprogramm, das in einer objektorientierten Programmiersprache geschrieben wurde, ermöglicht wird, seine Objekte in einer relationalen Datenbank abzulegen. Die Datenbank erscheint dann als objektorientierte Datenbank, was die Programmierung erleichtert. Für Java gibt es dafür eine standardisierte Schnittstelle: die Java Persistence API.

Siehe auch:

P

Parser

Computerprogramm, das für die Zerlegung und Umwandlung einer Eingabe in ein für die Weiterverarbeitung brauchbares Format zuständig ist. HTML ist beispielsweise für einen Computer zunächst einmal nichts anderes als ein Text. Der in einem Browser enthaltene Parser analysiert das HTML und erstellt daraus eine Beschreibung der Webseite als Datenstruktur, welche die Layout-Engine des Browsers anschließend auf das Ausgabemedium überträgt, etwa ein Monitor.

PMBoK (Project Management Body of Knowledge)
Siehe auch:
PMI (Project Management Institute)

Non-Profit-Organisation, die fokussiert ist auf die Anforderungen professioneller Projektmanager. Das PMI ist über seine Mitglieder, die aus allen großen Industriezweigen kommen, in über 135 Ländern repräsentiert. Im »Guide to PMBoK (Project Management Body of Knowledge)« des PMI werden die Prozesse und Kerngebiete des angewandten Projektmanagements beschrieben.

Weitere Informationen: http://www.pmi.org
POM (Project Object Model)

Konzept von Apache Maven. Im Normalfall werden die Informationen für ein von Maven unterstütztes Softwareprojekt in einer Datei pom.xml gespeichert. Diese enthält alle Informationen zu dem jeweiligen Softwareprojekt in einem standardisierten Format. Bei jeder Ausführung von Maven wird zunächst überprüft, ob diese Datei alle benötigten Angaben in korrekter Syntax enthält.

Siehe auch:

R

reaktives System

Ein reaktives System befindet sich in ständiger Interaktion mit der Umgebung, wobei die Umgebung dominiert und das System sich dieser unterordnet.

Repositories

Verwaltetes Verzeichnis, das zur Speicherung und Beschreibung von digitalen Objekten dient, z.B. Programme, Dokumente oder Datenmodelle. Häufig bietet ein Repository Funktionen, um die verwalteten Objekte zu versionieren, auszuchecken, einzuchecken und die Änderungen zu protokollieren.

Rich Client

Bietet ein grafisches Interface und ähnelt in seiner Funktionalität einem Fat Client. Wichtige Verarbeitungsaufgaben können vom Server ausgeführt werden. Nach Verarbeitung werden die Daten in einem Standard-Austauschformat übertragen und vom Rich Client interpretiert.

Siehe auch:

S

Scrum

Framework für die Abwicklung von Projekten, das auf den Rahmengrundsätzen der agilen Softwareentwicklung aufbaut. Als Gesamtsystem aus Meetings, Artefakten, Rollen und Werten stellt Scrum ein Prozessmodell für die Entwicklung von Produkten dar.

Weitere Informationen: http://www.scrum-kompakt.de/
Siehe auch:
Serviceorientierte Architektur

Service-oriented Architecture, SOA

Architekturkonzept, das die Bereitstellung fachlicher Dienste und Funktionalitäten in Form von Services vorsieht. Diese Struktur ermöglicht die Integrität von Unternehmensanwendungen, da die Komplexität der einzelnen Anwendungen hinter den standardisierten Schnittstellen verborgen wird. Ziel ist die langfristige Kostensenkung in der Softwareentwicklung und eine höhere Flexibilität der Geschäftsprozesse durch Wiederverwendung bestehender Services.

Simulink

Software zur Modellierung von dynamischen Systemen. Simulink ist ein Zusatzprodukt zu MATLAB und benötigt dieses zum Ausführen.

Siehe auch:
SOA
SOAP (Simple Object Access Protocol)

Protokoll für den Datenaustausch zwischen Systemen, das auch den Aufruf von Funktionen in anderen Adressräumen (Remote Procedure Call) unterstützt. SOAP stützt sich auf die Dienste anderer Standards: XML zur Repräsentation der Daten sowie Internet-Protokolle der Transport-und Anwendungsschicht zur Übertragung der Nachrichten.

Siehe auch:
SQL

Häufig als Abkürzung für »Structured Query Language« aufgefasst. Ist die weltweit am häufigsten eingesetzte Sprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO standardisiert und wird von nahezu allen gängigen Datenbanksystemen unterstützt.

SysML

Eine auf der UML basierende standardisierte Sprache, die der Modellierung von komplexen Systemen dient. Sie ermöglicht Analyse, Design und das Testen dieser Systeme.

Siehe auch:
Systems Engineering

Interdisziplinärer Ansatz, um komplexe technische Systeme in großen Projekten zu realisieren. Systems Engineering integriert alle Disziplinen und Fähigkeiten in einen einheitlichen, teamorientierten und strukturierten Prozess.

T

TDD (Test-driven Development)

Testgetriebene Softwareentwicklung

Methode, die häufig bei der agilen Softwareentwicklung eingesetzt wird, z.B. bei Extreme Programming (XP). Der Programmierer erstellt hier benötigte Software-Tests stets vor den zu testenden Komponenten der Anwendung.

TMF (Textual Modeling Framework)

Ermöglicht die Entwicklung von vollwertigen integrierten Entwicklungsumgebungen für Programmier- und domänenspezifische Sprachen. Das TMF bietet dafür Werkzeuge und Frameworks für die Entwicklung einer textuellen Syntax.

Siehe auch:

U

UML (Unified Modeling Language)

Graphische Modellierungssprache. Dient der Spezifikation, Konstruktion und Dokumentation von Software und anderen Systemen. Für die meisten bei der Modellierung wichtigen Begriffe definiert die UML Bezeichner und legt deren mögliche Beziehungen zueinander fest. Des weiteren werden für diese Begriffe und für Modelle statischer Strukturen und dynamischer Abläufe graphische Notationen festgelegt.

Weitere Informationen: http://de.wikipedia.org/wiki/UML

V

VB.NET

Objektorientierte Programmiersprache, die in neueren Versionen auf dem Microsoft .NET-Framework basiert. Um zwischen den alten und den neuen Versionen zu unterscheiden, werden letztere als Visual Basic.NET (Abk. VB.NET) bezeichnet.

Siehe auch:
Visual Studio

Integrierte Entwicklungsumgebung von Microsoft für verschiedene Hochsprachen, die dem Programmierer die Entwicklung klassischer Windows-Programme oder dynamischer Webseiten bzw. Webservices für das Internet/Intranet ermöglicht. Das Hauptaugenmerk liegt auf der Erstellung von Anwendungen für das .NET Framework.

Siehe auch:

W

WCF (Windows Communication Foundation)

Dienstorientierte Kommunikationsplattform für verteilte Anwendungen unter Windows. Unter der WCF führt Microsoft viele Netzwerk-Funktionen zusammen und stellt sie für Entwickler standardisiert zur Verfügung. Hauptanwendungsgebiet ist die Entwicklung service-orientierter Architekturen.

Siehe auch:
WF ((Windows) Workflow Foundation)

Erweiterbares und umfassendes Framework, um Workflow-Lösungen auf der Windows-Plattform zu entwickeln. Stellt sowohl eine API als auch Tools zum Entwickeln und Ausführen von workflow-gesteuerten Anwendungen bereit.

Siehe auch:
WPF (Windows Presentation Foundation)

Ein Grafik-Framework und Teil des .NET Frameworks von Microsoft. Grundsatz ist die Trennung von Präsentation und Geschäftslogik.

Siehe auch:
WSDL (Web Services Description Language)

Plattform-, programmiersprachen- und protokollunabhängige Beschreibungssprache für Webservices, die einen Nachrichtenaustauch auf XML Basis ermöglicht.

Siehe auch:

X

XML (Extensible Markup Language)

Metasprache zur Definition von Auszeichnungssprachen für die Erstellung maschinen- und menschenlesbarer Dokumente in Form einer vom World Wide Web Consortium (W3C) definierten Baumstruktur. Wird unter anderem für den Austausch von Daten zwischen Computersystemen eingesetzt, insbesondere über das Internet.

Weitere Informationen: http://de.wikipedia.org/wiki/XML
XML-Schema

Ein Standard des W3C zur Definition der Struktur von XML-Dokumenten. Hierbei wird die Struktur in Form eines XML-Dokuments beschrieben. Ein konkretes XML-Schema wird als XML-Schema-Definition bezeichnet.

Siehe auch:
Xpand

Typisierte Templatesprache für die Codegenerierung mit mächtigen Features. Sie ermöglicht Schreibzugriff in Templatedateien, den polymorphen Aufruf von Templates und deren Erweiterung bzw. Verdeckung durch Aspekte.

Siehe auch:
Xtend

Funktionale Sprache, die das Erweitern bestehender Metamodelltypen ermöglicht. Es ist möglich diese Erweiterungen innerhalb von Xtend, aber auch in den anderen Sprachen der oAW-Familie (Check und Xpand) aufzurufen. Das Konzept der Create Extensions vereinfacht die Modelltransformation.

Siehe auch:
Xtext

Open-Source-Framework für die Entwicklung textueller domänenspezifischer Sprachen (DSLs). Xtext baut auf dem Eclipse Modeling Framework auf und integriert sich hervorragend in dessen Technologien. Das Framework generiert aus einer gegebenen Grammatik eine komplette, sprachspezifische IDE. Xtext wurde maßgeblich durch itemis als Teil des Eclipse-TMF-Projekts entwickelt.

Weitere Informationen: http://www.eclipse.org/Xtext/
Siehe auch:

Y

YAKINDU

Begriff für die Aktivitäten der itemis im Bereich Werkzeugintegration für eingebettete Systeme in Eclipse. YAKINDU gibt Softwareentwicklern Werkzeuge an die Hand, um eingebetteten Systeme schneller und besser programmieren und testen zu können. Wichtig hierbei sind genaue digitale Modelle der zu entwickelnden Systeme. Mit Hilfe dieser Modelle können Teile der Software automatisch erzeugt, ihre Wirkung simuliert und das Zusammenspiel mit den anderen Komponenten geprüft werden.


Kontakt

itemis AG
Am Brambusch 15-24
44536 Lünen

Telefon: +49 231 9860-606

E-Mail: