1.2 Objektorientierte Analyse Ziel der Analyse

Größe: px
Ab Seite anzeigen:

Download "1.2 Objektorientierte Analyse Ziel der Analyse"

Transkript

1 1 1.2 Objektorientierte Analyse Ziel der Analyse Wünsche und Anforderungen eines Auftraggebers an ein neues Softwaresystem ermitteln und beschreiben Modell des Fachkonzepts erstellen, das konsistent, vollständig, eindeutig und realisierbar ist Alle Aspekte der Implementierung bewußt ausklammern (perfekte Technologie!) Es ist nicht die Aufgabe des Auftraggebers, den Systemanalytiker zu verstehen, sondern der Systemanalytiker wird dafür bezahlt, sich dem Auftraggeber verständlich zu machen Objektorientierte Analyse Produkte der Analysephase Pflichtenheft das Einstiegsdokument OOA-Modell das Fachkonzept Prototyp der Benutzungsoberfläche die Visualisierung des Fachkonzepts

2 3 1.2 Objektorientierte Analyse Pflichtenheft Umgangssprachliche Beschreibung dessen, was das zu realisierende System leisten soll Weniger detailliert als das OOA-Modell Enthält auch einige Informationen, die nicht im OOA-Modell dargestellt werden Zwei Zielsetzungen Einstiegsdokument in das Projekt für alle, die das System später pflegen und warten sollen Ausgangsbasis für die objektorientierte Modellbildung Es ist nicht das Ziel, anhand des Pflichtenhefts, das System zu implementieren Objektorientierte Analyse Gliederungsschema Pflichtenheft 1 Zielbestimmung Formulieren Sie Ziele und keine Funktionen 1.1 Muß-Kriterien 1.2 Kann-Kriterien 1.2 Abgrenzungskriterien 2 Einsatz 2.1 Anwendungsbereiche 2.2 Zielgruppen 2.3 Betriebsbedingungen

3 5 1.2 Objektorientierte Analyse 3 Umgebung 3.1 Software 3.2 Hardware 3.3 Orgware 4 Funktionalität typische Arbeitsabläufe wichtige Selektionen 5 Daten 6 Leistungen 7 Benutzungsoberfläche 8 Qualitätsziele 9 Ergänzungen Objektorientierte Analyse OOA-Modell Assoziation Geschäftsprozeß Szenario Vererbung Statische Konzepte Paket Botschaft Dynamische Konzepte Zustandsautomat Attribut Operation Basiskonzepte Statisches Modell Objekt Klasse Dynamisches Modell

4 7 1.2 Objektorientierte Analyse Das statische Modell beschreibt... die Klassen des Fachkonzepts die Assoziationen (Beziehungen) zwischen den Klassen die Vererbungstrukturen die Attribute der Klassen (Daten des Systems) die Bildung von Paketen (Teilsysteme) Objektorientierte Analyse Das dynamische Modell zeigt Funktionsabläufe Geschäftsprozesse beschreiben die durchzuführenden Aufgaben auf einem sehr hohen Abstraktionsniveau Szenarios zeigen, wie Objekte miteinander kommunizieren, um eine bestimmte Aufgabe zu erledigen Zustandsautomaten beschreiben die Reaktionen eines Objekts auf verschiedene Ereignisse (= Botschaften)

5 9 1.2 Objektorientierte Analyse Der Prototyp der Benutzungsoberfläche... ist ein ablauffähiges Programm, das alle Attribute des OOA-Modells auf der Benutzungsoberfläche darstellt besitzt weder Anwendungsfunktionen noch die Fähigkeit, Daten zu speichern besteht aus Fenstern, Dialogen Menüs usw. hat den Zweck, das erstellte OOA-Modell mit dem zukünftigen Benutzer oder einem Repräsentanten zu evaluieren sollte möglichst die vollständige Benutzungsoberfläche des Fachkonzepts enthalten Objektorientierte Analyse Grundprinzip der Softwareentwicklung Trennung von Fachkonzept und Benutzeroberfläche Im Fachkonzept wird festgelegt, welche Informationen auf dem Bildschirm sichtbar sind Bei der Benutzungsoberfläche wird festgelegt, in welchem Format sie dargestellt werden

6 Objektorientierter Entwurf Entwurfsziel Weitgehende Entkopplung von Fachkonzept, Benutzungsoberfläche und Datenhaltung Realisierung durch Drei-Schichten-Architektur Einfluß durch... verwendetes GUI (Graphical User Interface) Bestimmt Aussehen der Benutzungsoberfläche verwendete Form der Datenhaltung Relationale Datenbank Objektorientierte Datenbank Flache Dateien Objektorientierter Entwurf Drei Schichten-Architektur Reale Welt OOA-Modell OOA OOD Titel Buch OOD-Modell Benutzungsoberfläche Fachkonzept Datenhaltung BuchView Buch BuchFile Titel C++/Java class BuchView {...} class Buch {String Titel;...} class BuchFile {...}

7 Objektorientierter Entwurf Analyse Entwurf OK Prototyp OOD-Modell OOA-Modell a/b Fachkonzept Datenhaltung Relat. DB OO DB Abgrenzung von Analyse und Entwurf Pflichtenheft Benutzungsoberfläche Netzverteilung Klassenbibliotheken C++ bzw. Java-Programme Objektorientierter Entwurf Produkt der Entwurfsphase: OOD-Modell Abbild des späteren Programms Statisches Modell Enthält alle Architektur-Klassen des Programms Pakete zur Modellierung von Teilsystemen und Darstellung der verschiedenen Schichten Dynamisches Modell Übersichtliche Beschreibung der komplexen Kommunikation zwischen Objekten

8 15 Inhalt: UML - Statische Konzepte 2.1 Objekt 2.2 Klasse 2.3 Attribut 2.4 Operation 2.5 Assoziation 2.6 Vererbung 2.7 Paket CRC Karten Objekt Beispiel: Mitarbeiter-Objekt einstellen () Personalnr 1234 Name Müller Gehalt 5500 erhöhe Gehalt () drucke Ausweis ()

9 Klasse Definition Eine Klasse... definiert für eine Kollektion von Objekten deren Struktur (Attribute) Verhalten (Operationen) und Beziehungen (relationships) besitzt einen Mechanismus, um neue Objekte zu erzeugen (object factory) Jedes erzeugte Objekt gehört zu genau einer Klasse Unter den Beziehungen sind Assoziationen und Vererbungsstrukturen zu verstehen Klasse Beispiel :Mitarbeiter Personalnr = 1234 Name = Müller Gehalt = 5500 :Mitarbeiter Personalnr = 5678 Name = Meyer Gehalt = 5100 Mitarbeiter Personalnr Name Gehalt einstellen() erhöhe Gehalt() drucke Ausweis()

10 Klasse Notation UML Attribut... Klasse Namensfeld Attributliste Attribut... Klasse Operation()... Klasse Operationsliste Klasse Operation() Klasse e. Klassendiagramm Klassensymbole werden zusammen mit weiteren Symbolen (z.b. Assoziationen und Vererbung) in das Klassendiagramm eingetragen Beschreibung des statischen Modells des Systems Bei großen Systemen mehrere Klassendiagramme erstellen

11 Attribut a. Definition Attribute beschreiben die Daten, die von den Objekten einer Klasse angenommen werden können Jedes Attribut ist von einem bestimmten Typ Alle Objekte einer Klasse besitzen dieselben Attribute, jedoch unterschiedliche Attributwerte Student Matrikelnr Name Geburtsdatum Immatrikulation Vordiplom Noten :Student Matrikelnr = Name = (Hans, Mey er) Geburtsdatum = Immatrikulation = Noten = ((2.3, Analy sis), (1.3, Informatik)) Das Attribut Vordiplom besitzt - noch - keinen Wert Attribut Notation UML Klasse Attribut Klassenattribut /abgeleit etes Attribut At tribut: Ty p = Anfangswert {Merkmal1, Merkmal2,...}

12 Attribut a. Abgeleitetes Attribut (derived attribute) Der Wert kann jederzeit aus anderen Attributwerten berechnet werden Ein abgeleitetes Attribut darf nicht direkt geändert werden Kennzeichnung mit dem Präfix / Person Geburtsdatum /Alter Attribut d. Restriktion (constraint) Beziehung zwischen Attributwerten eines Objekts, die während der Ausführung des Systems unverändert erhalten bleiben muß Restriktion = Invariante = Zusicherung, die immer wahr sein muß Beispiele: Klasse Student {Vordiplom > Immatrikulation > Geburtsdatum} Klasse Artikel {Verkaufspreis >= 1.5 * Einkaufspreis}

13 Attribut a. Attributtyp Jedes Attribut wird durch einen Typ beschrieben Verwendung folgender Typen zur Erstellung eines standardisierten OOA-Modells Standardtypen Aufzählungstypen (elementare) Klassen list of Typ, wobei Typ ein beliebiger Typ sein kann. Typ = [Standardtyp Aufzählungstyp Klasse list of Typ] Attribut d. Standardtypen String = String (Länge) Int : ganze Zahl UInt : positive ganze Zahl Float : Gleitkommanzahl 32 Bit Double : Gleitkommazahl 64 Bit Fixed (Vorkommastellen, Nachkommastellen) : Festkommazahl Boolean Date Time

14 Attribut Aufzählungstyp { values: W1, W2, W3, select: 1..n, noadd} a. Elementare Klasse (support class) a. Der Typ eines Attributs kann selbst wieder durch eine Klasse beschrieben werden b. Kein Eintrag in das Klassendiagramm des Gesamtmodells c. In der Regel: Einmalige Definition und Wiederverwendung bei jedem Projekt Attribut Beispiele a. Aufzählungstyp NotenwertT {values: 1.0., 1.3, 1.7., 2.0., 2.3, 3.0, 3.3, 3.7, 4.0, 5.0, noadd} a. Elementare Klassen NameT Vorname: String Nachname: String NoteT Fach: String Wert: NotenwertT

15 Attribut Spezifikation der Attribute Um aus einem OOA-Modell den Prototyp der Benutzungsoberfläche abzuleiten, sind anzugeben: a. Name b. Typ c. Anfangswert d. Muß-Attribut (mandatory) e. Schlüssel (key) f. Attributwert nicht änderbar (frozen) g. Einheit h. Beschreibung Attribut Beispiel: Klasse Student Matrikelnummer: String(7) {mandatory, key} Name: NameT {mandatory} Geburtsdatum: Date {mandatory} Immatrikulation: Date {mandatory, Beschreibung:Datum des Studienbeginns} Vordiplom: Date {Beschreibung: Datum der abschließenden Vordiplomprüfung} Noten: list of NoteT Restriktionen: {Geburtsdatum < Immatrikulation < Vordiplom}

16 Operation Definition Eine Operation beschreibt eine ausführbare Tätigkeit Alle Objekte einer Klasse verwenden dieselben Operationen Jede Operation kann auf alle Attribute eines Objekts dieser Klasse direkt zugreifen Die Menge aller Operationen wird als das Verhalten der Klasse oder als die Schnittstelle der Klasse bezeichnet Operation Beispiel Student Matrikelnummer Name Geburtsdatum Immatrikulation Vordiplom Noten Anzahl Firma Name Ort Anzahl Mitarbeiter Branche immatrikulieren() exmatrikulieren() drucke Studienbescheinigung() notiere Noten() berechne Durchschnitt() drucke V ordiplomliste() anmelde Praktikum() drucke Prakt.bescheinigung()

17 Operation 3 Arten von Operationen Objektoperation bzw. Operation drucke Studienbescheinung() exmatrikulieren() Konstruktoroperation immatrikulieren() Klassenoperation drucke Vordiplomliste() Alle Objekte einer Klasse (Objektverwaltung) erhöhe Stundenlohn() Zugriff auf Klassenattribute Aushilfe Name Adresse Stundenzahl Stundenlohn erhöhe Stundenlohn () Operation Externe und interne Operationen Externe Operation... wird direkt vom Benutzer aktiviert kann weitere interne Operationen aufrufen Ziel der Systemanalyse ist es, alle externen Operationen zu ermitteln Interne Operation... wird von anderen Operationen aktiviert wird nur dann in das Klassendiagramm eingetragen, wenn es für das Verständnis notwendig ist

18 Operation Verwaltungsoperationen Interne Basisoperationen new(), delete() setattribute(), getattribute() link(), unlink(), getlink() Externe Verwaltungsoperationen erfassen() ändern() löschen() erstelleliste() Assoziation Definition Eine Assoziation modelliert Verbindungen (links) zwischen Objekten einer oder mehrerer Klassen Eine reflexive Assoziation besteht zwischen Objekten derselben Klasse Assoziationen sind in der Systemanalyse inhärent bidirektional Es gibt binäre und höherwertige Assoziationen

19 Assoziation Beispiel Objektdiagramm :Kunde Name = Hans Meyer :Konto Kontonr = 4711 Art = Geschäft Eröffnung = :Konto KontoNr = 1234 Art = Privat Eröffnung = Klassendiagramm Name Kunde 1 besitzt * Kontonr Art Eröffnung Konto Assoziation Notation UML Binäre Assoziation Linie zwischen einer oder zwei Klassen An jedem Ende der Linie steht die Wertigkeit bzw. Kardinalität (multiplicity) Klasse1 Klasse2 Attribut k1 k2 Attribut Operation() Operation() Klasse Attribut Operation() k2 k1 reflexive Assoziation

20 Assoziation Notation Kardinalität UML * 3..* , 4, , 8, 10..* genau 1 0 bis 1 0 bis viele 3 bis viele 0 bis 2 genau 2 2, 4 oder 6 nicht 6, 7 oder Assoziation Name einer Assoziation Beschreibt meistens nur eine Richtung der Assoziation Ein schwarzes Dreieck gibt die Leserichtung an Name darf fehlen, wenn die Bedeutung der Assoziation offensichtlich ist Name Kunde 1 besitzt * Kontonr Art Eröffnung Konto

21 Assoziation Rollenname Beschreibt Bedeutung eines Objekt in einer Assoziation Binäre Assoziationen besitzen maximal zwei Rollen Er wird an das Ende der Assoziation geschrieben bei der Klasse, deren Bedeutung in der Assoziation sie beschreibt Tragen zur Verständlichkeit des Modells mehr bei als der Name der Assoziation 42 Name Kunde 2.5 Assoziation Rollenname ist nicht optional... wenn zwischen zwei Klassen mehr als eine Assoziation besteht bei reflexiven Assoziationen 1 1..* Kontoinhaber * 1..* Kontoberechtigter Konto Kontonr Art Eröffnung :Kunde :Kunde Kontoinhaber Kontoberechtigter :Konto Angestellter Name Gehalt Position Mitarbeiter * Chef 0..1 :Angestellter Chef Chef :Angestellter :Angestellter Chef Chef Mitarbeiter Mitarbeiter Mitarbeiter Mitarbeiter :Angestellter :Angestellter

22 Assoziation Abgeleitete Assoziation (derived association) Professor 1 liest * Vorlesung * /ist Hörer von * * hört * Student :Professor :Vorlesung :Student :Vorlesung :Student Assoziation 3 Arten von Assoziationen in der UML Einfache Assoziation (ordinary association) Aggregation (aggregation) Komposition (composite aggregation) Hypertext-Buch Titel Erscheinungsjahr Verzeichnis Name MS-DOS-Name Erstellung Kapitel Autor Anzahl Seiten * Aggregation * Aggregatklasse Teilklasse Komposition 1 * Datei Name MS-DOS-Name Erstellung letzte Änderung letzter Zugriff

23 Assoziation Aggregation Läßt sich durch ist Teil von bzw. besteht aus beschreiben (Ganzes und Teile, whole part) Komposition»starke«Aggregation Kardinalität der Aggregatklasse <= 1 Dynamische Semantik des Ganzen gilt auch für seine Teile (propagation semantics) Wird das Ganze gelöscht, werden automatisch seine Teile gelöscht (they live and die with it) Vererbung Definition Vererbung (generalization) ist eine Beziehung zwischen einer allgemeinen Klasse (Basisklasse) und einer spezialisierten Klasse Die spezialisierte Klasse ist vollständig konsistent mit der Basisklasse, enthält aber zusätzliche Informationen (Attribute, Operationen, Assoziationen) Allgemeine Klasse = Oberklasse (super class) Spezialisierte Klasse = Unterklasse (sub class)

24 Vererbung Person Name Adresse Geburtsdatum drucke Adresse() Hilfskraft Matrikelnr Name Adresse Geburtsdatum Immatrikulation Beschäftigungen drucke Adresse() drucke Ausweis() drucke Arbeitszeiten() Angestellter Personalnr Name Geburtsdatum Gehalt Bank drucke Adresse() überweise Gehalt() Angestellter Personalnr Gehalt Bank überweise Gehalt() Student Matrikelnr Immatrikulation drucke Ausweis() Student Matrikelnr Name Adresse Geburtsdatum Immatrikulation Hilfskraft Beschäftigungen drucke Adresse() drucke Ausweis() drucke Arbeitszeiten() Vererbung Notation UML Weißes bzw. transparentes Dreieck bei der Basisklasse Klasse1 Klasse1 {abstract} Klasse2 Klasse3 Klasse2 Klasse3

25 Vererbung Überschreiben von Operationen Unterklassen können das Verhalten ihrer Oberklassen verfeinern, redefinieren bzw. überschreiben (redefine, override) K onto Kontonum mer Kontostand buchen() Sparkonto buchen() Paket Definition Das Paket (package)... faßt Modellelemente (z.b. Klassen) zusammen kann selbst Pakete enthalten Das vollständige System kann als ein großes Paket aufgefaßt werden Beispiel: Warenwirtschaftssystem Einkauf Verkauf Produktion Material- Wirtschaft

26 Paket Notation UML Paketname muß im gesamten System eindeutig sein System Paket1 Paket2 Paket1 Paket2 Paket Paket Paket und Klasse Jede Klasse (allgemeiner: jedes Modellelement) gehört zu höchstens einem Paket Es kann in mehreren anderen Paketen darauf verwiesen werden Ein Paket definiert einen Namensraum für alle enthaltenen Klassen Paket::Klasse Paket1::Paket11::Paket111::Klasse

27 53 CRC-Karte Name der Klasse (class) Verantwortlichkeiten (responsibilities) d. Klasse Notwendige Klassen (collaborations) Class Bestellung Responsibilities verwaltet eine Bestellung delegiert Aufgaben an Bestellpositionen Collaborations Bestellposition Bestellung Nummer Datum erfassen() drucken() 1 1..* Bestellposition Artikelnummer Bezeichnung Anzahl 54 Inhalt: UML - Dynamische Konzepte 2.8 Geschäftsprozeß 2.9 Botschaft 2.10 Szenario 2.11 Zustandsautomat

28 Geschäftsprozeß Begriff des use case von Jacobson in die Objektorientierung eingeführt use case in einem Informationssystem Sequenz von zusammengehörenden Transaktionen, die von einem Akteur im Dialog mit einem System durchgeführt wird, um ein Ergebnis von meßbarem Wert zu erhalten Alle use cases zusammen dokumentieren alle Möglichkeiten der Benutzung des Systems (use case model) use case in einem Unternehmen Sequenz von unternehmensinternen Aktivitäten, die durchgeführt werden, um die Wünsche eines Kunden zu befriedigen Geschäftsprozeß Problematik in der Analyse Nicht abzusehen, ob alle Aufgaben durch die Software abgedeckt werden oder ob auch organisatorische Schritte enthalten sind Ziel Spezifikation der ergebnisorientierten Arbeitsabläufe Definition Ein Geschäftsprozeß (use case) besteht aus mehreren zusammenhängenden Aufgaben, die von einem Akteur durchgeführt werden, um ein Ziel zu erreichen bzw. ein gewünschtes Ergebnis zu erstellen

29 Geschäftsprozeß Wer ist der Akteur (actor)? Rolle, die ein Benutzer des Systems spielt Hat einen Einfluß auf das System Ist häufig eine Person Kann auch Organisationseinheit oder anderes System sein Befindet sich immer außerhalb des Systems Geschäftsprozeß Wer ist der Akteur (actor)? Handelshaus (System = Unternehmen) Kunde Lieferant Kundensachbearbeiter Auftragsund Bestellwesen (Softwaresystem) Lieferantensachbearbeiter Lagersachbearbeiter Buchhaltung

30 Geschäftsprozeß Spezifikationsschablone (use case template) Geschäftsprozeß: Name des Geschäftsprozesses Ziel: globale Zielsetzung bei erfolgreicher Ausführung des Geschäftsprozesses Kategorie: primär (notwendig, häufig benötigt) sekundär (notwendig, selten benötigt) optional (nützlich, nicht unbedingt notwendig) Vorbedingung: erwarteter Zustand, bevor der Geschäftsprozeß beginnt Nachbedingung Erfolg Nachbedingung Fehlschlag Akteure Geschäftsprozeß Spezifikationsschablone Auslösendes Ereignis Beschreibung: Hier wird der Standardfall beschrieben 1 Erste Aktion 2 Zweite Aktion Erweiterungen: 1a Erweiterung des Funktionsumfangs der ersten Aktion Alternativen: 1a Alternative Ausführung der ersten Aktion

31 Geschäftsprozeß Geschäftsprozeß:Auftrag ausführen Ziel: Ware an Kunden geliefert Vorbedingung: - Nachbedingung Erfolg: Ware ausgeliefert (auch Teillieferungen), Rechnungskopie bei Buchhaltung Nachbedingung Fehlschlag: Mitteilung an Kunden, daß nichts lieferbar Akteure: Kundensachbearbeiter, Lagersachbearbeiter, Buchhaltung Auslösendes Ereignis: Bestellung des Kunden liegt vor Geschäftsprozeß Beschreibung: 1 Kundendaten abrufen 2 Lieferbarkeit prüfen 3 Rechnung erstellen 4 Auftrag vom Lager ausführen lassen 5 Rechnungskopie an Buchhaltung geben Erweiterung: 1a Kundendaten aktualisieren Alternativen: 1a Neukunden erfassen 3a Rechnung mit Nachnahme 3b Rechnung mit Bankeinzug erstellen

32 Geschäftsprozeß Notation Geschäftsprozeßdiagramm (use case diagram) UML System Akteur1 Akteur3 Akteur Geschäftsprozeß Geschäftsprozeßdiagramm für ein Informationssystem Warenwirtschaftssystem Auftrag ausführen Buchhaltung Lager verwalten Geschäftsprozeß2 Geschäftsprozeß3 Geschäftsprozeß1 Kundensachbearbeiter Lieferantensachbearbeiter Lagersachbearbeiter

33 Geschäftsprozeß extends-beziehung Erweiterung eines vorhandenen GP Auftrag durchführen «extends» Auftrag mit Nachlieferung ausführen uses-beziehung Zwei GP besitzen gemeinsames Verhalten Wareneingang aus Einkauf bearbeiten Wareneingang aus Produktion bearbeiten «uses» «uses» Ware einlagern Geschäftsprozeß Aktivitätsdiagramm (activity diagram) Beispiel: Auftrag ausführen Kundendaten abrufen 1. Schritt Lieferbarkeit prüfen 2. Schritt Rechnung erstellen 3. Schritt Auftrag vom Lager ausführen lassen Rechnungskopie an Buchhaltung geben Reihenfolge aus fachlicher Sicht irrelevant.

34 Botschaft Definition Eine Botschaft (message, Nachricht) ist die Aufforderung eines Senders (client) an einen Empfänger (server, supplier) eine Dienstleistung zu erbringen Empfänger interpretiert diese Botschaft und führt eine Operation (gleichen Namens) aus Sender der Botschaft weiß nicht, wie die entsprechende Operation ausgeführt wird Protokoll (protocol) der Klasse Menge der Botschaften, auf die Objekte einer Klasse reagieren können Botschaft Beispiel Bezeichnung Leiter Filiale berechnedurchs chnittsumsatz() 1 * Versicherter Nummer Name Adresse Geburtsdatum berechnebeit rag() 1 :Filiale berechnedurchschnittsumsatz() berechnebeitrag() :Versicherter getjahresbeitrag() * Vertrag Nummer Art Jahresbeitrag Versicherungs sum me Absc hlußdatum :Vertrag

35 Szenario Definition Ein Szenario (scenario) ist eine Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen ist Diese Schritte sollen das Hauptziel des Akteurs realisieren und ein entsprechendes Ergebnis liefern Sie beginnen mit dem auslösenden Ereignis und werden fortgesetzt bis das Ziel erreicht ist oder aufgegeben wird Szenario Geschäftsprozeß und Szenario Ein Geschäftsprozeß wird durch eine Kollektion von Szenarios dokumentiert Jedes Szenario wird durch eine oder mehrere Bedingungen definiert, die zu einem speziellen Ablauf des Geschäftsprozesses führen Zwei Kategorien von Szenarios: Szenarios, die eine erfolgreiche Bearbeitung des Geschäftsprozesses beschreiben Szenarios, die zu einem Fehlschlag führen

36 Szenario Beispiel Szenarios zum Geschäftsprozeß Auftrag bearbeiten Auftrag für einen Neukunden bearbeiten und mindestens ein Artikel ist lieferbar Auftrag bearbeiten, wenn Kunde bereits existiert und mindestens ein Artikel lieferbar ist Auftrag bearbeiten, wenn der Kunde bereits existiert, sich seine Daten geändert haben und mindestens ein Artikel lieferbar ist Szenario Notation Szenarios werden durch Interaktionsdiagramme (interaction diagrams) modelliert UML bietet zwei Arten von Diagrammen an Sequenzdiagramm (sequence diagram) Kollaborationsdiagramm (collaboration diagram)

37 Szenario Notation Sequenzdiagramm UML Akteur Objekt wird erzeugt :C2 :C3 op() Botschaft :C1 op1() Objektlinie op2() op3() Objekt wird gelöscht Szenario Sequenzdiagramm Besitzt zwei Dimensionen Die Vertikale repräsentiert die Zeit Auf der Horizontalen werden die Objekte eingetragen Jedes Objekt wird dargestellt durch Objektsymbol und vertikale gestrichelte Linie (Objektlinie) Bedingung (condition) [<Bedingung>] Operation() Wiederholung (iteration) * Operation() oder *[Bedingung] Op()

38 Szenario Auftrag für einen Neukunden bearbeiten Klassendiagramm Kunde erfassen() Artikel istlieferbar() 1 * 1 * Auftrag erfassen() erstellerechnung() 1 * Auftragsposition Bestellmenge Liefermenge Szenario :Artikel erfassen() :Kunde erfassen() :Auftrag new() :Auftragsposition setbestellmenge() istlieferbar() [nichtlieferbar] setliefermenge() erstelle Rechnung()

39 Szenario Auftrag für existierende Kunden bearbeiten :Kunde :Artikel abrufen() [Änderung] aktualisieren() erfassen() :Auftrag istlieferbar() erstelle Rechnung() Szenario Notation Kollaborationsdiagramm UML {new} Objekt wird erzeugt {destroyed} Objekt wird gelöscht {transient} Objekt wird sowohl erzeugt als auch gelöscht op() :C1 {transient} 2: op2() 1: op1() 2.1: op3() :C2 :C3

40 Szenario Kollaborationsdiagramm Permanente Objektverbindungen Assoziationen Temporäre Objektverbindungen... bestehen nur für die Dauer der Kommunikation liegen vor, wenn das angesprochene Empfängerobjekt auch ohne Vorliegen einer Assoziation vom Sender eindeutig identifiziert werden kann werden mit «temp» gekennzeichnet Implizite Objektverbindung (self link) Jedes Objekt kann jederzeit Botschaften an sich selbst schicken Szenario Sequenz- vs. Kollaborationsdiagramm Klasse :Klasse Klassenoperation() Klassenoperation() Klasse Konstruktoroperation() :Klasse Konstruktoroperation() :Klasse {new} Objektoperation() Objektoperation() :Klasse

41 Zustandsautomat Definition Ein Zustandsautomat (finite state machine) besteht aus Zuständen und Zustandsübergängen (Transitionen) Ein Zustand ist eine Zeitspanne, in der ein Objekt auf ein Ereignis wartet Ein Ereignis tritt immer zu einem Zeitpunkt auf und besitzt keine Dauer Zustandsautomat Beispiel: Lebenszyklus der Klasse Buch Buch defekt / entfernen() Ausleihwunsch / ausleihen() Buch verloren / entfernen() Ausleihwunsch / vorbestellen() präsent ausgeliehen neues Buch liegt vor / erfassen() after (Abholfrist vorbei) Leser gibt Buch zurück / zurückgeben() Leser holt Buch ab / ausleihen() zur Abholung bereit Buch erfassen() ausleihen() zurückgeben() vorbestellen() entfernen() vorbestellt Leser gibt Buch zurück / zurückgeben()

42 Zustandsautomat Notation UML Zustand1 Anfangszustand Ereignis1 Transition Zustand2 do/ Aktivität Zustand4 entry/ Aktion3 exit/ Aktion4 Ereignis3[Wächter] Zustand3 implizites Ereignis Ereignis4 Endzustand Ereignis2/ Aktion Zustandsautomat Zustand Zustandsname ist optional Zustände ohne Namen heißen anonyme Zustände und sind alle voneinander verschieden Zustandsname soll kein Verb sein Innerhalb einer Klasse muß jeder Zustandsname eindeutig sein Anfangszustand Pseudozustand, der mit einem echten Zustand durch eine Transition verbunden ist Endzustand Objekt hört auf, zu existieren

43 Zustandsautomat Verarbeitung in einem Zustand Aktion Ist atomar Terminiert selbständig entry-aktion exit-aktion Aktivität Beginnt, wenn Objekt Zustand einnimmt und endet, wenn es ihn verläßt Start Aktion + Stop Aktion Zustandsautomat Zustandsübergang (Transition) Verbindet zwei Zustände Gesprochen: die Transition»feuert«Wird durch ein Ereignis ausgelöst Kann mit einer Aktion verbunden sein Ereignis kann sein Bedingung, die wahr wird, z.b. when (Temperatur > 100 Grad) Signal, z.b. rechte Maustaste gedrückt Botschaft (Aufruf einer Operation) verstrichene Zeit, z.b. after(10 sec) Eintreten eines bestimmten Zeitpunkts, z.b. when( )

44 Zustandsautomat Wächter Ereignis kann mit Wächter (guard condition) kombiniert werden Die Transition feuert nur dann, wenn... das zugehörende Ereignis eintritt und die im Wächter spezifizierte Bedingung erfüllt ist Implizites Ereignis Transition wird ausgeführt, wenn die mit dem Zustand verbundene Verarbeitung beendet ist Zustandsautomat Beispiel: Lebenszyklus der Klasse Tank neue Füllhöhe / einstellen Füllhöhe() Tank füllen leer Tank füllen() leeren() einstellenfüllhöhe() füllend do/ füllen() when(voll) when(leer) voll Tank leeren leerend do/ leeren()

45 Zustandsautomat Beispiel: Kartenautomat in einem Parkhaus when(karte falsch)/ auswerfen Karte bereit Karte / einziehen Karte entry/ prüfe Karte after (5 sec) wartet auf Geld when(karte korrekt) / anzeigen Gesamtbetrag Geld eingeworfen [reicht nicht] / anzeigen Restbetrag Quittung anfordern / drucke Quittung wartet auf Quittung Geld eingeworfen [reicht aus]/ ausgeben Karte Kartenautomat bezahlen Parkgebühr() Zustandsautomat ausgeschaltet Einschalten / speichern Geschwindigkeit() Ausschalten Ausschalten ohne Verfeinerung regelnd Bremsen do/ einhalten Soll-Geschwindigkeit() Wiederaufnahme ausgeschaltet unterbrochen Tempomat speichern Geschwindigkeit() einhalten Soll-Geschwindigkeit() Einschalten / speichern Geschwindigkeit() Ausschalten mit Verfeinerung eingeschaltet regelnd do/ einhalten Soll-Geschwindigkeit() Bremsen Wiederaufnahme unterbrochen

46 Zustandsautomat Aktivitätsdiagramm (activity diagram) Verarbeitung1 [Bedingung1b] Entscheidung [Bedingung2b] Splitting [Bedingung1a] [Bedingung2a] Verarbeitung2 Verarbeitung4 Verarbeitung6 Verarbeitung3 Synchronisation Verarbeitung Zustandsautomat Aktivitätsdiagramm (activity diagram) Sonderfall des Zustandsdiagramms (Fast) alle Zustände sind mit Verarbeitung verbunden Zustand wird verlassen, wenn Verarbeitung beendet ist Wächter (guard condition) spezifiziert Verzweigungen im Kontrollfluß Spezifikation von parallelen Abläufen

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

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

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

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

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

Objektorientierte Analyse (OOA) Inhaltsübersicht

Objektorientierte Analyse (OOA) Inhaltsübersicht Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der

Mehr

Softwaretechnik SS 2006

Softwaretechnik SS 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt. Softwaretechnik SS 2006 7. Vorlesungseinheit Vorgehensmodelle (insbes. RUP) Best-Practices

Mehr

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm Inhalte Sequenzdiagramm Kollaborationsdiagramm Dynamisches Modell Seite 1 Sequenzdiagramm Ein Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb

Mehr

Konzepte und Notation der Analyse gelten auch in Entwurf und Implementierung Erweiterung der Konzepte und Notation für den Entwurf

Konzepte und Notation der Analyse gelten auch in Entwurf und Implementierung Erweiterung der Konzepte und Notation für den Entwurf 1 Vorteil der Objektorientierung Konzepte und Notation der Analyse gelten auch in Entwurf und Implementierung Erweiterung der Konzepte und Notation für den Entwurf Ziel der Analyse OOA-Modell als fachliche

Mehr

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

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

Mehr

Analyse und Entwurf objektorientierter Systeme

Analyse und Entwurf objektorientierter Systeme objektorientierter Systeme Fachbereich der FHW Berlin Teil 2 Anforderungsmodellierung: Pflichtenheft und Geschäftsprozesse Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik

Mehr

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets von André Kaiser 25.10.2004 André Kaiser - Statecharts in UML 1 Überblick Statecharts Konzepte und Darstellung Übersetzung UML-Statechart-Model

Mehr

2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte)

2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Objektmodellierung 2 Konzepte und Notation der objektorientierten Analyse (Statische Konzepte) Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Erklären

Mehr

Objektorientierte Analyse (OOA) Übersicht

Objektorientierte Analyse (OOA) Übersicht Übersicht UML ist die Notation für ein objektorientiertes Vorgehensmodell, sowohl für die Analyse als auch für das Design. Analyse (WAS?) Use Cases Aktivitätsdiagramme (für die Use Cases) Klassendiagramme

Mehr

Softwaretechnik SS Vorlesungseinheit

Softwaretechnik SS Vorlesungseinheit 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

Lösungen zu Übung 1 Grundlagen

Lösungen zu Übung 1 Grundlagen Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösungen zu Übung 1 Grundlagen Aufgabe 1.1 Unterschiede der Phasen Analyse und Entwurf Bevor mit

Mehr

3. Objektorientierte Analyse

3. Objektorientierte Analyse 3. Objektorientierte Analyse 3. Systemanalyse Witzfrage (nach Booch 9): Welches ist der älteste Beruf: Arzt, Bauingenieur oder Systemanalytiker? Anforderungsanalyse Analyse Anforderungs- Ermittlung Anforderungs-

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

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

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Teil II: OOP und JAVA (Vorlesung 9)

Teil II: OOP und JAVA (Vorlesung 9) Teil II: OOP und JAVA (Vorlesung 9) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 14.06.06 1 Teil

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++ Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte

Mehr

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim Matthias Niete niete@oio.de Dirk M. Sohn sohn@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim 1 Allgemeine Notationselemente Paketnamen {Eigenschaftswerte} Notiz Paketnamen

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

Softwaretechnik 2015/2016

Softwaretechnik 2015/2016 Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon

Mehr

2 Basiskonzepte und Notationen der objektorientierten Analyse Lernziele Erklären können, was ein Objekt ist

2 Basiskonzepte und Notationen der objektorientierten Analyse Lernziele Erklären können, was ein Objekt ist Grundlagen der Softwaretechnik 2 Basiskonzepte und Notationen der objektorientierten Analyse Lernziele Erklären können, was ein Objekt ist Erklären können, was eine Klasse ist Den Unterschied zwischen

Mehr

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Shop Käufer Einkauf Verkauf Verwaltung Händler Hersteller Actor: Jemand oder etwas, der/das mit dem zu entwickelnden System interagiert

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

Übungsaufgaben Softwaretechnologie

Übungsaufgaben Softwaretechnologie HTW Dresden Fakultät Elektrotechnik Übungsaufgaben Softwaretechnologie Gudrun Flach February 21, 2017 - Aufgaben aus : Übungen zur Vorlesung Softwaretechnologie (WS 2014/15), Uni Bonn Aufgabe 1 (Klassendiagramm)

Mehr

Geoinformation I Datenmodellierung

Geoinformation I Datenmodellierung Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung

Mehr

Lehrbuch der Objektmodellierung

Lehrbuch der Objektmodellierung Heide Balzert Lehrbuch der Objektmodellierung Analyse und Entwurf mit CD-ROM Technische Universität Darmstadt FACHBEREICH INFORMATIK BIBLIOTHEK Inventar-Nr.: Sachgebiete: Standort: Tt Spektrum Akademischer

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

Zustände Zustandsdiagramme

Zustände Zustandsdiagramme Zustände Zustandsdiagramme Ereignisse Zustandsübergänge Dr. Beatrice Amrhein Überblick Definition Anwendungsbereich Zustände/Zustandsübergänge Aktionen Ereignisse 2 Verwendung von Zuständen 3 Verwendung

Mehr

Informatik IIa: Modellierung

Informatik IIa: Modellierung Informatik IIa: Modellierung Frühlingssemester 2013 Übung 5: Klassendiagramme, EPK Kapitel 8, 9 Ausgabe: 23.04.2013 Abgabe: 07.05.2013 Name: Matrikelnummer: Aufgabe 1 Wissen zu EPKs (6 Punkte) Frage 1

Mehr

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37 Vorwort... 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden?... 17 1.2 Die Phasen bei der Softwareentwicklung... 18 1.2.1 Analyse... 18 1.2.2 Entwurf... 19 1.2.3 Implementierung und Dokumentation...

Mehr

Einführung. Einführung

Einführung. Einführung Einführung Einführung Im Oktober 1994 haben sich Grady Booch und Jim Rumbaugh bei der Rational Software Corporation zusammengeschlossen, um ihre erfolgreichen Methoden zu einem einheitlichen Industriestandard

Mehr

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen. Media Engineering Objektorientierte Modellierung Verhaltensmodellierung R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.de Objektorientierte Analyse und Design im Detail Identifiziere Akteure

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Software Engineering, SoSe 07, WSI, D. Huson, May 7, Software Engineering, SoSe 07, WSI, D. Huson, May 7, 2007 17 4 Modellierung in UML Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken. 4.1

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 Name: Matrikelnummer: Note: Prüfungstag: 03.03.2011 Prüfungsdauer:

Mehr

UML fürs Pflichtenheft

UML fürs Pflichtenheft UML fürs Pflichtenheft Sebastian Fischmeister Department of Computer Science University of Salzburg, Austria Sebastian.Fischmeister@cs.uni-salzburg.at Overview Use-Case Diagramm State-Machine Diagramm

Mehr

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML The role of UML Theoretical model model for comparison calibration verification Empirical model model of deduction induction Generating

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Exkurs 1: Hintergrund zu Java und UML

Exkurs 1: Hintergrund zu Java und UML Exkurs 1: Hintergrund zu Java und UML Warum gerade Java? Entwicklung Eigenschaften, speziell Portabilität Warum UML? Entwicklung Diagrammarten und CRC-Karten Lothar Schmitz UniBwM (teils nach Prof. Hußmann

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

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

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

UML -Klassendiagramme

UML -Klassendiagramme UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm

Mehr

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation Objektorientierte Konzepte und Notation in UML Objekt Klasse Attribut Operation Objekt Wodurch zeichnet sich ein Objekt aus? - Zustand - Verhalten - Identität Objektdiagramm - Notationsregeln :Kuh Elsa:Kuh

Mehr

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

Modellieren wichtiger als Programmieren?!

Modellieren wichtiger als Programmieren?! 1 Modellieren vs. Programmieren Modellieren wichtiger als Programmieren?! Prof. Dr. Helmut Balzert Lehrstuhl für Software-Technik Ruhr-Universität Bochum Helmut Balzert 2008 L 2 Beispiel:Interview Auftraggeber

Mehr

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Vorlesung Programmieren

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

Mehr

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017 So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017 Model of vs. model for TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on

Mehr

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein

Mehr

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 22. März 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer: [

Mehr

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE Einführung in die Informatik III Name: Matrikelnummer:

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

4. Übung zu Software Engineering

4. Übung zu Software Engineering 4. Übung zu Software Engineering WS 2007/2008 Aufgabe 8 Erstellen Sie für den aus Aufgabe 1 bekannten Function-Point-Kalkulator ein Pflichtenheft. Bitte begrenzen Sie dessen Umfang auf maximal 2 DIN A4

Mehr

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

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

Mehr

Modellierungstipps für die Anwendungsfallmodellierung

Modellierungstipps für die Anwendungsfallmodellierung Modellierungstipps für die Anwendungsfallmodellierung Identifiziere nur relativ grobe Abläufe als Anwendungsfälle! Anwendungsfälle werden nicht in weitere Anwendungsfälle zerlegt, höchstens unter Verwendung

Mehr

ANWENDUNGSFALLDIAGRAMM:

ANWENDUNGSFALLDIAGRAMM: EINFÜHRUNG Ein UML Modell kann folgende unterschiedliche Sichtweisen auf den Problemlösungsbereich (Aspekte) enthalten: Dynamische Aspekte Softwareorganisatorische Aspekte Statische Aspekte Welche Aussagen

Mehr

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm... Auf einen Blick TEIL I Strukturdiagramme 1 Einführung... 13 2 Klassendiagramm... 29 3 Objektdiagramm... 111 4 Kompositionsstrukturdiagramm... 125 5 Komponentendiagramm... 145 6 Verteilungsdiagramm... 161

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft

Mehr

Das umfassende Handbuch

Das umfassende Handbuch Christoph Kecher UML 2.0 Das umfassende Handbuch. Jfjf- Ali' ' w v^i* >" '-«(."', Galileo Press Inhalt Vorwort 11 1 Einführung 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Informatik IIa: Modellierung

Informatik IIa: Modellierung Informatik IIa: Modellierung Frühlingssemester 2014 Übung 5: Klassendiagramme, EPK Kapitel 8, 9 Ausgabe: 17.04.2014 Abgabe: 02.05.2014 Name: Matrikelnummer: Aufgabe 1 Wissen zu EPKs (6 Punkte) Frage 1.1

Mehr

Softwaretechnik 2015/2016

Softwaretechnik 2015/2016 Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 12: 21.01.2016 Schon

Mehr

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 6a: Modellierung Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Computertechnik Man kann Software auf 2 Arten herstellen: Entweder macht man sie so klar und einfach,

Mehr

Klausur. Softwareentwurf. 13. März 2013 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 13. März 2013 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 13. März 2013 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Dr. Christian Gerth unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer: [ ] Informatik

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert IT kompakt UML 2 kompakt mit Checklisten Bearbeitet von Heide Balzert 1. Auflage 2010. Taschenbuch. viii, 92 S. Paperback ISBN 978 3 8274 2506 5 Format (B x L): 12,7 x 19 cm Gewicht: 113 g Weitere Fachgebiete

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17

Mehr

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language

7. Konkretisierungen im Feindesign. 7.1 Zustandsdiagramme 7.2 Object Constraint Language 7. Konkretisierungen im Feindesign 7.1 Zustandsdiagramme 7.2 Object Constraint Language 173 Verfeinerte Modellierung Durch die verschiedenen Sichten der Systemarchitektur wird der Weg vom Anforderungsmodell

Mehr

Objektorientierte Analyse (OOA) OOA-Pattern

Objektorientierte Analyse (OOA) OOA-Pattern OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance

Mehr

Arbeitsblätter zu Teil I des Praktikums

Arbeitsblätter zu Teil I des Praktikums Arbeitsblätter zu Teil I des Praktikums Allgemeine Hilfsmittel Bitte benutzen Sie bei Schwierigkeiten mit spezifischem Domänenwissen das Internet als Recherchemöglichkeit (beispielsweise Google oder Wikipedia).

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 12. UML GUI-Schicht 1 GUI-Schicht Sichtbarmachen

Mehr

Softwareentwicklung OOA Videothek

Softwareentwicklung OOA Videothek Softwareentwicklung OOA Seite 1 von 8 Softwareentwicklung OOA thek Ein mögliches Vorgehen bei OOA soll im Rahmen einer Softwareentwicklung am Beispiel einer thek exemplarisch vorgestellt werden. 1. Systemidee

Mehr

Anwendungsfalldiagramm UseCaseDiagramm

Anwendungsfalldiagramm UseCaseDiagramm Anwendungsfalldiagramm UseCaseDiagramm Notation und Beispiele Prof. DI Dr. Erich Gams htl wels.e.gams@eduhi.at UML Seminar HTL-Wels 2010 Anwendungsfall und SE Prozess Ein Anwendungsfalldiagramm ist ein

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Informatik für Ökonomen II: Modellierung. Herbstsemester Prüfung 14. Januar Musterlösungen

Informatik für Ökonomen II: Modellierung. Herbstsemester Prüfung 14. Januar Musterlösungen Name Vorname Matrikelnummer Universität Zürich Informatik für Ökonomen II: Modellierung Herbstsemester 2009 Prüfung 14. Januar 2010 Musterlösungen Verwenden Sie nur das ausgeteilte Papier für Ihre Lösung

Mehr

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme Datenbanken objektorientierte Sicht Seite 1 von 76 Datenbanken Teil 2: Informationen Kapitel 7: Objektorientierte Sicht UML-Diagramme Vorstellung der unterschiedlichen UML-Diagramme 1. Diagrammtypen 2.

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Vgl. Oestereich Kap 2.1 Seiten

Vgl. Oestereich Kap 2.1 Seiten Vgl. Oestereich Kap 2.1 Seiten 21-49. 1 Ein Use Case ist eine zeitlich ununterbrochene Interaktion (ein Arbeitsschritt). Use Case Namen bestehen aus einem Subjekt und einem Verb wie zum Beispiel Daten

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Lösung zur Zusatzaufgabe Bankensoftware

Lösung zur Zusatzaufgabe Bankensoftware Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Lösung zur Zusatzaufgabe Bankensoftware Aufgabe 1 Anwendungsfälle a) Externe Akteure Kunde (Kontoinhaber)

Mehr

2. Übung zu Software Engineering

2. Übung zu Software Engineering 2. Übung zu Software Engineering WS 2007/2008 Organisatorisches [SE] als Teil des E-Mail-Betreffs nicht: SE, Software Engineering, Blatt 01 etc. Abgabe: EINE pdf-datei, spätestens 11:30 Uhr nicht: xls,

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE44 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 4: ARIS FH Wedel Prof. Dr. Sebastian Iwanowski SWE44 Folie 2 CASE-Tools

Mehr

Informatik IIa: Modellierung. Frühlingssemester Assessment Prüfung 5. Juni 2009

Informatik IIa: Modellierung. Frühlingssemester Assessment Prüfung 5. Juni 2009 Name Vorname Matrikelnummer Universität Zürich Informatik IIa: Modellierung Frühlingssemester 2009 Assessment Prüfung 5. Juni 2009 Für den Test stehen Ihnen 30 Minuten zur Verfügung. Verwenden Sie nur

Mehr

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 14. Februar 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer:

Mehr

I SWT - Definitionsphase - Objektorientierte Sicht 2

I SWT - Definitionsphase - Objektorientierte Sicht 2 Software-Technik 2 Einführung und Überblick LE V Unternehmensmodellierung 2 Die Definitionsphase Objektorientierte Sicht 2 [leicht gekürzt] Prof. Dr. Helmut Balzert Lehrstuhl für Software-Technik Ruhr-Universität

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr