Objektorientierte Softwareentwicklung

Ähnliche Dokumente
UML (Unified Modelling Language) von Christian Bartl

Einführung in die objektorientierte Programmierung

Vorlesung Programmieren

Softwareprozessmodelle

INSPIRE - Modellierung

Analyse und Modellierung von Informationssystemen

Die Unified Modeling Language UML

Requirements Engineering I

Unified Modeling Language

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

NACHRICHTENTECHNISCHER SYSTEME

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

Analyse und Design mituml2

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

Inhaltsverzeichnis.

Unified Modeling Language 2

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

Vorlesung Programmieren

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

Analyse und Design mituml2.1

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

Analyse und Design mit U ML 2.3

UML 2.0 Das umfassende Handbuch

Objektorientiertes Software-Engineering

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

Methoden und Architekturen der Softwaretechnik

Unified Modeling Language (UML )

Methoden des Software Engineering

Das UML Benutzerhandbuch

Das umfassende Handbuch

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

Das UML Benutzerhandbuch

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

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

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Übung Einführung in die Softwaretechnik

Von UML 1.x nach UML 2.0

Exkurs 1: Hintergrund zu Java und UML

Objektorientiertes Design

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

Software-Engineering

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

Objektorientierte Programmierung Einführung

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

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

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

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage

Formale Modellierung Vorlesung vom : Beyond JML

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

Lehrstuhl für Wirtschaftsinformatik Prof. Dr. Roland Gabriel

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

Unified Modeling Language (UML)

Die Unified Modeling Language (UML)

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

Vorlesung "Praktische Softwaretechnik" Teil 8: Einführung in die Systemanalyse

J.2 Objektorientiertes Modellieren mit UML

ebook - Pro und Contra objektorientierter Geschäftsprozessmodellierung

Software-Engineering

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

Prinzipien der objektorientierten Programmierung (OOP)

Rückblick: Entity-Relationship-Modell

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

Tamagotchi-Spezifikation in UML

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

Software-Engineering

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

Requirements Engineering I

Analyse und Modellierung von Informationssystemen

Ein Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

UML. Unified Modeling Language. Prof. Mario Jeckle. Fachhochschule Furtwangen

Objektorientierte Analyse (OOA) Übersicht

Software Engineering in der Praxis

Gliederung des Vortrages

2. Der Software-Entwicklungszyklus

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

Klassendiagramm. (class diagram)

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Objektorientierte Softwareentwicklung

Objektorientierte Programmierung (OOP)

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

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

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

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

Software- und Systementwicklung

Martin Fowler, Kendali Scott. UML - konzentriert. Die Standardobjektmodellierungssprache anwenden

Transkript:

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

Zuordnung Methoden Phasen Requirements Engineering Fachlicher Entwurf Softwareentwurf Programmierung EPK Datenflussplan Datenflussdiagramm Entscheidungstabelle Data Dictionary Datenflussplan Datenflussdiagramm ERM Struktogramm PAP Pseudocode UML UML UML UML 3 Objektorientierung Auffassung der Software als eine Sammlung diskreter Objekte, die sowohl eine Datenstruktur als auch Methoden zur Handhabung der Datenstrukturen in sich vereinigen. 4 2

Prinzipien der Objektorientierung Objekte und Klassen Datenkapselung und Information hiding Vererbung Polymorphismus Definition: Objekt ein Objekt ist eine Einkapselung von Eigenschaften (Attributen) und von Funktionalitäten (Methoden, Operationen, Services), die auf diese Eigenschaften anwendbar sind. ein Objekt stellt einen abstrakten Datentyp dar 3

Definition: Klasse Objekte mit gleicher Struktur (Attributen) lassen sich zu Klassen zusammenfassen. jedes konkrete Objekt einer Klasse wird als Instanz bezeichnet Klassen besitzen Mengencharakter, d.h. Klassen können von daher auch im Sinne von Teilmengen in sog. Unterklassen aufgeteilt werden Definition: Vererbung hierarchisch untergeordnete Klassen erben alle Eigenschaften (Attribute) und alle Operationen der übergeordneten Klassen die untergeordneten Klassen können aber zusätzlich noch spezifische Attribute und Operationen besitzen 4

Gründe für Objektorientierung Wiederverwendbarkeit Klassen können in verschiedenen Systemen wiederverwandt werden. Kapselung unterstützt die Wiederverwendbarkeit. Über Vererbungsstrukturen und Polymorphie können Attribute und Operationen mehrfach genutzt werden Stabilität Durch die Wiederverwendbarkeit entstehen fehlerärmere und stabilere Softwaresysteme. Da Daten in ihrer Struktur weniger Änderungen unterworfen sind als Funktionalitäten, erhöht die Konzentration auf das Objektmodell die Stabilität der Systeme Gründe für Objektorientierung Fehlerreduktion Durch die Zusammensetzung eines Softwaresystems aus stabilen - einzeln testbaren Klassen - ist ein objektorientiertes System i.d.r. fehlerärmer als konventionell entwickelte Software. Zudem unterstützt die Wiederverwendbarkeit die Fehlerreduktion Realistischere Modelle Durch die Betrachtung von Objekten, die in der realen Welt existieren, entspricht die konzipierte Software stärker den Anforderungen der Benutzer. 5

Weitere Gründe Steigerung der Produktzuverlässigkeit (+) Sinkende Produkteffizienz (-) Steigerung der Entwicklerproduktivität (+) Änderung der Entwicklungsdauer, Aufwand verlagert sich hin zu Analyse und Design Steigerung der Mitarbeiterzufriedenheit (+) Entwicklung objektorientierter Programmiersprachen 12 6

Entwicklung objektorientierter Entwurfsmethoden Programmiersprachen Ada OOP Smalltalk traditionelle Analyse- & Designmethoden Composite/ Structured Design SA ERM SA/RT SERM objektbasierte Analyse- & Designmethoden HOOD GOOD Object System Oriented Design Development MOOD OMT OOSystems Analysis OOModelling and Design objektorientierte Analyse- & Designmethoden OOD OOSD Design Method OOA OOSE SOM for OOP schwache Beeinflußung starke Beeinlußung 13 Phasenmodell der objekt-orientierten Softwareentwicklung Objekt-Orientierte Analyse (OOA) Objekt-Orientiertes Design (OOD) Objekt-Orientierte Programmierung (OOP) 14 7

Bespiel Objekt-Modell für OMT nach Rumbaugh et al. Projekt Sprache Person Programmierer Analytiker 15 Beispiel für OOSA nach Slaer/Mellor Sprache Projekt * Projekt-ID Projekt-Name arbeitet an wird bearbeitet von Person * Personal-ID Name Programmierer Analytiker 16 8

Klassen-Notation bei Coad/Yourdon Klassen-Name Attribute Atribute Layer Methoden Service Layer 17 Beispiel für OOA nach COAD/Yourdon 18 9

Beispiel für OOSD nach Wasserman/Pircher/Muller value location point ok display move new-position min max move location bounded point history point bounds history history point location bh point bounded point move 19 OOD-Modell nach Booch 20 10

Beispiel für OOD nach Booch Projekt Person Programmierer Analytiker Projekt Person 21 SOM-V-Modell nach Sinz 22 11

Die drei Amigos Grady Booch James Rumbaugh Ivar Jacobsen 23 Entwicklung der UML 24 12

Komponenten der UML v1.x Stereotype Pakete Notizen Klassendiagramm Einsatzdiagramm Komponentendiagramm Kollaborationsdiagramm Komponenten der UML 29.10.2004 - v1 Objektdiagramm Anwendungsfalldiagramm Zustandsdiagramm Aktivitätsdiagramm Sequenzdiagramm 25 Komponenten der UML v2.x Strukturdiagramme Klassendiagramm Kompositionsstrukturdiagramm bzw. Montagediagramm Komponentendiagramm Verteilungsdiagramm Objektdiagramm Paketdiagramm Verhaltensdiagramme Anwendungsfalldiagramm bzw. Use-Case-Diagramm Aktivitätsdiagramm Sequenzdiagramm Kommunikationsdiagramm Interaktionsübersichtsdiagramm Zeitverlaufsdiagramm Zustandsdiagramm 13

27 28 14

29 30 15

31 16