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

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

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

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

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

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

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

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

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

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

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

Einführung in die Unified Modeling Language (UML)

Einführung in die Unified Modeling Language (UML) Einführung in die Unified Modeling Language (UML) Hausarbeit zum Proseminar Datenbanken Wintersemester 2002/03 Seminarleitung: Dr. Christoph Draxler Verfasserin: Michaela Geierhos Centrum für Informations-

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

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

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

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010 Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010 Objektorientierter Softwareentwurf mit UML Grundlagen Neubearbeitung 2010 PGOS2010 I Objektorientierter Softwareentwurf mit UML - Grundlagen

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

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

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

Inhalte der Veranstaltung

Inhalte der Veranstaltung Inhalte der Veranstaltung 5. Anwendungssysteme 5-4 6. Entwurf von Anwendungssystemen 6.1 Datenmodellierung 6-1 6.2 Geschäftsprozessmodellierung 6-32 6.3 Entwurf von Datenbanken 6-79 6.4 Nutzung von Datenbanken

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

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

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

Modellierung und Qualitätssicherung von UML-Modellen der Geschäftslogik von Informationssystemen. Tobias Brückmann, Volker Gruhn

Modellierung und Qualitätssicherung von UML-Modellen der Geschäftslogik von Informationssystemen. Tobias Brückmann, Volker Gruhn Modellierung und Qualitätssicherung von UML-Modellen der Geschäftslogik von Informationssystemen Tobias Brückmann, Volker Gruhn Motivation / Einordnung Vision Generieren von Programmcode der Geschäftslogik

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

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

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

Kurzübersicht Unified Process und Agile Prozesse

Kurzübersicht Unified Process und Agile Prozesse Kurzübersicht Unified Process und Agile Prozes Rainer Schmidberger schmidrr@informatik.uni-stuttgart.de Copyright 2004, Rainer Schmidberger, Universität Stuttgart, Institut für Softwaretechnologie, Abt.

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

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation.

Bei Sitzungen im Team oder mit dem Kunden erleichtert eine grafische Darstellung des Software-Systems die Kommunikation. UML Was ist UML UML (=Unified Modeling Language) ist eine weit verbreitete, standardisierte Notationsschrift, die das grafische Darstellen von Software-Systemen ermöglicht und dadurch eine grosse Unterstützung

Mehr

UML Notation für objektorientierte Systeme

UML Notation für objektorientierte Systeme UML Notation für objektorientierte Systeme Die Unified Modeling Language (UML) ist eine graphische Notation, eine visuelle Modellierungssprache [UML Referenz], die es erlaubt die Artefakte eines Softwaresystems

Mehr

2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 2. Vorgehensmodelle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Vgl. Oestereich Kap 2.6 Seiten 127-133

Vgl. Oestereich Kap 2.6 Seiten 127-133 Vgl. Oestereich Kap 2.6 Seiten 127-133 4. Zustände 1 Aktivitäts- und Zustands-Diagramm werden oft verwechselt. Es ist darum wichtig zu unterscheiden, dass im Aktivitätsdiagramm die Aktionen im Zentrum

Mehr

Web Engineering-Seminar. UML Based Web Engineering (UWE)

Web Engineering-Seminar. UML Based Web Engineering (UWE) Web Engineering-Seminar UML Based Web Engineering (UWE) Christian Schlimbach Stefan Schölzel Trier, 14. Januar 2008 1 Agenda 1. Einleitung 1. Einführung und Motivation 2. Entwicklung des UWE Ansatzes 3.

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

Model Driven Development einige wichtige Grundprinzipien

Model Driven Development einige wichtige Grundprinzipien Model Driven Development einige wichtige Grundprinzipien Johannes Scheier j@scheier software.ch Copyright by Scheier Software Engineering Seite 1 Inhalt Was ist Model Driven Development (MDD)? Was verspricht

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

Geschäftsprozessmanagement: Einführung in»business Process Modelling Notation«(BPMN)

Geschäftsprozessmanagement: Einführung in»business Process Modelling Notation«(BPMN) Geschäftsprozessmanagement: in»business Process Modelling Notation«(BPMN) Eugen Labun Fachhochschule Gießen-Friedberg Fachbereich MNI Institut für Softwarearchitektur Serviceorientierte Architekturen bei

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

Softwarewiederverwendung und Patterns

Softwarewiederverwendung und Patterns Begrifflichkeiten und Beschreibungssystematik Begriffe Literatur zu Patterns Übersicht über die behandelten Konzepte Beschreibungsschema 97 Begriffe Glossar Patterns (Muster) sind ein Mittel der Wiederverwendung

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

objectif / SOA /.NET Inhalt Technologien ObjectiF Beispiel Vergleich: ObjectiF Rational Rose Quellenverzeichnis 20.01.2008 Christian Reichardt 2 Technologien 20.01.2008 Christian Reichardt 3 Methodenaufruf

Mehr

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering,

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Manfred Broy Lehrstuhl für Software & Systems Engineering Technische Universität München Institut für Informatik ISO 26262 Functional

Mehr

effektiv erstellen Use Cases Alistair Cockburn Das Fundament für gute Software-Entwicklung Geschäftsprozesse modellieren mit Use Cases

effektiv erstellen Use Cases Alistair Cockburn Das Fundament für gute Software-Entwicklung Geschäftsprozesse modellieren mit Use Cases Alistair Cockburn Use Cases effektiv erstellen Das Fundament für gute Software-Entwicklung Geschäftsprozesse modellieren mit Use Cases Die Regeln für Use Cases sicher beherrschen A Abdeckung Grad der 163

Mehr

Analyse und Entwurf objektorientierter Systeme

Analyse und Entwurf objektorientierter Systeme Analyse und Entwurf objektorientierter Systeme Teil 3 Modellbildung in der Analysephase 3.1 Statische und dynamische Notationselemente Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 XMI & Java von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 1. XMI XML Metadata Interchange - Ziele und Historie - Metamodellarchitektur der OMG und MOF - XMI Dokumente und XMI DTD Ziele und Historie

Mehr

ARTiSAN Software Tools

ARTiSAN Software Tools ARTiSAN Software Tools Der neue Modellierungsstandard UML 2: Besser geeignet für Eingebettete Systeme? Andreas Korff, Principal Consultant Workshop Eingebettete Systeme der GI-Fachgruppe Echtzeitsysteme

Mehr

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen Stefan Link, Thomas Schuster, Philip Hoyer, Sebastian Abeck Institut für Telematik, Fakultät für Informatik Universität Karlsruhe (TH)

Mehr

Modellierung von Sicherheitsaspekten mit UML. Hauptseminar Softwaretechnologie Modellierung von Sicherheitsaspekten mit UML Florian Heidenreich 2004

Modellierung von Sicherheitsaspekten mit UML. Hauptseminar Softwaretechnologie Modellierung von Sicherheitsaspekten mit UML Florian Heidenreich 2004 Modellierung von Sicherheitsaspekten mit UML 1 1 Übersicht 1 Übersicht 2 Einführung / Motivation 3 Mechanismen zur Erweiterung der UML 4 UMLSec 5 SecureUML 6 Unterstützung durch Tools 7 Zusammenfassung

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE

BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE CO-MAT-TECH 2004 14-15 October 2004 BEDEUTUNG VON AUSGANGSZUSTÄNDEN BEIM TESTEN VON OBJEKTORIENTIERTER SOFTWARE IMPORTANCE OF INITIAL STATES BY TESTING OF OBJECT-ORIENTED SOFTWARE Roman NAGY External doctorand

Mehr

Softwaretechnik für den Entwurf

Softwaretechnik für den Entwurf Projektseminar RIKA Wintersemester 1999/2000 18.11.1999 Holm Wegner, Florian Matthes Entwurfsphase: Einordnung Planungsphase Lastenheft Definitionsphase Pflichtenheft Entwurfsphase Produktentwurf Implementierungsphase

Mehr

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim Software- Der Strategien und ist der zum Definieren der Architektur, der Komponenten, der Schnittstellen und anderer Charakteristika (Datenstrukturen, Algorithmen etc.) eines Systems oder einer Komponente

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind

Mehr

Together - Integrierte SWE und QA 1. Flugbuchungssystem

Together - Integrierte SWE und QA 1. Flugbuchungssystem Together - Integrierte SWE und QA 1 Flugbuchungssystem Aufgabe 1: Use Case Diagramm Um die Anforderungen des fiktiven Kunden Airwings zu erfassen, sollen Use Case Diagramme verwendet werden. Im informellen

Mehr

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse

Andreas Lux 16.03.2010. Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Andreas Lux 16.03.2010 Verknüpfung unterschiedlicher Modellsprachen (BPMN, UML, DSL) zur Anforderungsanalyse Warum unterschiedliche Sprachen? Nicht alle Probleme eignen sich, um mit Standardsprachen beschrieben

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

Mehr

Model Driven Software Development

Model Driven Software Development Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19 Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender

Mehr

Die BPM-Trilogie BPMN, CMMN, DMN mehr als Schlagworte?

Die BPM-Trilogie BPMN, CMMN, DMN mehr als Schlagworte? Die BPM-Trilogie BPMN, CMMN, DMN mehr als Schlagworte? Wann Sie die neuen Standards anwenden sollten und wie wir die Konzepte dahinter vermitteln können Präsentation auf dem Process Solutions Day 2015

Mehr

I QA m e e t e s t s E nt n e t r e pr p is i e s e A rch c i h t i e t c e t P ter L i L ebe b r, CE C O S a p rxsy S stems m Eu E r u op o e

I QA m e e t e s t s E nt n e t r e pr p is i e s e A rch c i h t i e t c e t P ter L i L ebe b r, CE C O S a p rxsy S stems m Eu E r u op o e IrQA meets Enterprise Architect Peter Lieber, CEO SparxSystems Europe Presentation Overview Introducing SparxSystems Enterprise Architect Theory Enterprise Architect Live! SparxSystems Software Development

Mehr

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger Die Macht, die uns umgibt Design Prinzipien Schneller und besser Software entwickeln 2012 Jörg Bächtiger Joerg.Baechtiger@Abraxas.ch http://www.xing.com/profile/joerg_baechtiger Übersicht geben Zusammenhänge

Mehr

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

UML-Glossar 1. UML-Glossar

UML-Glossar 1. UML-Glossar UML-Glossar 1 UML-Glossar Vorwort Die nachfolgenden Seiten waren bisher Buchbestandteil von Projektabwicklung mit UML und Enterprise Architect bis zur Version 10.0 ISBN-10:3-9502692-0-8. Mit dem Release

Mehr

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015 Henshin: Modelltransformationen in EMF Dr. Thorsten Arendt Marburg, 29. Oktober 2015 Überblick Modelltransformationen Einführung in Henshin Modelle im Eclipse Modeling Framework Transformationskonzepte

Mehr

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation

Mehr

Use Case Beschreibung:

Use Case Beschreibung: <Name (Nummer)> Dokument-Art UC Geltungsbereich Use Case Beschreibung: Version Autor Ausgabe vom Ersetzt Dokument Ausgabestelle Prüfstelle Freigabestelle

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 2-

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 2- Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 2- Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

Präsentation bei ITAMKO 2012 Wien, 17. Oktober 2012. Dr. Jürgen Pitschke BCS Dr. Jürgen Pitschke www.enterprise-design.eu

Präsentation bei ITAMKO 2012 Wien, 17. Oktober 2012. Dr. Jürgen Pitschke BCS Dr. Jürgen Pitschke www.enterprise-design.eu Architektur, Methode, Prozess Handwerkszeug für den Business Analysten Welche Rolle spielt die Unternehmensarchitektur in einer Modellierungsmethodik für Fachmodelle? Präsentation bei ITAMKO 2012 Wien,

Mehr

Kiwi. Modellkonsistenz. Themenbereich Modellmanagement und Qualität

Kiwi. Modellkonsistenz. Themenbereich Modellmanagement und Qualität Kiwi. Kiwi. Modellkonsistenz Themenbereich Modellmanagement und Qualität Vortrag im Seminar Software-Qualität bei der modellbasierten Softwareentwicklung (SS2007) Stefan Marr Agenda 3 Softwareentwicklung

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

Software-Engineering Objektorientierte Konzepte des Software-Engineering 5.2 UML Unified Modeling Language

Software-Engineering Objektorientierte Konzepte des Software-Engineering 5.2 UML Unified Modeling Language Software-Engineering Objektorientierte Konzepte des Software-Engineering 5.2 UML Unified Modeling Language Prof. Dr. Rolf Dornberger Software-Engineering: 5 Definitionsphase Objektorientierte Konzepte

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Modellbasierte Softwareentwicklung für automobilspezifische Steuergerätenetzwerke

Modellbasierte Softwareentwicklung für automobilspezifische Steuergerätenetzwerke Modellbasierte Softwareentwicklung für automobilspezifische Steuergerätenetzwerke Christian Schröder Telelogic Deutschland GmbH Bielefeld http://www www.forsoft.de/.de/automotive/ Christian Schröder VDI

Mehr

Mittel der Softwaretechnik 4 Schichten: Konzepte ~> Sprachen (Syntax, Semantik) ~> Methoden (Pragmatik) ~> Werkzeuge

Mittel der Softwaretechnik 4 Schichten: Konzepte ~> Sprachen (Syntax, Semantik) ~> Methoden (Pragmatik) ~> Werkzeuge Folie: _-Einführung Software Qualität (2 Sichten) externe Qualität ~> Benutzersicht Korrektheit Zuverlässigkeit Robustheit Effizienz Benutzerfreundlichkeit (externe) Verständlichkeit interne Qualität ~>

Mehr

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS

Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS Business Activity Monitoring Overall, Real Time Monitoring Daniel Jobst, TietoEnator Michael Herr, Deutsche Post SOPSOLUTIONS CITT Expertengespräch TietoEnator 2006 Page 1 Data Freshness and Overall, Real

Mehr

Prof. Dr.-Ing. Dagmar Meyer Software Engineering 2 ANFORDERUNGSANALYSE UND -MODELLIERUNG

Prof. Dr.-Ing. Dagmar Meyer Software Engineering 2 ANFORDERUNGSANALYSE UND -MODELLIERUNG 2 ANFORDERUNGSANALYSE UND -MODELLIERUNG Modellierung von Anforderungen mit der UML Unified Modeling Language Komplexe Notationssprache Zweck - Modellierung, Dokumentation, Spezifizierung, Visualisierung

Mehr

Business Process Model and Notation BPMN

Business Process Model and Notation BPMN Business Process Model and Notation BPMN BPMN ist ein Standard der Object Management Group OMG zur graphischen Notation von Geschäftsprozessen Aktueller Standard: BPMN 2.0 (http://www.omg.org/spec/bpmn/2.0/)

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN Mathias Slawik, WI (M), 3. FS Aktuelle Themen der Wirtschaftsinformatik, HTW Berlin, WS 10/11 Gliederung 2 Methode

Mehr

Requirements Engineering Gastdozent: David Kurmann Modul: SWE SS08 Datum: 14 April 2008 Autor: Marco Röösli

Requirements Engineering Gastdozent: David Kurmann Modul: SWE SS08 Datum: 14 April 2008 Autor: Marco Röösli Requirements Engineering Gastdozent: David Kurmann Modul: SWE SS08 Datum: 14 April 2008 Autor: Marco Röösli Inhaltsverzeichnis 1 Rückblick auf Requirements Engineering Teil 1... 2 1.1 Was ist Requirements

Mehr

1 Objektorientierte Software-Entwicklung

1 Objektorientierte Software-Entwicklung 1 Objektmodellierung 1 Objektorientierte Software-Entwicklung Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Wissen, was unter objektorientierter

Mehr

OO-Design. Klausur FHF * WI1 / WI2 * SS 2000 MUSTERLÖSUNG

OO-Design. Klausur FHF * WI1 / WI2 * SS 2000 MUSTERLÖSUNG OO-Design Klausur FHF * WI / WI2 * SS 2000 MUSTERLÖSUNG Aufgabe : (28 Punkte) - Ergänzen Sie zum Fallbeispiel "Seminaranmeldung" (s. Anhang) das vorgegebene Use-Case- Diagramm um die fehlenden Use Cases,

Mehr

A Platform for Complex Event Processing

A Platform for Complex Event Processing A Platform for Complex Event Processing Einführung Business Process Technology Prof. Dr. Mathias Weske Matthias Kunze Nico Herzberg Business Process Technology Seit 2001 Untersuchung realer Probleme des

Mehr

Klausurvorbereitung Software Engineering I @ TFH Berlin

Klausurvorbereitung Software Engineering I @ TFH Berlin Teil 1 Einführung in Software Engineering Definition: Was ist Software Engineering? Unter Software Engineering (SE) versteht man den systematischen, disziplinierten und in seiner Größe abschätzbaren Ansatz,

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1 Datenbankmodelle 1 Das Entity-Relationship-Modell Prof. Dr. Bernhard Schiefer 2-1 Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle Prof. Dr.

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Aufgaben und Lösungshinweise zum Lehrbuch

Aufgaben und Lösungshinweise zum Lehrbuch Aufgaben und Lösungshinweise zum Lehrbuch UVK Verlagsgesellschaft mbh 204 Aufgaben zu Kapitel 4 Aufgabe : (Grundlagen von IT-Services) Nennen Sie vier Kriterien, die für die Gebrauchstauglichkeit eines

Mehr

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Graphischer Editor für die technologieunabhängige User Interface Modellierung Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige

Mehr

A classification and comparison framework for software architecture description languages

A classification and comparison framework for software architecture description languages A classification and comparison framework for software architecture description languages Christian Gerth Seminar Architekturbeschreibungssprachen Prof. Dr. Heike Wehrheim Fachgebiet Spezifikation und

Mehr

Objektorientierte Analyse und Design

Objektorientierte Analyse und Design Folien basieren auf folgendem Buch: Objektorientierte Analyse und Design Kernziele: Strukturen für erfolgreichen SW-Entwicklungsprozess kennen lernen Realisierung: Von der Anforderung zur Implementierung

Mehr