Objektorientierte Softwareentwicklung mit UML

Ähnliche Dokumente
Objektorientierte Softwareentwicklung mit UML

C++ Einführung und professionelle Programmierung. von Ulrich Breymann. 8., erweiterte Auflage. Hanser München 2005

Requirements Engineering I

Requirements Engineering I

Software-Entwicklung mit Delphi

Windows PowerShell 4.0

Die Unified Modeling Language UML

Analyse und Entwurf von Softwaresystemen mit der UML

Realität zu modellieren eine

Programmieren 2 - Java

PQM - Prozessorientiertes Qualitätsmanagement

Softwareentwicklung mit der UML

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung I/ Software Engineering I Modulnummer

Bewegungssimulation mit CATIA V5

C++ Einführung und professionelle Programmierung

UML (Unified Modelling Language) von Christian Bartl

Grundkurs Programmieren in Visual C#

Linux-Treiber entwickeln

Gewerblicher Rechtsschutz und Urheberrecht

Gibt es eine eigenen Didaktik für das Hauptund das Nebenfach sowie weitere Differenzierungen?

Qualitätstechniken. Werkzeuge zur Problemlösung und ständigen Verbesserung. von Dr. Philipp Theden, Hubertus Colsman. 1. Auflage

Software-Praktikum. Ein praxisorientiertes Vorgehen zur Software-Erstellung

Workload: 150 h ECTS Punkte: 5

Die drei Engel der Weihnacht

Liste MI / Liste I Programmieren in C++

Modulhandbuch für das Weiterbildungsangebot Softwareentwicklung (WZ-SWE)

mitp Professional Python 3 Lernen und professionell anwenden von Michael Weigend 5., überarbeitete Auflage 2013

Analyse und Design mituml2

Java Einführung Objektorientierte Grundkonzepte

Methodische objektorientierte Softwareentwicklung

Übersicht Eclipse Modeling Project EMP. Zoltan Horvath

Notationen zur Prozessmodellierung

Softwareentwicklung und Projektmanagement

Web-Technologien. Architekturen, Konzepte, Trends. Bearbeitet von Matthias Schmauch, Anatol Badach, Sebastian Rieger

Inhalte des Moduls Programmieren 1

Requirements Engineering I

Ergänzende Informationen zur Vorlesung Einführung in Software Engineering Wintersemester 2011 / 2012 Fachgebiet Softwaretechnik Fachbereich

Objektorientiertes Programmieren

Corporate Performance Management mit Business Intelligence Werkzeugen

NACHRICHTENTECHNISCHER SYSTEME

Einführung in die objektorientierte Programmierung

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

Betriebssysteme. Grundlagen, Konzepte, Systemprogrammierung. von Eduard Glatz. 1. Auflage

Leder. Geschichte, Techniken, Projekte. von Josephine Barbe, Frank-Michael Arndt. 1. Auflage

Semaphor- Workshop. Handbuch für Endnutzer

WPM - Wertstromorientiertes Prozessmanagement

0 Allgemeines. Prof. Dr. Rolf Dornberger

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

Wiederverwendung von Lernmaterialien - das DFG-Projekt CampusContent an der FernUniversität Hagen. F. Kaderali

Objektorientierte Analyse und Design

SPI - Software Process Improvement mit CMMI, PSP/TSP und ISO 15504

Objektorientiertes Software-Engineering

Struktur der UML-Spezifikationen

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

Erste Hilfe im Erbrecht - Ein Ratgeber für Frauen

Vorlesung Programmieren

Objektorientierte Analyse am Beispiel Silent Kitchen Company

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Modellierung und Implementierung von Datenstrukturen mit Java

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

Unterschiede in der Implementierung einer Software mit Datenbankanbindung in Java bzw. PHP am Beispiel einer Zeiterfassungssoftware

DotNetNuke. Komplexe Websites erstellen und verwalten. von Daniel N. Egan, Hauser-Wenz Partnerschaftsgesellschaft. 1. Auflage. Hanser München 2005

Wandel und Kontinuität im Verhältnis von Familie und Beruf in Ost- und Westdeutschland

Vorwort. Zu dieser Reihe. Autor

Werte, Worte, Taten. und wie sie Realità t in Unternehmen werden. Eine erfolgreiche Kompetenzentwicklung fã¼r Führungskrà fte

Vorwort zur ersten Auflage

Informatik für Chemieingenieurwesen Sommersemester 2018

Schneller Sprachen lernen

Soziale Kompetenzen als strategischer Erfolgsfaktor für Führungskräfte

Harald Störrle UML 2 für Studenten

Use Cases effektiv erstellen

Pinnwand, Beamer, Chart & Punkt

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

Software-Engineering im Sommersemester 2014

Softwareentwicklung eingebetteter Systeme

Windows PowerShell 4.0

Merkblatt zur elektronischen Angebotsabgabe

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

Zustandsdiagrammeditor Pflichtenheft, Version 3.0

Grundlagen des Software Engineering

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Objektorientierte Programmierung mit Python 3

Softwareunterstützung bei der Modellbildung. Rüdiger Kessel Metrodata GmbH

XML und Datenmodellierung

Praxis der Softwareentwicklung

Grundlagen Software Engineering

Analyse und Design mit U ML 2.3

DIN EN ISO 9000:2000 ff. umsetzen

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

Programmiermethodik Vorlesung und Praktikum SS 2001

m a r k u s r a a b d a p r ä s e n t a t i o n

Datenbanken 1 Datenbanken SPO 2014 SPO 2007 Belegnummer Belegnummer

Einführung in die Wirtschaftsinformatik

Java-Programmierung mit NetBeans

Wo ist das Problem? Mit Design Thinking Innovationen entwickeln und umsetzen. Bearbeitet von Markus Blatt, Emmanuel Sauvonnet

Das Design der Video-Lernspiele Eine Forschungs- und Designmethodik

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik

Kurzanleitung. leicht gemacht! Haufe Mediengruppe. Haufe. Business Software. Optimale Vorbereitung für Bankgespräche nach Basel II

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

Transkript:

Objektorientierte Softwareentwicklung mit UML von erweitert, überarbeitet Objektorientierte Softwareentwicklung mit UML Forbrig schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Hanser München 2006 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40572 1 Inhaltsverzeichnis: Objektorientierte Softwareentwicklung mit UML Forbrig

Objektorientierte Softwareentwicklung mit UML ISBN 3-446-40572-0 Vorwort Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40572-0 sowie im Buchhandel

Vorwort In den letzten Jahren hat die Objektorientierung deutlich an Bedeutung gewonnen. Zunächst haben sich ihre Vorteile bei der Programmierung ausgezahlt. Das zeigt sich an der Vielzahl von Programmiersprachen, die die entsprechenden Konzepte unterstützen. Mehr und mehr hat sich der Einfluss aber auch auf die frühen Phasen der Softwareentwicklung ausgedehnt. Darin ist eine Parallele zur Entwicklung des strukturierten Ansatzes zu sehen. Auch dort ging die Entwicklung von der Durchsetzung der Konstrukte zur strukturierten Programmierung in der A lgorithmierung und in den Programmiersprachen a us. Später führte dies zum strukturierten Entwurf und zur strukturierten Analyse. Mit der Unified Modeling Language (UML) hat sich in den letzten Jahren eine Sprache für die objektorientierte Spezifikation herausgebildet, die große Akzeptanz in der Industrie findet. Damit ist die UML auf dem besten Weg ein wirklicher Standard zu werden. Die Sprache ist nicht nur standardisiert, sondern wird in vielen Bereichen angewendet und ist Gegenstand einer Vielzahl von Werkzeugen. Es ist eindeutig ein Trend von der strukturierten zur objektorientierten Softwareentwicklung zu erkennen. Alle Hersteller von CASE- Tools in diesem Bereich sind bemüht, den vollständigen Sprachumfang von UML zu unterstützen. Aus den genannten Gründen müssen auch Ausbildungseinrichtungen wie Universitäten und Hochschulen die richtige Anwendung der Sprachelemente der UML in ihren Lehrprogrammen berücksichtigen. Dabei geht es aber nicht nur um die richtige Notation der Spezifikationen, sondern auch um die Vermittlung der zu Grunde liegenden Konzepte und deren richtige Anwendung für bestimmte Problemste llungen. Der Inhalt des Buches basiert auf Erfahrungen von Lehrveranstaltungen zur Softwaretechnik, in denen objektorientierte Konzepte vermittelt wurden. Das Buch versucht an Hand von Beispielen, einen Einstieg in die objektorientierte Spezifikation mit UML zu ermöglichen. Es ist nicht darauf angelegt, alle Einzelheiten, die mit der Definition von UML zusammenhängen darzustellen, sondern es sollen die wichtigsten Informationen geliefert werden, um einen Einstieg in die Projektarbeit zu erleichtern. Besonders viel Aufmerksamkeit erfährt die Spezifikation dynamischer Zusammenhänge. Hier wurden eine ganze Reihe von Videos erarbeitet, die das Verständnis der Spezifikation mit endlichen Automaten in Form von Zustandsdiagrammen erleichtern sollen. Daneben werden auch die Möglichkeiten von Aktivitätsdiagrammen aufgezeigt und der Zusammenhang zu den besonders bei Banken und Versicherungen sehr beliebten Ereignis-Prozess-Ketten hergestellt.

6 Vorwort Entwurfsmuster haben in den letzten Jahren auch sehr an Bedeutung gewonnen. Sie scheinen der Schlüssel für eine erfolgreiche Softwareentwicklung zu sein, da siedie Wiederverwendung von Software auf einem völlig neuen Niveau unterstützen. Die Idee der Entwurfsmuster (engl. Design Patterns) wird vorgestellt und die Notationsmöglichkeiten in UML werden diskutiert. In der Literatur werden Sammlungen von Entwurfsmustern manchmal unter dem etwas irreführenden Namen Pattern Languages veröffentlicht. Diese Sammlungen stellen die einzelnen Entwurfsmuster losgelöst nebeneinander. Der Softwareentwickler muss eine Verknüpfung verschiedener Muster selbst vornehmen. Dabei erhält er keine Unterstützung. Am Fachbereich Informatik der Universität Rostock wurde im Rahmen von Studien- und Diplomarbeiten eine Methode entwickelt, wie Entwurfsmuster miteinander verknüpft werden können. Das kann programmiersprachlich oder durch ein CASE-Werkzeug unterstützt werden. Die Idee dieser Vorgehensweise wird vorgestellt und die entsprechende Werkzeugunterstützung steht auf der beiliegenden CD-ROM zur Verfügung. Das Buch wurde so aufgebaut, dass im Kapitel 1 eine Einführung in die wichtigsten Grundbegriffe der Objektorientierung gegeben wird. Kapitel 2 stellt die Sprache UML vor und gibt zu den verschiedenen Diagrammen stets eine Reihe von Anwendungsbeispielen. Kapitel 3 beschäftigt sich mit den Problemen der Softwarespezifikation bezogen auf den gesamten Lebenszyklus und stellt unterstützende Techniken zur Ermittlung von Anforderungen vor. Außerdem werden Entwurfsmuster und Modelltransformationen sowie deren Werkzeugunterstützung etwas genauer betrachtet. Ich hoffe, dass das Buch mit dem beiliegenden Lehrprogramm sowohl dem Anfänger einen guten Einstieg als auch dem Fortgeschrittenen einige neue Erke nntnisse ermöglicht. Ich möchte mich bei Prof. Märtin als einem der Herausgeber dieser Buchreihe für die Anregung zur Erstellung des vorliegenden Buches bedanken. Weiterhin gilt mein Dank Frau Hotho, die mich als Lektorin von Seiten des Verlages sehr gut unterstützt hat. Die Beispiele und dargestellten Methoden wurden in Lehrveranstaltungen mit zahlreichen Studenten entwickelt und diskutiert. Besonders hervorheben möchte ich Stefan Bünnig, Norman Seemann und Danko Mannhaupt, deren Ideen ganz wesentlich die Nutzung von Pattern unterstützt haben. Mein Dank geht auch an meine Mitarbeiterin Doritt Linke, deren umfangreiche Hinweise zur Behebung einer großen Anzahl von Fehlern beigetragen haben. Nicht zuletzt möchte ich mich auch bei meiner Frau Gudrun und meinen Kindern Antje und Heike bedanken, dass sie mir eine längere Auszeit von familiären Pflichten eingeräumt haben. Rostock, Januar 2001

Vorwort 7 Vorwort zur 3. Auflage Für die dritte Auflage dieses Buches war eine grundlegende Überarbeitung notwendig, da UML ab seiner Version 2.0 neue Darstellungsformen eingeführt hat, die Einfluss auf fast alle Diagramme haben. Besonders viele Veränderungen gab es bei den Sequenz-, Paket-, Zustands- und Aktivitätsdiagrammen. Durch einen erweiterten Umfang des Buches konnte ausführlicher auf die Modellierung von Anwendungsfällen eingegangen werden, die eine besondere Bedeutung für den Erfolg bzw. Misserfolg von Softwar eprojekten haben. Detailliert sind jetzt Entwurfsmuster diskutiert, w obei hier auch Konsequenzen für die Programmierung in Java, Python, C# und Eiffel speziell im Kapitel 3 aufgezeigt wer den. Zusätzliche Aufnahme fand in dieser Ausgabe ein Abschnitt zur Spezifikation in OCL, eine textuelle Teilsprache von UML, die notwendig ist, wenn die grafischen Ausdrucksmittel nicht genug Aussagekraft besitzen. Für die praktische Anwendung von UML in größeren Projekten hilft OCL, Mehrdeutigkeiten zu vermeiden. Auf die Bereitstellung einer CD wurde zu dieser Auflage verzichtet. Spezifikationen, Programme, Werkzeuge und Zusatzinformationen sind im Internet zusammengestellt. Der interessierte Leser findet den Einstieg unter der Adresse http://wwwswt.informatik.unirostock.de/uml/. Für die Unterstützung bei der Überarbeitung des Manuskriptes möchte ich mich besonders bei Frau Hotho vom Fachbuchverlag bedanken, die eine Vielzahl von Hinweisen gegeben hat. Der Autor hofft, mit der aktualisierten Form des Buches einen noch besseren Einstieg in die objektorientierte Softwareentwicklung auf der Basis von UML gegeben zu haben. Konstruktive Hinweise zur Verbesserung der Darstellung sind weiterhin herzlich willkommen. Rostock, imnovember 2006