UML | ||
Editor | Objektverwaltungsgruppe (OMG) | |
---|---|---|
Nett | Formale Spezifikation | |
Zustand | Version 2.5.1 | |
Erstveröffentlichung | Dezember 1997 | |
Letzter Beitrag | Dezember 2017 | |
Standard | omg.org/spec/UML | |
Webseite | uml.org | |
Die Unified Modeling Language , Englisch Unified Modeling Language ( UML ) a Sprache auf basierte grafische Modellierung Piktogramme als standardisiertes Verfahren zur Visualisierung entwickelt in den Bereichen Softwareentwicklung und objektorientiertes Design .
UML ist eine Synthese früherer Objektmodellierungssprachen: Booch , OMT , OOSE . UML basiert hauptsächlich auf den Arbeiten von Grady Booch , James Rumbaugh und Ivar Jacobson und ist heute ein Standard, der von der Object Management Group (OMG) übernommen wurde. UML 1.0 wurde in standardisiertJanuar 1997;; UML 2.0 wurde von der OMG in übernommenJuli 2005. Die neueste Version der von der OMG validierten Spezifikation ist UML 2.5.1 (2017).
UML soll die Gestaltung von Dokumenten erleichtern, die für die Entwicklung objektorientierter Software als Standard für die Modellierung der Softwarearchitektur erforderlich sind. Die verschiedenen Elemente, die dargestellt werden können, sind:
Es ist auch möglich, den gesamten oder einen Teil des Codes, beispielsweise in Java- Sprache , automatisch aus den erstellten Dokumenten zu generieren .
Datiert | Beschreibung |
---|---|
In den frühen 1980er Jahren | Objekte beginnen, Forschungslabors zu verlassen und ihre ersten Schritte in die reale Welt zu unternehmen. Unter anderem wird die stabilisierte Smalltalk- Programmiersprache zu einer nutzbaren Plattform und C ++ ist geboren.
Objektmethoden beginnen sich zu entwickeln, um strukturierte und funktionale Methoden zu ersetzen, die zu maschinenbezogen sind. |
1989 bis 1994 | Die Anzahl der objektorientierten Methoden reicht von zehn bis mehr als fünfzig; Alle diese Methoden haben viele Gemeinsamkeiten (Objekte, Methoden, Parameter usw.).
Diese Methoden orientieren sich an der Abstraktion von Materialkomponenten, basieren auf Begriffen von Klasse, Assoziation, Aufteilung in Subsysteme und auf der Untersuchung der Interaktion zwischen Benutzer und System. Die Hauptautoren dieser Methoden sind James Rumbaugh , Grady Booch und Ivar Jacobson . Unter diesen Methoden sind zwei hervorzuheben: die Booch-Methode und die OMT-Methode (Object Modeling Technique). Die zweiten Versionen der Methoden von Booch und OMT erscheinen: Booch'93 und OMT-2. Diese Methoden sind ziemlich ähnlich, aber Booch'93 legt mehr Wert auf Konstruktion, während OMT-2 mehr Wert auf Analyse und Abstraktion legt. |
1989 und 1991 | Veröffentlichung von zwei Büchern von Sally Shlaer (in) und Steve Mellor über Analyse und Design, die zu einem Ansatz führen, den sie als rekursives Design bezeichnen . |
1989 bis 1990 | Entwicklung von verantwortungsorientiertem Design und CRC- Karten (Class-Responsibility-Collaboration ) in Portland durch die Smalltalk- Community . |
1991 bis 1996 | James Rumbaugh leitet ein Forschungsteam in den Forschungslabors von General Electric , das ein hoch angesehenes Buch über OMT veröffentlicht. |
1991 | Veröffentlichung von Büchern von Peter Coad und Ed. Yourdon , die „schlanke“ und „prototypisch orientierte“ Ansätze entwickeln. |
1992 und 1995 | Veröffentlichung von Ivar Jacobsons Büchern basierend auf seinen Erfahrungen mit Telefonschaltern bei Ericsson . Der erste führt in das Konzept der Anwendungsfälle (Anwendungsfall) ein. |
1994 bis 1996 | Grady Booch leistet wichtige Arbeit bei Rational Software bei der Entwicklung von Systemen in Ada . |
1994 | Die große Anzahl von Methoden und die Tatsache, dass die Unterschiede zwischen ihnen verringert werden, schieben die Objekttechnologie so weit zurück, dass Jim Rumbaugh und Grady Booch sich vereinen, um ihre Arbeit zu vereinheitlichen. Sie schlagen eine "einheitliche Methode" vor. |
1994 | Jim Odells Bücher , die mit James Martin geschrieben wurden , basieren auf seiner langjährigen Erfahrung in Informationssystemen und Software-Engineering und sind von all diesen Arbeiten die konzeptionellsten. |
Oktober 1994 | Beginn der Arbeit an der Unified Method ( UM ).
James Rumbaugh kommt zu Grady Booch bei Rational Software . |
1995 | Ivar Jacobson , Schöpfer der Anwendungsfälle , schließt sich Jim Rumbaugh und Grady Booch an . |
1995 | Die Autoren der Unified Method ( UM ) veröffentlichen das Dokument mit dem Titel Unified Method V0.8 . |
Oktober 1995 | Ivar Jacobson kommt zu Rational Software . |
Oktober 1995 | UML 0.8 enthält OOD / Booch '93 von Grady Booch und OMT von Jim Rumbaugh . |
1996 | Veröffentlichung einer neuen Dokumentrevision, Unified Method V0.9 , basierend auf Benutzerfeedback.
Revision 0.9.1 ist die erfolgreichste Version der einheitlichen Methode (Neuausrichtung des Umfangs der Vereinigungsbemühungen). Die Methode ändert ihren Namen und wird zu UML (Unified Modeling Language for Object-Oriented Development). Es wird ein Konsortium großer Unternehmen ( Microsoft , IBM , Oracle usw.) erstellt, mit dem die Methode auf Version 1.0 aktualisiert werden kann. |
Juni 1996 | UML 0.9 enthält Ivar Jacobsons OOSE . |
Oktober 1996 | UML 0.91 |
Januar 1997 | Standardisierung von UML 1.0 durch die Object Management Group (OMG). |
August 1997 | Vorschlag von UML 1.1-Spezifikationen an OMG durch eine Arbeitsgruppe von Analysten und Designern unter der Leitung von Cris Kobryn, die von Ed Eykholt verwaltet wird . |
14. November 1997 | Übernahme der UML 1.1-Spezifikationen durch OMG .
Am UML-Standard werden weiterhin verschiedene Verbesserungen vorgenommen, die zu vier Überarbeitungen führen: UML 1.2, 1.3, 1.4, 1.5. UML 1.5 ist die letzte Version vor dem Upgrade auf UML 2.0. UML 1.x-Standards, die immer noch stark von der OMT-Notation beeinflusst werden, werden als nicht semantisch integriert kritisiert. |
Juni 1998 | Übernahme von UML 1.2 durch die OMG. |
Oktober 1998 | Annahme von UML 1.3 durch die OMG. |
März 2000 | Vollständige UML 1.3-Spezifikation veröffentlicht. |
September 2001 | UML 1.4. |
6. März 2003 | UML 1.5 (Empfehlungen) |
August 2003 | UML 2.0-Aufbauspezifikation (Empfehlung) |
1 st September 2003 | UML 2.0-Diagrammaustauschspezifikation (Empfehlung) |
14. Oktober 2003 | UML 2.0 OCL-Spezifikation |
Dezember 2003 | UML 2.0 (Empfehlung) |
Juli 2005 | Übernahme von UML 2.0 durch die OMG. |
4. April 2006 | UML 2.0-Diagrammaustauschspezifikation |
1 st Juni 2006 | Bereitstellungsansicht ) |
6. Oktober 2006 | UML 2.1.1 - XMI-Datei |
6. Februar 2007 | UML 2.1.1 Infrastrukturspezifikation |
3. Februar 2007 | UML 2.1.1 Aufbauspezifikation |
2007 | UML 1.4.2 wird zur ISO-Spezifikation (ISO / IEC 19501). |
November 2007 | Veröffentlichung von UML 2.1.2 durch die OMG. |
Januar 2009 | Verteilung von UML 2.2 durch die OMG. |
Mai 2010 | Verteilung von UML 2.3 durch die OMG. |
Juli 2011 | Verteilung von UML 2.4.1 durch die OMG. Infrastruktur und Aufbau werden in überarbeitetAugust 2011. |
Dezember 2017 | Verteilung von UML 2.5.1 durch die OMG. Das Metamodell selbst ist bis auf einige Ausnahmen gegenüber dem UML 2.4.1-Überbau unverändert. |
UML ist eine Modellierungssprache. Die aktuelle Version, UML 2.5, bietet 14 Diagrammtypen, darunter sieben strukturelle und sieben verhaltensbezogene. Zum Vergleich hatte UML 1.3 25 Diagrammtypen.
UML ist keine Methode, die Verwendung von Diagrammen liegt im Ermessen jedes Einzelnen. Das Klassendiagramm wird allgemein als zentrales Element von UML angesehen. Methoden wie der von den ursprünglichen Erstellern von UML vorgeschlagene einheitliche Prozess verwenden systematischer alle Diagramme und konzentrieren die Analyse auf den Anwendungsfall ("Anwendungsfall"), um ein Modell durch aufeinanderfolgende Iterationen der Analyse, ein Entwurfsmodell und zu entwickeln andere Modelle. Andere Ansätze geben sich damit zufrieden, ein System nur teilweise zu modellieren, beispielsweise bestimmte kritische Teile, die sich nur schwer aus dem Code ableiten lassen.
Eine Möglichkeit, UML zu implementieren, besteht darin, verschiedene Ansichten zu berücksichtigen , die sich überschneiden können, um bei der Definition des Systems zusammenzuarbeiten:
Das Warum ist in UML nicht definiert.
In UML 2.5 werden Diagramme in zwei Arten von Ansichten dargestellt: aus statischer oder struktureller Sicht der Domäne mit Strukturdiagrammen.
Aus dynamischer Sicht mit Verhaltens- und Interaktionsdiagrammen.
Die Diagramme sind hierarchisch abhängig und ergänzen sich, um die Modellierung eines Projekts während seines gesamten Lebenszyklus zu ermöglichen. Seit UML 2.3 sind es vierzehn.
Strukturdiagramme oder statische DiagrammeDie Strukturdiagramme ( Diagrammstruktur ) oder statischen Diagramme ( statische Diagramme ) bestehen aus:
Die Verhaltensmuster ( Verhaltensdiagramme ) zusammen:
Die Interaktionsdiagramme ( Diagramme Interaktion ) oder dynamische Diagramme ( dynamische Diagramme ) zusammen:
Symbolisch für Elementmodelle:
Klasse ( Klasse ).
Objekt ( Objekt ).
Verwenden Fall .
Paket ( Paket ).
Knoten ( Knoten ).
Schauspieler ( Schauspieler ).
Staat ( Staat ).
Aktivität ( Aktivität ).
Abhängigkeit ( Abhängigkeit ).
Aggregation ( Aggregation ).
Zusammensetzung ( Zusammensetzung ).
UML ist kein gesetzlicher Standard, sondern ein einfacher "industrieller" Standard (oder De-facto-Standard), da er von der OMG gefördert wird (November 1997) auf der gleichen Basis wie CORBA und wegen seines Erfolgs. Schon seitJuli 2005wird die erste Version 2.x von UML von der OMG validiert.
Darüber hinaus hat die OMG seit 2003 ein Zertifizierungsprogramm für die Praxis und das Wissen von UML OCUP eingerichtet, das drei Ebenen der Beherrschung abdeckt.
Diagramm | Stufe V-Zyklus |
---|---|
1. Anwendungsfalldiagramm | Spezifikation, Spezifikationen |
2. Sequenzdiagramm | |
3. Aktivitätsdiagramm (Geschäftsprozess) | |
4. Aktivitätsdiagramm (Kinematik und / oder Anwendungsprozesse) | |
5. Klassendiagramm | Architekturdesign |
6. Objektdiagramm | |
7. Kommunikationsdiagramm | |
8. Bereitstellungsdiagramm | |
9. Komponentendiagramm |
Obwohl es viele UML-Modellierungssoftware gibt, respektiert keine jede Version von UML, insbesondere UML 2, vollständig und viele führen nicht konforme Notationen ein. Andererseits enthalten viele Software Module zum Generieren von Code, insbesondere aus dem Klassendiagramm , das sich am besten für eine solche Automatisierung eignet.