UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22

Slides:



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

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Frank Simon, BTU Cottbus: Einführung in UML
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Manfred Thaller, Universität zu Köln Köln 7. Januar 2010
Visualisierung des Rechts mit UML
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Objektorientierte Analyse (OOA) Inhaltsübersicht
HTML - Einführung Richard Göbel.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/10 Grafische Anfragesprachen Geeignet sind grafische Anfragesprachen für Nutzer, die keine.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/9 Data Mining Ist die Wissensgewinnung aus Datensammlungen (Knowledge Discovery in Database).
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Information Retrieval auf Texten An ihre Grenzen stoßen relationale Datenbanken bei der.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/8 Klassifikationen Klassifikationen dienen dazu, Themen oder Objekte systematisch zu ordnen.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/10
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/8 Thesauren In gewisser Weise bilden Thesauren (Singular Thesaurus, Plural auch Thesauri)
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/5 Grundtechniken des Information Retrieval Deskribierung Hierunter versteht man eine manuelle.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/4 Machine Learning (ML) Der erste Teil dieser Definition ist auch eine Beschreibung von Machine.
QBE in MS Access formulieren
Klassendiagramm Verwandte Begriffe: class, Typ, Objektfabrik
Abhängigkeitsbeziehung
Modellierung komplexer Realität mit Objekten
Software-Technik: (fortgeschrittene) Klassendiagramme
UML Unified Modelling Language Dipl. -Inform
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Objektorientierte Softwareentwicklung
Software Engineering SS 2009
12. Vorlesung: Aktivitätsdiagramme
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Unified Modeling Language Repetition / Einführung zu UML
Einführungskurs in die UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
Innovator Die Komponenten.
UML UML mit SiSy® Vorgehensmodell Dokumentation HTML-Export
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Informatik und Programmieren 3
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
Objektorientierte Modellierung mit UML
Die Unified Modeling Language UML
Klassen und Klassenstruktur
Prozessmanagement Notationen und Tools.
Anwendungsfalldiagramm
Geoinformation I Lutz Plümer
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
Sichtbarkeit einschränken
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
UML – Unified Modeling Language
Systemanalyse BA Heidenheim 2002.
Informatik Softwareentwicklung – 4.2 Diagramme
 Präsentation transkript:

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22

Objektorientierte Modellierung UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 2/22 Objektorientierte Modellierung Einleitung Zu Zeiten der strukturierten Programmierung hat für die grafische Darstellung der Programme ein Programmablaufplan (PAP) oder ein Strukturgramm ausgereicht. Mit der Größe des Programms vergrößerte sich auch die grafische Darstellung. Mit der Entwicklung der objektorientierten Programmierung musste auch in Richtung Darstellung und Design umgedacht werden.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 3/22

Beispiel PAP Start Eingabe: Zahl ERG = Zahl * Zahl Ausgabe: ERG UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/22 Beispiel PAP Start Eingabe: Zahl ERG = Zahl * Zahl Ausgabe: ERG Noch mal? ja nein Ende

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 5/22 Was ist UML? Die Modellierungssprache UML (unified modelling language) stellt eine grafische Sprache zu Visualisierung, Spezifikation, Konstruktion und Dokumentation der verschiedenen Elemente von Modellen für Softwaresysteme (Informationssysteme) zur Verfügung. UML bietet vier Diagrammarten für die Beschreibung statischer Systemstrukturen und ebenfalls vier Diagrammarten zur Beschreibung des dynamischen Laufzeitverhaltens

UML Klassendiagramme Sequenzdiagramme Anwendungsfall- diagramme UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 6/22 UML Klassendiagramme Sequenzdiagramme Anwendungsfall- diagramme Aktivitäts- diagramme Komponenten- diagramme Kollaborations- diagramme Verteilungs- diagramme Zustands- diagramme Modellierung der statischen Systemstruktur Modellierung des dynamischen Laufzeitverhaltens

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 7/22 Wie ist UML entstanden? „Design first“ ist eine Forderung von Softwareentwicklern der OOP (objektorieniterte Programmierung). Deshalb entstanden verschiedene Designmethoden und Notationsweisen. Um einen unsinnigen Streit zu vermeiden, schlossen sich drei Entwickler unter dem Dach der Firma Rational zusammen. James Rumbaugh, Ivar Jacobson und Grady Booch, bekannt unter dem Namen „drei Amigos“, entwickelten eine Unified Method (UM). Diese Entwicklung wurde unter dem Namen UML fortgeführt. 1997 wurde UML von der OMG (Object Management Group), einer Non Profit Organisation, zum Standard erklärt. Zu der OMG gehören über 800 Mitglieder (IBM, Oracle, Philips, Siemens, Sun und einige Universitäten). Die ISO ist ebenfalls dabei, UML als Standard einzuführen. UML ist durchaus noch nicht fertig. Renommierte Unternehmen, wie Hewlett-Packard, i-Logix und Microsoft, arbeiten an der Weiterentwicklung.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 8/22 Wie komme ich zu UML? Einige Entwickler bieten UML-Tools an. Nicht alle Tools beherrschen alle Diagrammarten und kaum ein (eigentlich keiner) Entwickler seine Software als Freeware an. Aber Trial-Versionen sind durchaus verfügbar. Als ein umfangreiches Tool kann „Rational Rose“ angesehen werden. Rational Rose kann als Trial Version gedownloadet werden. Alternativen gibt es unter: >>http://www.jeckle.de/umltools.htm<<

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 9/22 Vorteile von UML Es ist schwer, Vorteile zu finden, wenn es nicht viele Alternativen gibt. Dennoch lohnt es sich, folgende Aspekte im Auge zu behalten. Mit UML lassen sich bestimmte Aspekte eines Problembereiches auf einer vorgegebenen Abstraktionsebene grafisch repräsentieren und bietet damit mehrere Sichtweisen. UML bietet eine Schnittstelle bei der Kommunikation zwischen den Entwicklern untereinander, bzw. zwischen Entwickler und Kunde. Einige Tools, wie z.B. „Rational Rose“, bieten einen Codegenerator. Damit ist es möglich, einen Quellcode über das UML-Tool zu erstellen. Mit „Rational Rose“ ist es beispielsweise möglich, einen Visual Basic Code zu generieren.

UML Syntax und Semantik UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 10/22 UML Syntax und Semantik Syntax [lat., griech.] Eigentlich Zusammenstellung, weitere Bedeutungen: In einer Sprache übliche Verbindung von Wörtern zu Wortgruppen und Sätzen. (Sprachwissenschaft) Ist die Lehre vom Bau des Satzes als Teilgebiet der Grammatik. Semantik [griech.] Eigentlich Bezeichnen, weitere Bedeutung: Teilgebiet der Linguistik, die sich mit den Bedeutungen sprachlicher Zeichen und Zeichenfolgen befasst. Syntax und Semantik sind immer Gegenstand von Reformen, was Nachteile beim Lernen und Lehren mit sich zieht.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 11/22 Um mit natürlich formalen Sprachen zu arbeiten, ist es notwendig, Semantik und Syntax zu beherrschen. Sätze, wie „Studenten lieben das Leser“, sind syntaktisch falsch, da die Kombination „das Leser“ grammatisch nicht zueinander passt. Aus diesem Grund könnte es zu Fehlinterpretationen kommen. Sätze, wie „Dozenten lügen immer“, sind zwar syntaktisch richtig, aber semantisch höchst zweifelhaft. Die formalen Sprachen in der Informatik sind semantisch schwer zu beschreiben, syntaktisch meist jedoch unproblematisch. Sie werden mit einer formalen Grammatik definiert. Neulinge können schnell die Regeln der Sprache erlernen. Zudem gibt es Tools (Übersetzungsprogramme), die syntaktische Fehler sofort aufdecken.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 12/22 Für UML gilt dies nicht! Als grafische Sprache entzieht sich UML einer rigorosen Definition. Es gibt zwar ein Konzept der Graphgrammatik, dies ist aber umständlich beschrieben. UML wird daher verbal durch Beispiele beschrieben. Zur Unterstützung gibt es ein UML-Metamodell, das man allerdings erst versteht, wenn man UML beherrscht.

Anwendungsfalldiagramm UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 13/22 Anwendungsfalldiagramm Systemgrenze Diagrammname Übungsbeispiel: Gegeben sind die Geschäftsprozesse einer Werkzeugausgabe. Ein ständiger Mitarbeiter registriert den Einkauf neuer Werkzeuge (z.B. Bohrer). Ein andere Mitarbeiter der Firma entleiht die Werkzeuge und füllt entsprechende Entnahmescheine aus. Defekte Werkzeuge werden durch den zuständigen Mitarbeiter ausgetragen.

Diagrammtypen der UML Anwendungsfalldiagramm (engl. use case diagram) UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 14/22 Diagrammtypen der UML Anwendungsfalldiagramm (engl. use case diagram) Ein Anwendungsfalldiagramm zeigt Akteure, Ereignisse und Anwendungsfälle, also wer das System benutzt und was er damit anfängt. Akteure können Personen oder andere, externe Systeme sein. Sie repräsentieren damit immer die externe Sicht auf das System. Ein einfaches Rechteck symbolisiert die Systemgrenzen. Eine Menge von Akteuren können rechts oder links vom System angesiedelt werden. Anwendungsfälle werden als Ellipsen innerhalb der Systemgrenzen dargestellt. Anwendungsfälle werden mit den dazugehörigen Akteuren durch Linien verbunden. Die Bezeichnung der Anwendungsfälle kann innerhalb oder außerhalb der Ellipsen stehen. Letzteres hat den Vorteil, stets gleich große Ellipsen sein zu können, was von einigen Tools bevorzugt wird.

Aufgabe Anwendungsfalldiagramm UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 15/22 Aufgabe Anwendungsfalldiagramm Stellen Sie in Form eines Anwendungsfalldiagramms die Funktionsvorgänge einer Bibliothek dar.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 16/22 Anwendungsfall Andere Begriffe: engl. use case, Nutzungsfall, Szenario, Skript Definition Anwendungsfall Ein Anwendungsfall beschreibt eine Menge von Aktivitäten eines Systems aus der Sicht seiner Akteure, die für die Akteure zu einem wahrnehmbaren Ergebnis führen. Ein Anwendungsfall wird immer durch einen Akteur initiiert. Ein Anwendungsfall ist eine komplette, unteilbare Beschreibung. Anwendungsfälle beschreiben Geschäftsprozesse und Geschäftsvorfälle in der Interaktion zwischen Akteur und System. Ein Anwendungsfall beschreibt daher Anforderungen an das System, d.h. was es leisten muss, aber nicht, wie er dieses leisten soll.

Es sind folgende Regeln zu beachten: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 17/22 Es sind folgende Regeln zu beachten: An jedem Anwendungsfall ist mindestens ein Akteur beteiligt. Jeder Anwendungsfall hat einen fachlichen Auslöser. Jeder Anwendungsfall produziert ein relevantes fachliches Ergebnis mit „geschäftlichen Wert“.

Arten von Anwendungsfällen UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 18/22 Arten von Anwendungsfällen Normaler Anwendungsfall Gewöhnlicher Anwendungsfall, der im Gegenteil zum essentiellen, auch nicht-fachliche Rahmenbedingungen und Annahmen enthalten kann. Abstrakter Anwendungsfall Die hier beschriebenen Sachverhalte und Abläufe kommen real, bzw. konkret nicht vor. <secondary> Sekundärer Anwendungsfall Beschreiben eine funktionale Zerlegung bestehender Anwendungsfälle. <essential> Essentieller Anwendungsfall Dieser Anwendungsfall ist abstrakt verallgemeinert, vereinfacht technologieneutral implementierungsunabhängig. Er konzentriert auf das eigentlich Fachliche. Geschäfts- Anwendungsfall Diese Anwendungsfälle fokussieren sich auf die geschäftliche Sicht. <business> Geschäfts- Anwendungsfall

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 19/22 Akteur Verwandte Begriffe: actor, stakeholder, Beteiligter, Ereignis Event, Externes System, dialog boundary, control, entity Definition Ein Akteur ist eine außerhalb des zu realisierenden Systems liegende Einheit, die an der in einem Anwendungsfall beschriebenen Interaktion mit dem System beteiligt ist. Er kann Mensch (Benutzer) oder technisches System (Betriebssystem) sein. Eine Person, die im Geschäftsvorfall mehrere Rollen ausübt, wird im Diagramm auch entsprechend der Rollen mehrfach aufgeführt. Notation Akteure können als Textuelles Stereotyp, als visuelles Stereotyp oder in gemischter Form vorliegen.

Am Anwendungsfall beteiligte Person und Rolle der Person UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 20/22 <Actor> Am Anwendungsfall beteiligte Person und Rolle der Person <Actor> Am Anwendungsfall beteiligtes Technisches System und dessen Rolle <Actor> Am Anwendungsfall beteiligtes externes System, das ein Zeitereignis auslöst (Zeitgeber Betriebssystem)

Anwendungsfallbeziehungen UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 21/22 Anwendungsfallbeziehungen In der UML sind drei Beziehungen definiert. <<include>> Mit der include-Beziehung lässt sich darstellen, dass innerhalb eines Anwendungsfalls ein anderer Anwendungsfall vorkommt. Er eignet sich, um Redundanzen zu vermeiden. <<extend>> Mit dieser Beziehung lässt sich ausdrücken, dass ein Anwendungsfall unter bestimmten Umständen an einer bestimmten Stelle durch einen so genannten Erweiterungspunkt (extension point) durch einen anderen erweitert wird. Spezialisierung Generalisierung Mit der Generalisierung können Unter-Anwendungsfälle von den Ober-Anwendungsfällen Verhalten und Bedeutung erben.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 22/22 Attribute Attribute werden mindestens mit ihrem Namen aufgeführt und können zusätzliche Angaben zu ihrem Typ (d.h. ihrer Klasse), einen Initialwert, Eigenschaftswert und Zusicherungen enthalten. (Definition Attribute erfolgt später) Operationen Operationen werden ebenfalls mindestens mit ihrem Namen, zusätzlich durch ihre möglichen Parameter, deren Klasse und Initialwert, sowie eventuelle Eigenschaftswerte und Zusicherungen notiert.