Glossar Software Engineering. H. Fritzsche



Ähnliche Dokumente
Model Driven Development im Überblick

Model Driven Architecture (MDA)

Vortrag von: Ilias Agorakis & Robert Roginer

Comparing Software Factories and Software Product Lines

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Jochen Bauer

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Model Driven Architecture Praxisbeispiel

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine

DSL Entwicklung und Modellierung

SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.

Spring Dynamic Modules for OSGi Service Platforms

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Das Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi

Systemdenken und Gestaltungsmethodik System-Modellierung

SE2-10-Entwurfsmuster-2 15

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Herausforderung: Entwicklungsmethodik und technisches Umfeld

DSLs mit Xtext entwerfen , A. Arnold

SAP NetWeaver Gateway. 2013

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Eine Anwendung mit InstantRails 1.7

Lizenzierung von System Center 2012

SEA. Modellgetriebene Softwareentwicklung in der BA

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Model Driven Software Development

OP-LOG

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Innovator Anbindung an openarchitectureware. Connect. Klaus Weber.

Jürgen Schwab, debis Systemhaus

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Requirements Engineering I

Model Driven Architecture

Michael Piechotta - CASE Tools. openarchitecture Ware

Generatives Programmieren

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner

Einführung in Generatives Programmieren. Bastian Molkenthin

Microsoft SharePoint 2013 Designer

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

SALSAH eine virtuelle Forschungsumgebung für die Geisteswissenschaften

Anforderungen an die HIS

Workflow, Business Process Management, 4.Teil

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

A Domain Specific Language for Project Execution Models

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Faktor-IPS. Modellgetriebene Softwareentwicklung mit Faktor-IPS. Faktor Zehn AG. Seite 1

ADVISOR - Moodle: Eine E-Learning Anwendung mit eduweaver. Sabrina Fochler Universität Wien. 15. September, 2006

Lokale Installation von DotNetNuke 4 ohne IIS

Online Banking System

Internet Explorer Version 6

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

Übung: Verwendung von Java-Threads

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Persistenzschicht in Collaborative Workspace

Step by Step Webserver unter Windows Server von Christian Bartl

Ein mobiler Electronic Program Guide für Android

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Ein mobiler Electronic Program Guide

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Macher Solutions Produktinformation SAP Crystal Reports 2011

Grundlagen Software Engineering

CADEMIA: Einrichtung Ihres Computers unter Windows

Task: Nmap Skripte ausführen

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Enterprise Architekturen Willkommen in der Realität

Anforderungsgetriebene Webentwicklung mit Grails:

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Arbeiten mit UMLed und Delphi

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Arbeiten mit Workflows Installationsleitfaden Zur Installation des d3 Workflows

Was ist neu in Sage CRM 6.1

Reporting Services und SharePoint 2010 Teil 1

J.6 Programmierung eingebetteter Systeme

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

System-Update Addendum

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

Definition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014

Software Factories SS Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Lizenzierung von SharePoint Server 2013

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Lizenzierung von Windows Server 2012

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

CORBA. Systemprogrammierung WS

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Transkript:

Glossar Software Engineering H. Fritzsche 9. Juli 2010

1 Agile Softwareentwicklung Agile Softwareentwicklung ist die Bezeichnung für eine Methodik der Softwareentwicklung. Das Ziel ist es, den Softwareentwicklungsprozess zu flexibilisieren und zu vereinfachen. AJAX Ajax bezeichnet ein Konzept der asynchronen Datenübertragung zwischen einem Browser und dem Server. Dieses ermöglicht es, HTTP-Anfragen durchzuführen, während eine HTML-Seite angezeigt wird, und die Seite zu verändern, ohne sie komplett neu zu laden. Viele Anwendungen von Ajax werden dazu eingesetzt, im Webbrowser ein desktopähnliches Verhalten zu simulieren, wie beispielsweise Popup-Fenster. [Wikipedia] AOP Aspektorientierte Programmierung AndroMDA ist ein Framework für modellgetriebene Softwareentwicklung gemäß dem MDA-Paradigma. Artefakt Bezeichnung für ein von Menschen geschaffenes Erzeugnis. AST (Abstract Syntax Tree) ATL Atlas Transformation Language Baum ist ein spezieller Graph, mit dem sich eine Monohierarchie modellieren lässt. [Wikipedia] Cartridge Bezeichnung für wiederverwendbare, vorkonfigurierte Workflowabschnitte. Mit der Workflow-Engine aus dem MWE-Projekt ist es möglich, Workflow-Fragmente aus anderen Workflows heraus aufzurufen und bei Bedarf von außen zu konfigurieren. CIL Common Intermediate Language CORBA Common Object Request Broker Architecture Corba ist ein Standard für eine Middleware-Plattform. Core J2EE Patterns Entwurfsmuster der Gang of Four. CWM Das Common Warehouse Metamodel ist ein von der Object Management Group (OMG) entwickelter Standard für Beschreibung, Zugriff und Austausch von im Data-Warehouse-Prozess anfallenden Metadaten. Es soll Interoperabilität zwischen verschiedenen Data-Warehouse-Systemen und -Werkzeugen ermöglichen. [Wikipedia] Cloud Computing bezeichnet allgemein die Auslagerung von allen denkbaren IT-Diensten auf spezielle Server mit dem Ziel, die Leistungsfähigkeit zu verbessern und Kosten zu sparen. Dependency Injection Django ist ein Framework Domäne?? DSL (Domain Specific Language) EA Endlicher Automat EJB (Enterprise Java Beans) ist ein Komponentenmodell.

2 CRUD-Funktionen Gentzen-Typ? GME (Generic Modeling Environment) ist eine Metamodellierungs IDE. Es ist eine OpenSource-Lösung, entwickelt an der Universität von Vanderbilt, Institut für Softwareintegrierte Systeme (ISIS). Wird im Eclipe-GMT- Projekt weiterentwickelt. GMF ist ein Editor für Eclipse, mit dem die grafische Syntax von Domänenmodellen festgelegt werden kann. GORM (Groovy Object Relational Mapper) ein Modul, der von Grails genutzt wird. Als Basis nutzt GORM eine vereinfachte Syntax von Hibernate. Grails ist ein Java-Web-Entwicklungsframework Größe Bezeichnung von B. Meyer in [Mey90], S. 90 als Oberbegriff für Instanzvariable Methodenparameter Resultatbezeichner lokale Variable Hibernate Framework zur Sicherung der Persistenz von Objektmodellen in einer relationalen Datenbank. Hierarchie System von Elementen, die einander über und/oder untergeordnet sind. Eine Hierarchie ist eine Monohierarchie oder eine Polyhierarchie. JDT (Java Development Tools) JEE ist eine Middleware-Plattform. JSF (Java Server Faces) Framework für die Präsentation. JPA (Java Persistence API ) Kalkül siehe G. Görtz, S. 12 Laziness evtl. Laziness evaluation bei Scheme. MDA Model Driven Architecture. Metamodell?? MIC (Model-Integrated Computing) MM-Extensions (Metamodell-Extensions) MM-Extensions definieren Erweiterungen für die Elemente eines Metamodells. openarchitectureware ermöglicht die Implementierung von MM-Extensions mittels der Erweiterungssprache Xtend.

3 Modell Ein Modell ist nach H. Stachowiak [Sta73] durch drei Merkmale charakterisiert: 1. Es ist ein Abbild von etwas (einem natürlichen oder künstlichen Original), 2. es erfasst nicht alle Attribute des Originals, 3. es besitzt einen Nutzen (das Modell wird interpretiert). Originale können selbst wieder Modelle sein. Modelle reduzieren untersuchte Systeme auf relevante Merkmale. Software dient a) zur Modellierung relevanter Aspekte realer Systeme. Modelle dienen aber auch b) als Darstellungsmittel für bestimmte Aspekte der Software (z.b. den Steuerfluss). Modell in der Logik: ist eine Interpretation, die eine Formel erfüllt. Model Driven Architecture (MDA) ist ein Ansatz für die Modellgetriebene Softwareentwicklung, der von der OMG vorangetrieben wird (ein Standard). Kernbestandteile sind die OMG-Spezifikationen Meta Object Facility (MOF), Unified Modeling Language (UML) und Common Warehouse Metamodel (CWM). MDA deckt (bisher) nicht das gesamte MDSD- Spektrum ab [SVEH07]. Model Driven Software Development (MDSD) MOF Mit der Meta Object Facility (MOF) werden Modellelemente von UML2 spezifiziert und dadurch z. B. mit dem Format Meta Interchange XMI austauschbar. UML ist dazu in vier Schichten M0 bis M3 gegliedert. Die bereits erwähnte MOF (M3) stellt eine der vier Schichten dar. Es ist die Metasprache der Metasprachen von UML2 und beinhaltet deren grundlegende Elemente. Die Metasprache von UML2 (M2) spezifiziert deren grundlegende Elemente mit ihren Eigenschaften. Die in der Praxis verwendete UML2 befindet sich auf der Ebene M1. Damit werden die realen Objekte der M0-Schicht, also die Realität, dargestellt. MTS Microsoft Transaction Server MVC Model - View - Controller MWE Als Modeling Workflow Engine, kurz MWE, wird die ehemalige oaw Workflow Engine von Itemis nun im Eclipse Modeling Project weitergeführt. Die Workflow-Engine ist eine Plattform, über die Komponenten zu einer Konfiguration zusammengefügt werden können. oaw (Open Architecture Ware) http://www.openarchitectureware.org/pub/documentation/4.3.1/openarchitectu 4.3.1-Reference.pdfs Es handelt sich um eine Werkzeugsuite, die auf einem in Java programmierten Generator-Framework basiert und zum Ziel hat, eine Infrastruktur zur Entwicklung von Generatoren bereitzustellen. oaw 4.1.2 umfasst Workflow-Engine, Typsystem, Templatesprache Xpand, Erweiterungssprache Xtend, Xtext. OCL (Object Constraint Language) ist ein OMG-Standard. Es ist eine formale, deklarative Sprache, die es ermöglicht, die statische Semantik von Modellen (meist UML-Modellen) zu spezifizieren.

4 OLE Object Linking and Embadding OMG The Object Management Group (OMG ) is an international, open membership, not-for-profit computer industry consortium. OMG Task Forces develop enterprise integration standards for a wide range of technologies, and an even wider range of industries. OMG s modeling standards enable powerful visual design, execution and maintenance of software and other processes. OMG s middleware standards and profiles are based on the Common Object Request Broker Architecture (CORBA ) and support a wide variety of industries. O/R-Mapper OSGi Die OSGi Alliance (früher "Open Services Gateway initiative") spezifiziert eine hardwareunabhängige dynamische Softwareplattform, die es erleichtert, Anwendungen und ihre Dienste per Komponentenmodell ("Bundle"/"Service") zu modularisieren und zu verwalten ("Service Registry"). Die OSGi-Plattform setzt eine Java Virtual Machine (JVM) voraus und bietet darauf aufbauend das OSGi-Programmiergerüst. [Wikipedia] PDE P lug-in Development Environment Das PDE stellt auf der Basis von Eclipse Werkzeuge bereit, um Plug-ins zu erzeugen, zu entwickeln, zu testen, zu bauen (build) und zu deployen. PIM (Platform independent Model) POJO Plain old Java Object Der Begriff POJO stammt von Martin Fowler. POJOs sind nicht von komplexen APIs oder Klassen eines Frameworks abhängig. POJOs sind die Basis für eine leichtgewichtige Entwicklung. Programmgröße wird bei B. Meyer beschrieben. Siehe. Rails RCP (Rich Client Platform) Ruby dynamisch getypte Programmiersprache, wird mit neueren Linux-Distributionen mitgeliefert. Ruby on Rails Auf der Sprache Ruby basierendes Web-Framework. RubyGems ist ein Paketverwaltungssystem für Rails. Semantik Die statische Semantik legt Bedingungen fest, die ein Modell erfüllen muss. Constraints werden gegen die abstrakte Syntax definiert, d.h. sie sind von ihr abhängig. Statisch getypte Programmiersprachen besitzen eine statische Semantik in Form von Bedingungen, die vom Compiler geprüft werden. Das sind alle Bedingungen, die zu Fehlermeldungen des Compilers führen, und die keine Fehlermeldungen zu Syntaxfehlern sind. SPEM Process Engineering Metamodel Spring Es ist ein Framework, das dazu dient, die Anwendungsentwicklung zu vereinfachen. Software Factory??

5 Standard Widget Toolkit (SWT) SWT ist eine Bibliothek mit Klassen zur Erstellung grafischer Benutzeroberflächen auf der Basis von Java. Syntax Es wird zwischen Abstrakter Syntax und konkreter Syntax unterschieden. Eine konkrete Syntax kann sowohl grafisch als auch textuell sein. Textual Modeling Framework (TMF) ein Schirmprojekt innerhalb des Eclipse Modeling Framework Projects, das die Frameworks TCS und Xtext überspannt [Wikipedia] Typsystem Ein Typsystem definiert in der Regel einen Satz von eingebauten Datentypen. UML2 Im August 1999 stieß die OMG [Gro]die Entwicklung von UML2 an, indem sie einen entsprechenden Request for Information (RFI) publizierte. Ein Jahr später, im September 2000, bat die OMG ihre Mitglieder und weitere interessierte Kreise um Vorschläge für UML2. Gemäß der neu für UML2 definierten Architektur hat die OMG drei Requests For Proposals (RFP) publiziert, einen UML 2.0 Infrastructure RFP, einen UML 2.0 Superstructure RFP und einen UML 2.0 OCL RFP. Wer Vorschläge einreichen wollte, hatte dazu ungefähr ein weiteres Jahr Zeit. Im September 2004 konnten schließlich alle Finalization Task Forces ihre Arbeit beenden. Für die UML 2.0 OCL und die UML 2.0 Infrastructure lagen damit endgültig abgenommene Dokumente (Final Adopted Specification) vor. Nur bei der UML 2.0 Superstructure schien sich dieser letzte Schritt noch etwas zu verzögern: im März 2005 bot der OMG-Webauftritt weiterhin nur ein temporäres Dokument mit der informellen Bezeichnung UML 2.0 Superstructure FTF convenience document zum Herunterladen an.am 21. Oktober 2008 wurde die Beta 1 von UML Version 2.2 durch die OMG veröffentlicht, die wiederum im Februar 2009 in der finalen Version vorlag [UML]. Neu hinzu gekommen ist in der Version 2.2 das Profildiagramm, um eigendefinierte Stereotypen-Sammlungen strukturieren zu können. Anfang 2010 soll UML 2.3 veröffentlicht werden. Diese Version wird vor allem Bugfixes am Metamodell und Schärfungen der Semantik von Modellelementen im Spezifikationsdokument der UML enthalten. Validation Prüfung, ob ein Entwicklungsergebnis die individuellen Anforderungen bezüglich einer speziellen beabsichtigten Nutzung erfüllt [Spillner]. Verifikation Verfahren, um die Korrektheit eines Programms (Moduls) mit mathematischen Mitteln zu beweisen, d.h. zu beweisen, dass formale Spezifikation und Implementation eines Programms übereinstimmen (äquivalent sind?). Durch die Verifikation wird die partielle Korrektheit bewiesen, diese klammert den Beweis der Termination aus. Visio ist ein objektorientiertes Malwerkzeug von Microsoft. XSD Ein konkretes XML-Schema wird auch als eine XSD (XML-Schema-Definition) bezeichnet und hat als Datei üblicherweise die Endung ".xsd". Im Gegensatz zu DTDs kann bei Verwendung von XML-Schemata zwischen dem Namen des XML-Typs und dem in der Instanz verwendeten Namen des XML-Tags unterschieden werden. [Wikipedia] Xpand Es können Modelle verarbeitet werden, die mittels Xtext erzeugt wurden.

6 Xtend Eine Erweiterungssprache, die in openarchitectureware die Implementierung von MM-Extensions ermöglicht. Xtext ist ein Framework zur Definition von textuellen DSLs. Es ist Bestandteil von open ArchitectureWare. Xtext stellt eine vereinfachte EBNF-Notation zur Verfügung.

Literaturverzeichnis 7 [Gro] [Mey90] http://www.omg.org/ Meyer, B.: Objektorientierte Softwareentwicklung. New York etc. : Coedition Carl Hanser Verlag u. Prentice-Hall, 1990 [Sta73] Stachowiak, H.: Modelltheorie. 1973 [SVEH07] Stahl, Thomas ; Völter, Markus ; Efftinge, Sven ; HAase, Arno: dpunkt.verlag, 2007 [UML] Documents associated with UML Version 2.2. http://www.omg. org/spec/uml/2.2/