Objektorientierung Auffassung der Software als eine Sammlung

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Blue J.
Grundlagen der Systemtheorie
Objektorientierte Programmierung
Frame-Logik Eine Einführung Andreas Glausch.
Objektorientierte Datenbanken
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Kapitel 4 Datenstrukturen
Objektorientierte Programmierung Definition von Klassen
Das Entity-Relationship-Modell
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Objektorientierter Entwurf (OOD) Übersicht
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Entity Relationship Model
Gliederung der Vorlesung Software Engineering WS 2001/2002
Modellierung komplexer Realität mit Objekten
Nachqualifizierungskurs für Informatiklehrkräfte
Datenmodellierung - Aufbau einer Datenbank -
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
OO Analyse und Entwurf für Anwender
UML Begleitdokumentation des Projekts
Objektorientierte Softwareentwicklung
Objektorientierte Modellierung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Software Engineering SS 2009
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
6. Vorlesung: Statische Konzepte
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 12. Sitzung WS 02/03.
Objektorientierte Programmierung
Unified Modeling Language Repetition / Einführung zu UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Konzepte der objektorientierten Programmierung
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Strukturierter Entwurf (und Realisierung)
Datenbanken Datenstrukturen.
Objektorientierte Analyse
UML-Kurzüberblick Peter Brusten.
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Relationale Datenbanken
Daten- und Ablaufmodellierung
Objektorientierung.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Software Engineering Grundlagen
Unified Modeling Language UML
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
1 VeranstaltungThemaVortragende AINF-Lehrgang 2003 Titel: Grundlagen der Objektorientierten Programmierung Name: Gruppe Programmierung.
Geoinformation I Lutz Plümer
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Sichtbarkeit einschränken
Zitat-management-System Meilenstein 1
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
UML-Klassendiagramm: Klassen
Objektorientierte (OO) Programmierung
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Objektorientierte Programmierung Was ist das eigentlich ?
© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java.
Systemanalyse BA Heidenheim 2002.
 Präsentation transkript:

Objektorientierung Auffassung der Software als eine Sammlung diskreter Objekte, die sowohl eine Datenstruktur als auch Methoden zur Handhabung der Datenstrukturen in sich vereinigen. LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Grundzüge der Objektorientierung Literatur Rumbaugh, James et al.: Objektrientiertes Modellieren und Entwerfen, Hanser Verlag 1993 Balzert, Heide: Objektorientierte Systemanalyse Spektrum Akademischer Verlag, 1996 Forbrig, P.: Objektorientierte Softwareentwicklung mit UML, Fachbuchverlag Leipzig 2001 LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Ziele der objektorientierten Systementwicklung Unterstützung bei der Gewinnung eines tiefgehenden Verständnisses des zugrundeliegenden Problemraumes (Vorrang vor funktionaler Zergliederung) Unterstützung der Kommunikation zwischen den an der Systementwicklung beteiligten Personen Entwurf von flexiblen und stabilen Softwaresystemen LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Grundzüge der Objektorientierung Ein Objekt ist einerseits eine Einkapselung von Eigen- schaften (Attributen) und von Funktionalitäten (Methoden, Operationen, Services), die auf diese Eigen- schaften anwendbar sind; andererseits ist ein Objekt eine Abstraktion des Problemfeldes und repräsentiert etwas im Problemfeld, das 1 - n - mal vorkommt. Ein Objekt ist eine Ansammlung von Informationen und eine Beschreibung ihrer Manipulationsmöglichkeiten Ein Objekt stellt einen abstrakten Datentyp dar LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Kriterien der Objektbildung Die Entscheidung einer Objektbildung sollte von folgenden Kriterien abhängig sein: 1) Benötigt das System Informationen über das Objekt ? 2) Benötigt das System Operationen, Methoden, Services, etc., d.h. funktionale Möglichkeiten, das Objekt zu manipulieren ? 3) Hat das Objekt mehr als eine Eigenschaft (Attribut), die für das zu analysierende System relevant ist ? Falls nur eine Eigenschaft Relevanz besitzt, ist zu überlegen, ob man das Objekt nicht als Eigenschaft eines anderen Objektes zu betrachten ist. 4) Gibt es Eigenschaften, die allen Ausprägungen eines Objektes gemeinsam sind ? LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Nutzeffekte der objektorientierten Softwareentwicklung 1 Wiederverwendbarkeit Klassen können in verschiedenen Systemen wiederver- wandt werden. Kapselung unterstützt die Wiederverwend- barkeit. Ü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 Entwickler denken in Terminologien, die der realen Welt entsprechen Durch die Betrachtung von Objekten, die in der realen Welt existieren, entspricht die konzipierte Software stärker den Anforderungen der Benutzer. LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Nutzeffekte der objektorientierten Softwareentwicklung Reduktion der Komplexität Klassen kapseln Details und ermöglichen es, auch komplexe Sachverhalte leichter zu handhaben. Durch die Strukturierung von Klassen ist es möglich, kom- plexe Klassen aus einfacher aufgebauten Klassen zusammenzusetzen. Allerdings ergibt sich eine Erhöhung der 'externen' Komplexität durch die Vielzahl der Klassen! 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., LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Von der Realität zum Modell Abstraktion Haus Modell Beispiele für weitere Objekte: Person, Auto, Baum, Heirat, Buchung, Projekt, Lampe, Kostenstelle, Einstellung, etc. LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Die Bildung von Klassen und die Unterscheidung verschiedener Klassen Objekte mit gleicher Struktur (Attributen) lassen sich zu Klassen zusammenfassen Beispiel: - Name - Adresse - Kontonummer - BLZ etc. Objekt: Kunde Attribute: Die Menge aller Kunden eines Unternehmens bildet eine Klasse Auf die Elemente der Klasse (Objekte) anwendbare Operationen: - Kunde neu anlegen - Kunde anzeigen - Kunde ändern - Kunde löschen etc. LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Instanz und Unterklasse Jedes konkrete Objekt einer Klasse wird als Instanz bezeichnet; Beispiel: Der Kunde Siegfried Müller ist eine Instanz der Klasse Kunde Klassen besitzen Mengencharakter. Klassen können von daher auch im Sinne von Teilmengen in sog. Unterklassen aufgeteilt werden. Beispiel: Klasse: Kunde Unterklassen: - Auslandskunden - Inlandskunden LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Grundzüge der Objektorientierung Vererbung Hierarchisch untergeordnete Klassen erben alle Eigen- schaften (Attribute) und alle Operationen der überge- ordneten Klassen; Die untergeordneten Klassen können aber noch spezifische Attribute und Operationen besitzen! Beispiel für die Vererbung von Attributen: Klasse: Speichermedien Attribute: - Nummer - Kapazität - Hersteller Unterklassen (im Teilmengensinne): a) Bandspeicher Attribute: - Bandlänge - Beschichtung - Rückspulzeit b) Plattenspeicher Attribute: - Zylinderzahl - Spuranzahl - Zugriffszeit LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Phasen der objektorientierten Softwareentwicklung Objektorientierte Analyse (OOA) Phase 2 Objektorientierter Entwurf (OOD) Phase 3 Objektorientierte Programmierung (OOP) LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung

Modelle der objektorientierten Analyse Objektmodell (Daten) Objektmodell (Funktionen) Beschreibung der Objekte, der Attribute, der Beziehungen Beschreibung der Operationen Daten Funktionen Ereignisse Dynamisches Modell Beschreibung der Reaktionen des Systems auf Ereignisse (intern/extern) LV: SE 2001/2002 Zilahi Grundzüge der Objektorientierung