Softwareentwicklung mit UML



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

Vortrag von: Ilias Agorakis & Robert Roginer

Requirements Engineering I

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

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

Vorlesung Programmieren

Gliederung des Vortrages

Rhapsody in J Modellierung von Echtzeitsystemen

Model Driven Architecture (MDA)

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

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

Model Driven Development im Überblick

SEA. Modellgetriebene Softwareentwicklung in der BA

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Model Driven Architecture Praxisbeispiel

SEP 114. Design by Contract

Einführung in die Programmierung für NF

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Grundlagen Software Engineering

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Unified Modeling Language (UML)

WhiteStarUML Tutorial

SWE5 Übungen zu Software-Engineering

Umfrage zum Informationsbedarf im Requirements Engineering

Systemdenken und Gestaltungsmethodik System-Modellierung

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig,

Prüfung Software Engineering I (IB)

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Use Case Beschreibung: <Name (Nummer)>

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

RUP Analyse und Design: Überblick

Kapitel 2: Der Software-Entwicklungsprozess

Berufsprüfung ICT-Applikationsentwicklung

Jochen Bauer

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Klausur Software-Engineering SS 2005 Iwanowski

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Online Banking System

Use Cases. Use Cases

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Motivation. Motivation

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Arbeiten mit UMLed und Delphi

EINFÜHRUNG IOZ AG 1

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Grundlagen der Softwaretechnik

Softwareentwicklungspraktikum Sommersemester Feinentwurf

Model Driven Architecture

Requirements Engineering für IT Systeme

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Neue Funktionen in Innovator 11 R5

XGenerator. Modellierung, Schemagenerierung und Dokumentation im XMeld-Projekt. Bremen, 7. Mai Ullrich Bartels

UML-DSLs effizient eingesetzt. Insight 07, Klaus Weber

:: Anleitung Hosting Server 1cloud.ch ::

BPMN. Suzana Milovanovic

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Vgl. Oestereich Kap 2.7 Seiten

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Referent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen,

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Software-Engineering SS03. Zustandsautomat

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Übungsaufgaben zum Software Engineering: Management

INNOVATOR im Entwicklungsprozess

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Produktskizze. 28. November 2005 Projektgruppe Syspect

7. Analyse-Phase: Datenmodellierung Software Engineering

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo.

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht

BEISPIELKLAUSUR Softwareentwicklung:

Print2CAD 2017, 8th Generation. Netzwerkversionen

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Transkript:

Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1

Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML 2.0 4.2 Model Driven Architecture (MDA) 2.12.2003, Seite 2

1 Einleitung 2.12.2003, Seite 3

Einleitung Was ist die Unified Modeling Language (UML)? UML ist eine grafische Sprache für die objektorientierte Modellierung UML geht auf Arbeiten von Rumbaugh, Booch, Jacobsen und anderen zurück. UML wurde von der Object Management Group (OMG) standardisiert. Für die Modellierung mit UML existieren diverse Produkte für Modellierung (Anforderungen, Architektur) Entwicklung (Codegenerierung, Reverse Engineering) Unterstützte Programmiersprachen: Java, C++,.Net, Ada 2.12.2003, Seite 4

Die Unified Modeling Language (UML): Diagrammtypen Use Case Diagramm Aktivitätendiagramm Zustandsdiagramm Klassendiagramm Interaktionsdiagramm Sequenzdiagramm Kollaborationsdiagramm Komponentendiagramm Deploymentdiagramm 2.12.2003, Seite 5

Einsatzgebiete für UML Modellierung von: Anforderungen Geschäftsprozessen Statischer Softwarestruktur Dynamischem Verhalten der Software Struktur von Softwarekomponenten / Bibliotheken Deployment von Software auf Rechnersysteme 2.12.2003, Seite 6

Einsatzgebiete von UML-Diagrammen Anforderungen Use Case Diagramm, Aktivitätendiagramm Geschäftsprozessen Business Use Case Diagramm, Klassendiagramm Statischer Softwarestruktur Klassendiagramm Dynamischem Verhalten der Software Sequenzdiagramm, Zustandsdiagramm Struktur von Softwarekomponenten / Bibliotheken Komponentendiagramm Deployment von Software auf Rechnersysteme Deploymentdiagramm 2.12.2003, Seite 7

Kommunikation mit UML UML als einheitliche Sprache der an der Softwareentwicklung beteiligten Parteien. Kunde Business Engineer Lieferanten von Softwarekomponenten Softwarearchitekten und -entwickler Tester 2.12.2003, Seite 8

2 Die Unified Modeling Language (UML) 2.12.2003, Seite 9

Die Unified Modeling Language (UML): Use Case Diagramm Buchung <<extend>> Führe Aktion aus zeige Ergebnis Kunde Überweisung fremde Bank Use Case Use Case: Für den Benutzer (Actor) des Systems nutzbringende Interaktion mit dem System Actor 2.12.2003, Seite 10

Die Unified Modeling Language (UML): Use Cases Use Case Diagramme sind nicht sehr aussagekräftig Use Cases werden in Prosa nach vorgegebener Struktur beschrieben. Für jeden Use Case werden Name Vorbedingung, Nachbedingung Hauptszenario (wichtige) weitere Szenarien Zugeordnete Aktivitätsdiagramme und Szenarien 2.12.2003, Seite 11

Die Unified Modeling Language (UML): Aktivitätendiagramm Kunde Bank Programmstart Dateneingabe Daten ok? [ ja ] Überweise Betrag entry/ e rzeuge Statistikdaten [ nein ] 2.12.2003, Seite 12

Die Unified Modeling Language (UML): Klassendiagramm: Packages Präsentationsschicht Geschäftslogik Date nhaltung 2.12.2003, Seite 13

Die Unified Modeling Language (UML): Klassendiagramm: Klassen Bank name : String findkonto() verwaltet 1 * Konto ktontonr : Integer kontostand : Integer einzahlen() abheben() Sparkonto Girokonto ueberweisen() 2.12.2003, Seite 14

Die Unified Modeling Language (UML): Klassendiagramm: Klassen Konto ktontonr : Integer kontostand : Integer einzahlen() abheben() Serializable 2.12.2003, Seite 15

Die Unified Modeling Language (UML): Zustandsdiagramm Zustandsdiagramm für Klasse Konto create / betrag=0 exists [ betrag>=0 ] [ betrag<0 ] Guthaben Schulden delete[ betrag==0 ] 2.12.2003, Seite 16

Die Unified Modeling Language (UML): Sequenzdiagramm Use Case Realization für UC "Überweisung" : Kunde ÜberweisungsGUI eigenebank : Bank fremdebank : Bank : Girokonto ueberweisen findkonto(integer) findkonto(integer) ueberweisen(ktonrtype, Integer) falls betrag aussreichend 2.12.2003, Seite 17

Die Unified Modeling Language (UML): Komponentendiagramm Mai nprogram KontoIF Bank Component MgmtIF 2.12.2003, Seite 18

Die Unified Modeling Language (UML): Stereotypes UML ist erweiterbar durch Stereotypes Konto (from Datenha ltung) ktontonr : Int eger kontostand : Int eger Kunde (from Use Case Vi ew) einz ahlen() abheben() Serializable (from Datenhaltung) <<Actor>> Kunde (from Use Case Vi ew) Konto (from Datenhaltung) ktontonr : Integer kontostand : Integer einzahlen() abheben() <<Interface>> Serializ able (from Datenhaltung) Stereotype <<extend>> Überweisung (from Use Case Vi ew) Buchung (from Use Case Vi ew) 2.12.2003, Seite 19

Die Unified Modeling Language (UML): Stereotypes: Geschäftsprozessmodellierung UML hier nicht direkt für Softwareentwicklung Business Object Model Bankkunde Stereotype Boundry KundenGUI Stereotype Control Stereotype Entity Geschäftslogik für Konten Bankkonto 2.12.2003, Seite 20

Die Unified Modeling Language (UML): Stereotypes Stereotypes erweitern UML Die dadurch definierte neue Semantik sollte klar definiert sein Leser des Modells verstehen nicht automatisch die Bedeutung eines neuen Stereotypes Beispiel: <<organization Unit>> Einkauf Einkauf Codegenerierung für einen neuen Stereotype muss selbst geschrieben werden, dadurch sind allerdings mächtige Erweiterungen möglich 2.12.2003, Seite 21

Die Unified Modeling Language (UML): Weitere Eigenschaften von UML Tools Codegenerierung (Klassenrümpfe) für Java, C++ aus Klassenmodellen Reverse Engineering (Klassendiagramme aus Java-Code) Erweiterung der Funktionalität des UML-Tools durch Scriptsprachen (Bsp: Generierung von Zustandsautomaten im Quellcode aus Zustandsdiagrammen) Dokumentationserzeugung (z.b. UML in Word); (Problem: Modell und Dokument konsistent halten) Requirements Engineering (Zusatztools) 2.12.2003, Seite 22

3 Vorgehensmodelle und UML 2.12.2003, Seite 23

Vorgehensmodelle und UML UML ist eine Modellierungssprache. In UML werden keine Vorgaben über den Entwicklungsprozess gemacht, mit dem ein Modell erstellt wird. werden i.a. im Rahmen eines Vorgehensmodells erstellt. Der Prozess definiert Rollen Artefakte Aktivitäten und deren Zusammenarbeit 2.12.2003, Seite 24

Vorgehensmodelle und UML Agile Methoden versus Unified Process Agile Methoden sind auch für die Modellierung möglich Schlankes Vorgehensmodell Wenig Formalismus Modellierung wenn möglich, nur an der Tafel, nicht mit einem Tool Unified Process Mächtiges Prozessframework, dass für eigene Projekte getailort (konfiguriert) werden muss Auch (oder gerade) für große Projekte einsetzbar Gefahr, den Prozess zu komplex zu machen 2.12.2003, Seite 25

Vorgehensmodelle und UML Der Rational Unified Process (RUP) 2.12.2003, Seite 26

Vorgehensmodelle und UML UML und der Unified Process UML in den Phasen des RUP: Requirements Engineering Use Cases, Aktivitäten Geschäftsprozessmodellierung Klassen, Objekte, Interaktionen Analyse, Design Use Cases, Aktivitäten, Klassen, Interaktionen,... Implementierung Klassen, Interaktionen, Zustände, Komponenten Test Prüfen der Abbildung von Use Cases auf Klassen 2.12.2003, Seite 27

Vorgehensmodelle und UML UML: Wunsch und Wirklichkeit UML ermöglicht die problemlose Kommunikation der "Stakeholder".Nicht alle Stakeholder beherrschen UML. UML spezifiziert ein Softwaresystem eindeutig.häufig sind nur Diagramme, aus denen Code generiert wird, oder sie dem Kunden kommuniziert werden, aktuell. UML macht die Softwareentwicklung produktiver. Investitionen in die Konfiguration der Tools und Styleguides sind erforderlich. Es muss genau festgelegt sein, welche Artefakte mit einem Tool bearbeitet und gepflegt werden. 2.12.2003, Seite 28

4 Ausblick 2.12.2003, Seite 29

UML 2.0 Kritikpunkte an UML 1.4 Semantik einiger Diagramme nicht präzise und eindeutig genug (z.b. für die Codegenerierung) Unterschiedliche Diagramme für ähnliche Aufgaben Austauschbarkeit von Modellen zwischen Tools verschiedener Hersteller verbesserungsbedürftig 2.12.2003, Seite 30

4.1 UML 2.0 2.12.2003, Seite 31

UML 2.0 Klare Konzepte Neues Metamodell Wenig Neuigkeiten bei Strukturdiagrammen, außer Kompositionsstukturdiagramm: zeigt die Zusammenarbeit von Klassen (über Ports ) Kollaboration Deploymentdiagramm deutlich erweitert Verhaltensdiagramme stark erweitert: Klare Semantik Aktivitätsdiagramm faktisch neu Interaktionsdiagramme: Kontrollflusselemente (if then ; loop ) Timingdiagramm: neu! 2.12.2003, Seite 32

UML 2.0 Datenaustausch zwischen Modellierungstool funktioniert durch XMI (XML Metadata Interchange) OCL (Object Constraint Language) erlaubt die Formale Definition von Bedingungen, Invarianten (Bereits in UML 1.4 vorhanden, aber jetzt überarbeitet) 2.12.2003, Seite 33

4.2 Model Driven Architecture (MDA) 2.12.2003, Seite 34

Model Driven Architecture (MDA) Ziel: Die Modellierung Geschäftsmodellen unabhängig von Middleware (CORBA, EJB,.NET) Programmiersprache Ziel: Das Modell enthält eine formale Definition der Geschäftslogik Das Geschäftsmodell wird in UML als Platform-Independent Model (PIM) repräsentiert Aus dem PIM wird über Mappings für konkrete Technologien (wie EJB,.NET) ein (oder mehrere) Platform-Specific Model (PSM) generiert. Ein PSM wird als UML M odell repräsentiert. 2.12.2003, Seite 35

Model Driven Architecture (MDA) Das PIM muss manuell annotiert werden, um alle für das Mapping in ein PSM notwendigen Informationen zur Verfügung zu haben 2.12.2003, Seite 36

Model Driven Architecture (MDA) MDA ist ein vielversprechender Ansatz. Beträchtlicher Einarbeitungsaufwand erforderlich Frage: Ist der Wechsel der Technologien so schnell, dass MDA sinnvoll ist 2.12.2003, Seite 37

Vielen Dank für Ihre Aufmerksamkeit! Kontakt: T-Systems Service Line Systems Integration Business Unit Entwicklungszentrum Nord Netz- und Servicemanagement I Ulrich Witte Willy-Brandt-Platz 3 28215 Bremen Tel: (421) 3799-446 ulrich.witte@t-systems.com 2.12.2003, Seite 38

Quellen zu UML www.uml.org der OMG ( www.omg.org ) www.jeckle.de mehrere Vorträge zu UML 2 (und vieles andere) www.cetus-links.com Linksammlung zu OO www.rational.com/uml/index.jsp UML Ressource Center www.togethersoft.com die Konkurrenz von Borland www.telelogic.com UML 2.0 basiertes Tool argouml.tigris.org Open Source Tool www.gentleware.com Kommerzielle Version von ArgoUML www.oose.de/oep Vorgehensmodell von Bernd Oestereich www.ambysoft.com Scott Ambler über OO 2.12.2003, Seite 39