1
M³ - MID ModellierungsMethodik Nürnberg, 16.10.2008
M³ - MID ModellierungsMethodik Modell-Ebenen und deren Übergänge im M³ Durch automatisierte Modellübergänge, werden die Informationen aus der übergeordneten Modell-Ebene übernommen. Modell-Ebenen M³ Rollen Anforderungs-Modell Initiation Initiation Systemanalytiker Anforderungsanalytiker Analyse-Modell System System Evaluation Evaluation Architektur- und Design-Modell Architecture Architecture Projection Projection Systemarchitekt Softwaredesigner Code Code-Modell Software Software Construction Construction Implementierer 3
M³ Phasen Initiation System Evaluation Architecture Projection Initiation Ablauf eines Geschäftsfalls durch Aktivitätsdiagramme beschreiben IT- unterstützte Arbeitsschritte identifizieren System Evaluation Detaillieren der Anwendungsfälle, Ausarbeiten der Anwendungsfall-Abläufe Softwareeinheiten und Domänenklassen identifizieren Architecture Projection Benennen und Verteilen der Komponenten, Identifizieren der Schnittstellen, Wiederverwendung existierender Komponenten Realisierung der Anwendungsfälle beschreiben 4
Initiation System Evaluation Transformation GPM OO
M2M im M³ Initiation Evaluation: Transformation GPM OO Ablauforganisation ein Kunde Gesamtsystemarchitektur Struktur führt aus Beauftragung ok «overallsystem» CoreBankingSystem Bankkonto Überweisung online beauftragen unterstützt Zahlungsanweisung [ausgefüllt] «segment» Internet-PC «segment» Standortserver «segment» Kundenbetreuer-AP Aufbauorganisation Online- Banking-Client EC- Geldautomat Beauftragung abgebrochen ein Kunde «softwareunit» OnlineBanking-Client «Inhalte» Internet Banking starten Beauftragung mit TAN authorisieren Überweisung online beauftragen «softwareunit» CoreBanking-Service Zentrale Datenbank «softwareunit» CoreBanking-Client «Inhalte» Konto für Kunde einrichten Konto für OnlineBanking freischalten Kunde für Konto bevollmächtigen Vollmacht Kunde für Konto löschen Kunde erfassen Kunde löschen Privatkundenbetreuer CoreBankingSystem Kundenbetreuer-AP Standortserver Internet-PC Privatkundenbetreuer Inhouse-LAN CoreBanking- Client CoreBanking- Service gesicherte Internet-Verbindung OnlineBanking -Client ein Kunde Domänenmodell Backbone Kontodaten Zahlungsanweisung Geschäftsobjekte Host Zentrale Datenbank «Eigenschaften» Name : Zeichenkette Vorname : Zeichenkette Telefonnummer : Zeichenkette Adresse : Zeichenkette Email-Adresse : Zeichenkette Kundennummer : Zahl «Eigenschaften» Kontoart : Zeichenkette Saldo : Geldbetrag Bezeichnung : Zeichenkette Kontonummer : Zahl «Eigenschaften» Kontonummer oder IBAN des Empfängers : Zahl Bankleitzahl oder BIC des Empfängerkontos : Zahl Betrag : Geldbetrag Kontonummer des Kundenkontos : Zahl Verwendungszweck : Zeichenkette Empfänger : Person Kontodaten :Elektronische Daten Kontonummer [Zahl] Bezeichnung [Zeichenkette] K o n to a rt [Ze ich e n ke tte ] Saldo [Geldbetrag] :Elektronische Daten Kundennummer [Zahl] Na me [Ze ich e n ke tte ] Vorname [Zeichenkette] Adresse [Zeichenkette] Telefonnummer [Zeichenkette] Email-Adresse [Zeichenkette] Zahlungsanw eisung :Elektronische Daten Kontonummer des Kundenkontos [Zahl] Empfänger [Person] Bankleitzahl oder BIC des Empfängerkontos [Zahl] Kontonummer oder IBAN des Empfängers [Zahl] Betrag [Geldbetrag] Verwendungszweck [Zeichenkette] Zugangsdaten «Eigenschaften» PIN : Zahl Kontonummer : Zahl Zugangsdaten :Elektronische Daten Kontonummer [Zahl] PIN [Zahl] 6
M2M im M³ Initiation Evaluation: Transformation GPM OO Verhalten ein Kunde OnlineBanking-Client führt aus Beauftragung ok Internet Banking starten Bankkonto Überweisung online beauftragen unterstützt Zahlungsanweisung [ausgefüllt] ein Kunde Überweisung online beauftragen Beauftragung mit TAN authorisieren Online- Banking-Client Beauftragung abgebrochen CoreBanking-Client Kunde erfassen Konto für Kunde einrichten Privatkundenbetreuer Bankvollmacht [geprüft] führt aus Kunde erfassen PIN-Nummer Konto für Online- Banking freischalten unterstützt OnlineBanking -Administration Privatkundenbetreuer Kunde löschen Vollmacht Kunde für Konto löschen Kunde für Konto bevollmächtigen Privatkundenbetreuer führt aus Kunde löschen Eingabe: Kunde löschen Privatkundenbetreuer OnlineBanking unterstützt OnlineBanking -Administration 7
Evaluation Projection Transformation UC-Modell 3-Tier-Architektur
M2M im M³ 3-Tier-Architektur Komponentenmodell basierend auf Standard-Stereotype der UML 2 <<presentation>>-komponenten Benutzerschnittstellen Keine eigene Verarbeitungslogik <<application>>-komponenten aktiv führt Aktivitäten aus i.d.r. transaktionsbasiert <<data>>-komponenten passiv persistierbar werden von den Prozess-Komponenten benutzt 9
M2M im M³ Evaluation Projection: Transformation UC-Modell 3-Tier Struktur «externalinterface» SKundenmanagement Kontomanagement (AKundenmanagement) «softwareunit» CoreBanking-Client Kunde anlegen speichern Kunde löschen «use» Kontodaten bearbeiten Konto für Kunde einrichten Kunde für Konto bevollmächtigen Vollmacht Kunde für Konto löschen Konto für OnlineBanking freischalten Kundenmanagement Kunde erfassen bearbeiten Kunde löschen abrufen «use» «domainclass» Zugangsdaten PIN:Zahl Kontonummer:Zahl «use» «softwareunit» OnlineBanking-Client Dauerauftrag online einrichten Internet Banking starten EU-Überweisung durchführen Inlandsüberweisung durchführen Beauftragung mit TAN authorisieren Terminüberweisung einrichten Überweisung online beauftragen Umbuchung durchführen Kontostand abfragen speichern(daten:) Kunde anlegen(ein/ausgabe:) Kunde löschen(ein/ausgabe:) «realize» «application» AKundenmanagement (Applikation) 1 gelten für «use» «use» «domainclass» Zahlungsanweisung «use» «domainclass» Name:Zeichenkette Vorname:Zeichenkette Telefonnummer:Zeichenkette Adresse:Zeichenkette Email-Adresse:Zeichenkette Kundennummer:Zahl 1..* 1..* 1..* ist verknüpft mit «domainclass» Kontodaten Kontoart:Zeichenkette Saldo:Geldbetrag Bezeichnung:Zeichenkette Kontonummer:Zahl 1 1 «use» bezieht sich auf 1..* Kontonummer oder IBAN des Empfängers:Zahl Bankleitzahl oder BIC des Empfängerkontos:Zahl Betrag:Geldbetrag Kontonummer des Kundenkontos:Zahl Verwendungszweck:Zeichenkette Empfänger:Person Zahlungsanweisung 1..* authorisiert «realization- Specification» «data» «dataclass» 1..* «domainclass» Kundenliste Kunde:[1..*] ermöglicht Zugriff auf «use» «externalunit» Security «use» «domainclass» TAN-Liste 0..1 Name Vorname Telefonnummer Adresse Email-Adresse Kundennummer 10
M2M im M³ Evaluation Projection: Transformation UC-Modell 3-Tier Kundenmanagement Kunde erfassen bearbeiten Kunde löschen abrufen Struktur Kunde erfassen Privatkundenbetreuer CoreBanking-Client «userinterface» Kunden-Maske [Neu gewählt] «presentationaction» Dialog anzeigen Kunden-Maske «realize» «useraction» eingeben : :Kunden-Maske «presentation» Kunden-Maske (Presentation) «centralbuffer» neuer Kunde: «datastore» : «use» : «externalinterface» SKundenmanagement [Update gewählt] [Abbruch gewählt] :CoreBanking- Client «serviceaction» Kunde anlegen : (AKundenmanagement) speichern(daten:) Kunde anlegen(ein/ausgabe:) Kunde löschen(ein/ausgabe:) Ausgabe: 11
Projection Java EJB (Modell-zu-Code-Transformation) Transformation 3-Tier Eclipse IDE
M2M im M³ Demobeispiel Projection Java EJB: Transformation 3-Tier Eclipse IDE Mit Hilfe des Generator Frameworks openarchitectureware wird die Modell-zu-Text-Transformation realisiert Architecture Version 12 Projection Version 12 oaw Workflow oaw Schablonen oaw Schablonen wird immer neu generiert Vollständig generiert bleibt unverändert Java Java Code extends X Java Java Code wird erstmalig generiert wird manuell vervollständig Veränderungen werden aufgezeigt 13
M2M im M³ Demobeispiel Projection Java EJB: Transformation 3-Tier Eclipse IDE «externalinterface» SKundenmanagement darf nur der Admin machen speichern(daten:) Kunde anlegen(inout Ein/Ausgabe:) Kunde löschen(ein/ausgabe:) «realize» Admin «application» AKundenmanagement (Applikation) «use» «realization- Specification» «data» (Daten) «dataclass» Name Vorname Telefonnummer Adresse Email-Adresse Kundennummer Generierter Code 14
M2M im M³ Demobeispiel Projection Java EJB: Transformation 3-Tier Eclipse IDE «externalinterface» SKundenmanagement darf nur der Admin machen speichern(daten:) Kunde anlegen(inout Ein/Ausgabe:) Kunde löschen(ein/ausgabe:) «realize» Admin «application» AKundenmanagement (Applikation) «use» «realization- Specification» «data» (Daten) «dataclass» Name Vorname Telefonnummer Adresse Email-Adresse Kundennummer Generierter Code 15
M2M im M³ Demobeispiel Projection Java EJB: Transformation 3-Tier Eclipse IDE «externalinterface» SKundenmanagement darf nur der Admin machen speichern(daten:) Kunde anlegen(inout Ein/Ausgabe:) Kunde löschen(ein/ausgabe:) «realize» Admin «application» AKundenmanagement (Applikation) «use» «realization- Specification» «data» (Daten) «dataclass» Name Vorname Telefonnummer Adresse Email-Adresse Kundennummer Generierter Code 16
M2M im M³ Demobeispiel Projection Java EJB: Eclipse Plug-In für Innovator 17
Innovator Data excellence Datenmodellierung mit exzellente Profil-Technologie
Innovator 2008 Innovator Data excellence Ausgehend von einem Klassenmodell wird ein konzeptionelles Datenmodell abgeleitet, ein physisches Datenbankmodell erstellt und die Datenbank angelegt. Objekt-Relationales-Mapping für Datenbanken Datenmodellierer Klassenmodellierer DB- Designer Klassenmodell konzeptionelles Datenmodell physisches physisches Datenbankmodell Datenbankmodell Mapping zum Datenmodell Sematische Datentypen erstellen Tabellen und Views erstellen, Abbildung auf SQL-Datentypen DDL-Skript erstellen DB- Admin Datenbank MS SQL Server 2000 MS SQL Server 2005 Oracle DB2 19
Innovator 2008 Innovator Data excellence Das konzeptionelle Schema Modellierung mit Entitäten, Attribute, Beziehungen, Schlüssel, semantische Datentypen Entitäten mit einstellbarer Größe und Abschnittsinhalten (z.b. für Attribute, Fremdschlüssel) Ein- / Ausblenden von und einstellbare Pflege für Abschnittsinhalte Notationen Chen James Martin DSA SERM UML 20
Innovator 2008 Innovator Data excellence Das Datenbankschema Modellierung mit Tabellen, Spalten, Views, From-Klauseln, Primär- und Fremschlüssel, Indices, Trigger, Stored Procedures, Zugriffsberechtigungen (Privileges) Tabellen mit einstellbarer Größe und Abschnittsinhalten Ein- / Ausblenden von und einstellbare Pflege für Abschnittsinhalte Zur Typisierung zusätzlich zu semantischen Datentypen auch direkte Datentypen der Zielsystem Notation IDEF1X 21
Innovator 2008 Innovator Data excellence Modellierung im Datenbankschema Es sind ein oder mehrere Datenbankschemata zu einem konzeptionellen Schema möglich. Zielsysteme Eigenes Datenbankschema pro Zielsystem (z.b. Oracle, DB/2) Gemeinschaftliches Datenbankschema für mehrere Zielsysteme Die Umrechnung der Datentypen erfolgt nach der in der Konfiguration für Zielsysteme festlegbaren Regeln. Modellübergang Der Modellübergang zum Datenbankschema kann vollständig automatisiert erfolgen Dabei werden Abhängigkeitsbeziehungen erstellt bzw. aktualisiert. Die Traceablitiy bleibt gewährleistet Abhängigkeitsbeziehungen können auch manuell überprüft und gepflegt werden. Optimale Unterstützung durch Abhängigkeiten-Editor Funktionalitäten Zusammenführen und Aufteilen von Datenbanktabellen (Split-Columns, Split-Rows) Berechtigungskonzepte von Datenbanken (Authorization und Grants, User, Groups, User- Roles und Privileges) können modelliert werden DDL Generierung Die DDL für Create Table und Alter Table wird aus der in den Modellen hinterlegten Information generiert. Direktzugriff auf die Datenbank Lesender Direktzugriff auf die Datenbank Oracle (weitere in Planung) 22
Dokumentation generieren
Innovator Report Generierung von Projektdokumentationen Mit Innovator Report lassen sich einzelne Teildokumente zu einem Gesamtdokument zusammenfügen Zielsetzung Funktionale Anforderungen Gesamtsystemspezifikation (Pflichtenheft) Datenmodell Ausgangssituation 24
Das Ergebnis: Generierte Projektdokumentation auf Basis einer modellbasierten Anwendungsentwicklung 25
Das Ergebnis: Generierte Projektdokumentation auf Basis einer modellbasierten Anwendungsentwicklung 26
Varianten
M³ für SOA M³ Varianten M³ existiert in unterschiedlichen Varianten die auf Basis des vorgestellten Gerüsts entwickelt wurden Die 3 Varianten der M³ Initiation (CIM) Systementwicklung Prozessoptimierung Standardisierung + Dokumentation Evaluation (PIM) Informationssystem Reaktives System Eingebettetes System Projection (ASM) 3-Schichten- Architektur Service-Orientierte Architektur Bus- Architektur Construction (PSM) EJB3.NET Web AUTOSAR Implementation (Code) C/C++ Java C# SQL WSDL BPEL M³ for EE M³ for EJB M³ for SOA 28
Hauptverwaltung Nürnberg Eibacher Hauptstraße 141 90451 Nürnberg Telefon: +49 (0)911-968 36-0 Telefax: +49 (0)911-968 36-10 www.mid.de