6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.



Ähnliche Dokumente
Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

2. Automatische Codegenerierung mittels dynamischer Spezialisierung

SWE5 Übungen zu Software-Engineering

SEP 114. Design by Contract

Techniken der Projektentwicklungen

Arbeiten mit UMLed und Delphi

Professionelle Seminare im Bereich MS-Office

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Software-Engineering SS03. Zustandsautomat

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Anleitung über den Umgang mit Schildern

Objektorientierte Programmierung. Kapitel 12: Interfaces

Qt-Projekte mit Visual Studio 2005

Vgl. Oestereich Kap 2.7 Seiten

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Zeichen bei Zahlen entschlüsseln

WhiteStarUML Tutorial

Unified Modeling Language (UML)

4D Server v12 64-bit Version BETA VERSION

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Use Cases. Use Cases

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Nutzung von GiS BasePac 8 im Netzwerk

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Lizenzen auschecken. Was ist zu tun?

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Grundlagen von Python

Vorlesung "Software-Engineering"

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Software Engineering Klassendiagramme Assoziationen

Eine Anwendung mit InstantRails 1.7

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

SDD System Design Document

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

1 Mathematische Grundlagen

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

Wiederkehrende Buchungen

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Kurzanleitung MAN E-Learning (WBT)

Was meinen die Leute eigentlich mit: Grexit?

Übung: Verwendung von Java-Threads

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

macs Support Ticket System

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Übungen zur Softwaretechnik

Benutzerkonto unter Windows 2000

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Veranstaltungsbelegung in QIS/LSF -- Leitfaden für BW-Studierende --

RUP Analyse und Design: Überblick

10 größten SLA Irrtümer. Seminar: 8663 Service-Level-Agreement. Qualified for the Job

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Der große VideoClip- Wettbewerb von Media Markt.

Local Control Network

Regeln für das Qualitäts-Siegel

How to do? Projekte - Zeiterfassung

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Nicht über uns ohne uns

Step by Step Webserver unter Windows Server von Christian Bartl

Anbindung des eibport an das Internet

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Wie wird ein Jahreswechsel (vorläufig und endgültig) ausgeführt?

! " # $ " % & Nicki Wruck worldwidewruck

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

OP-LOG

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Klassendiagramm. (class diagram)

Leichte-Sprache-Bilder

teischl.com Software Design & Services e.u. office@teischl.com

Anleitung zur Benutzung des jobup.ch Stellensuchendekontos

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Produktskizze. 28. November 2005 Projektgruppe Syspect

Planung für Organisation und Technik

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Anleitung OpenCms 8 Webformular Auswertung

ecaros2 - Accountmanager

Bauteilattribute als Sachdaten anzeigen

Transkript:

6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information systems modeling: from object-oriented conceptual modeling to automated programming 1

Problem Space Conceptual Model Solution Space Execution Model Object Model Dynamic Model Functional Model OASIS Specification 2/10 OO-Methode In der klassischen Softwareentwicklung wird der Entwurf eines Modells im Problemraum mit unterschiedlichsten Methoden und Hilfsmitteln bzw. Diagrammen erstellt. Dieser Entwurf wird dann im Lösungsraum implementiert. Leider gibt es keine Verbindung zw. den Modellen im Problem- und Lösungsraum. So passiert es immer wieder das die Modelle verschieden sind. Die Folge ist das sich Entwurf und Implementierung unterscheiden, was z.b. die Erweiterung des Modells bzw. der Lösung erschwert. Eine andere Herangehensweise ist OO-Methode. Hierbei werden die Modelle im Problem- und Lösungsraum über eine formale Spezifikation miteinander verbunden. OASIS ist so eine formale Spezifikation. Im Problemraum wird ein konzeptionelles Modell, bestehend aus einem Objektmodell, einem dynamischen Modell und einem funktionalen Modell erstellt. Dieses Modell wird in einem OASIS Schema abgebildet aus dem 1 zu 1 ein Ausführungsmodell erstellt wird. Damit sind sind die Modelle im Problemund Lösungsraum identisch. Dies hat den Vorteil das große Teile (bis zu 95%) des Programmcodes automatisch generiert werden können und nur noch ein geringer Teil per Hand geschrieben werden muss. Voraussetzung ist dabei ein exakt definiertes konzeptionelles Modell. Der Vortrag beschreibt die Modelle sowie die Vorgehensweise der Transformation vom konzeptionellen Entwurf zum Ausführungsmodell. 2

- Objekt Modell (1/3) Darstellung von Klassen mit folgenden Merkmalen Attribute Services Constaints Beziehungen (Vererbung, Aggregation) Basierend auf UML Klassendiagramm 3/10 Im Objekt Modell werden die Komponenten des zu modellierenden Informationssystems definiert. Sie bilden die Basis für das spätere Ausführungsmodell, da sie den Zustand des Systems darstellen. Über Services kann der Nutzer auf die Objekte zugreifen. Im Objekt Modell werden Klassen definiert von denen Objekte instanzieiert werden. Die Klassen haben folgende Merkmale. Attibute: Services: zu Constraints: Eigenschaften (statisch, variabel, abgeleitet) der Klasse Methoden der Klasse, Argumente des Service Dienen dem Ändern des Objektzustandes Man unterscheidet in private und shared Services. Private Services können nur innerhalb einer Klasse genutzt werden. Shared Services sind in mehren Klassen definiert und dienen synchronen Kommunikation der entsprechenden Klassen untereinander. Bedingungen für Attribute die eingehalten werden müssen, um ein Objekt der Klasse erzeugen zu können. Beziehungen: zw. Klassen bzw. Objekten Aggregation (Assoziation und Komposition) Vererbung (Generalisierung und Spezialisierung) Zur Darstellung des Klassen werden UML Klassendiagramme verwendet. 3

- Dynamisches Modell (2/3) Dient zur Darstellung von Prozesses Beschreibung von Objekt-Lebenszyklen Zustands Übergangs Diagramme Transitionen entsprechen gültigen Zustandswechsel eines Objektes Transitionen werden durch Services ausgelöst Beschreibung von Beziehungen zw. Objekten Interaktionsdiagramme Arten von Interaktionen Trigger Transaktionen 4/10 Das Dynamische Modell dient zur Darstellung von Prozessen. Dabei werden einerseits Objekt- Lebenszyklen, andererseits Interaktionen zw. Objekten beschrieben. Für den Objektlebenszyklus werden Zustandsübergangsdiagramme verwendet. Hiermit werden gültige Zustandsübergänge definiert, die durch Services ausgelöst werden. Ein Service wird nur bedient wenn die Attribute des Objektes definierten Bedingungen entsprechen. Daher werden beim Aufruf eines Services die entsprechenden Bedingungen geprüft. Hierbei wird unterschieden in Preconditions Attribute müssen dieser Bedingung entsprechen, damit ein Service ausgelöst wird. Control Conditions dienen der Unterscheidung von alternativen Services Interaktionen zw. Objekten werden über Interaktionsdiagramme dargestellt. Man unterscheidet hierbei zwei Arten von Interaktionen. Trigger sind Objekt Services die aufgerufen werden, wenn eine bestimmte Bedingung eines Objektattributes erfüllt ist. Transaktionen beinhalten Services mehrerer Objekte Es gibt für jede Klasse ein Zustandsübergangsdiagramm, für das ganze System aber nur ein Interaktionsdiagramm. 4

- Funktionales Modell (3/3) Kategorisierung von Attribute von Objekten Kategorien von Attributen Push-Pop State-Independent Discrete-Domain Definition wie Services Attribute verändern Überprüfung der Operation und Ergebnisse 5/10 Im funktionalem Modell werden Methoden definiert wie Services den Zustand bzw. die Attribute von Objekten verändern. Dazu werden die Attribute kategorisiert. Kategorien von Attributen Push-Pop Wert wird erhöht bzw. vermindert State-Independent Wert ist abhängig vom zuletzt aufgetretenen Service Discrete-Domain Wert hat bestimmten Typ (Integer, Char,...) Durch das funktionale Modell wird auch die Überprüfung der Operation und Ergebnisse festgelegt. D.h. es wird über Methoden geprüft ob der eingetretene Zustand gültig ist. 5

(1/2) OASIS ist die formale Spezifikation des konzeptuellen Modells und des Ausfügrungsmodells Aus dem konzeptuellen Modell läßt sich die OASIS Schemadefinition ableiten Für jede Klasse wird so ein konzeptuelles Schema in OASIS abgebildet 6/10 OASIS ist die formale Spezifikation des konzeptuellen Modells und des Ausführungsmodells. Aus dem konzeptuellen Modell läßt sich die OASIS Schemadefinition ableiten. D.h. für jede Definition im konzeptuellen Modell gibt es auch eine Definition im OASIS Schema. Für jede Klasse wird so ein konzeptuelles Schema in OASIS abgebildet. Dabei werden in den Klassen die Attribute und Services eines Objektes aus dem Objektmodell, aber auch die Prozessdefinitionen des dynamischen Modells und die Methoden des funktionalen Modells definiert. Aus dem OASIS Schema läßt sich das Ausführungsmodell erzeugen. Dazu wird ein Ausführungsschema benutzt, wie es auf Folie 8 beschrieben ist. 6

(2/2) Prozessdefinition von in Beziehung stehenden Objekten Objekte bieten Services und Attribute Services verändern Attribute und damit Objektzustand in einem definierten Verfahren Zustandsänderungen müssen gültig sein 7/10 Services werden direkt oder über Trigger / Transaktionen aufgerufen Die OASIS Spezifikation ist eine Prozessdefinition von in Beziehung stehenden Objekten. Diese Beziehungen werden im dynamischen Modell über Zustandsübergangsdiagramme und Interaktionsdiagramme definiert. Damit aus einem OASIS Schema ein Ausführungsmodell erstellt werden kann, müssen folgende Kriterien erfüllt sein. Objekte bieten Services und Attribute, welche im Objektmodell über Klassendiagramme definiert werden. Services verändern Attribute und damit Objektzustand in einem definierten Verfahren aus dem funktionalen Modell. Dabei ist definiert welcher Service welche Attribute in welcher Art und Weise modifiziert. Die Zustandsänderungen der Objekte müssen gültig sein, d.h. dem Zustandsübergangsdirgramm entsprechen. Services können direkt vom Nutzer des Informationssystem aufgerufen werden. Durch Änderungen der Objektzustände bzw. Attribute werden Bedingungen erfüllt die Trigger oder Transaktionen auslösen und somit weiter Services aufrufen 7

(1/2) Aufruf Service Gültige Transition Bedingung für Serviceausführung erfüllt ja nein Exception Änderung Objektzustand / Attribute Gültiger Objektzustand nein Exception ja ja Trigger 8/10 Ende Serviceaufruf Aus dem OASIS Schema wird ein Ausführungsmodell erzeugt. Dabei wird folgendes Ausführungsschema benutzt. Der Nutzer authentifiziert sich am Informationssystem. Er erhählt eine Überblick über die vorhandenen Objekte und die angebotenen Services. Durch Nutzer des Informationssystems oder durch Trigger werden Services eines Objektes mit den notwendigen Argumente aufgerufen. Im ersten Schritt wird geprüft ob für den aktuellen Objektzustand eine gültige Transition existiert und ob Bedingung zur Ausführung des Services erfüllt sind. Ist mindestens eine der Voraussetzungen nicht erfüllt wird eine Exception ausgelöst und der Service nicht ausgeführt. Sind die Bedingungen erfüllt werden die Attribute des Objekts geändert. Es wird in einen neuen Zustand überführt. Der neue Objektzustand wird auf seine Gültigkeit geprüft. Ist der Zustand nicht gültig wird eine Exception ausgelöst und der alte Objektzustand wieder hergestellt. In einem gültigen Objektzustand werden Attributbedingungen überprüft ob sie Trigger auslösen. Ist dies der Fall wird über den Trigger der entsprechende Service aufgerufen. 8

(2/2) User Interface Access Control System View Service Activation Logic Repository Mediator Domain Class Database Mediator Domain Logic Services... Domain Class Persistence Repository Database 9/10 Das Excution Modell wird in eine Dreischichten Architektur eingeteilt. Das User Interface stellt für die Nutzer des Informationssystems den Zugang zu den Objekten und Services dar. Über die Access Control Komponente kann sich der Nutzer am System anmelden. Die System View listet Objekte und Services. Durch die Service Activation Komponente werden Services von Objekten aufgerufen. Die Application Logic ist unterteilt in Problem Domain Objects und Services Objects. Problem Domian Object stellen die OASIS Spezifikation dar. Sie enthalten Klassen und die damit Verbundene Prozessdefinition des OASIS Modells. Über Problem Domain Objects findet die Transformation der OASIS Spezifikation in eine Programmiersprachen Implementierung statt. Service Objects stellen Verbindungen zu Repositories her in denen Objekte und OASIS Spezifikationen sowie Systeminformationen gespeichert werden. Die Mediatoren nehmen die Transformation der Objekte und Systeminformationen in die entsprechenden Datenformate der jeweiligen Repositories vor Unter Persistence versteht man die Repositories zur Speicherung von Objekten und Systeminformationen. In der Datenbank werden Objekte der Applikation Logic im jeweiligen Zustand gespeichert. Im Repository lagern OASIS Spezifikationen und Systeminformationen, die hauptsächlich das UserInterface betreffen. 9

OASIS ist ein Objektorientiertes Modellierendes Entwicklungssystem mit dem nur noch wenig Code per Hand geschrieben werden muß. Wichtig ist eine exakte Modellierung der Prozesse. Der Anwendungsbereich ist zur Zeit noch auf Informationssysteme beschränkt. 10/10 OASIS ist ein Objektorientiertes Modellierendes Entwicklungssystem mit dem nur noch wenig Code per Hand geschrieben werden muß. Wichtig ist eine exakte Modellierung der Prozesse, da nur so die gewünschten Ergebnisse im Ausführungsmodell eintreten. Der Anwendungsbereich ist zur Zeit noch auf Informationssysteme oder Geschäftsanwendungen beschränkt. Die Nutzung von OASIS oder einer anderen OO-Methode zur Entwicklung hardwarenaher Programme wie Treiber oder 3D Anwendungen ist nicht möglich, weil hier der Bedarf mehr auf Performance als auf exakte eine Modellierung fokusiert ist. 10