Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
light_grundstruktur_mit_uml [2020/06/04 17:06] – [Weiter mit:] huwi | light_grundstruktur_mit_uml [2023/07/17 12:37] (aktuell) – huwi |
---|
{{:uml:libstorepec.png?direct&550|}}{{:uml:umlprojektohnebeispiel.jpg?direct&480|}} | {{:uml:libstorepec.png?direct&550|}}{{:uml:umlprojektohnebeispiel.jpg?direct&480|}} |
| |
Legen Sie ein neues Klassendiagramm an, indem Sie das entsprechende Element per Drag&Drop aus der Objektbibliothek in das Diagrammfenster ziehen. Achten Sie auf die Einstellung der Zielsprache //ARM C++//.\\ Wählen Sie im nächsten Fenster die Hardware **STM32F042 mySTM32 Board light HAL** und den Programmer **mySTM-Light-Board** aus. | Legen Sie ein neues Klassendiagramm an, indem Sie das entsprechende Element per Drag&Drop aus der Objektbibliothek in das Diagrammfenster ziehen. Achten Sie auf die Einstellung der Zielsprache //ARM C + + //.\\ Wählen Sie im nächsten Fenster die Hardware **STM32F042 mySTM32 Board light HAL** und den Programmer **mySTM-Light-Board** aus. |
| |
{{:neuesklassendiagramm.jpg?direct&600|}} | {{:neuesklassendiagramm.jpg?direct&600|}} |
| |
====== Grundstruktur einer objektorientierten Anwendung ====== | ====== Grundstruktur einer objektorientierten Anwendung ====== |
Sie erhalten das nachfolgende Diagramm. Dabei handelt es sich um die typische Grundstruktur einer objektorientierten Anwendung auf der Basis des //SiSy ARM C++ Framework//. | Sie erhalten das nachfolgende Diagramm. Dabei handelt es sich um die typische Grundstruktur einer objektorientierten Anwendung auf der Basis des //SiSy PEC Framework//. |
| |
{{:stm32light:stml001.png?direct&800|}} | {{:stm32light:stml001.png?direct&800|}} |
{{:uml:istein.png?direct&250|}} | {{:uml:istein.png?direct&250|}} |
| |
Die Pfeile mit den großen dicken Endpfeilen lesen wir als **"ist ein"**. Systembausteine werden sowohl in der Modellierungssprache UML als auch in der Programmiersprache C++ als **Klasse** bezeichnet. | Die Pfeile mit den großen dicken Endpfeilen lesen wir als **"ist ein"**. Systembausteine werden sowohl in der Modellierungssprache UML als auch in der Programmiersprache C + + als **Klasse** bezeichnet. |
| |
Mit diesen ersten Informationen können wir versuchen die Darstellung etwas professioneller zu lesen: | Mit diesen ersten Informationen können wir versuchen die Darstellung etwas professioneller zu lesen: |
{{:stm32light:appcontroller.png?direct&600|}} | {{:stm32light:appcontroller.png?direct&600|}} |
| |
Der Baustein **app:Controller** ist die Instanz der Anwendungsklasse. Falls Sie noch kein C++ oder eine andere Objektorientierte Programmiersprache kennen nur so viel: Instanzen sind vergleichbar mit den Variablen in klassischen Programmiersprachen. Nur dass Instanzen von Klassen nicht nur Daten sondern auch Funktionen enthalten. | Der Baustein **app:Controller** ist die Instanz der Anwendungsklasse. Falls Sie noch kein C + + oder eine andere Objektorientierte Programmiersprache kennen nur so viel: Instanzen sind vergleichbar mit den Variablen in klassischen Programmiersprachen. Nur dass Instanzen von Klassen nicht nur Daten sondern auch Funktionen enthalten. |
| |
{{:stm32light:pakete.png?direct&400|}} | {{:stm32light:pakete.png?direct&400|}} |
**PecAppKernel** stellt bereits eine Reihe von nützlichen Struktur- und Verhaltensmerkmalen einer ARM-Anwendung bereit. Zwei Operationen sind in der Klasse //Controller// zur Realisierung vorbereitet. Die Operation //onStart// dient der Initialisierung nach dem Systemstart, bildet also die Initalisierungssequenz. Die Operation //onWork// wird durch das Framework zyklisch aufgerufen. Damit nimmt diese die Position der Mainloop ein. Beachten Sie, dass die //Mainloop// jetzt selbst im Framework vor unsern Augen verborgen läuft und nicht mehr von uns geschrieben werden muss. Zur Verdeutlichung und zur Gewöhnung hier das grundsätzliche Verhalten der Anwendung als UML-Sequenzdiagramm. | **PecAppKernel** stellt bereits eine Reihe von nützlichen Struktur- und Verhaltensmerkmalen einer ARM-Anwendung bereit. Zwei Operationen sind in der Klasse //Controller// zur Realisierung vorbereitet. Die Operation //onStart// dient der Initialisierung nach dem Systemstart, bildet also die Initalisierungssequenz. Die Operation //onWork// wird durch das Framework zyklisch aufgerufen. Damit nimmt diese die Position der Mainloop ein. Beachten Sie, dass die //Mainloop// jetzt selbst im Framework vor unsern Augen verborgen läuft und nicht mehr von uns geschrieben werden muss. Zur Verdeutlichung und zur Gewöhnung hier das grundsätzliche Verhalten der Anwendung als UML-Sequenzdiagramm. |
| |
{{:seq_grundstruktur.jpg?nolink&|}} | {{:seq_grundstruktur.jpg?direct&|}} |
| |
Die entsprechenden Operationen in der Klasse Controller sind bis jetzt noch leer. | Die entsprechenden Operationen in der Klasse Controller sind bis jetzt noch leer. |