Objektorientierte Programmierung Einführung

Größe: px
Ab Seite anzeigen:

Download "Objektorientierte Programmierung Einführung"

Transkript

1 Objektorientierte Programmierung Einführung Prof. Dr. Michael Ryba

2 Lernziele Verstehen, warum Softwareentwicklung benötigt wird Wissen, was unter objektorientierter Softwareentwicklung zu verstehen ist Die Unterschiede zur klassischen Softwareentwicklung verstehen Erklären können, warum Objektorientierung sinnvoll ist Wissen, welche objektorientierten Konzepte es gibt Erklären können, was eine Entwicklungsmethode ist Erklären können, wie sich die Phasen Analyse und Entwurf voneinander unterscheiden Wissen, was die Unified Modeling Language ist 2

3 Was ist Software? (engl., eigtl.»weiche Ware«), Abk. SW, Sammelbezeichnung für Programme, die für den Betrieb von Rechensystemen zur Verfügung stehen, einschl. der zugehörigen Dokumentation. (Brockhaus Enzyklopädie) die zum Betrieb einer Datenverarbeitungsanlage erforderlichen nichtapparativen Funktionsbestandteile. (Fremdwörter-Duden) Computer programs, procedures, rules, and possibly associated documentation and data pertaining to the operation of a computer system. (IEEE Standard Glossary of Software Engineering Terminology) 3

4 Sichten auf Software 4

5 Was ist GUTE Software? Gute Software ist qualitativ hochwertig und wird den Bedürfnissen des Anwenders gerecht. Diskussion Denken Sie an ein Programm, das Sie wirklich gerne anwenden. In welcher Hinsicht halten Sie es für ein qualitativ hochwertiges System? Gibt es Gründe, warum es nach den hier aufgestellten Aussagen kein qualitativ hochwertiges System ist? Welche Punkte beeinflussen Ihre Einstellung dazu am meisten? alternativ Denken Sie an ein Programm, das zwar sehr erfolgreich ist, das Sie selbst aber ungern anwenden. Stellen Sie hierzu die gleichen Fragen. 5

6 Eigenschaften guter Software Funktionalität nützlich und nutzbar: Gute Software erleichtert und verbessert das Leben der Anwender Qualität zuverlässig: Gute Software leistet das Geforderte, hat keine Ausfälle verfügbar: Lauffähigkeit auf verfügbarer Hardware & Betriebssystem sicher: Keine verbotenen Effekte, Verhinderung von Gefahren Wirtschaftlichkeit flexibel: Es ist wichtig, Software später noch verändern zu können (Wartung) kostengünstig: in Anschaffung und Unterhalt ergonomisch: leichte Bedienbarkeit, leichte Erlernbarkeit 6

7 Wozu braucht man Softwareentwicklung? Fundamentales Problem bei der Erstellung von Software: Es gibt eine Grenze, wie viel ein Mensch zu einer gegebenen Zeit verstehen kann. Sehr kleine Systeme können unter Umständen mit der SHIT-Methode bewältigt werden. Software zeichnet sich im Allgemeinen durch Komplexität aus: Technische Komplexität: Abhängigkeiten sind für eine Einzelperson nicht überschaubar. Software ist für die Dauer ihres Lebenszyklus Änderungen unterworfen. Entfernung vom ursprünglichen Konzept Soziale Komplexität: Vielfach Einbettung von SW in soziales Umfeld Entwicklung von Software im Team Expertenwissen vs. Informationsaustausch Methoden & Konzepte für die Entwicklung von Software erforderlich 7

8 Probleme der Softwareentwicklung Die Komplexität von Programmen nimmt ständig zu Umfang und Lebensdauer nehmen zu Neue Anwendungen werden für den Rechnereinsatz erschlossen Die Softwareentwicklung ist integraler Bestandteil der Systementwicklung Immer mehr Entwickler sind mit der Pflege von Altsystemen beschäftigt 8

9 Komplexität Kleine Projekte Beispiel aus dem Alltag: Bau einer Hundehütte Keine formale Vorgehensweise (Projektorganisation) nötig kaum Planung erforderlich Ausführung durch eine einzige Person möglich Einfache Werkzeuge ausreichend Säge, Hammer,... In der Softwareentwicklung: Projekte bis max Codezeilen / 2 Personenjahre 9

10 Komplexität Große Projekte Beispiel aus dem Alltag: Bau eines Einfamilienhauses Wohldefinierte Vorgehensweise: erst Plan, dann Rohbau, Installation, Innenausbau,... Genaue Planung erforderlich Ausführung durch ein Team Mächtige Werkzeuge nötig: Kran, Bagger,... In der Softwareentwicklung: Projekte bis etliche Mio. Codezeilen / 200 Personenjahre 10

11 Beispiel: Zunehmende Qualitätsanforderungen 50% der Ausfälle im industriellen Sektor auf Grund von Software- Fehlern Entwicklung der gefundenen Defekte pro 1000 Zeilen Quellcode 11

12 Beispiel: Zunehmende Entwicklungsdauer 12

13 Was ist Softwaretechnik? Definition Softwaretechnik ist der Einsatz qualifizierter Methoden, Werkzeuge und Entwicklungsprozesse zum Erstellen und Betreiben von Software mit dem Ziel, einerseits die Softwarekosten bei der Entwicklung, Wartung und Erweiterung von Programmsystemen zu senken, andererseits zum Erreichen einer höheren Systemqualität Systematische Entwicklung von Software erfolgt in der Regel nach einem vorgegebenen Ablauf Festlegung von: Arbeitsschritten Zu erstellenden Dokumenten Zusammenarbeit zwischen unterschiedlichen Entwicklern Reihenfolge der Bearbeitung 13

14 Wasserfallmodell 14

15 Wie unterstützt Softwaretechnik die Erstellung guter Software? Durch Prozesse für eine strukturierte Vorgehensweise bei der Entwicklung Zuerst Was und dann Wie Durch Methoden und Konzepte zur Abstraktion der Problemstellung Modell ist Abbild der Wirklichkeit Aufteilung in überschaubare Teilprobleme Durch Werkzeuge zur Entwicklerunterstützung Beherrschung der Komplexität aber Systematische Softwareentwicklung ergibt nicht automatisch gute Software Es werden lediglich Methoden und Abläufe vorgegeben, die die Erstellung von guter Software unterstützen 15

16 Methoden der Softwareentwicklung Aufgabe: Komplexität des Gesamtsystems beherrschen Prinzip: Zerlegung (Dekomposition) Zerlegung des Problems in kleinere, handhabbare Teilbereiche, die relativ isoliert voneinander behandelt werden können Verschiedene Ansätze - Zerlegung nach unterschiedlichen Gesichtspunkten funktionsorientierte Zerlegung datenorientierte Zerlegung objektorientierte Zerlegung 16

17 Beispiel: Warenautomat 17

18 Warenautomat Anforderungen Kunde wählt Waren Der Kunde wählt über ein Eingabefeld einzelne Waren und die gewünschte Menge aus. Auf einer Anzeige wird ihm der Preis für die gewählte Menge der Ware und die Gesamtsumme angezeigt. Kunde kann Auswahl korrigieren Kunde signalisiert, dass er mit der Auswahl zu Ende ist Betätigt der Kunde den Auswahl-bestätigen-Knopf, zeigt ihm der Automat den zu zahlenden Betrag an und aktiviert die Geldeingabe. Kunde gibt Geld ein und erhält Waren Der Kunde gibt das Geld in Form von Münzen oder Scheinen ein. Wenn der notwendige Betrag erreicht oder überschritten ist, sperrt der Automat die Geldeingabe und gibt die Waren in der Warenausgabe aus. Anschließend gibt der Automat, falls erforderlich, das Wechselgeld aus. 18

19 Warenautomat Anforderungen Betreiber definiert die Preise der Waren Der Betreiber gibt über eine Tastatur die Warenart und den Verkaufspreis ein. Existiert die Warenart schon, so wird der Preis geändert, sonst wird die neue Warenart mit Preis aufgenommen. Betreiber füllt Waren auf Nachdem der Betreiber den Automaten mit Waren neu bestückt hat, gibt er über die Tastatur Warenart und Menge der hinzugefügten Waren ein. Automat erzeugt Tagesbericht Um Mitternacht erzeugt der Automat auf einem internen Drucker einen Bericht mit Zeitpunkt und Gesamtpreis jedes Verkaufs. Dazu für jede Ware des Verkaufs Warenart, Menge und Preis für die verkaufte Menge. 19

20 Funktionsorientierte Zerlegung Historisch älteste Zerlegungsmethode Beschreibung der Funktionen und Aktionen innerhalb der Anwendung Abstraktion (Modellbildung) durch Betrachtung der zu erfüllenden Aufgabe Ergebnis ist Top-Down-Zerlegung der Funktionen des geplanten Systems Beispiel: Warenautomat (Teilausschnitt) 20

21 Datenorientierte Zerlegung Betrachtung der Datenstrukturen und -transformationen der Anwendung System wird nach Daten zerlegt, die in dem System gespeichert und verarbeitet werden müssen. Bsp.: Entity-Relationship-Modell Beispiel: Warenautomat (Teilausschnitt) 21

22 Funktions-/Datenorientierte Zerlegung Analyse der Aufgabenstellung nach zwei gegensätzlichen Gesichtspunkten Ergänzen sich gegenseitig Funktions- und Datenorientierte Zerlegung gehören zu den so genannten Strukturierten Methoden Strukturierte Analyse (SA) Datenflussdiagramme (funktionsorientiert) Entity-Relationship-Diagramme (datenorientiert) Strukturierter Entwurf (SD) Strukturdiagramme für Funktionsaufruf Module im Sinne von Datenabstraktion 22

23 Nachteile der Strukturierten Entwicklung Entspricht nicht der menschlichen Denkweise Geringe Abstraktionstiefe Strukturbruch zwischen Entwicklungsphasen durch unterschiedliche Darstellungen Umfangreiche Modelle sind schwierig zu lesen und zu ändern Produkte (Dokumentation, Modelle, Programme) sind weniger flexibel bei Änderungen und Erweiterungen Rein funktionaler Entwurf führt zu schlecht wartbaren Programmen Keine Unterstützung der Wiederverwendung 23

24 Objektorientierte Entwicklung Definition: Bei der objektorientierten Softwareentwicklung werden die in der realen Welt vorkommenden Gegenstände und Begriffe als Objekte betrachtet. 24

25 Objektorientierte Entwicklung Merkmale Nicht nur Daten und Funktionen werden beschrieben, sondern auch ihr Zusammenhang sowie Beziehungen zu ihrer Umwelt (andere Objekte) Ergebnisse der Phasen Analyse, Entwurf und Implementierung werden objektorientiert in derselben Notation erstellt Verwendung derselben Konzepte in den Entwicklungsphasen: Analyse - Object-Oriented Analysis (OOA) Entwurf - Object-Oriented Design (OOD) Implementierung - Object-Oriented Programming (OOP) 25

26 Beispiel: Warenautomat Funktionen und Daten werden zusammengefasst Objekt Objektname: Ware Attribute des Objekts Ware: Warenname Preis Anzahl verfügbare Einheiten Methoden des Objekts Ware: Was ist Dein Preis Berechne neue Anzahl (aufgrund Anzahl verkaufte Einheiten) 26

27 Objekte Warenautomat 27

28 Vorteile objektorientierte Softwareentwicklung Strukturen, Zusammenhänge und Abhängigkeiten der realen Welt werden besser erfasst Visuelle Modellierung Objekte, Klassen und Pakete Bessere Durchgängigkeit, evolutionäre Entwicklung wird unterstützt Dieselben Konzepte und Notationen in allen Phasen Kein Strukturbruch zwischen Analyse und Entwurf Vergleichsweise einfache Integration von Änderungen Verkapselung in Klassen und Geheimnisprinzip unterstützen die Wartbarkeit Vererbungskonzept unterstützt Erweiterbarkeit Bessere Wiederverwendbarkeit der Arbeitsergebnisse 28

29 Was ist eine Methode? Definition: Eine Methode beschreibt die systematische Vorgehensweise zur Erreichung eines bestimmten Ziels (griech.: methodos). [H. Balzert] Eine Methode besteht aus: 29

30 Konzepte Grundkonzepte In allen Phasen vorhanden (Analyse, Entwurf, Implementierung) Objekt Klasse Attribut Operation Botschaft Vererbung OO- Programmiersprache unterstützt alle Grundkonzepte Weitere Konzepte für Analyse und Entwurf Modellierung zusätzlicher Aspekte eines Systems Assoziation Anwendungsfall Szenario Zustandsautomat Paket 30

31 Notation Text Beispiel: Pflichtenheft Graphik Beispiel: Klassendiagramm Beispiel: Zustandsautomat Dokumentationsstandards Festlegung, wie Text- und Grafikelemente verwendet werden 31

32 Methodische Vorgehensweise Methodische Schritte Vorgegebene Reihenfolge von Tätigkeiten bei Analyse und Entwurf Unterschiedliche Anzahl vorgegebener Schritte für unterschiedliche Anwendungsbereiche Methodische Regeln Große Anzahl vorhanden (implizit oder explizit) Anwendung erfolgt situationsspezifisch Keine feste Reihenfolge festgelegt Beispiele Helfen auf vorhandenes Wissen zurückzugreifen Konkrete Beispiele Abstrakte Muster (Pattern) 32

33 Frage Wodurch wird bei der objektorientierten Softwareentwicklung die gute Durchgängigkeit von der Analyse bis zur Implementierung erreicht? Verwendung derselben Grundkonzepte in allen Entwicklungsphasen Verwendung grafischer Notation Weil zuerst ein Pflichtenheft erstellt wird Verwendung der gleichen Notation in Analyse und Entwurf Durch vorgegebene Reihenfolge der Tätigkeiten bei Analyse und Entwurf 33

34 Was versteht man unter Analyse? Definition Das Ziel der Analyse ist es, die Wünsche und Anforderungen eines Auftraggebers an ein neues Softwaresystem zu ermitteln und zu beschreiben. [H. Balzert] Erstellen eines Modells der Problemstellung Modell soll konsistent, vollständig, eindeutig und realisierbar sein Aspekte der Implementierung werden bewusst ausgeklammert (Annahme über perfekte Technologie ) Festlegen was das System tun soll, aber noch nicht wie es realisiert werden soll 34

35 Probleme bei der Analyse Anforderungen des Auftraggebers sind in der Regel unklar widersprüchlich fallorientiert Auftraggeber hat keine vollständige Vorstellung des zukünftigen Systems hilfreich: Prototyp Der Systemanalytiker muss sich dem Auftraggeber verständlich machen, nicht umgekehrt! Ziel: Verstehen des Problems und Beschreibung in einem OOA-Modell 35

36 Objektorientierte Analyse Ausgangspunkt der OOA sind Objekte, die in der realen Welt existieren Dinge Personen Begriffe Ereignisse... Darstellung der Objekte und ihrer Beziehungen untereinander OOA - Modell beschreibt Struktur und Semantik des Problems Produkte der Analysephase Pflichtenheft Beschreibung des Leistungsumfanges OOA-Modell Beschreibung der fachlichen Lösung (Fachkonzept) Prototyp der Benutzungsoberfläche Visualisierung des Fachkonzepts 36

37 Pflichtenheft Einstiegsdokument in das Projekt Textuelle Beschreibung dessen, was das zu realisierende System leisten soll Beschreibt das System aus Sicht des Auftraggebers Weniger detailliert als OOA-Modell 37

38 OOA-Modell Fachliche Lösung des zu realisierenden Systems Umsetzung der Anforderungen aus dem Pflichtenheft Modellierung mit grafischer Notation besteht aus statischem Modell Benötigte Klassen und ihre Eigenschaften Beziehungen zwischen Klassen des Modells Vererbungsstruktur Beschreibt die Struktur des Systems dynamischem Modell Aufgaben und Funktionsabläufe Kommunikation zwischen Objekten Beschreibt das Verhalten des Systems 38

39 Beispiel: Diplomarbeitsverwaltung 39

40 Prototyp Benutzeroberfläche Ablauffähiges Programm Besteht aus Fenstern, Dialogen, Menüs usw. Enthält keine Daten oder Funktionalität Bildet Attribute des OOA-Modells auf Programmoberfläche ab Dient zur Kommunikation und Diskussion mit Fachexperten und Benutzern 40

41 Erstellung OOA-Modell Systemanalytiker hat die Aufgabe, den Auftraggeber zu verstehen sowie die Anforderungen zu präzisieren und zu überprüfen Diskussion in einem Team aus Systemanalytiker, Fachexperten und zukünftigen Benutzern (ca. 2-5 Personen) OOA-Modell erstellen Prototyp wird aus OOA-Modell abgeleitet 41

42 Frage Warum ist es wichtig, in der Analyse von allen Implementierungsdetails zu abstrahieren? Weil Implementierungsdetails im Prototyp beschrieben werden Gefahr, dass OOA-Modell auf eine spezielle Umgebung abgestimmt ist Implementierungsdetails können mit objektorientierten Konzepten nicht dargestellt werden Lösung wird zu stark von der verwendeten Technologie eingeschränkt Weil dadurch das Verständnis des Problems gefördert wird 42

43 Was versteht man unter Entwurf? Definition Die Aufgabe des Entwurfs ist es, die in der Analysephase spezifizierte Anwendung auf einer Plattform unter den geforderten technischen Randbedingungen zu realisieren. [H. Balzert] Beschreibung des Systems auf höherer Abstraktionsebene als der Programmcode Erstellung des OOD-Modells Stark mit der Implementierung verknüpft Festlegen wie das System realisiert werden soll 43

44 OOD-Modell OOD-Modell entsteht aus OOA-Modell durch Verfeinerung und Ergänzung OOD-Modell soll ein Abbild des späteren Programms sein Jede Klasse des OOD-Modells kann direkt in einer OO Programmiersprache implementiert werden besteht aus statischem Modell beschreibt die Architektur des Systems enthält alle Klassen des Programms Pakete zur Modellierung von Teilsystemen dynamischem Modell Beschreibung der Kommunikation zwischen den Objekten 44

45 Entwurfsziele objektorientierter Entwurf Berücksichtigung bestimmter Entwurfsziele bei der Erstellung des OOD-Modells Beispiel: Entwurfsziel: Trennung von Fachkonzept, Benutzungsoberfläche und Datenhaltung Realisierung durch: Drei-Schichten-Architektur Einfluss durch: verwendetes GUI (Graphical User Interface) verwendete Form der Datenhaltung 45

46 Zusammenhang OOA OOD Ausgangspunkt des OOD-Modells ist OOA-Modell Verfeinerung und Erweiterung, so dass Abbildung in Programm möglich ist Gleiche Konzepte, gleiche Notation OOD-Modell besteht auch aus statischem und dynamischem Modell Dynamisches OOD-Modell besonders wichtig, da es komplexe Kommunikationsbeziehungen übersichtlich darstellt, die anhand des Programmcodes nur schwer nachvollziehbar sind 46

47 Abgrenzung Analyse und Entwurf 47

48 Frage Warum ist es sinnvoll, die fachliche Funktionalität einer Anwendung, deren Benutzungsschnittstelle und die Datenhaltung strikt zu trennen? 48

49 Unified Modeling Language (UML) The Unified Modeling Language is a visual language for specifying, constructing, and documenting the artifacts of systems. It is a generalpurpose modeling language [...] that can be applied to all application domains (e.g., health, finance, telecom, aerospace) and implementation platforms. [ Die Unified Modeling Language (UML) ist eine von der Object Management Group (OMG) entwickelte und standardisierte Sprache für die Modellierung von Software und anderen Systemen. [de.wikipedia.org] aktuelle Version:

50 UML wurde entscheidend geprägt durch Grady Booch Ivar Jacobson James Rumbaugh hat die vor 1996 existierenden verschiedenen Modellierungsmethoden (der genannten drei, sowie anderer) abgelöst wird zur Prozessmodellierung, Analyse, Spezifikation und zum Systementwurf verwendet es sind sehr viele gute Werkzeuge zur UML auf dem Markt bietet sehr konkreten Übergang zur Implementierung Code-Generierung ist aus den Modellen heraus in vielen Teilen möglich in Zukunft: MDA, MDD und Executable UML? 50

51 Die drei Amigos Ivar Jacobson Grady Booch James Rumbaugh 51

52 Geschichte der UML 52

53 Geschichte der UML 53

54 Entstehung der UML 54

55 Diagramm Übersicht 55

56 Diagramm Übersicht (engl.) 56

57 Strukturdiagramme Klassendiagramm (class diagram) Modellierung der Klassen mit Methoden, Attributen und Beziehungen Paketdiagramm (paket diagram) Modellierung der logische Struktur der Modellelemente mit deren (z.t. abstrakten) Abhängigkeiten Objektdiagramm (object diagram) Modellierung von Momentaufnahmen konkreter Objekte mit Werten und Beziehungsausprägungen Kompositionsstrukturdiagramm (composite structure diagram) Modellierung der internen Struktur eines Modellelements (Classifiers) sowie dessen Möglichkeiten zur Interaktion mit anderen Systemkomponenten Komponentendiagramm (component diagram) Modellierung der Komponenten (=Module) und deren Abhängigkeiten Verteilungsdiagramm (deployment diagram) zeigt die (physischen) Geräte des Systems im Betrieb 57

58 Verhaltensdiagramme Use-Case Diagramm (use case diagram) Modellierung der Anwendungsfunktionalität aus der Sicht der Anwender Aktivitätsdiagramm (activity diagram) Modellierung des dynamischen Ablaufs (i.d.r. eines Use Case) Zustandsdiagramm (state transition diagram) modelliert die Zustände und Zustandswechsel (i.d.r. zu einer Klasse) Sequenzdiagramm (sequence diagram) Modelliert ein Szenario: den Botschaftsfluss zwischen Objekten Kommunikationsdiagramm (comunication diagram) Dynamik wie Sequenzdiagramm; zusätzlich Objekteigenschaften Timing-Diagramm Präziser zeitlicher Verlauf Interaktionsübersichtsdiagramm Modellierung des Zusammenspiels einzelner Interaktionsdiagramme 58

59 Frage Was ist durch die UML definiert? Notation und Symbole für Elemente objektorientierter Modelle Entwicklungsprozess und Vorgehensweise Welche Klassen für ein System benötigt werden Bedeutung der grafischen Symbole Aufbau und Struktur objektorientierter Diagramme 59

60 Zusammenfassung Die Erstellung von Software unterscheidet sich von der Herstellung anderer industrieller Güter Systematische Softwareentwicklung ist notwendig, um die Komplexität moderner Software beherrschbar zu machen Die Softwareentwicklung erfolgt nach einem vorgegebenen Ablauf, einem Entwicklungsprozess, der in unterschiedliche Phasen gegliedert ist. Eine (objektorientierte) Methode setzt sich aus Konzepten, einer Notation und einer methodischen Vorgehensweise zusammen. In der Analyse wird ein Fachkonzept des zu realisierenden Systems erstellt. Das OOA-Modell beschreibt die wesentlichen Merkmale des Problems, aber noch keine technische Lösung. Aufgabe des Entwurfs ist es, das Fachkonzept auf einer Plattform unter den geforderten technischen Randbedingungen zu realisieren. Das OOD-Modell ist ein Abbild des späteren objektorientierten Programms. Als Notation für Analyse und Entwurf dient die Unified Modeling Language UML. 60

61 Frage Weshalb wird in der Analysephase ein Prototyp der Benutzungsoberfläche erstellt? 61

62 Frage Welche der folgenden Aussagen über UML treffen zu? UML ist ein Software-Entwicklungsprozess. UML beschreibt Diagramme und Notationen. UML ist als Modellierungssprache für Menschen gedacht. UML ist eine Entwurfsarchitektur. UML ist abhängig von der verwendeten Programmiersprache. 62

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

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

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

INSPIRE - Modellierung

INSPIRE - Modellierung INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

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

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

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

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

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

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

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

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

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

Mehr

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

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt

Mehr

Software- und Systementwicklung

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

Mehr

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

Unified Modeling Language (UML )

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

Mehr

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

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

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

2. Der Software-Entwicklungszyklus

2. Der Software-Entwicklungszyklus 2. Der Software-Entwicklungszyklus 2.1 Klassische Phasenmodelle 2.1.1 Wasserfallmodell 2.1.2 Rapid Prototyping 2.2 Objektorientierte Phasenmodelle 2.2.1 OOA / OOD / OOP 2.2.2 Iteratives Phasenmodell 2.2.3

Mehr

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

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

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario

Mehr

Ü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

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

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

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

Inhaltsverzeichnis.

Inhaltsverzeichnis. Wegweiser durch das Buch 1 1 Problembereich und Lösungsbereich 10 1.1.Unterschiede zwischen Problembereich und Lösungsbereich 10 1.2 Paradigmen der Softwareentwicklung 12 1.3 Methoden für die verschiedenen

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 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

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2009 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für

Mehr

Software-Engineering

Software-Engineering SWE2 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien SWE2 Slide 2 Grundbegriffe der Software-Entwicklung: Systeme System Ausschnitt aus der realen oder

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

Software Engineering. 5. Architektur

Software Engineering. 5. Architektur Software Engineering 5. Architektur Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement

Mehr

Einführung in die Objektorientierung (OO)

Einführung in die Objektorientierung (OO) Einführung in die Objektorientierung (OO) I) Warum OO? II) Grundbegriffe der OO III) IV) Darstellung von Klassen und Objekten Kapselung I) Warum OO? 1) Früher: Prozedurale / strukturierte Programmierung

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

Tamagotchi-Spezifikation in UML

Tamagotchi-Spezifikation in UML Tamagotchi-Spezifikation in UML Christian Becker Steffen Glomb Michael Graf Gliederung Grundlagen Notation Werkzeug Modellierung Details der Spezifikation Erfahrungen Beurteilung von Notation und Werkzeug

Mehr

Grundkurs C++ Objektmodellierung

Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung Martin Knopp, Martin Gottwald, Stefan Röhrl 09.05.2018 Folie 1/25 GK C++: Objektmodellierung Martin Knopp, Martin Gottwald, Stefan Röhrl 09.05.2018 Objektmodellierung Welche

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

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

Analyse und Entwurf von Softwaresystemen mit der UML

Analyse und Entwurf von Softwaresystemen mit der UML Analyse und Entwurf von Softwaresystemen mit der UML Bearbeitet von Horst A. Neumann 2. Auflage 2002. Buch. XVI, 480 S. Hardcover ISBN 978 3 446 22038 6 Format (B x L): 17,7 x 24,5 cm Gewicht: 1049 g Zu

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

4. Mentorium. UML-Modellierung (Lösungshinweise)

4. Mentorium. UML-Modellierung (Lösungshinweise) Wirtschaftsinformatik (PWIN) 4. Mentorium Objektorientierung & UML-Modellierung (Lösungshinweise) Wirtschaftsinformatik 2 (PWIN), SS 2009, Professur für Mobile Business & Multilateral Security 1 Objektorientierung

Mehr

Softwaremodellierung innerhalb eines SAP ABAP Projekts im agilen Umfeld

Softwaremodellierung innerhalb eines SAP ABAP Projekts im agilen Umfeld Softwaremodellierung innerhalb eines SAP ABAP Projekts im agilen Umfeld 1. Die Kosten der Softwareentwicklung Warum es manchmal sinnvoll ist, am Anfang mehr zu tun, als nötig ist. Modellgetrieben Software-Entwicklung

Mehr

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Modellbasierter Test mit der UML Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Inhalt Einleitung und Motivation UML Testgenerierung Fazit Inhalt Einleitung und Motivation UML

Mehr

Analyse und Design mituml2

Analyse und Design mituml2 Analyse und Design mituml2 Objektorientierte Softwareentwicklung von Bernd Oestereich 7, aktualisierte Auflage Oldenbourg Verlag München Wien Ш1!Н1Н1КД nhjektorientierte Softwareentwicklung - Analyse und

Mehr

Von UML 1.x nach UML 2.0

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

Mehr

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

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller UML Crashkurs v0.1 UML für Fachinformatiker von Hanjo Müller 3. Mai 2005 Inhaltsverzeichnis Inhaltsverzeichnis 1 UML - Unified Modeling Language 3 2 UML im Software Entwurf 4 2.1 Ablauf der Softwareentwicklung.............................

Mehr

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel SWE6 Slide 1 Software-Engineering Vorlesung 6 vom 22.11.2004 Sebastian Iwanowski FH Wedel SWE6 Slide 2 Software-Engineering Vorlesungsthemen: 1. Überblick über das Thema und die Vorlesung 2. Grundlegende

Mehr

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

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

Mehr

Vorlesung Programmieren

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

Mehr

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

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

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

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

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8 Literatur Martin Fowler and Kendall Scott: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley 1997. James Rumbaugh, Ivar Jacobson, and Grady Booch: The Unified Language Reference

Mehr

Requirements Engineering I

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

Mehr

Notationen zur Prozessmodellierung

Notationen zur Prozessmodellierung Notationen zur Prozessmodellierung August 2014 Inhalt (erweiterte) ereignisgesteuerte Prozesskette (eepk) 3 Wertschöpfungskettendiagramm (WKD) 5 Business Process Model and Notation (BPMN) 7 Unified Modeling

Mehr

Objektorientierte Softwareentwicklung

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

Mehr

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML2 glasklar UNIFIED MODELING LANGUAGE l V HANSER Inhalt Vorwort 1 Einleitung 2 Liebe Leserin, lieber Leser 2 Ihre Meinung ist uns

Mehr

Methoden des Software Engineering

Methoden des Software Engineering Methoden des Software Engineering Funktions-, daten-, objekt- und aspektorientiert entwickeln Bearbeitet von Joachim Goll 1. Auflage 2012. Buch. xxxviii, 794 S. Hardcover ISBN 978 3 8348 2433 2 Format

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

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

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 4 Modellierungssprachen Universität Zürich Institut für Informatik 2006 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind für den persönlichen,

Mehr

UML 2.0 Das umfassende Handbuch

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

Mehr

MDA-Praktikum, Einführung

MDA-Praktikum, Einführung MDA-Praktikum, Einführung Prof. Dr. Peter Thiemann Universität Freiburg 02.11.2005 Was ist MDA? MDA = Model-Driven Architecture Initiative der OMG Object Management Group: CORBA, UML,... offenes Firmenkonsortium

Mehr

Objektorientiertes Software-Engineering

Objektorientiertes Software-Engineering Objektorientiertes Software-Engineering TIT99BPE/TIT99CPE BA Mannheim WS 2001/2 F. Schönleber Organisatorisches Kurs 1: TIT99BPE 6.Studienhalbjahr Termin Mo. 13.00 14.30 Raum: 037B Kurs 1: TIT99CPE 6.Studienhalbjahr

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen 2.3 Zustandsmodelle

Mehr

Gliederung des Vortrages

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

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

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

Objektorientiertes Design

Objektorientiertes Design Objektorientiertes Design Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1

Mehr

Software Engineering in der Praxis

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

Mehr

Java Einführung Objektorientierte Grundkonzepte

Java Einführung Objektorientierte Grundkonzepte Java Einführung Objektorientierte Grundkonzepte Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Vorlesung 3 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel...

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel... Vorwort..................................................... 13 Kapitel 1 Einleitung......................................... 15 1.1 Reisebeschreibung............................ 18 1.2 Zielpublikum.................................

Mehr

Software Engineering in der Praxis

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

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

Comelio GmbH - Goethestr Berlin. Kurskatalog

Comelio GmbH - Goethestr Berlin. Kurskatalog Comelio GmbH - Goethestr. 34-13086 Berlin Kurskatalog 2 Inhaltsverzeichnis a. Standorte...3 1. BPMN...4 i. Business Process Model and Notation mit Altova UModel...4 ii. Business Process Model and Notation

Mehr

Übung Einführung in die Softwaretechnik

Übung Einführung in die Softwaretechnik Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar

Mehr

Dr. Beatrice Amrhein. April 13

Dr. Beatrice Amrhein. April 13 Dr. Beatrice Amrhein April 13 Viele der Ideen und Aufgabenbeispiele stammen aus dem Skript von André- Claude Godet, welches er mir freundlicherweise als Ausgangspunkt für dieses Skript zur Verfügung gestellt

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

Inhalt. 1 Einführungsveranstaltung. 2 Pflichtenheft ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG ANFORDERUNGSSPEZIFIKATION - SOLLKONZEPT

Inhalt. 1 Einführungsveranstaltung. 2 Pflichtenheft ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG ANFORDERUNGSSPEZIFIKATION - SOLLKONZEPT Inhalt ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG 1 Einführungsveranstaltung 1.1 Ziel der Veranstaltung 1.2 Formaler Ablauf der Veranstaltung 1.3 Bewertungskriterien mittels Meilensteinen, Präsentationen

Mehr

Analyse und Design mituml2.1

Analyse und Design mituml2.1 Analyse und Design mituml2.1 Objektorientierte Softwareentwicklung Von Bernd Oestereich 8., aktualisierte Auflage Oldenbourg Verlag München Wien nhaltsverzeichnis Objektorientierte Softwareentwicklung

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

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

Inhalt. TEIL I Grundlagen. Einleitung 15

Inhalt. TEIL I Grundlagen. Einleitung 15 Einleitung 15 TEIL I Grundlagen 1.1 Notwendigkeit einer verbesserten Abstraktion 23 1.2 Klassen und Objekte 25 1.3 Festlegung von Grenzen 27 1.4 Wiederverwendung 30 1.4.1 Komposition 30 1.4.2 Vererbung

Mehr

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar CARL HANSER VERLAG Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML 2 glasklar 3-446-22575-7 www.hanser.de Einleitung... 1 Liebe Leserin, lieber Leser... 1 Ihre Meinung ist uns

Mehr

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

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

Mehr

Das Softwaresystem BASEMENT

Das Softwaresystem BASEMENT Numerische Modellierung von Naturgefahren mit dem Softwaresystem BASEMENT Workshop vom 6. Oktober 2006 an der VAW ETH Zürich Das Softwaresystem BASEMENT David Vetsch Inhalt 1. Motivation und Entstehungsgeschichte

Mehr

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

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

Mehr

Formale Modellierung Vorlesung vom : Beyond JML

Formale Modellierung Vorlesung vom : Beyond JML Rev. 1702 1 [12] Formale Modellierung Vorlesung vom 07.05.12: Beyond JML Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012 2 [12] Heute im Programm Grenzen der JML Nach JML: UML

Mehr

Methoden und Architekturen der Softwaretechnik

Methoden und Architekturen der Softwaretechnik Joachim Goll Methoden und Architekturen der Softwaretechnik STUDIUM VIEWEG+ TEUBNER Inhaltsverzeichnis Vorwort 7 Wegweiser durch das Buch 11 Inhaltsverzeichnis 17 Begriffsverzeichnis 23 Abkürzungsverzeichnis

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

Die Unified Modeling Language (UML)

Die Unified Modeling Language (UML) Die Unified Modeling Language (UML) Mario Jeckle Abteilung Angewandte Informationsverarbeitung (SAI) / DaimlerChrysler Forschung Ulm (FT3/EK) mario.jeckle@mathematik.uni-ulm.de / mario.jeckle@daimlerchrysler.com

Mehr