OOA/OOD Objektorientierte Techniken

Werbung
myMCU
SiSy Schnelleinstieg
OOA/OOD Objektorientierte Techniken
Voraussetzungen:
Sie benötigen eine SiSy-Ausgabe ab Version 3.6
mit dem Add-On „UML“.
Für die Abarbeitung dieses Schnelleinstieges
sollten Sie mit der Bedienung von SiSy und mit
den Diagrammen der UML vertraut sein.
Ziel:
Mit Hilfe der Diagramme der UML ist ein Programm zu entwickeln, welches wahlweise die
Summe bzw. das Produkt zweier Zahlen berechnet. Das Programm besteht dabei aus einzelnen
Klassen. Da die Implementierung Teil des
Schnelleinstieges „Objektorientierte Programmierung“ ist und auch erst dort erläutert wird, ist das
zu erstellende Programm am Ende dieses
Schnelleinstieges noch nicht lauffähig.
1. Ein neues Projekt anlegen
Starten Sie SiSy und aktivieren Sie aus dem
Willkommensbildschirm die Schaltfläche „Neues
Projekt erstellen“. Vergeben Sie einen Projektnamen, wählen Sie das Profil „UML Objektorientierte
Techniken”. SiSy LibStore öffnet, wählen Sie die
Diagrammvorlage „UML allgemein – objektorientierte Techniken mit SVL“ und führen Sie den
Download aus. Sie erhalten für die weitere Arbeit
das Diagramm „Vorgehensmodell“.
Beispiel Szenario Summe berechnen:
Über die Benutzeroberfläche wird „Summe“ ausgewählt. Daraufhin werden die Summanden eingegeben, die Summe berechnet und das Ergebnis
angezeigt.
Legen Sie per Drag&Drop einen Rahmen des
Objekttyps „System“ aus der Objektbibliothek an.
Klicken Sie mit der rechten Maustaste auf diesen
Rahmen und wählen Sie über das Kontextmenü
„Definieren“. Vergeben Sie hier den Objektnamen
„Rechner“.
Ziehen Sie zwei Objekte vom Typ „Anwendungsfall“ in den angelegten Rahmen. Im DefinierenDialog aus dem Kontextmenü legen Sie die
Merkmale des Anwendungsfalls fest, z.B. Name,
Datenein- und -ausgang, Primäres Szenario usw..
Tragen Sie bei „Name des Anwendungsfalls“ die
Bezeichnung „Summe berechnen“ bzw. „Produkt
berechnen“ ein.
Des Weiteren legen Sie ein Objekt „Anwender“
an, den „Benutzer“.
Ziehen Sie je eine Kante vom „Benutzer“ zu den
Anwendungsfällen, wie in Abbildung 1.
Abbildung 1
Gehen Sie zurück in das Vorgehensmodell (aus
der Werkzeugleiste
).
2. Objektorientierte Analyse (OOA)
2.1 Anwendungsfalldiagramm (Use Case)
Die Modellierung beginnen Sie mit der Anwendersicht. Gehen Sie im Vorgehensmodell (VGM) auf
diesem Objekt Nach unten. Da wir ein Anwendungsfalldiagramm von Grund auf erstellen, benötigen wir keine Vorlage.
Beim Anwendungsfalldiagramm handelt es sich
um ein Beschreibungsmittel der UML und stellt
das Zusammenspiel zwischen System, seinen
Anwendungsfällen und dessen Anwender dar.
Das System wird als Rahmen dargestellt. Es besitzt Anwendungsfälle, auf die Anwender zugreifen. Dies wird durch Kanten zwischen Anwendungsfällen und Anwendern gekennzeichnet.
www.sisy.de
2.2 CRC-Karten
Ausgehend von einer Nominalphrasen- und Verbalphrasenanalyse der Szenarien werden in den
CRC-Karten die potentiellen Klassenkandidaten
aufgenommen. In der linken Spalte werden die
Verantwortlichkeiten (Eigenschaften und Verhalten) der Klasse definiert und in der rechten Spalte
die Zusammenarbeit dieser Klasse mit anderen
Klassen.
Gehen Sie im VGM auf dem Objekt „CRC-Karten“
Nach unten. Legen Sie wie in der Abbildung 2 die
CRC-Karten an. Ziehen Sie dafür jeweils ein Objekt „CRC-Karte“ in das Diagrammfenster. Legen
Sie im Definieren-Dialog die Eigenschaften jeder
CRC-Karte fest.
Laser & Co. Solutions GmbH
Stand: 08/2016
SiSy Schnelleinstieg: OOA/OOD Objektorientierte Techniken
Abbildung 2
2.3. Aktivitätsdiagramm
Als nächster Schritt erfolgt die Modellierung des
erwarteten Systemverhaltens in Verfeinerung der
Anwendungsfälle. Das dynamische Verhalten und
die Interaktion zwischen Objekten werden in der
Form eines Aktivitätsdiagramms dargestellt.
Gehen Sie zurück in das VGM und auf der „Anwendersicht“ nach unten. In dem bereits erstellten
Anwendungsfalldiagramm öffnen Sie den Anwendungsfall „Summe berechnen“ und laden keine
Vorlage.
Aus der Objektbibliothek ziehen Sie das Objekt
„Partition“ in das Diagrammfenster, definieren Sie
das Objekt als „Benutzeroberfläche“. Wiederholen
Sie den Vorgang für „Summe“ und „Produkt“.
2/2
3.1 Grober Klassenentwurf
Beim groben Klassenentwurf werden die Klassenkandidaten aus der CRC-Kartendiskussion in das
Klassendiagramm übernommen. Sie stellen offensichtlich gemeinsame Strukturmerkmale der Klassenkandidaten Summe und Produkt fest. Dies
setzen Sie in eine Generalisierung zur Berechnung um.
Aktivieren Sie im VGM das Objekt „weitere UMLModelle“ (es ist der Objekttyp „Logische Sicht“);
öffnen Sie dieses Objekt und laden keine Vorlage
aus dem SiSy Libstore. Ziehen Sie aus der Objektbibliothek per Drag&Drop ein „Klassendiagramm“. Es öffnet der Definieren-Dialog; tragen
Sie den Namen „Rechner“ ein und wählen Sie die
Sprache „C++ Konsole (32bit)“. Öffnen Sie das
Objekt; arbeiten Sie ohne Vorlage.
In dem Klassendiagramm werden die im Anwendungsfall erstellten Partitionen als Klassen angelegt. Ziehen Sie aus der Objektbibliothek eine
„Klasse“ in das Diagrammfenster und benennen
Sie diese mit „Benutzeroberfläche“; markieren Sie
das Kontrollkästchen „diese Klasse generieren“.
Erstellen Sie analog dazu die Klassen „Berechnung“, „Summe“ und „Produkt“ (vgl. Abbildung 4).
Abbildung 4
Modellieren Sie die Beziehungen der Klassen.
Ziehen Sie dazu je eine Verbindung vom Verteiler
der Klasse „Benutzeroberflaeche“ zu den Klassen
„Summe“, „Produkt“ und „Berechnung“. Als Verbindungstyp wählen Sie „Assoziation gerichtet“.
Optional können Sie hierbei auch die Kardinalität
festlegen. Desweiteren verbinden Sie die Klasse
„Berechnung“ mit „Summe“ und „Produkt“, hier mit
dem Verbindungstyp „Vererbung“.
Abbildung 3
Für die weitere Modellierung ziehen Sie ein Objekt „Aktion“ in die Partition „Benutzeroberfläche“
und bestätigen das Einfügen. Benennen Sie dieses Objekt mit „wertA eingeben“ und vervollständigen Sie das Diagramm entsprechend der Abbildung 3. Fügen Sie noch je ein Objekt „Start“ und
„Ende“ in das Diagramm ein und verbinden die
Objekte miteinander.
3. Objektorientiertes Design (OOD)
Der Objektorientierten Analyse schließt sich ein
Objektorientiertes Design an. Dabei wird zunächst
ein grober Klassenentwurf entwickelt und die Anwendungsfälle
aus
dem
Anwendungsfalldiagramm mit Verhaltensdiagrammen verfeinert.
www.sisy.de
Abbildung 5
3.2 Spezifikation der Klassen
Nachdem Sie den Grobentwurf erstellt haben,
müssen Sie diesen jetzt vervollständigen. Im
Feinentwurf werden die einzelnen Operationen
und Attribute der jeweiligen Klasse festgelegt.
Dieses weitere Vorgehen ist Thema im Schnelleinstieg „Objektorientierte Programmierung“.
Laser & Co. Solutions GmbH
Stand: 08/2016
Herunterladen
Explore flashcards