Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH
Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung Klassenmodellierung Datenbank Modellierung
Oracle JDeveloper 10g Overview Komplett und integriert deckt vollen Entwicklungszyklus ab Ein Werkzeug für Java, Web Services, XML, PL/SQL Standards und Erweiterbarkeit unterstützt neuste J2EE Standards Open Extension API (JSR 198) MyJDeveloper Benutzerfreundlichkeit und Produktivität Code-Erstellung Unterstützung für produktive Entwicklung Visuelle und deklarative Entwicklung Oracle Application Development Framework (Oracle ADF)
Warum Modellierung? Kommunikation Visualisieren vom Design komplexer Systeme Validieren der Benutzeranforderungen Kommunikation mit Designern und Entwicklern Werkzeuguntrestützte Modellierung Entwicklungszeit-Verkürzung durch einfache Erstellung der Diagramme Wiederverwendung der Elemente Versionierung Code-Generierung und Reverse-Engineering
Modellierung im JDeveloper UML Modellierung Klassendiagramme Use Case Diagramme Aktivitätsdiagramme Datenbank-Modellierung Offline Database Objects Page Flow Controller Struts Page Flow Diagramme E-Business Integration mit Aktivitätsdiagrammen
Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung Klassenmodellierung Datenbank Modellierung
Unified Modeling Language (UML) Industrie-Standard von Object Management Group (OMG) Notation für objektorientierte Analyse und Design (beschreibt nicht OOA/OOD Prozess) Sprache für das Spezifizieren, Konstruktion, Visualisieren, Dokumentieren von System-Artefakten Wohldefiniert, verbreitet, akzeptiert Wird von CASE-Werkzeug Hersteller unterstützt Aktuelle Version UML 1.5 (2003) Wesentliche Änderungen im Version UML 2.0
UML Diagrammarten Anwendungsfalldiagramme (Use Cases) Klassendiagramme Systemverhalten-Diagramme Zustandsdiagramme Aktivitätsdiagramme Interaktionsdiagramme Sequenzdiagramme Kollaborationsdiagramme Implementationsdiagramme Komponentendiagramme Verteilungsdiagramme (Deployment Diagrams)
Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Klassenmodellierung Aktivitätenmodellierung Datenbank Modellierung
Use Case Diagramme Erfassen von System-Anforderungen in Form von Anwendungsfällen Beschreiben die Interaktion der Benutzer mit einem System Graphische Notation und Textuelle Beschreibung (Use Case Template)
Use Case Modellierung Aktoren Endbenutzer, Systeme, Organisationen definieren Benutzer-Rollen Befinden sich immer ausserhalb der System-Grenzen Use Cases Beschreibt eine Folge von Interaktionen eines Aktors mit System, um ein bestimmets Ziel zu erreichen Die Summe aller Use Cases beschreibt die gesamtfunktionalität des Systems Use Case Diagramme enthalten Use Cases und Beziehungen zwischen Use Cases und ihren Akteuren
Use Case Diagramm
Use Case Beziehungen include innerhalb eines Use Cases kommt ein anderer Use Case vor extend ein Use Case wird unter bestimmten Umständen bzw. an einer bestimmten Stelle durch einen anderen Use Case erweitert Generalisierung Sub Use Cases erben Verhalten von Super Use Cases
UML Use Case Beschreibung Edit Update
Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung Klassenmodellierung Datenbank Modellierung
Aktivitätsdiagramme Können ein oder mehrere Use Cases beschreiben Anwendung sowie auf Konzeptebene als auch detaillierte Spezifikation mit Implementierungsbezug Darstellung von Aktivitäten und Teilaktivitäten Verzweigungs-, Entscheidungspunkte Handhabung paralleler Prozesse (Synchronisationspunkte) Abbildung der Abläufe auf die Organisationsstruktur ( swimm lanes )
UML Aktivitäten Modellierung im JDeveloper
Activity Modeler Object State Activity Branching Synchronisation Transition
Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung Klassenmodellierung Datenbank Modellierung
Klassendiagramme Beschreiben Objekte Objekteigenschaften Attribute Methoden Objektbeziehungen Bestehen aus Klassen, Interfaces Assoziationen Generalisierungen Subsysteme, Pakete Notizen Werden sowie für die Analyse als auch für die Design-Phase verwendet
UML Klassen Modellierung im JDeveloper Plattform-unabhängige Modellierung (Analyse Phase) UML Modeling UML Use Cases, UML Aktivitäten, UML Klassen Plattform-spezifische Modellierung (Design Phase) Java Modeling Java Klassen und Interfaces, Business Components, EJBs, Web Services, Database Objects Code Generierung / Synchronisation Verwendung von Stereotypen
Klassendiagramme
Code und Modell Integration model generate JDeveloper 9i model modify code reverseengineer code
Import von UML Modellen mit XMI UML Modelle erstellt mit anderen Modellierungswerkzeugen können in JDeveloper importiert werden XML Metadata Interchange XMI XML Beschreibung von UML Modellen Zurzeit nur Klassenmodelle (mit einigen Einschränkungen) können in JDeveloper importiert werden konform zu UML 1.3 und XMI 1.1. DTD TogetherJ OMG XMI 1.1 or Rational Rose (Unisys) XMI 1.3.2 or 1.3.3
Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung Klassenmodellierung Datenbank Modellierung
Database Development Schema Modeler Forward and Reverse Database Objects Creation PL/SQL subprograms, Tables, Views, Triggers Database Browser SQL Worksheet SQL Tuning (Explain Plan) PL/SQL Debugging Publish PL/SQL based Web Services
Datenbank Schema Modellierung Offline Database Definitions Modeling Erzeugen von neuen Tabellen Import von Tabellen aus der DB Generierung von Schema (Änderungen) in die DB oder DDL Dateien
Page Flow Modellierung
UML Bücher The Unified Modeling Language Reference Manual Rumbaugh, Jacobson, Booch The Unified Modeling Language User Guide Booch, Jacobson, Rumbaugh UML Distilled: A Brief Guide to the Standard Object Modeling Language Fowler, Scott Writing Effective Use Cases Cockburn, Alistair
Zusammenfassung Oracle10g JDeveloper Modellierung: UML Modellierung Klassendiagramme Use Case Diagramme Aktivitätsdiagramme Datenbank-Modellierung Offline Database Objects Page Flow Controller Struts Page Flow Diagramme E-Business Integration mit Aktivitätsdiagrammen
Weitere Informationen Oracle Technology Network (OTN) http://otn.oracle.com/jdeveloper Dokumentation, White Papers, Beispiele, Demos, Howtos, Software, Foren