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.
- 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.
- 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.
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.
- 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.
Weitere Informationen: http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmfSiehe 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.
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.
- 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.
- 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.
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/Siehe auch:- MDSD (Model Driven Software Development)
modellgetriebene Softwareentwicklung, modellbasierte Softwareentwicklung
Siehe auch:- MetaEdit+
Ein kommerzielles Werkzeug zur Erstellung grafischer domänenspezifischer Sprachen und dazu passender Codegeneratoren.
- 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.
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.
Weitere Informationen: http://www.openarchitectureware.org/- 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.
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.xmlgespeichert. 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.
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
- Siehe auch:
- 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.
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.
- 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.
Weitere Informationen: http://www.openarchitectureware.org/- 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.
Weitere Informationen: http://www.openarchitectureware.org/- 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/
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.
Siehe auch:
