Wer schon einmal einen Blick in ein Buch über Anforderungsanalyse geworfen hat, weiß, dass jedes Projekt ein gutes Glossar benötigt. Denn alle Beteiligten müssen verstehen, was der andere meint, wenn er einen bestimmten Begriff benutzt. Doch wodurch zeichnet sich eine gute Definition aus? Wie  beschreiben wir etwas so, dass über die Bedeutung kein Zweifel besteht? Diese Frage hat schon die alten Griechen beschäftigt. Aristoteles wollte die Bedeutung von Begriffen definieren, indem er jede Bezeichnung auf einen Basisbegriff zurückführte.

Weiterlesen in der  iX 3/2012 Seite 118, online leider nicht verfügbar, hier bestellen.

Unscharfe Präzision

Ein Gedanke zu „Unscharfe Präzision

  • 23. Mai 2012 um 17:38
    Permalink

    Der Artikel „Unscharfe Präzision“ aus der iX März 2012 hat mich als Abonnent
    der iX sehr interessiert und angesprochen.

    Die Beispiele sind meiner Meinung nach nicht so gelungen.
    Ein Mensch ist kein Tier und eine Datenbank ist keine Software.
    Das ändert sich auch nicht in dem man diese Zusammenhänge versucht in
    UML darzustellen. Als Modellierer muss ich sagen hier wurde falsch modelliert:
    Mensch und Tier sind entsprechend der Zoologischen Systematik verwandt und
    haben entsprechend ihrer evolutionären Klassifikation gemeinsame Vorfahren.

    Reale verwandtschaftliche Beziehungen modellieren
    ————————————————————

    Verwandtschaftliche Beziehungen oder Ähnlichkeiten im Allgemeinen lassen sich
    objekt-orientiert insbesondere mit UML sehr schön modellieren/ darstellen.
    Es handelt sich aber dann nicht um eine echte Teilmengen-Beziehung, wie es bei
    der Generalisierung notwendig ist. Auch die Interpretation der UML-Klasse „Mensch“
    als Sub-Typ des Typs, der mit der UML-Klasse „Tier“ modelliert wurde,
    wie im iX-Artikel von J. Friedrich vorgeschlagen, führt zu keiner vernünftigen Lösung
    im Sinne der Anwendungsentwicklung, da zum Beispiel die Forderung nach wenig
    Redundanz und gute Wiederverwendbarkeit verletzt wird. Die hier verwendeten
    Begriffe Sub-Typ und Typ sind grundsätzlich verschieden von dem Begriff Typ in
    der Zoologischen Systematik bzw. evolutionären Klassifikation.

    Ähnlichkeiten zwischen Objekten unterschiedlicher Klassen
    ——————————————————————–

    Ähnlichkeiten zwischen Objekten, die zu unterschiedlichen Klassen gehören, lassen
    sich sehr schön durch eine gemeinsame Super-Klasse in UML modellieren. Das trifft
    insbesondere auf ähnliche Objekte zu, deren Ähnlichkeit auf reale verwandtschaftliche Beziehungen zwischen den Objekten beruht.
    Es vermittelt auch einen besseren begrifflichen Gesamteindruck, wenn Mensch und andere Tiere auf der gleichen Ebene im UML-Diagramm dargestellt werden. So lassen sich die gemeinsamen kompatiblen Merkmale von „Mensch“ und „Tier“ in einer Super-Klasse modellieren und die unterschiedlichen nicht kompatiblen Merkmale werden jeweils den Sub-Klassen „Mensch“ und „Tier“ zugeordnet.
    Der Abschnitt „Mensch und andere Tiere“ im Wikipedia-Artikel „Tier“ sagt wie es mit dem umgangssprachlichen Gebrauch von „Tier“ und „Mensch“ ist.
    Darüber hinaus ist bekannt, dass es Studien und Quellen gibt, die zweifelsfrei berichten, wie Tiere bei der Herstellung von „Werkzeugen“ beobachtet wurden, also Hilfsmittel, die die Nahrungsbeschaffung oder -aufnahme ermöglichen bzw. vereinfachen. Diese Hilfsmittel wurden von den Tieren jeweils während dem Nahrungsverzehr festgehalten und von einem Nahrungsplatz zum nächsten transportiert (wiederverwendet).

    Der Begriff „Vererbung“
    ———————————

    Natürlich haben die Tiere sowohl als auch die Menschen sehr viel von ihren „Vorfahren“ jeweils geerbt, aber jeder für sich hat sich auch auf seine Art weiterentwickelt.
    Dieses „Vererben“ ist ein beliebtes Thema in UML-Prüfungen oder UML-Tests. Der Begriff „Vererbung“, bekannt aus dem umgangssprachlichen Gebrauch, wird in einer Frage unauffällig mit dem Konzept der Vererbung zwischen Klassen in objekt-orientierten Sprachen vermischt. Damit wird geprüft, ob der Student/ Prüfling im Sinne der UML-Sprachdefinition korrekt antwortet und sich nicht von ähnlichen umgangssprachlichen Begriffen ablenken lässt.

    Beispiel: eine Prüfungsfrage in einem UML online-Test
    ——————————————————————————
    Aufgabenstellung: Gegeben sind mehrere Konzepte aus der Familie, wie Vater, Mutter, Sohn, Tochter und Person. Außerdem ist eine graphisch dargestellte Beziehung zwischen zwei Akteuren in einem Use-Case-Diagramm gegeben. Ein Akteur ist mit „Y“ bezeichnet und der andere Akteur ist mit „X“ bezeichnet. Vom Akteur Y zeigt ein Pfeil mit durchgezogener Linie und nicht ausgefüllter dreieckiger Pfeilspitze zum Akteur X.
    Frage: Welche der folgenden Aussagen liefert eine richtige Zuweisung von Rollen zu den Akteuren bzgl. der Beziehungen zwischen den Konzepten? (Genau eine Antwort ist richtig)

    Choice 1 : X = Vater, Y = Mutter
    Choice 2 : X = Sohn, Y = Mutter
    Choice 3 : X = Person, Y = Vater
    Choice 4 : X = Sohn, Y = Person
    Choice 5 : X = Mutter, Y = Tochter

    Auswertung des Beispiels UML online-Test
    ————————————————————–
    Es kann passieren, dass der Prüfling unter Zeitruck (die noch verbleibende Zeit wird im online-Test rechts oben angezeigt) die falsche Antwort Nr.5 auswählt anstatt die richtige Antwort Nr.3, denn die Mutter „vererbt“ der Tochter sehr viel und der Begriff Vererbung wurde mehrfach in der OO-Vorlesung erläutert. Dies nennt man dann Prüfungs-Psychologie.
    Der Prüfling muss die Semantik des Pfeils bzw. der Pfeilspitze verstanden haben und hier unter Zeitdruck wieder erkennen.
    Natürlich ist dies eine einfache Frage zu einem Mini-Ausschnitt aus einem Use-Case-Diagramm. Es ist nur ein Beispiel.

    Es gibt also eine sprachliche Dimension und eine Anwendungs-Dimension bei der Anforderungsanalyse/ -spezifikation und es kommt nicht selten vor, dass sich die Begriffs-Welten beider Dimensionen überlappen.

    Arbeit eines Anforderungsanalytikers
    —————————————————-
    Dies ist die harte alltägliche Arbeit eines jeden Anforderungsanalytikers: das Wesentliche vom Unwesentlichen zu trennen, das Unwesentliche immer wegzulassen, das Wesentliche in die Spezifikation zu integrieren — möglichst ohne Redundanz und am Besten für die Wiederverwendung geeignet — und die Grenzen der Anwendung (zum „Rest“ der Welt) mit scharfer Präzision festzulegen.

    Der Mensch ist das höchstentwickelte Lebewesen der Erde. Er ist das einzige Lebewesen der Erde mit tierischen und menschlichen Vorfahren und er ist einzigArtig.
    Diese Eigenschaft der Menschen, dass sie die einzigen ihrer Art sind ist ein entscheidender Hinweis für den Modellierer, dass „Tier“ und „Mensch“ als Unterklassen einer gemeinsamen Super-Klasse zu modellieren sind — die beste Entwurfs-Entscheidung, da viele Attribute wie zum Beispiel „Art“, „Fortbewegungsart“ oder „Atmungsorgan“ als Attribute der Klasse „Mensch“ nur einwertig zu verstehen sind. Zusätzlich kann es in Abhängigkeit von einer konkreten Anwendung für die Klasse „Tier“ Attribute geben, die auf Grund ihrer Wertemenge, nicht mit den Attributen der Klasse „Mensch“ kompatibel sind und umgekehrt. Zum Beispiel wird bei der Charakterisierung von Tierarten oft deren „Lebensraum“ angegeben. Das kann ein bestimmtes geographisches Gebiet sein oder ein Gebiet mit typischen Eigenschaften, zum Beispiel Süsswasserfisch oder Salzwasserfisch. Dem gegenüber wird ein Mensch oft einem bestimmten „Kulturraum“ zugeordnet, wobei es auch um geographische Gebiete geht, aber es geht dabei immer um mehr als nur um die Nahrungssuche und -bereitstellung. Dabei ist der Mensch wieder durch eine Besonderheit gekennzeichnet: Er kann auf Grund seiner Lebensweise einem Kulturraum zugeordnet werden, obwohl er selbst nicht in diesem lebt, sondern nur weil seine menschlichen Vorfahren in diesem Kulturraum gelebt haben. Andere Beispiele und Ausprägungen der Klasse „Mensch“ gibt es ebenfalls: Menschen, die ihren Kulturraum verlassen oder ihre Lebensweise ändern oder beides trotz der Traditionen ihrer menschlichen Vorfahren.

    Lohn eines Anforderungsanalytikers
    —————————————————
    Er vertraut einer objekt-orientierten Sprache, wie UML, und ist mit ihrer Semantik per Du. Vertrauen stößt immer auf Gegenvertrauen. Die UML kann dann und nur dann die Anwendungsentwicklung unterstützen besonders in der Anforderungsanalyse-Phase und er wird sehr viel über die Anwendung erfahren, einfach nur dadurch, dass er die UML richtig gut angewendet hat.

    UML-Klassen-Diagramm „Lebewesen der Erde“ (unvollständig):
    ——————————————————————————————
    Beim Upload des Diagramms gab es technische Probleme. Es wird hier im Blog nachgetragen.

    Aristoteles
    —————
    Causa finalis, Causa formalis, Causa materialis und Causa efficiens sehr nützlich. Danke sehr!

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wir verwenden Cookies, um Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an soziale Medien und für Analysen weiter. Durch die Benutzung unserer Webseite stimmen Sie dem zu. Weitere Informationen

Wir verwenden Plugins, mit denen Sie unsere Inhalte in sozialen Medien wie Facebook, Twitter und Google+ teilen können. Bereits durch den Aufruf von Seiten werden Informationen an diese sozialen Medien weitergegeben. Außerdem verwenden wir Google Analytics, um die Nutzung unserer Seite analysieren zu können.

Schließen