© ARC Solutions GmbH 2008. All rights reserved 10. Informatik-Tag, HTWM Dipl.-Inf. Chris Hübsch, ARC Solutions GmbH EINSATZ VON DESIGN PATTERNS BEI DER.

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Cloud42 Dominik Muhler Seminar StuPro cims cims.
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Design-Pattern.
Modellierung sozio-technischer Systeme SeeMe - Semi-strukturierte, sozio-technische Modellierungsmethode.
Harald Köbler Software Design Patterns Prototype.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Freie Universität Berlin Institut für Informatik
Objektorientierte Programmierung
Design Patterns- Entwurfsmuster
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
ENOVIA SmarTeam Übersicht
Content-Entwicklung mit Design Patterns
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Objektorientierte Programmierung
ASAM ODS Daten standardisiert auswerten
Architekturen interoperabler Systeme für raumzeitliche Prozesse
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Grundlegende Analysen & Zwischendarstellungen
Introducing the .NET Framework
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Theorie soziotechnischer Systeme – 12 Thomas Herrmann Informatik und Gesellschaft FB Informatik Universität Dortmund iundg.cs.uni-dortmund.de.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Erweiterung von Eclipse als Entwicklungs-Plattform aus Sicht des Eclipse-Boardmitgliedes TogetherSoft Together auf Basis von Eclipse.
Wizards & Builders GmbH Schichtenarchitektur Multi-Tier-Applikationen mit Microsoft Visual FoxPro.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
UML Begleitdokumentation des Projekts
Forschungszentrum Informatik, Karlsruhe Objektorientierte Systeme unter der Lupe Markus Bauer Oliver Ciupke.
Spieldesign Allgemein Design Patterns Kommunikation zw. Objekten
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Alle arbeiten an Prozessketten. Wir bringen Sie ans Ziel.
Best Fit Matching von Punktewolken
Michael Haverbeck System Engineer
Prototypentwicklung für ein Testmanagementsystem
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
FIV-citactis.ppt debis Systemhaus GEI GS Ulm Innovative Technologien beim Verkehrsmanagement Heiko Boch debis Systemhaus Vortrag im Rahmen.
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Hardware / Software Codesign Hardware versus Software.
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Stellen Sie nochmals statischen und dynamischen Methodenaufruf gegenüber.
CGI (Common Gateway Interface)
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
Informations-Forum: SAP Interoperabilität
Brox EIF ContentBooster Wirtschaftliche Gegenüberstellung Metaschnittstelle statt klassischer Vernetzung bei der Suchmaschinen- konsolidierung (z.B. -->
Plugin Design Patterns in
Objektorientierung.
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
Software Design Patterns
Vortrag - Diplomarbeiten (HS I)
Eingereicht von:Michael Schrank Betreuung:o.Univ.-Prof. Dr. Hanspeter Mössenböck Mitbetreuung:Dipl.-Ing. Wolfgang Beer CyberStudent A Multiuser Awareness.
SiPass standalone.
OO Analyse und Entwurf für Anwender XII. Entwurfsmuster Dr. Michael Löwe.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Dieser Vortrag wird gesponsort von:
Objektorientierte (OO) Programmierung
Semi-automatische Komposition von Dienstbenutzerschnittstellen auf mehreren Abstraktionsebenen Christian Jäckel Universität des Saarlandes Bachelor.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Patterns Entwurfsmuster - Wie spart man sich Arbeit ?
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
 Präsentation transkript:

© ARC Solutions GmbH All rights reserved 10. Informatik-Tag, HTWM Dipl.-Inf. Chris Hübsch, ARC Solutions GmbH EINSATZ VON DESIGN PATTERNS BEI DER ENTWICKLUNG DES CSM-FRAMEWORKS REMARC

© ARC Solutions GmbH All rights reserved Inhalt 1.ARC Solutions 2.REMARC 3.Design Patterns 4.Patterns in Remarc

© ARC Solutions GmbH All rights reserved 1 ARC Solutions  Servicepartner von Siemens PLM für NX und Teamcenter  Entwicklungspartner PTC (Pro Engineer), CAD SCHROER (Medusa), PIT (pit fm)  eigenes REMARC MultiCAD Component Framework für Wiederverwendung & Standardisierung

© ARC Solutions GmbH All rights reserved 2 REMARC ®  Eigenentwicklung der ARC Solutions  Historie in C/C++/Fortran  Neuentwicklung in Java (Eclipse RCP)  Modularer Aufbau  ~180 Plug-Ins  ~10,000 Commits seit 10/2005  ~400,000 LOC

© ARC Solutions GmbH All rights reserved Use Cases  Erzeugen von Bauteildatensätzen (Normbasiert bzw. frei)  Ableiten geometrischer Repräsentationen  Auswahl von Bauteilen und Einbau in CAD-Modelle  Verwalten von Repräsentationen und Bauteildatensätzen in PLM und ERP-Systemen  Grundlegende Rollen: Creator vs. Consumer

© ARC Solutions GmbH All rights reserved Creator

© ARC Solutions GmbH All rights reserved Consumer

© ARC Solutions GmbH All rights reserved Datenmodell

© ARC Solutions GmbH All rights reserved 3 Design Patterns “Each pattern describes a problem which occurs over and over again in out environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing the same way twice.“ [Alexander, C., Ishikawa, S. und Silverstein, M.: A Pattern Language: Towns, Buildings, Construction, 1977]

© ARC Solutions GmbH All rights reserved Was macht ein Pattern aus?  Kontext  Situationsbeschreibung  Problem  Zwänge, die auf das System wirken  Lösung  Statische und dynamische Aspekte  Konsequenzen  Kompromiss zwischen Zwängen

© ARC Solutions GmbH All rights reserved Klassifikation Scale [A System of Patterns]  Architectural  Design Pattern  Idiom Matrix [Design Patterns]  Wirkbereich  Klassenorientiert  Objektorientiert  Zweck  Objekterzeugung  Strukturbildung  Verhaltensbeschreibung

© ARC Solutions GmbH All rights reserved 4 Patterns in Remarc Systemarchitektur: Plugins-Pattern  Kontext:  Modulare Anwendung, die flexibel erweitert werden soll.  Problem:  Ständiges Compilieren angepasster Produkte zu aufwändig.  Erweiterungsmöglichkeit auch für Dritte schaffen.

© ARC Solutions GmbH All rights reserved  Lösung:  Anwendung in einzelne Module (Plugins) zerlegen.  Metabeschreibung der Plugins vorsehen.  System zum Laden der Plugins zur Laufzeit.  Konsequenzen:  Klare Strukturierung und sauber definierte Schnittstellen notwendig.  Höhere Startzeit als bei monolithischen Anwendungen.  Metabeschreibung für Plugins erfassen.

© ARC Solutions GmbH All rights reserved Design-Patterns I Adapter-Pattern (Zugriff auf DIN-Interpreter)  Kontext:  Anpassung des Interfaces einer Klasse an ein domainspezifisches API.  Problem:  Clienten erwarten ein spezifisches API, die anbietende Klasse bietet dieses nicht an.  Modifikation der anbietenden Klasse ist nicht möglich.

© ARC Solutions GmbH All rights reserved  Lösung:

© ARC Solutions GmbH All rights reserved Design-Patterns II Command-Pattern (Kapselung von Interaktivität, Undo/Redo)  Kontext:  Anwendung mit Nutzer-Interaktiviät oder Job-Funktionalität.  Problem:  Verschiedene Eingabeformen gegenüber der Anwendung (Menü, Button, Short-Cut, Befehlszeile, …  Undo/Redo-Mechanismus  Macros  Logging

© ARC Solutions GmbH All rights reserved  Lösung:

© ARC Solutions GmbH All rights reserved Design-Patterns III Composite-Pattern (Zusammenfassung von Kommandos)  Kontext:  Anwendung mit Datenobjekten, die sowohl atomar als auch gruppiert auftreten können.  Problem:  Gruppierte Datenobjekte erfordern teilweise andere Behandlung als atomare Objekte.  Gruppierung soll möglicherweise vor Client verborgen werden.

© ARC Solutions GmbH All rights reserved  Lösung:

© ARC Solutions GmbH All rights reserved Fazit  Wiederverwendung wird auf neue Ebene gehoben.  Kenntnis von Design-Patterns ist wichtiges „Handwerkszeug“ für Informatiker.  Klare Auszeichnung in Entwicklerdokumentation und Code ermöglichen schnelleres Codeverständnis.  Bessere Toolunterstützung erleichtert Verwendung von Patterns.  Literaturtipps: A System of Patterns, Design Patterns

© ARC Solutions GmbH All rights reserved Ende Vielen Dank!Fragen?