is-Logo Objektorientierte Programmierung
Ereignisse - Zustandstabelle

S. Spolwig


[Home | OOP]

 

In alten menügesteuerten Programmen wurde der Ablauf sequentiell organisiert, d. h. der Benutzer konnte nur nacheinander eine neue Aktionen aufrufen, wenn er die aktuelle vollständig beendet hatte. Moderne GUIs erlauben, dass der Benutzer (chaotisch) prinzipiell zu jeder Zeit jede Komponente anklicken kann. Das schafft natürlich Probleme.

Eine gute Software soll dem Benutzer eines Programm jederzeit sagen,

- wo er sich gerade befindet
- was er hier tun kann und was nicht
- wie er zurückkommt und
- wie er weitergehen kann.

Dieser Aspekt gehört zu den Forderungen der Software Ergonomie, die wahrhaftig von vielen Programmen nicht erfüllt werden.

Deshalb muss der Entwickler Statusmeldungen, Hinweise und eine exakte Benutzerführung programmieren*), damit auch der Dümmste in dem Programm keinen Unsinn anstellen kann. Programmiertechnisch: die ‚nachher‘ Bedingung im Methodenkopf  der Spezifikation muss sehr präzise definieren, was eintritt, wenn die Methode abgelaufen ist.

Dazu gehört auch, dass in bestimmten Situationen nur bestimmte Bedienungselemente aktiv sind und andere eventuell ausgeschaltet.

Aufgabe:
Legen Sie für alle Buttons fest, welche aktiv sein sollen, nachdem der Benutzer einen bestimmten gedrückt hat! (Aktiv mit + markieren, nicht aktiv mit -). Die linke Spalte ist das Ereignis, wenn der entsprechende Button gedrückt ist.
Damit legen Sie praktisch fest, in welchem Zustand sich das System jeweils befinden soll.


Ereignis   

Programmstart

+ + - - - + + + + +  

Neue Eingabe

~

                 

Anzeigen

 

~

               

Ändern

   

~

             

Löschen

     

~

           

OK

       

~

         

|<=

         

~

       

<=

           

~

     

=>

             

~

   

=>|

               

~

 

Ende

                 

~

Steuerleiste aus dem Programmbeispiel PAT 99

Können Sie aus der Matrix bestimmte Muster (d.h. wiederkehrende Zustände) erkennen?

Wenn ja, welche?

 

 

Hinweis zur Programmierung

Um einen Button zu de-/aktivieren, wird seiner Eigenschaft Enabled der Wert true / false zu gewiesen.    ==> s. Beispiel




©    05. Oktober 2008    Siegfried Spolwig

top_page.gif (155 Byte)