Eine einfache und effektive Methode, Klassen zu entdecken, besteht darin, eine Technik namens Nomen/Verb-Analyse und grammatikalische Überprüfung. Dies beinhaltet eine gründliche Untersuchung von hochleveligen Anforderungsdokumenten, Marketingmaterialien und anderen Quellen, die Aufschluss über den Problembereich geben (also den Bereich, der durch das Problem definiert ist, das das neue System lösen soll).
Siehe Verwendung von UML für use-case-getriebene objektorientierte Modellierung für ein Beispiel, wie man eine grammatikalische Überprüfung an einem Satz von textbasierten Anforderungen durchführt.
Viele Menschen verwenden schnelles Prototyping als Werkzeug, um Anforderungen mit Benutzern zu erkunden. Schauen wir uns an, wie wir eine Prototyp-HTML-Seite für ein Internet-Buchhandelssystem nutzen können, um eine kleine Auswahl der Klassen zu identifizieren, die für die Modellierung des gesamten Buchhandelssystems benötigt werden.
Wir beginnen mit einer einzigen Seite, die detaillierte Informationen über ein bestimmtes Buch anzeigt.
Schnelles Nachvollziehen dieser Seite in Ihrem Geist zeigt die folgenden Klassen als angemessen:
- Natürlich gibt es eine Buch, mindestens ein Autor.
- Es gibt einen Verlag.
- Das Buch kann eine oder mehrere Rezensionen haben. Diese Rezensionen fallen in zwei Kategorien: Redaktionsrezensionen und Kundenrezensionen. (Sie werden den Unterschied in Kapitel 2 kennenlernen.) Jede Rezension hat einen zugehörigen Rezensent.
Wenn wir weitergehen und uns vorstellen, dass ein Benutzer das Buch nach dem Ansehen der Seite kauft, kommen andere potenzielle Klassen ins Blickfeld:
- Der Betrachter wird ein Kunde und hat einen zugehörigen Konto.
- Das Buch wird Teil einer Bestellung.
- Die Bestellung muss haben Rechnungsinformation und Versandinformation damit das Buchgeschäft die Zahlung einziehen und das Buch versenden kann.
Weitere Analyse zeigt die Notwendigkeit der folgenden zwei Klassen:
- Wie erwähnt, kann ein Buch mehrere Autoren haben, aber ein Autor kann mehr als ein Buch schreiben. Um eine Many-to-Many-Beziehung zu vermeiden, benötigen wir eine BuchUndAutor Klasse.
Das Buchgeschäft (Buchladen) verwendet verschiedene Versandunternehmen (Versandunternehmen), daher ist eine Versender Klasse erforderlich.
Somit umfasst die resultierende Menge an Substantiven (Substantive) und Substantivphrasen (Substantivphrasen):
- Konto
- Autor
- Rechnungsinformation
- Buch
- BuchUndAutor
- Kunde
- Kundenbewertung
- Redaktionsbewertung
- Bestellung
- Verlag
- Bewertung
- Bewerter
- Versender
- VersandInfo
Hinweis:
Dieses Beispiel veranschaulicht ein grundlegendes Prinzip: Suchen Sie so viele Substantive und Substantivphrasen wie möglich aus den Anforderungen heraus, analysieren, verfeinern und erweitern Sie die Liste. Unabhängig davon, wie Sie es anstellen, die Klassen zu identifizieren, ist dies eine hervorragende Möglichkeit, Ihre Modellierungsreise zu beginnen.
Unified Modeling Language (UML) Referenz
- Was ist UML?
- Warum UML-Modellierung verwenden?
- Übersicht über die 14 UML-Diagrammtypen
- Was ist ein Klassendiagramm?
- Was ist ein Komponentendiagramm?
- Was ist ein Bereitstellungsdigramm?
- Was ist ein Objektdiagramm?
- Was ist ein Paketdiagramm?
- Was ist ein Zusammensetzungsstrukturdiagramm?
- Was ist ein Profildiagramm?
- Was ist ein Use-Case-Diagramm?
- Was ist ein Aktivitätsdiagramm?
- Was ist ein Zustandsmaschinen-Diagramm?
- Was ist ein Sequenzdiagramm?
- Was ist ein Kommunikationsdiagramm?
- Was ist ein Interaktionsübersichtsdiagramm?
- Was ist ein Zeitdiagramm?
- Was ist ein UML-Kooperationsdiagramm?
- UML-Assoziation vs Aggregation vs Komposition
- UML-Klassendiagramm-Tutorial