【UML】NR. 1 Einführung in UML

Inhaltsverzeichnis

1. Was ist UML?

2. UML und Software-Engineering

3. Die Geburt von UML

4. Grundaufbau von UML


Lassen Sie uns ab heute ein neues Thema eröffnen und UML überprüfen.

1. Was ist UML?

UML (Unified Modeling Language, UML) ist ein universeller Standard für visuelle Modellierungssprachen, der zum Beschreiben, Visualisieren, Konstruieren und Erstellen von Dokumentationen für Softwaresystemartefakte verwendet wird.

UML ist keine Programmiersprache, sondern eine visuelle Modellierungssprache.

UML (Unified Modeling Language) gilt aus folgenden Gründen als Sprache:

  1. Es handelt sich um eine standardisierte Darstellung: UML bietet eine Standardsprache zur Beschreibung, Visualisierung und Dokumentation objektorientierter Systemprodukte, die es verschiedenen Personen und Teams ermöglicht, unter Verwendung gemeinsamer Verständnisse und Symbole zu kommunizieren.
  2. Es verfügt über eine reichhaltige Ausdruckskraft: UML bietet eine Vielzahl grafischer Darstellungen wie Klassendiagramme, Sequenzdiagramme, Anwendungsfalldiagramme usw., mit denen die statische Struktur und das dynamische Verhalten des Systems beschrieben werden können, wodurch Menschen dabei unterstützt werden, komplexe Zusammenhänge besser zu verstehen und zu analysieren Systeme.
  3. Es handelt sich um ein Modellierungswerkzeug: UML ist im Wesentlichen ein Werkzeug zur visuellen Modellierung softwareintensiver Systeme, das objektorientierte Analyse und Design unterstützt. Durch UML können Menschen das System aus verschiedenen Perspektiven modellieren, um die Struktur und das Verhalten des Systems besser zu verstehen.
  4. Sie ist unabhängig von bestimmten Programmiersprachen: UML ist eine allgemeine Modellierungssprache, die mit verschiedenen Programmiersprachen abgebildet und transformiert werden kann. Daher können Sie UML unabhängig von der verwendeten Programmiersprache zur Modellierung und Analyse verwenden.
  5. Es ist im Bereich der Softwareentwicklung weit verbreitet: UML hat sich zu einer weit verbreiteten Sprache und einem weit verbreiteten Werkzeug im Bereich der Softwareentwicklung entwickelt und wird in verschiedenen Bereichen wie Unternehmensinformationssystemen, Bankfinanzdienstleistungssystemen, Kommunikationssystemen und Transportsystemen eingesetzt.

Als Sprache zeichnet sich UML durch standardisierte Darstellung, reichhaltige Ausdruckskraft, Modellierungswerkzeugeigenschaften, Unabhängigkeit von bestimmten Programmiersprachen und ein breites Spektrum an Anwendungsfeldern aus.

2. UML und Software-Engineering

UML ist eng mit dem Software-Engineering verbunden und spielt eine wichtige Rolle im Bereich des Software-Engineerings. Hier sind die Verbindungen zwischen UML und Software-Engineering und ihre Rolle im Software-Engineering:

  1. Modellierungstool: UML ist ein Werkzeug zur visuellen Modellierung softwareintensiver Systeme und gehört zu den am häufigsten verwendeten Modellierungssprachen in der Softwareentwicklung. Durch UML können Softwareentwickler einen umfangreichen Satz grafischer Darstellungen verwenden, um die statische Struktur und das dynamische Verhalten des Systems zu beschreiben und komplexe Softwaresysteme besser zu verstehen und zu analysieren.

  2. Anforderungsanalyse und Design: UML spielt eine wichtige Rolle in den frühen Phasen der Softwareentwicklung, insbesondere während der Anforderungsanalyse- und Designphase. Durch das Zeichnen von Use-Case-Diagrammen, Klassendiagrammen, Sequenzdiagrammen usw. kann das Projektteam Systemanforderungen und Geschäftsprozesse in den frühen Phasen des Projekts klar ordnen, Ziele und Arbeitsumfänge für Entwickler im Voraus festlegen und Kosten und Risiken vermeiden verursacht durch spätere Anforderungsänderungen. UML-Diagramme können Teammitgliedern helfen, komplexe Systeme besser zu verstehen und zu verwalten und so die Entwicklungseffizienz und -qualität zu verbessern.

  3. Kommunikation und Zusammenarbeit: UML bietet eine gemeinsame Darstellungsmethode, die es Menschen mit unterschiedlichen Rollen wie Softwareentwicklern, Projektmanagern und Systemanalysten ermöglicht, unter Verwendung gemeinsamer Verständnisse und Symbole zu kommunizieren. Durch UML-Diagramme können Teammitglieder die Gesamtsituation des Projekts, einschließlich der Struktur, Funktion, Interaktion usw. des Systems, schneller verstehen und so die Kommunikationseffizienz und die Möglichkeiten zur Zusammenarbeit verbessern.

  4. Dokumentation: UML-Diagramme können als Dokumentation für Softwaresysteme verwendet werden, um den Entwurfs-, Implementierungs- und Testprozess des Systems aufzuzeichnen. Diese Dokumente können Teammitgliedern helfen, den Verlauf und die Designentscheidungen des Systems zu überprüfen und zu verstehen, und können auch als Kommunikationsbrücke mit Systembeteiligten (wie Kunden, Testern usw.) dienen.

  5. Tool-Unterstützung: Viele Software-Engineering-Tools und integrierte Entwicklungsumgebungen (IDEs) bieten Unterstützung für UML, einschließlich automatischer Codegenerierung, Reverse Engineering, Code- und Modellsynchronisierung und anderer Funktionen. Diese Tools können Softwareentwicklern helfen, UML für Modellierungs- und Entwicklungsarbeiten effizienter zu nutzen.

Durch die Verwendung von UML zur Modellierung und Analyse können Softwareentwickler die Systemkomplexität besser verstehen und verwalten, die Kommunikationseffizienz und die Möglichkeiten zur Zusammenarbeit verbessern, Systemanforderungen klären und Risiken reduzieren und so die Effizienz und Qualität der Softwareentwicklung verbessern.

3. Die Geburt von UML

Die Geburtsstunde von UML lässt sich bis in die frühen 1990er Jahre zurückverfolgen, als sich die Bereiche objektorientierte Programmierung und Softwareentwicklung rasant entwickelten. Es sind verschiedene Modellierungssprachen und -methoden entstanden, wie zum Beispiel Booch, Rumbaughs OMT und Jacobsons OOSE. Es gibt jedoch Unterschiede zwischen diesen Methoden, was es für Benutzer schwierig macht, eine geeignete Modellierungssprache basierend auf Anwendungsmerkmalen auszuwählen, was den sogenannten „Methodenkrieg“ auslöst.

Um dieses Problem zu lösen, begannen 1994 Grady Booch, Jim Rumbaugh und Ivar Jacobson, drei Pioniere auf dem Gebiet der objektorientierten Methoden, zusammenzuarbeiten und zu versuchen, ihre Methoden zu integrieren, um eine einheitliche Standardmodellierungssprache zu bilden. Ihre Zusammenarbeit wird von der Object Management Group (OMG) unterstützt. OMG ist eine internationale Non-Profit-Organisation, die sich der Förderung der Standardisierung der Objekttechnologie widmet.

Nach einer Zeit harter Arbeit veröffentlichte OMG 1997 offiziell die UML-Version 1.0 und markierte damit die Geburtsstunde von UML. UML bietet eine Reihe einheitlicher Standardmodellierungsnotationen, auf die IT-Experten seit vielen Jahren gewartet haben. Durch die Verwendung von UML können diese Mitarbeiter Systemarchitektur- und Designpläne lesen und kommunizieren. UML fand schnell breite Akzeptanz und Anwendung in der Branche und entwickelte sich nach und nach zu einer der wichtigsten Modellierungssprachen im Bereich Software Engineering.

Der Erfolg von UML ist auf seine Standardisierung, einfache Verständlichkeit und Verwendung sowie die kontinuierliche Förderung und Unterstützung von OMG zurückzuführen. Heutzutage wird UML in verschiedenen Bereichen häufig verwendet, darunter Unternehmensinformationssysteme, Bankfinanzdienstleistungssysteme, Kommunikationssysteme, Transportsysteme usw., und ist zu einem unverzichtbaren Bestandteil des Software-Engineering-Bereichs geworden.

4. Grundaufbau von UML

Die Zusammensetzung von UML umfasst hauptsächlich die folgenden Teile:

  1. Ansichten: UML bietet eine Vielzahl von Ansichten zur Beschreibung verschiedener Aspekte des Systems. Zu den gängigen Ansichten gehören Anwendungsfalldiagramme, Klassendiagramme, Sequenzdiagramme, Aktivitätsdiagramme usw. Jede Ansicht konzentriert sich auf einen bestimmten Aspekt des Systems. Beispielsweise werden Anwendungsfalldiagramme verwendet, um die funktionalen Anforderungen des Systems zu beschreiben, Klassendiagramme werden verwendet, um die statische Struktur des Systems zu beschreiben, und Sequenzdiagramme werden verwendet, um die Interaktionen zu beschreiben zwischen Systemobjekten. Durch die kombinierte Nutzung verschiedener Ansichten kann das Gesamtsystem umfassend verstanden und beschrieben werden.

  2. Diagramme: Diagramme in UML beziehen sich auf bestimmte grafische Darstellungen, die zur visuellen Modellierung verwendet werden. Jeder Diagrammtyp verfügt über eigene spezifische Symbole und Layoutregeln, die zur Darstellung verschiedener Elemente und Beziehungen im System verwendet werden. Beispielsweise werden Klassen, Eigenschaften und Methoden in Klassendiagrammen durch bestimmte Symbole dargestellt, und auch Objekte, Nachrichten und Zeitsequenzen in Sequenzdiagrammen haben ihre eigenen eindeutigen Darstellungen. Durch das Zeichnen verschiedener Arten von Diagrammen können die Struktur, das Verhalten und die Interaktionen eines Systems klar ausgedrückt werden.

  3. Modellelemente: UML enthält viele Modellelemente, die zur Beschreibung von Entitäten, Beziehungen und Attributen im System verwendet werden. Zu diesen Modellelementen gehören Klassen, Schnittstellen, Objekte, Assoziationen, Verallgemeinerungen, Aggregationen, Abhängigkeiten usw. Jedes Modellelement hat seine spezifische Bedeutung und seinen spezifischen Zweck und spielt eine wichtige Rolle im Modellierungsprozess. Durch die Definition und Kombination von Modellelementen kann ein UML-Modell mit umfassender Semantik erstellt werden.

  4. Allgemeine Mechanismen: UML bietet auch einige allgemeine Mechanismen, um die Ausdrucksfähigkeit und Flexibilität des Modells zu verbessern. Zu diesen allgemeinen Mechanismen gehören Anmerkungen, Einschränkungen, Erweiterungsmechanismen usw. Annotationen werden verwendet, um erklärenden Text zum Modell hinzuzufügen, Einschränkungen werden verwendet, um Regeln und Einschränkungen für Modellelemente zu definieren, und Erweiterungsmechanismen werden verwendet, um die Notation und Semantik von UML anzupassen. Durch die Verwendung dieser gemeinsamen Mechanismen kann UML entsprechend den spezifischen Anforderungen erweitert und angepasst werden.

Wir haben bereits die Beziehung zwischen UML und Software-Engineering und ihre Rolle im Software-Engineering erörtert. Als Modellierungssprache kann UML Softwareentwicklern helfen, die Systemkomplexität besser zu verstehen und zu verwalten, die Kommunikationseffizienz und die Möglichkeiten zur Zusammenarbeit zu verbessern, Systemanforderungen zu klären und Risiken zu reduzieren, wodurch die Effizienz und Qualität der Softwareentwicklung verbessert wird. Mithilfe der Ansichten, Diagramme, Modellelemente und allgemeinen Mechanismen von UML können Softwareentwickler UML-Modelle mit umfassender Semantik zur Beschreibung und Analyse von Softwaresystemen erstellen.

Viele Modellierungstools unterstützen die Codegenerierung durch UML-Diagramme.

Zu den beliebtesten Tools zum UML-Zeichnen gehören mittlerweile die folgenden:

  1. Visuelles Paradigma: Es handelt sich um ein leistungsstarkes UML-Tool, das das Zeichnen einer Vielzahl von UML-Diagrammen und Modellelementen unterstützt. Es verfügt über eine umfangreiche Vorlagen- und Symbolbibliothek, mit der Benutzer schnell professionelle UML-Modelle erstellen können.

  2. StarUML: Es ist ein weit verbreitetes Open-Source-UML-Tool mit einer intuitiven Benutzeroberfläche und leistungsstarken Funktionen. Es unterstützt das Zeichnen einer Vielzahl von UML-Diagrammen und Modellelementen sowie Codegenerierung und Reverse Engineering.

  3. Enterprise Architect: Es handelt sich um ein kommerzielles UML-Tool mit vollem Funktionsumfang, das umfangreiche UML-Modellierungsfunktionen bereitstellt, einschließlich Anforderungsmanagement, Systemdesign, Datenbankmodellierung, Tests usw., mit denen Unternehmen schnell hochwertige Softwaresysteme erstellen können.

  4. Rational Rose: Es handelt sich um ein UML-Tool mit langer Geschichte. Es verfügt über vollständige Modellierungsfunktionen und umfassende Unterstützung. Es kann zur Modellierung und Analyse großer komplexer Systeme verwendet werden und unterstützt mehrere Programmiersprachen und Plattformen.

  5. UML Designer: Es handelt sich um ein UML-Tool, das auf dem Eclipse-Plug-in basiert. Es bietet einfache UML-Modellierungsfunktionen und unterstützt das Zeichnen einer Vielzahl von UML-Diagrammen und Modellelementen sowie die Code- und Dokumentgenerierung.

Ich habe Rose zum ersten Mal zum Zeichnen von UML verwendet. Viele der Diagramme mit gelbem Hintergrund und roten Linien in UML-Tutorials stammen von Rose.

Ich persönlich bin der Meinung, dass die größte Rolle von UML darin besteht, Ihnen eine Richtung zu geben, wenn Sie nicht wissen, wie Sie denken sollen.

Natürlich wird UML selbst tatsächlich immer komplexer, sogar komplexer als die zu entwerfende Software selbst. Das ist eigentlich egal, wenden Sie es einfach flexibel an. Schließlich bietet UML eine Reihe abstrakter Methoden, mit denen Sie komplexe Logik rationaler analysieren können.

Guess you like

Origin blog.csdn.net/giszz/article/details/134916667