Einführung in die Unified Modeling Language

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Unified Modeling Language"

Transkript

1 Einführung in die Unified Modeling Language WS 2009/10 Rainer Schmidberger UML (1) The Unified Modeling Language is a visual language for specifying, constructing, and documenting the artifacts of systems. It is a general-purpo modeling language [...] that can be applied to all application domains (e.g., health, finance, telecom, aerospace) and implementation platforms [www.uml.org]. Die Unified Modeling Language (UML) ist eine von der Object Management Group (OMG) entwickelte und standardisierte Sprache für die Modellierung von Software und anderen Systemen [de.wikipedia.org]. Aktuelle Version: 2.1 Folie 2

2 UML (2) Wurde entscheidend durch Grady Booch, Ivar Jacobson und James Rumbaugh geprägt. Hat die vor 1996 existierenden verschiedenen Modellierungsmethoden (der genannten drei, sowie anderer) abgelöst Wird zur Prozessmodellierung, Analy, Spezifikation und zum Systementwurf verwendet Es sind hr viele gute Werkzeuge zur UML auf dem Markt Bietet hr konkreten Übergang zur Implementierung. Code-Generierung ist aus den Modellen heraus in vielen Teilen möglich In Zukunft: MDA, MDD und Executable UML? Folie 3 Die drei Amigos Ivar Jacobson Grady Booch James Rumbaugh Folie 4

3 Geschichte der UML Quelle: Mario Jeckle, 2003 Folie 5 Entstehung der UML Quelle: Folie 6

4 Kurzübersicht über die UML-Diagramme Rainer Schmidberger Diagramm Übersicht UML Diagramme Klasnd. Objektd. Komponentend. Kompositionsstrukturd. Verteilungsd. Neu in UML 2.0 Paketd. Strukturdiagramme Verhaltensdiagramme U Ca-D. Aktivitätsd. Zustandsd. Interaktionsdiagramme Sequenzd. Zeitdiagramm Kommunikationsd. Interaktionsübersichtsd. Folie 8

5 Diagramm Übersicht (engl.) Quelle: Folie 9 Strukturdiagramme Quelle: Mario Jeckle, 2003 Klasndiagramm (class diagram) Modellierung der Klasn mit Methoden, Attributen und Beziehungen Paketdiagramm (paket diagram) Modellierung der logische Struktur der Modellelemente mit deren (z.t. abstrakten) Abhängigkeiten Objektdiagramm (object diagram) Modellierung von Momentaufnahmen konkreter Objekte mit Werten und Beziehungsausprägungen Kompositionsstrukturdiagramm (composite structure diagram) Modellierung der internen Struktur eines Modellelements (Classifiers) sowie desn Möglichkeiten zu Interaktion mit anderen Systemkomponenten Komponentendiagramm (component diagram) Modellierung der Komponenten (=Module) und deren Abhängigkeiten Verteilungsdiagramm (deployment diagram) Zeigt die (physischen) Geräte des Systems im Betrieb Folie 10

6 Verhaltensdiagramme U-Ca Diagramm (u ca diagram) Modellierung der Anwendungsfunktionalität aus der Sicht der Anwender Aktivitätsdiagramm (activity diagram) Modellierung des dynamischen Ablaufs (i.d.r. eines U Ca) Zustandsdiagramm (state transition diagram) Modelliert die Zustände und Zustandswechl (i.d.r. zu einer Klas) Sequenzdiagramm (quence diagram) Modelliert ein Szenario: den Botschaftsfluss zwischen Objekten Kommunikationsdiagramm (comunication diagram) Dynamik wie Sequenzdiagramm; zusätzlich Objekteigenschaften Timing-Diagramm Präzir zeitlicher Verlauf Interaktionsübersichtsdiagramm Modellierung des Zusammenspiels einzelner Interaktionsdiagramme Quelle: Mario Jeckle, 2003 Folie 11 Diagramm Übersicht UML Diagramme Struktur- Diagramme Klasn-D. Objekt- D. Komponenten-D. Kompositionsstruktur-D. Verteilungs-D. Paket-D. Verhaltens- Diagramme U Ca-D. Aktivitäts-D. Zustands-D. Interaktions- Diagramme Sequenz- D. Kommunikations- D. Zeit-D. Interaktions- Übersichts-D. Folie 12

7 Klasndiagramm Modellierung der Klasn mit Methoden, Attributen und Beziehungen Ähnlich dem ER-Diagramm Rolle Sichtbarkeit Fahrkarte startpunkt zielpunkt wegstrecke rabatt bestellen() stornieren() +fahrgast 0..* 1 name : String vorname : String Person belasten(betrag : Waehrungsbetrag) 1 +karteninhaber 0..* Bestellvorgang start() Beziehung Multiplizität Attribute Methoden betreiber nr kontrollnr Ablaufdatum Kreditkarte istgueltig() belasten(betrag : waehrungsbetrag) Folie 13 Paketdiagramm Pakete dienen als Container für beliebige UML Modellelemente Das Paketdiagramm zeigt (abstrakte) Beziehungen zwischen einzelnen Paketen GUI Klasn Businesslogic Klasn Datenbankzu griffe Rechnung Berechnungs logik Modellsicht: Ein Paket kann lber wieder Pakete oder andere Modellelemente wie z.b. Klasn enthalten Folie 14

8 Objektdiagramm Zeigt eine Momentaufnahme des Systems Dem Klasndiagramm hr ähnlich: statt der (abstrakten) Klasn werden (konkrete) Objekte dargestellt Objektname ist in der Regel eine Rolle, in der ein Objekt agiert Attributwerte können auch angezeigt werden fluggast: Person Objektname : Klasnname name : String = Duck vorname : String = Donald : Kreditkarte betreiber : String = Visa Nr : String = bezahltmit Folie 15 Kompositions-Struktur-Diagramm Ab UML 2.0, Composite Structure Kontext -bezogenes Klasn-, Objekt oder Komponentendiagramm Zeigt eine Ausprägung oder eine bestimmte Konfiguration fahrgast : Person Abrechnung Kollaborationstyp : Kreditkarte Folie 16

9 Komponenten Diagramm Modelliert die Software-Architektur mit Bibliotheken, Komponenten, Datenbanken, usw. Komponente Verbindungen <<Component>> GUISteuerung <<Component>> Verbindungsrechner Konnektor <<Component>> BenutzerGUI Abhängigkeiten Anschlüs <<Component>> Fahrplandatenbank Interface Port Folie 17 Verteilungsdiagramm Deployment diagram Modelliert die Abbildung auf das physische Ziel-System (die Geräte) wie Server, Clients, externe Geräte, usw. Beschreibende Artefakte können ebenso mit aufgenommen werden Browr <<HTTP>> Application-Server <<JDBC>> Datenbank Folie 18

10 Diagramm Übersicht UML Diagramme Struktur- Diagramme Klasn-D. Objekt- D. Komponenten-D. Kompositionsstruktur-D. Verteilungs-D. Paket-D. Verhaltens- Diagramme U Ca-D. Aktivitäts-D. Zustands-D. Interaktions- Diagramme Sequenz- D. Kommunikations- D. Zeit-D. Interaktions- Übersichts-D. Folie 19 U Ca Modellierung der Anwendungsfunktionalität aus der Sicht der Anwender Geschäftsprozes Sehr einfache Diagramme Akteur: Nutzer des Systems Verbindungen abfragen U Ca Fahrgast Beziehung: der Akteur benutzt einen U Ca Fahrkarten bestellen System Folie 20

11 Aktivitätsdiagramm Beschreibt den Ablauf eines U Ca Ist auch für parallele Abläufe geeignet Verbindungsstart eingeben Verbindungsziel eingeben Aktivität Entscheidung Eingaben sind gültig Weg berechnen Fehlerite nein Mind. eine Verbindung wurde gefunden ja Verbindungen anzeigen Folie 21 Zustandsdiagramm Modelliert die Zustände und Zustandsübergänge einer Klas oder einer Komponente Den Zustandsübergängen können Ereignis und Aktionen zugeordnet werden Beginn ungültig Transition storno erfolgreiche Belastung eines Fahrgastkontos Zustand gültig Ende Folie 22

12 Sequenzdiagramm Botschaftsfluss zwischen Objekten Fahrkarte bestellen : Fahrkarte kunde: Person : Kreditkarte bestellen() berechnepreis() belasten(betrag) istgueltig() belasten(betrag) Folie 23 Kommunikationsdiagramm Ähnlicher Inhalt wie beim Sequenzdiagramm Bei vielen Objekten mit wenig Botschaftsfluss geeignet Reihenfolge 1: start( ) 2: bestellen( ) : Fahrgast : Bestellvorgang 3: berechnepreis( ) : Fahrkarte Botschaft 4: belasten(waehrungsbetrag) : Person Beteiligtes Objekt : Kreditkarte 5: istgueltig( ) 6: belasten(waehrungsbetrag) Folie 24

13 Timing diagram Ab UML 2.0 Zeigt das Verhalten von Objekten mit genauer Zeitach. Speziell für Hardware dominierte oder Realtime Software. Quelle: Folie 25 Interaktionsübersicht Ab UML 2.0 Zeigt den Zusammenhang zwischen einzelnen Interaktionsdiagrammen auf Elemente wie im Aktivitätendiagramm Folie 26

14 UML Diagramm Layout Header Syntax: [<DiagrammTyp>]<DiagrammName>[<Parameter>] DiagrammTyp (Kürzel) - optional cd, sd, uc,... DiagrammName Parameter optional wird nur lten benutzt Header Inhalt Inhalt Graphisches Diagramm des angegebenen Typs Anmerkung Die Diagramm-Darstellung wird letztendlich vom Werkzeug festgelegt Folie 27 UML Werkzeuge: Rational Ro Folie 28

15 UML Werkzeuge: Argo UML Folie 29 UML Werkzeuge: Rational XDE Folie 30

16 UML Werkzeuge: Enterpri Architect Folie 31 UML Werkzeuge: Borland Together Folie 32

17 R1 UML Werkzeuge: Visual Paradigm Folie 33 Folie 33 R1 Letzte Folie RS;

18 UML im Projektverlauf Engineering UCaD. Aktivitätend. Komponentend. Klasndiagramm (Domänenmodell) Klasndiagramm (techn. Modell) Zustandsd. Sequenzd. Verteilungsd. Management Quelle: Rational Software Folie 34 UML Literatur Rumbaugh, James; Jacobson, Ivar; Booch, Grady : The unified modeling language reference manual, Second Edition, Addison-Wesley, 2004 Jeckle, Mario; et al. : UML2 glasklar, Hanr Verlag, 2004 Folie 35

19 UML Literatur Martin Fowler: UML Distilled. A Brief Guide to the Standard Object Modeling Languange, Addison-Wesley, 2003 Kendall Scott : UML Explained, Addison-Wesley, 2001 Folie 36 UML Spezifikation (1) Erhältlich über Gliedert sich in zwei Dokumente: Infrastucture (http://www.omg.org/docs/formal/ pdf) Definition der grundlegenden Sprachelemente. Superstructure (http://www.omg.org/docs/formal/ pdf) Definition der Diagrammtypen Überwiegend in UML Klasndiagrammen und OCL (Object Constraint Language) spezifiziert. Folie 37

20 UML Superstructure: Class Folie 38 UML Spezifikation: Classifier DataType (from Kernel) PrimitiveType (from Kernel) CommunicationPath (from Nodes) Enumeration (from Kernel) Association (from Kernel) Classifier (from Kernel) AssociationClass (from AssociationClass) Interface (from Interfaces) Interface (from Communications) Classifier (from Templates) Class (from Kernel) Behavior (from BasicBehaviors) Classifier (from UCas) Actor (from UCas) Signal (from Communications) Class and its increments Classifier (from Dependencies) Artifact (from Artifacts) Class (from Communications) InformationItem (from InformationFlows) Classifier (from PowerTypes) BehavioredClassifier (from BasicBehaviors) BehavioredClassifier UCa (from UCas) (from Interfaces) Classifier (from Collaborations) Collaboration (from Collaborations) StructuredClassifier (from InternalStructures) EncapsulatedClassifier (from Ports) Behavior Activity (from FundamentalActivities) Activity (from BasicActivities) Activity (from StructuredActivities) Activity (from CompleteActivities) (from CompleteActivities) Interaction (from BasicInteractions) StateMachine (from BehaviorStateMachines) ProtocolStateMachine (from ProtocolStateMachines) OpaqueBehavior (from BasicBehaviors) Component (from BasicComponents) Component (from PackagingComponents) Class (from StructuredClass) Node (from Nodes) Device ExecutionEnvironment (from Nodes) (from Nodes) Folie 39

21 UML Spracharchitektur M3 M2 Meta- Metamodell Definiert als UML Infrastructure Metamodell Definiert als UML Superstructure <<instanceof> Class Meta Object Facility, MOF <<instanceof> Attribute Class Association M1 M0 Modell Domänenmodell in UML Objekte der Applikation <<instanceof> <<instanceof> <<instanceof> Person Name Vorname Gehalt Firma Bezeichnung <<instanceof> <<instanceof> <<instanceof> Folie 40 Anmerkungen zur UML In der Praxis werden die verschiedenen Diagramme unterschiedlich stark eingetzt Werkzeuge spielen eine wichtige Rolle Nicht alle Werkzeuge unterstützen die UML 2.0 Praktisch niemand kennt und nutzt die UML vollständig Folie 41

22 U Cas Rainer Schmidberger Nutzen von U Cas Formalisierung und Beschreibung der funktionalen Anforderungen Quelle: Alan Chapman Folie 43

23 Definition "A ucaisa pieceof functionalityin thesystem that gives a ur a result of value" "All the u cas together make up the u ca model, which describes the complete functionality of the system" "A ucaspecifiesa quenceof actions, including variants, that the system can perform and that yields an obrvable result of value to a particular actor" Aus "The Unified Software Development Process", Ivar Jacobson u.a., Addison-Wesley, 1999 Folie 44 U Ca (1) Ein U Ca beschreibt mehrere zusammenhängendende Aktivitäten, die von einem oder mehreren Akteuren durchgeführt (genutzt) werden, um ein Ziel zu erreichen bzw. ein gewünschtes Ergebnis zu erstellen Akteur: Nutzer des Systems Verbindungen abfragen U Ca Fahrgast Beziehung: der Akteur benutzt einen U Ca Fahrkarten bestellen System Fahrscheinsystem Folie 45

24 U Ca (2) U Cas beschreiben aus Anwendersicht den Systemnutzen Einfaches Kommunikationsmedium mit "Stakeholdern" (Anwendern, Kunden, Management,...) Die Gesamtmenge der U Cas beschreibt das System, das an der Systemschnittstelle beobachtet werden kann. Abgrenzung zur Aktivität: ein U Ca umfasst viele Aktivitäten Folie 46 U Ca (3) Bezeichnung durch Substantiv + Verb (Infinitiv) z.b. Einstellung durchführen Prämie berechnen, usw. (Geschäfts-)Prozes können als U Ca modelliert werden Systemgrenzen werden festgelegt Systemnutzer (=Akteure) werden festgelegt Einsatzmöglichkeiten: Ist-Analy, Soll-Analy und Spezifikation Achtung: ein U Ca ist kein Softwaremodul! Strukturierung der funktionalen Anforderungen Folie 47

25 U-Ca-Diagramm dient der Visualisierung und als Übersicht über die vorhandenen U Cas und Akteure enthält die Beziehungen zwischen Akteuren und U Cas Tipp: mehrere U-Ca-Diagramme erstellen! Jedes U-Ca-Diagramm sollte einen wichtigen Aspekt des Systems wiederspiegeln! Folie 48 Akteure Akteure sind MA Verwaltung Rollen (Personen oder Systeme, z.b. Benutzer, Rechner, externe Datenbanken, auch Ereignis oder Termine) Akteure werden im Begriffslexikon beschrieben Akteure werden im U-Ca-Diagramm eingezeichnet Akteure werden im Diagramm durch Assoziationen mit den U Cas verbunden, an denen sie beteiligt sind lbst nicht Teil des zu beschreibenden Systems, direkt mit einem oder mehreren U Cas verbunden und kommunizieren mit diem in der Regel aktiv, das heißt sie können Vorgänge anstoßen Achtung: es werden nur die Akteure mit einem U Ca verbunden, die an der Interaktion mit dem System lbst teilnehmen! Folie 49

26 Include-Beziehung U Ca A <<include>> U Ca A fügt an einer bestimmten Stelle U Ca B ein U Ca B U Ca A fügt U Ca B an einer gekennzeichneten Stelle ein UCaB kennt UCaA nicht Mehrfach vorkommende U-Ca-Abschnitte werden nur einmal beschrieben Tipp: man sollte die Dekomposition nicht übertreiben! Jeder U Ca soll erkennbaren Nutzen behalten. Folie 50 Extend und Generalisierung Es gibt weitere Beziehungen, die vorsichtig verwendet <<extend>> werden sollten: extend-beziehung: B erweitert A an einer dort festgelegten Stelle Generalisierungsbeziehung: B ist eine spezielle Ausprägung von A Beispiele: A B Benutzer validieren Fremdwährung abheben Auslandsstudent Immatrikulieren Kennwort prüfen Biometriemerkmale prüfen Geld abheben <<extend>> <<extend>> Student Immatrukulieren Achtung: die Semantik beider Beziehungen ist nicht scharf spezifiziert! Folie 51

27 Beispiel: Bankomat Fremdwährung abheben Geld abheben <<extend>> <<include>> Bankkunde Kontostand abfragen <<include>> Legitimierung prüfen Folie 52 Beispiel: Seminarbuchungssystem uc: Seminarbuchungss. Surfer Kann soviel wie... Registrierung via Group Directory, HR-Online Katalogfunktionen Eigene Bildungshistorie anzeigen <<include>> <<include>> Produkt suchen Produktdaten anzeigen Sowohl das Produkt, als auch der MA muss hierfür freigegeben in Mitarbeiter Kann soviel wie... Termin buchen Selbst-Buchung Auf anderen Termin Umbuchen Buchung stornieren Vorgetzter Mitarbeiter buchen Reports zu MA-Buchungen anzeigen Ersatzteilnehmer buchen Folie 53

28 U-Ca-Beschreibung (1) Beschreibung erfolgt in verständlicher Sprache mit konkretem Nutzen für den initiierenden Akteur präzi und eindeutig mit überprüfbaren Ergebnisn mit definierten Begriffen (Begriffslexikon) mi-formal (strukturiert) einheitlich Name: Akteure: U Ca Dokumentation Seminar buchen Kunde Vorbedingung: Seminar ist freigegeben und hat noch ausreichend Plätze frei Regulärer Ablauf: Der Kunde lektiert ein Seminar und... Nachbedingung: Der Kunde ist auf das entsprechende Seminar gebucht Alternative Abläufe: - das Seminar ist ausgebucht - der Kunde hat keine Buchungsberechtigung Folie 54 U-Ca-Beschreibung (2) Name des U Ca Beteiligte Akteure Vorbedingung Voraustzungen vor der Ausführung des U Ca Regulärer Ablauf Beschreibung einzelner Aktionen innerhalb des U Ca in Form verbaler Szenarien (Einzelaktivitäten) Evtl. Diagramme und Entscheidungstabellen Begriffe sorgfältig verwenden (Begriffslexikon) Nachbedingung Zusicherungen, die nach U-Ca-Ende eintreffen müsn Alternative Abläufe Fehlerfälle Sonderfälle Folie 55

29 U Ca Beschreibung (3) Name des U Ca Personalausweis beantragen Vorbedingung Antragsteller hat sich legitimiert und entsprechende Aktion angstoßen. Es handelt sich nicht um einen Erstantrag Regulärer Ablauf Berechtigungen des Antragstellers werden geprüft (Siehe Verordnung XY) Zuständiges Amt wird über die Wohnsitzangaben ermittelt. Für Wohnsitzlo gilt Sonderregelung Gebührenrechnung wird erstellt. Abwicklung abhängig vom Antragsteller über Kreditkarte oder Bankeinzug Zusammenstellen des Antragpakets und weiterleiten an Stelle 0815 Nachbedingung Der Antragsteller hat jetzt den Status "beantragt", weitere Anträge können solange nicht entgegengenommen werden Alternative Abläufe Erstanträge werden über u Ca ABC behandelt Folie 56 Beschreibung durch Aktivitätsdiagramm Beschreibt (grafisch) den Ablauf eines U Ca Verbindungsstart eingeben Verbindungsziel eingeben Aktivität Entscheidung Verbindungen abfragen Eingaben sind gültig Weg berechnen Fehlerite nein Mind. eine Verbindung wurde gefunden ja Verbindungen anzeigen Folie 57

30 Beschreibung durch Sequenzdiagramm Beschreibt (grafisch) die beteiligten Instanzen und den zeitlichen Ablauf eines U Ca : Fahrgast : Bestellsystem : Rervierungssystem : Abrechnungssystem 1: buchung( ) 2: rervieren( ) 3: berechnen( ) Folie 58 Vor- und Nachteile Vorteile Einfache Darstellung, leicht verständlich U Cas sind innerhalb der UML klar beschrieben Es sind (hr gute) Werkzeuge verfügbar Erweiterungsmöglichkeit um Aktivitätsdiagramme und Sequenzdiagramme Greifen den verbreiteten Prozess-Gedanken auf Nachteile Beschreibung ist nicht formalisiert Konsistenzen sind automatisch nicht prüfbar Übergang zur Modellierung der fachlichen Klasn ist brüchig Folie 59

31 Business U Ca Business U Ca Beschreibung der Fachlichkeit ohne Berücksichtigung, welche Teile des Prozess mit ITgestützt ablaufen und welche nicht Unterscheidung manuell oder IT-gestützt über den <<stereotyp>> Seminar durchführen <<include>> U Ca Eingrenzung auf die IT-gestützten Prozes Namenskärtchen verteilen Bei e-commerce-systemen entsprechen die Business U Cas den U Cas Folie 60 Klasn-Diagramme Rainer Schmidberger

32 UML Klasn (1) Die Darstellung von Klasn erfolgt als Rechteck mit den Bereichen Klasnname Attributliste Methodenliste Person Attribute Methoden Folie 62 UML Klasn (2) Klasnname mit stereotype Angabe Attribute mit Datentypen und Sichtbarkeiten und Vorbelegungen Methoden mit Signaturen und Sichtbarkeiten Sichtbarkeiten: public (+) protected (#) private (-) Die Datentypen sind von der verwendeten Programmiersprache abhängig! <<entity>> Person -name : String -vorname : String -gehalt:geldbetrag +tgehalt(g:geldbetrag) +getgehalt() : GeldBetrag +updategehalt() Folie 63

33 Attribute Berechnetes Attribut (Derived). Berechnungsformel ist nicht Teil des UML- Modells Klasnattribut: Attribut steht allen Objekten der Klas Person nur einmal zur Verfügung Person -name -vorname #gehaltsgruppe : int = 0 +/gehalt anzahlpersonen : int Folie 64 Methoden Signaturen werden oft nicht angegeben Private Methoden werden oft nicht angegeben Klasnmethode (Aufruf über Klasnbezeichner, unterstrichen) Abstrakte Methode (wird kursiv gedruckt), erzwingt Implementierung in den Kindklasn Person +tgehalt(g:geldbetrag) +getgehalt() : GeldBetrag +getanzahlpersonen() : int +updategehalt() Folie 65

34 Assoziationen "Beziehungen", "Verbindungen" oder "Navigationspfade" zwischen Klasn werden als Assoziation bezeichnet Verbindungen zwischen Objekten werden als Link bezeichnet In der UML werden Assoziationen hr differenziert beschrieben Assoziationen sind logische Beziehungen, sie müsn nicht notwendigerwei durch ein Programmkonstrukt direkt im Code implementiert in Folie 66 Assoziationen Person in der Rolle als "Arbeitnehmer" Person Arbeitnehmer 0..* arbeitet für Multipizität, Person ist 1 oder kein Firma-Objekt zugeordnet Arbeitgeber Firma Multipizität, Firma sind kein, 1 oder viele Personen-Objekte zugeordnet Firma in der Rolle als "Arbeitgeber" Name der Beziehung, wird von links nach rechts gelen Folie 67

35 Navigierbarkeit Die Pfeilrichtung zeigt die Navigierbarkeitsrichtung an. Beiditig navigierbare Assoziationen haben aber keine Pfeile. Nichtspezifizierte Navigierbarkeit hat ebenso keine Pfeile Person arbeitet für Arbeitgeber Firma Objekte der Klas Person "kennen" ihren Arbeitgeber, Objekte der Klas Firma "kennen" aber ihre Mitarbeiter nicht. Folie 68 Multiplizität Die Multiplizität zeigt an, wie viele Objekte der jeweiligen Klas an der Assoziation teilnehmen Typische Multiplizität:, 1, 0..*, 1..* Es können auch spezielle Multiplizitäten verwendet werden wie z.b. 5, 29 oder Person Arbeitnehmer 0..* arbeitet für Arbeitgeber Firma Auto 4 Rad Folie 69

36 Aggregation und Komposition Ganzes-Teil-Assoziation Aggregierte Objekte werden von dem besitzenden Objekt dominiert I.Allg. ist kein externer Zugriff auf aggregierte Objekte möglich Komposition: Die Lebensdauer (Instanzierung und Freigabe) werden vom dominierenden Objekt beherrscht Person 1 Aggregation 0..* Adres Person 1 Komposition 0..* StudentRolle Folie 70 Assoziationsklasn (1) Assoziationen lbst können über Attribute (und auch Methoden) verfügen Die Assoziationsklas repräntiert die Assoziation Insbesondere bei n:m-assoziationen werden häufig Assoziationsklasn verwendet schreibt 0..* Student Prüfung 0..* PrüfungsTeilnahme hatteilgenommen : boolean note : Note Auffälligkeit : String Folie 71

37 Assoziationsklasn (2) Eine n:m Assoziation mit Assoziationsklas (A) ist mantisch mit einer 1:n und m:1-assoziation (B) gleichzutzen A Student 0..* schreibt 0..* Prüfung PrüfungsTeilnahme B 0..* 0..* Student PrüfungsTeilnahme Prüfung 1 1 Folie 72 Umgang mit Assoziationen Bestehen mehrere Assoziationen zwischen zwei Klasn, so werden oft rollenbeschreibende Assoziationsklasn eingeführt Person Arbeitnehmer 0..* Aktionär 0..* Kunde 0..* arbeitet für investiert in bezieht Produkte von 0..* Arbeitgeber 0..* Kapitalanlage 0..* Lieferant Firma Person 0..* rolle PersonRolle 0..* Firma Folie 73

38 Rekursive Assoziationen Assoziationen können zur lben Klas verbunden in Damit ist nicht gemeint, dass ein Objekt mit sich lbst in Beziehung steht, sondern zu Objekten der lben Klas! Rekursive Assoziationen können auch Assoziationsklasn haben 0..* Mitarbeiter Vorgetzter Person Arbeitnehmer 0..* arbeitet für Arbeitgeber Firma Folie 74 Qualifizierende Attribute Attribute, die wentlich die Rolle eines Objektes in der Beziehung beschreiben oder überhaupt die Beziehung erst herstellen Die qualifizierenden Attribute werden der Assoziation nicht der Klas zugeordnet Aufführung aufführungsdatum: Date SitzplatzNr : String 1 Eintrittskarte Qualizierende Attribute Folie 75

39 Assoziationinschränkungen Spezielle Regeln einer Assoziation werden als Constraint bezeichnet Ab UML 2.0: Object Constraint Language OCL Die Darstellung erfolgt in { } Typische Beispiele sind Sichtbarkeit oder Änderbarkeit (z.b. ordered, addonly) Person Arbeitnehmer {ordered} 0..* arbeitet für Firma Folie 76 Stereotypes Stellen Erweiterungen des UML-Standards dar Vergeben einem UML-Element (wie z.b. einer Klas) ein spezielle Ausprägung Darstellung des stereotyp in<< >> über dem Klasnnamen Häufig verwendete Stereotypen: <<boundary>> Klasn, die mit der Außenwelt kommunizieren. Sie bilden Schnittstellen zwischen System und Umwelt <<control>> <<entity>> <<utility>> Klasn, die Interaktionen zwischen anderen Klasn steuern Klasn, die lbst passiv sind und keine Interaktionen auslön (i.allg. zur Datenhaltung) Keine Klas, nicht instanzierbar, kaplt globale Variablen und Funktionen. Zur Abbildung Nicht-OO-Bibliotheken geeignet (z.b. Mathematik-Funktionen) Folie 77

40 Vererbung Alle Eigenschaften (also Methoden, Attribute oder Beziehungen) einer Klas (Vaterklas) werden an die Kindklasn übertragen Die Kindklasn können weitere eigene Eigenschaften definieren und auch ererbte Eigenschaften überschreiben VersicherungsVertrag Generalisierung VersicherungsNehmer AbschlussDatum Spezialisierung SachVersicherungsVertrag JahresBeitrag VersicherterGegenstand LebenVersicherungsVertrag RisikoLVAnteil BegünstigtePerson Laufzeit Folie 78 Entstehung von Vererbung 1 SachVersicherungsVertrag VersicherungsNehmer AbschlussDatum JahresBeitrag VersicherterGegenstand Zunächst entsteht aus den bekannten Anforderungen eine konkrete Klas. Motivation zur Vererbung besteht nicht 2 VersicherungsVertrag VersicherungsNehmer AbschlussDatum SachVersicherungsVertrag VersicherungsNehmer AbschlussDatum JahresBeitrag VersicherterGegenstand Es wird eine mögliche Wiederverwendbarkeit erkennbar Allgemeingültige Merkmale werden generalisiert 3 VersicherungsVertrag Eine weitere Klas nutzt die zuvor stattgefundene VersicherungsNehmer AbschlußDatum Generalisierung Dier Vorgang wird nun als Spezialisierung bezeichnet SachVersicherungsVertrag JahresBeitrag VersicherterGegenstand LebenVersicherungsVertrag RisikoLVAnteil BegünstigtePerson Laufzeit Folie 79

41 Vererbung vs. Aggregation A Realisierung einer "ist-ein" Beziehung im Gegensatz zu einer "hat-ein" Beziehung der Assoziation Ein LV-Vertrag ist einer Versicherungsvertrag Ein Auto hat Räder Vererbung im fachlichen Kontext ist lten sinnvoll Alternative zur Vererbung ist eine Aggregation Person B Student Person Student Ein Student ist eine Person (?) Wie wird mit dem Student in (A) verfahren, wenn das Studium beendet wurde? Folie 80 Vererbung abstrakter Methoden Wird eine abstrakte Methode vererbt, wird deren Implementierung in den Kindklasn erzwungen Vorteil: lässt sich auch keine generische Implementierung festlegen, so ist doch ein gemeinsames Interface erzwingbar Die Klas Person implementiert die abstrakte Methode Person getstoresql() : String PersistentesObject Store() getstoresql() : String VersicherungsVertrag getstoresql() : String Eine abstrakte Methode erzwingt die Implementierung in den Kindklasn Klasn mit abstrakten Methoden können lbst keine Objekte instanzieren Folie 81

42 TrainingProductContent Title : Text (100) Targetgroup : Memo Prerequisites : Memo Content : Memo Targets : Memo AdditionalInformation : Memo Methodology : Memo Introduction : Memo Facilitator : Memo TechnicalRequirements : Memo Language : Selection CommentDuration : Text (100) CommentParticipantAmount : Text (100) CommentPrice : Text (100) ValidUntil : Date TrainingProduct ID : Text (30) Title : Text (100) DeliveryMode : Selection TrainingSection : Selection CourType : Selection ExportControl : Integer NewUntil : Date ValidUntil : Date ModuleOnly : Boolean MultipleRegistration : Boolean +Copy VHasEvents : Boolean RegistrationMode : Selection VSumPreRegistration : Integer ReleaState : Selection Extern : Boolean Comment : Memo RefreshCycle : Number RefreshCycleUnit : Selection IgnoreTimeOverlap : Integer NumberField1 : Integer NumberField2 : Integer NumberField3 : Integer NumberField4 : Integer NumberField5 : Number NumberField6 : Number NumberField7 : Number NumberField8 : Number +Origin PlanningTimeFrom : Date PlanningTimeTo : Date +trainingprogram TrainingProgram TrainingProgramAssignment OrderNo : Integer IdealBeginWeekday : Integer MinDistanceToPredecessor : Integer MaxDistanceToPredecessor : Integer BookingType : Selection ColorInTimeTable : Selection 1 1 +Predecessor 1 +LogisticprofileProduct TrainingProductPredecessor NecessaryType : Selection PositionX : Integer PositionY : Integer Role : Selection NecessaryLevel : Number Folder Field : Text (30) OrderNo : Integer Title : Text (100) VHasChildrenProduct : Boolean VHasChildrenFolder : Boolean Description : Memo ExportControl : Boolean ExplorerShortcut Type : Selection OrderNo : Integer PositionX : Integer PositionY : Integer +ProductPreRegistration +Successor +parent +child +Logisticprofile +PreRegistration 0..* +Child Singledate Begin : Date End : Date Objectives : Memo Content : Memo AdditionalInformation : Memo 1 Event ID : Text (30) Semester : Text (50) DateFrom : Date DateTo : Date HourFrom : Date HourTo : Date HourFromFirstDay : Date HourToLastDay : Date SingledatesText : Text (50) Status : Integer CancelationReason : Selection Comment : Memo ExportControl : Integer MaxEnroll : Integer MinEnroll : Integer VSumEnroll : Integer VSumWaitingList : Integer TextBlock1 : Memo TextBlock2 : Memo TextBlock3 : Memo VSumNonShown : Integer VSumInvited : Integer VSumTempEnroll : Integer VSumAttendedParticular : Integer VSumCancellationParticipant : Integer VSumWaitinglistExpicit : Integer VSumCancellationOrganizer : Integer VSumInterested : Integer VSumAppeard : Integer VRooms : Text (50) VTrainers : Text (50) VSumAttended : Integer Duration : Number DurationUnit : Integer DeadlineDays : Integer WebInfo : Memo VProductTitle : Text (100) VProductID : Text (30) TitleDiffering : Text (100) Language : Selection VContactPerson : Text (100) insingledates : Boolean NumberField7 : Number NumberField8 : Number InviteBeforeEvent : Integer ProceedOnDays : Selection NumberField1 : Integer NumberField2 : Integer NumberField3 : Integer NumberField4 : Integer NumberField5 : Number NumberField6 : Number Enroll RegistrationDate : Date CancellationDate : Date Kostenpflichtig : Boolean State : Selection Attendance : Integer Comment : Memo ValidUntil : Date Certification : Boolean InviatationSent : Selection InvitationSentDate : Date HotelNeed : Selection Priority : Integer OrderNo : Integer CommentForIncompleteAttendance : Memo DifferentAttendanceDateFrom : Date DifferentAttendanceDateTo : Date PreferedAttendanceFrom : Date PrefferedAttendanceTo : Date OriginType : Selection QualificationReached : Selection LearningResult : Selection LearningResultCommentBemerkung : Memo VParticipantID : Text (30) VParticipantName1 : Text (50) VParticipantName2 : Text (50) VParticipantPhone : Text (30) VParticipantOrgName1 : Text (50) VParticipantOrgName2 : Text (50) VParticipant Text (100) VHasHotelbooking : Boolean VEventDateFrom : Date VEventDateTo : Date VProductID : Text (30) VProductTitle : Text (100) DifferentDuration : Number DifferentDurationUnit : Integer VContactPersonr : Text (100) CancellationReason : Selection DesiredLanguage : Selection ShowInTrainingHistory : Boolean TextField0 : Text (100) TextField1 : Text (100) TextField2 : Text (100) TextField3 : Text (100) 1 1 EventNote creationdate : Date content : Memo accessmode : Selection publishingmode : Selection 0..* TrainingProgramEvent ResourceSingledateAssignment TrainerAssignment MainTrainer : Integer State : Integer HotelNeed : Selection InvitationDate : Date TrainerRole : Selection RoomAssignment RoomRole : Selection SeatingOrder : Selection Room RoomName : Text (50) AmountSeats : Integer RoomID : Text (30) SuitableForHandicap : Integer Floor : Selection Size : Integer DefaultSeatingOrder : Selection AdditionalInformation : Memo Phone : Text (50) +TrainingRoom ExternalEnroll ContractNo : Text (50) Comment : Memo ConfirmationBySupplier : Date QualityOfTrainingComment : Memo TrainingDuartion : Number SupplierProductID : Text (30) TrainingTitle : Text (100) State : Integer DateFrom : Date DateTo : Date LocationName : Text (50) 1 ResourceAssignment DateFrom : Date DateTo : Date InterpretTimeframe : Selection HourFrom : Date HourTo : Date FullDay : Boolean AssignmentText : Text (100) Comment : Text (100) OccupancyMode : Selection RervationValidUntil : Date ExternalComment : Memo InternalComment : Memo DifferentDuration : Number DifferentDurationUnit : Integer OccupancyReason : Integer Resource CheckTimeoverlapping : Boolean DefaultBookingType : Selection 1 Location Description : Memo TravelInfoPublic : Memo TravelInfoCar : Memo MapFileName : Text (50) AdditionalServices : Memo Trainer Contract : Selection ContractComment : Text (100) ContractDate : Date Comment : Memo TrainerType : Selection DefaultHoursPerYear : Integer +ExternalSupplier +Participant 1 Partner Name1 : Text (50) Name2 : Text (50) PartnerID : Text (30) Status 1 : Selection CostCostCenter : Text (100) IncomeCostCenter : Text (100) Comment : Memo DebitorID : Text (15) CreditorID : Text (15) VATFlag : Boolean AccountigProcedure : Selection DefaultCurrency : Selection Extern : Boolean Type : Selection ContraktID : Text (30) VAddressStreet : Text (100) VAddressCountry : Text (6) VAddressZip : Text (30) VAddressCity : Text (100) VPhone : Text (30) VFax : Text (30) V Text (100) VIsTrainer : Boolean VIsOrganizer : Boolean VIsLocation : Boolean VIsHotel : Boolean VOrganizationName1 : Text (50) VOrganizationName2 : Text (50) VContactPerson : Text (100) DefaultLanguage : Selection ContingenteKey : Text (50) FormOfAddress : Selection JobTitle : Text (100) TextField1 : Text (100) TextField2 : Text (100) TextField3 : Text (100) 1TextField4 : Text (100) TextField5 : Text (100) TextField6 : Text (100) TextField7 : Text (100) TextField8 : Text (100) TextField9 : Text (100) NumberField1 : Integer NumberField2 : Integer NumberField3 : Integer NumberField4 : Integer NumberField5 : Number NumberField6 : Number NumberField7 : Number NumberField8 : Number 1 Organization +Child +Parent Organizer Initial : Text (30) LogonName : Text (30) Password : Text (15) ActiveUntil : Date PasswordValidUntil : Date DbPasswort : Text (30) FileNameImage : Text (50) Type : Integer AssignedCostCenters : Memo VName1 : Text (50) VName2 : Text (50) VOrganizationName2 : Text (50) EcadiaPassword : Text (30) 1 +organizeradmin 1 1 +groupmember +contactperson Address AddressField1 : Text (100) AddressField2 : Text (100) AddressField3 : Text (100) Street : Text (100) Country : Text (6) Zip : Text (30) City : Text (100) POBox : Text (30) POBoxZip : Text (30) POBoxCity : Text (100) Type : Selection ValidUntil : Date Telecom Phone : Text (30) Fax : Text (30) MobilePhone : Text (30) Text (100) HomePage : Text (100) Type : Selection Person DayOfBirth : Date EntryDate : Date ExitDate : Date Funktion : Selection +Member EducationState : Selection PlaceOfBirth : Text (50) 1 OrganizerGroup Name : Text (100) DefaultCostCenter : Text (50) DefaultContingenteKey : Text (50) Initial : Text (30) ContingenteKey : Text (30) PartnerProperty name : Text (100) description : Memo Type : Selection group : Selection hasvalues : Boolean valueselection : Selection expiry : Integer expiryunit : Selection rangefrom : Integer rangeto : Integer PartnerPropertyAssignment value : Integer comment : Memo status : Selection partnerpropertytype : Selection creationdate : Date lection1 : Selection lection2 : Selection 1 Interface Ein Interface ist einer Klas mit ausschließlich abstrakten Methoden gleichzutzen Interfaces werden "realisiert" Eine Klas kann viele Interfaces realisieren Interfaces definieren Methoden, die von den Realisierungen implementiert werden müsn Label-Darstellung: Icon-Darstellung: Veranstaltung datumvon : Date datumbis : Date bezeichnung : String preis : Waehrungsbetrag hatplaetzefrei() einbuchen() Store() Delete() Load() <<Interface>> PersistentesObjekt Store() Delete() Load() Veranstaltung datumvon : Date datumbis : Date bezeichnung : String preis : Waehrungsbetrag hatplaetzefrei() einbuchen() Store() Delete() Load() PersistentesObjek t Store() Delete() Load() Folie 82 Beispiel eines Klasndiagramms (1) +module +Parent +EventLocation VHasChilds : Boolean Folie 83

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

Software-Architektur-Modellierung mit UML

Software-Architektur-Modellierung mit UML Software-Architektur-Modellierung mit UML Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. GI Arbeitskreis Software-Architekturen, Oldenburg, 2004-02-11 Vert.- Diagramm Komm.- Diagramm Modellierung

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML FH Wedel Prof. Dr. Sebastian Iwanowski

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für

Mehr

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

Mehr

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

Mehr

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press Christoph Kecher UML2 Das umfassende Handbuch Galileo Press Vorwort 11 TEIL I Strukturdiagramme i '...,....,...,.;..,,,...,, 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

Softwaretechnik Unified Modeling Language (UML)

Softwaretechnik Unified Modeling Language (UML) Softwaretechnik Unified Modeling Language () Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She s so charismatic, and she s brilliant and beautiful. I mean, a real artist, and,

Mehr

UML mit Enterprise Architect

UML mit Enterprise Architect Matthias Fritz UML mit Enterprise Architect Trainingsunterlage - 6. überarbeitete Auflage XEN Information Systems GmbH, Wien Der Autor Dipl.-Ing. (FH) Matthias FRITZ hat ein Studium der Informationstechnik

Mehr

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,... Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g 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

Mehr

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

Software Factories SS 2016. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung Software Factories 3 Modellgetriebene Softwareentwicklung Prof. Dr. Dirk Müller Übersicht Einordnung im Lebenszyklus Ziele Hebung des Abstraktionsniveaus Model Driven Architecture (MDA) Domänenspezifische

Mehr

Modellierung von Web Anwendungen mit UML

Modellierung von Web Anwendungen mit UML Web Engineering-Seminar Modellierung von Web Anwendungen mit UML Yu Gan Yihui He 1 Gliederung 1. UML Grundlagen 1.1 Einführung 1.2 UML-Bausteine 1.3 Darstellung in Diagrammen 2. Modellierung von Web Anwendung

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!

Mehr

J.2 Objektorientiertes Modellieren mit UML

J.2 Objektorientiertes Modellieren mit UML Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 5. UML Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 5. UML 2 Unified Modeling Language (UML) Standardisierte grafische Notationen um Strukturen und Abläufe eines

Mehr

Thema 2 Acceleo-MTL- Sprachmittel

Thema 2 Acceleo-MTL- Sprachmittel SE Vertiefung Beuth-Hochschule Berlin Thema 2 Acceleo-MTL- Sprachmittel Sprachstruktur Template-Sprache implementiert MOFM2T Bausteine: Modul Template Query Block Protected Area (c) schmiedecke 13 Generator-Kapsel;

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Konzept / Architektur Diagramme

Konzept / Architektur Diagramme Architektur-Modell Konzept / Architektur Diagramme Im Übergang Analyse Design wird das System konzipiert und seine Architektur entworfen: Subsystem-Modell (execution view) UML 1.x Package Diagram «subsystem»

Mehr

Jochen Bauer 08.01.2010

Jochen Bauer 08.01.2010 08.01.2010 Um was geht s und wie läuft s ab? Eclipse-EMP-MDT: Standards unter einem Dach! Gliederung 1. der Model (MDT) 2. Model-Driven- (MDD) und MDT 3. Interne Domain-Specific-Languages (DSL) 4. 5. 6.,

Mehr

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01]

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01] Inhaltsverzeichnis 1 Einleitung 4 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]....... 5 1.2 Eclipse als Java Entwicklungsumgebung................. 22 2 Planungsmethoden 29 2.1 Definitionsphase..............................

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014 Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme

Mehr

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,

Mehr

Automatisierung industrieller. Workflows. Teil B: Die Spache UML

Automatisierung industrieller. Workflows. Teil B: Die Spache UML Automatisierung industrieller Teil B: Die Spache UML Joachim Fischer WS 2014/15 B.4-1 Original formuliert als Fragensammlung Bewertung / Rückschlüsse / Modellverbesserung reales bzw. gedachtes Phänomen

Mehr

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit IBM Software Group IBM Rational mit RequisitePro Hubert Biskup hubert.biskup@de.ibm.com Agenda Rational in der IBM Software Group Der Rational Unified Process als Basis für die Projektarbeit mit Rational

Mehr

Workflows: Anforderungserhebung und analyse

Workflows: Anforderungserhebung und analyse Workflows: Anforderungserhebung und analyse Tutorium 4 9. März 2009 Svetlana Matiouk, Uni Bonn Ferientutorien zur Vorlesung Softwaretechnologie WS 2008 4. Treffen, Aktivitäten bei der Softwareentwicklung

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig. Inhalt Vorwort Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig Danksagungen Die Autoren XIII XV XV XVII XVIII XVIII XIX Teil I:

Mehr

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt. Software Engineering Dokumentation von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Mehr

OOA-Dynamische Konzepte

OOA-Dynamische Konzepte Proseminar UML im SS 2005 OOA-Dynamische Konzepte Teil 2 von Benjamin Daeumlich 1 Übersicht Szenario Definition Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Sequenz- vs. Kommunikationsdiagramm

Mehr

Programmieren in Java

Programmieren in Java FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML

Mehr

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

Softwaretechnik SS 2006

Softwaretechnik SS 2006 Softwaretechnik SS 2006 7. Vorlesungseinheit Prof. Dr. Urs Andelfinger Darmstadt, 22. Mai 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt.

Mehr

Kapitel 4: Dynamische Analyse mit FUSION. SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30)

Kapitel 4: Dynamische Analyse mit FUSION. SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30) Kapitel 4: Dynamische Analyse mit FUSION SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30) Dokumente der dynamischen Analyse Analyse des Systemverhaltens (dynamischer Aspekt). Zu entwickeln sind:

Mehr

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

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 05. Basiskonzepte Sichten auf das Produkt PD-TES/Hoyer, Frank-Michael SWE1: 05. Basiskonzepte - Sichten 16. Juli 2010 geändert: 4. Oktober 2013 SW-Architektur

Mehr

BPMN. Suzana Milovanovic

BPMN. Suzana Milovanovic BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

Mehr

Von UML 1.x nach UML 2.0

Von UML 1.x nach UML 2.0 Zürich Soft Summer 2005 Fortgeschrittene Aspekte der Software Technologie Von UML 1.x nach UML 2.0 Prof. Dr. Martin Glinz www.ifi.unizh.ch/req Ergänzendes Material zur Vorlesung Spezifikation und Entwurf

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

UML 2 glasklar Praxiswissen für die UML-Modellierung

UML 2 glasklar Praxiswissen für die UML-Modellierung Chris Rupp, Stefan Queins, Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung ISBN-10: 3-446-41118-6 ISBN-13: 978-3-446-41118-0 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de

Innovator 11 classix. Java Reverse Engineering. HowTo. Ralph Schönleber. www.mid.de Innovator 11 classix Java Reverse Engineering Ralph Schönleber HowTo www.mid.de Mit Innovator Java Reverse Engineering durchführen Inhaltsverzeichnis Voraussetzungen... 2 Java Reverse Engineering... 2

Mehr

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Inhalt. Motivation Techniken des MDE. Fallbeispiele ISE-Seminar 2012 Inhalt Motivation Techniken des MDE Computer Aided Software Engineering (CASE) Domain-Specific-Languages (DSL) Model Driven Architecture (MDA) Fallbeispiele Motivation Automatische Codegenerierung

Mehr

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Softwarearchitekturen I Softwareentwicklung mit Komponenten Softwarearchitekturen I Softwareentwicklung mit Komponenten Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Softwarearchitekturen I 1 Beispiel: Bibliothekssystem

Mehr

2. Automatische Codegenerierung mittels dynamischer Spezialisierung

2. Automatische Codegenerierung mittels dynamischer Spezialisierung 2 Automatische Codegenerierung mittels dynamischer Spezialisierung 1/16 Quelle: Vicente Pelechano, Oscar Pastor, Emilio Insfran Automated code generation of dynamic specializations: An approach based on

Mehr

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Unternehmensmodellierung

Unternehmensmodellierung Josef L. Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis mit UML 2.0 4ü Springer Inhaltsverzeichnis EINLEITUNG 1 1.1 Unternehmensmodellierung 1 1.2 Objektorientierung als solche 6 1.3

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Übersicht der UML Diagramme

Übersicht der UML Diagramme Dieser Fachbeitrag ist ein Service der InfraSoft Profis für Ihre professionelle Softwareentwicklung. Übersicht der UML Diagramme Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von

Mehr

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Grundkonzepte der UML Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1996 Philippe Kruchten: Rational Unified Process Produkt der Firma Seit 2002 Teil des IBM Konzerns Objektorientiertes

Mehr

Management von Anforderungen im Rational Unified Process (RUP)

Management von Anforderungen im Rational Unified Process (RUP) Management von Anforderungen im Rational Unified Process (RUP) Peter Fröhlich ABB DECRC 69115 Heidelberg Fröhlich-8/98-1 Themen: Was ist RUP? RM im RUP Core Workflows Dokumente Tools Erfahrungen RUP Objectory

Mehr

Geschäftsabläufe und Beziehungen zwischen. (Mitarbeitende / Geschäftsobjekte)

Geschäftsabläufe und Beziehungen zwischen. (Mitarbeitende / Geschäftsobjekte) BusinessModel Geschäftsabläufe und Beziehungen zwischen Mitarbeitenden und Geschäftsobjekten: Arbeitsabläufe, Mitarbeitende, Hilfsmittel und Organisationsstruktur. Was läuft manuell, was IT-gestützt, wer

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

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

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Projektmanagement iterativer Projekte

Projektmanagement iterativer Projekte Übersicht Motivation zum iterativen Vorgehen Anleitung zur U Ca getriebenen Vorgehenswei Praktische Tipps Zusammenfassung Projektmanagement iterativer Rainer Schmidberger Universität Stuttgart Institut

Mehr

Michael Piechotta - CASE Tools. openarchitecture Ware

Michael Piechotta - CASE Tools. openarchitecture Ware Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung

Mehr

Geschäftsprozessanalyse

Geschäftsprozessanalyse Geschäftsprozessanalyse Prozessmodellierung weitere Begriffe: workflow business process modelling business process (re-)engineering 2 Was ist ein Prozess? Prozesse bestehen aus Aktionen / Ereignissen /

Mehr

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

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6. 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

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

Softwaretechnik. Fomuso Ekellem

Softwaretechnik. Fomuso Ekellem WS 2011/12 Inhalt Entwurfsphase Systementwurf Software Architektur Entwurf Software Komponenten Entwurf Struktur Verhalten OO Entwurf (OOD) 2 Entwurfsphase 3 Entwurfsphase Lernziele Aufgaben der Entwurfsphase

Mehr

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4 Sub1 Super Sub3 H Sub2 State2 Sub4 Super State2 Sub4 $FWLYLW\'LDJUDPV Aktivitätsdiagramme beschreiben spezielle Zustandsautomaten. Transitionen werden hier grundsätzlich durch die Beendigung von Aktionen

Mehr

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester 2004 Das Komponentendiagramm Dient Darstellung

Mehr

Software Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 7. Sequenz- und Zustandsdiagramme Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 7. Sequenz- und Zustandsdiagramme 2 Sequenzdiagramme Häufigstes Verhaltensdiagramm

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Das ist neu in UML 2.0. max.kleiner.com

Das ist neu in UML 2.0. max.kleiner.com Das ist neu in UML 2.0 max.kleiner.com Die 2.0 ist formal in 3 Gebiete aufgeteilt: " UML Infrastructure,, Vereinfachung und Modularisierung des Metamodells,, Profiles und Stereotypen. Das D Metamodell

Mehr

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen Folien zum Textbuch Kapitel 2: Planung, Entwicklung und Betrieb von IS Teil 4: Modellierung von betrieblichen Informationssystemen Textbuch-Seiten 209-245 WI Planung, Entwicklung und Betrieb von IS IS-Modellierung

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

Anwendungsfall- Modellierung

Anwendungsfall- Modellierung Anwendungsfall- Modellierung SE1-3-AF-Modellierung 1 Erinnern Sie sich??? SE1-3-AF-Modellierung 2 Der OEP SE1-3-AF-Modellierung 3 Bestandsaufnahme

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:

Mehr

UML 2.0 Quelltextgenerierung

UML 2.0 Quelltextgenerierung UML 2.0 Quelltextgenerierung Seminararbeit im Fach Informatik im Rahmen des Seminars Sicherheitskritische Systeme an der Universität Siegen, Fachgruppe für Praktische Informatik eingereicht bei Dr. Jörg

Mehr

(BABOK-v3-Technik 10.47)

(BABOK-v3-Technik 10.47) (BABOK-v3-Technik 10.47) Allgemeines Use-Cases geben Antworten auf die Frage Was soll das geplante System leisten? Diese Frage sollte generell zu Beginn jeder Systementwicklung stehen. Use-Cases genauer

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

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

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Grundbegriffe der Objektorientierung

Grundbegriffe der Objektorientierung Grundbegriffe der Objektorientierung Objekt Merkmale Zustand Verhalten Lebenszyklus Beziehungen zwischen Objekten Kategorisierung von Objekten Grundbegriffe der Objektorientierung Objekt Merkmale Zustand

Mehr

BPMN Kategorien und Elementgruppen. Flussobjekte

BPMN Kategorien und Elementgruppen. Flussobjekte BPMN Kategorien und Elementgruppen Flussobjekte Business Process BP... Activity1 Activity Eine Activity ist die generischer Ausdruck für in Unternehmen anfallende Tätigkeiten. Das Element Activity kann

Mehr