1.2 Objektorientierte Analyse Ziel der Analyse
|
|
- Elizabeth Hauer
- vor 7 Jahren
- Abrufe
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
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
MehrSystemanalyse. - 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
MehrOOA-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
MehrUniversitä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
MehrObjektorientierte 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
MehrSoftwaretechnik 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
MehrObjektorientierte 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
MehrKonzepte 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
MehrSystemanalyse. - 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
MehrAnalyse und Entwurf objektorientierter Systeme
objektorientierter Systeme Fachbereich der FHW Berlin Teil 2 Anforderungsmodellierung: Pflichtenheft und Geschäftsprozesse Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik
MehrStatecharts 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
Mehr2 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
MehrObjektorientierte 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
MehrSoftwaretechnik 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.
MehrLö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
Mehr3. 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-
MehrUML-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?
Mehr1 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
MehrUML (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...
MehrTeil 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
MehrLehrstuhl 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
MehrObjektorientierte 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
MehrTechniken der Projektentwicklungen
Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische
MehrUML 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
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
MehrSoftwaretechnik 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
Mehr2 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
MehrBesteht 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
MehrAnalyse 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
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)
MehrGeoinformation 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
MehrLehrbuch 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
Mehr8. 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:
MehrRü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
MehrZustä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
MehrInformatik 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
MehrInhalt. 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...
MehrEinfü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
MehrMedia 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
MehrSoftware 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
MehrPRÜ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:
MehrUML 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
MehrSoftwaretechnologie 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
MehrUnified 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
MehrExkurs 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
MehrNACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
MehrSuper. 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
MehrEinfü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
MehrEinfü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.
MehrInteraktionsdiagramme 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
MehrUML -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
MehrObjektorientierte 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
MehrKapitel 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
MehrModellieren 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
MehrChristoph 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
MehrLehrstuhl 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
MehrVorlesung 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)
MehrSo#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
MehrAufgabe 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
MehrKlausur. 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: [
MehrVORDIPLOMSPRÜ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:
MehrObjektorientierte 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
Mehr4. Ü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
MehrSystemanalyse. - 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
MehrModellierungstipps 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
MehrANWENDUNGSFALLDIAGRAMM:
EINFÜHRUNG Ein UML Modell kann folgende unterschiedliche Sichtweisen auf den Problemlösungsbereich (Aspekte) enthalten: Dynamische Aspekte Softwareorganisatorische Aspekte Statische Aspekte Welche Aussagen
MehrTEIL 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
MehrUniversitä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
MehrDas 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
MehrInformatik 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
MehrSoftwaretechnik 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
MehrWirtschaftsinformatik 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,
MehrKlausur. 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
MehrJason 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,
MehrIT 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
MehrDas 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
Mehr7. 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
MehrObjektorientierte 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
MehrArbeitsblä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).
MehrWeb 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
MehrVorlesung 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
MehrSoftwareentwicklung 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
MehrAnwendungsfalldiagramm 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
MehrLehrstuhl 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
MehrInformatik 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
MehrDatenbanken. 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.
MehrTheorie 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
MehrVgl. 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
MehrAnalyse 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
MehrObjektorientierte 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
MehrLö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)
Mehr2. Ü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,
MehrSoftware-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
MehrInformatik 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
MehrKlausur. 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:
MehrI 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
MehrObjektorientierte 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