DE10124414A1 - Process for obtaining data for the optimization of program structures - Google Patents

Process for obtaining data for the optimization of program structures

Info

Publication number
DE10124414A1
DE10124414A1 DE10124414A DE10124414A DE10124414A1 DE 10124414 A1 DE10124414 A1 DE 10124414A1 DE 10124414 A DE10124414 A DE 10124414A DE 10124414 A DE10124414 A DE 10124414A DE 10124414 A1 DE10124414 A1 DE 10124414A1
Authority
DE
Germany
Prior art keywords
program
operating
action
actions
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10124414A
Other languages
German (de)
Inventor
Karl-Heinz Walsdorf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10124414A priority Critical patent/DE10124414A1/en
Priority to EP02006485A priority patent/EP1248196A3/en
Publication of DE10124414A1 publication Critical patent/DE10124414A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling

Abstract

Die Erfindung richtet sich auf ein Verfahren zur Gewinnung von Daten für die Optimierung der Struktur eines von einem Computer abgearbeiteten Programms, das auf vordefinierte Eingaben an einem mit dem Computer gekoppelten Bedienungsgerät jeweils zugeordnete Funktionen ausführt, wobei in dem betreffenden Programm oder einem unterlagerten Programmteil eine Programmsequenz zum Eintragen von Bedienungsinformationen in einen Protokollspeicher bei, insbesondere vor dem Aufruf einer auszuführenden Funktion durchlaufen wird.The invention is directed to a method for obtaining data for optimizing the structure of a program processed by a computer, which executes functions assigned to predefined inputs on an operating device coupled to the computer, with a program sequence in the relevant program or a subordinate program part for entering operating information into a log memory, in particular before a function to be executed is called.

Description

Die Erfindung richtet sich auf ein Verfahren zur Gewinnung von Daten für die Optimierung der Struktur eines von einem Computer abgearbeiteten Programms, insbesondere Anwendungs­ programms, wobei der Computer unter Steuerung dieses Pro­ gramms auf vordefinierte Eingaben an einem mit dem Computer gekoppelten Bedienungsgerät jeweils zugeordnete Funktionen ausführt.The invention is directed to a method for extraction of data for optimizing the structure one by one Computer-processed program, in particular application programs, with the computer under control of this pro gramms on predefined inputs on a computer coupled control unit each assigned functions performs.

Der Fortschritt bringt immer komplexere Anwendungsprogramme mit sich, mit immer mehr Funktionen, wobei ein gewisses Prob­ lem darin besteht, den Aufruf der verschiedensten Funktionen so einfach als möglich zu gestalten, damit ein Anwender in einem möglichst kurzen Zeitraum die gestellte Aufgabe anhand eines vorgegebenen Programms lösen kann. Da bei der Erstel­ lung eines neuen Programmes die genaue Art der Benutzung nicht vollständig vorhergesehen werden kann, weil diese u. a. von Praxisfaktoren wie Aufgabenstellung, vorhandenen Geräten, Geschicklichkeit der Anwender, etc. abhängt, werden hierzu bislang vor Auslieferung eines neuartigen Programmes Versuche mit Testpersonen durchgeführt, die anhand dieses Programmes gestellte Aufgaben in einem Labor lösen sollen. Hierbei wer­ den die einzelnen Bedienungshandlungen durch einen Beobachter protokolliert, darüber hinaus wird eine derartige Testperson oft auch mit einem Videogerät gefilmt. Evtl. werden Fragen, Kommentare und sonstige Aussagen der Testperson ebenfalls aufgenommen, und aus diesen verschiedensten Informationen werden sodann Rückschlüsse über die Praxistauglichkeit des betreffenden Programmes gezogen. Diese Vorgehensweise hat sich jedoch nicht als optimal erwiesen, da die gestellten Aufgaben nicht aus der Praxis stammen, besondere Gerätekonfi­ gurationen meist unbeachtet bleiben, Testpersonen häufig nicht denselben Kenntnisstand haben wie die späteren, tat­ sächlichen Anwender, etc. Ein weiteres Problem ist die Kürze der möglichen Beobachtungszeit, da aus Kostengründen und/oder aus terminlichen Gründen Testpersonen zumeist nur über einen vergleichsweise kurzen Zeitraum zur Verfügung stehen. Die solchermaßen gewonnen Informationen sind daher für die Praxis wenig aussagekräftig und führen nicht selten dazu, dass die Bedienoberfläche eines neuen Programmes nicht optimal auf die Praxisanforderungen eingestellt wird. Der Nachteil sind lang­ wierige und uneffiziente Anwendersitzungen, mit dem Ergebnis, dass der mögliche Nutzen eines Programmes nicht richtig ein­ geschätzt wird und demzufolge einem Konkurrenzprodukt der Vorzug gegeben wird.Progress brings ever more complex application programs with itself, with more and more functions, with a certain prob lem consists of calling various functions as simple as possible so that a user in based on the task as short as possible can solve a given program. Since the first development of a new program the exact type of use cannot be fully predicted because these may a. of practical factors such as the task, existing devices, Skill of the user, etc. depends on this so far tests before delivering a new program performed with test subjects using this program to solve tasks in a laboratory. Here who the individual operations by an observer such a test person is recorded often filmed with a video device. Possibly. are questions Comments and other statements by the test person as well recorded, and from this diverse information then conclusions about the practicality of the relevant program. This approach has proved not to be optimal, however, since the posed Tasks not from practice, special device confi gurations mostly go unnoticed, test subjects often did not have the same level of knowledge as the later did  neuter users, etc. Another problem is brevity the possible observation time, because of cost reasons and / or for scheduling reasons, test subjects mostly only through one comparatively short period of time are available. The Information obtained in this way is therefore for practical use not very meaningful and often lead to the fact that User interface of a new program is not optimal on the Practice requirements is set. The downside is long difficult and inefficient user sessions, with the result that the potential benefits of a program are not properly is valued and therefore a competitive product of Preference is given.

Aus diesen Nachteilen des Stands der Technik resultiert das die Erfindung initiierende Problem, eine Möglichkeit zu schaffen, mit der neue Programme mit geringstmöglichem Auf­ wand über einen langen Zeitraum hinweg unter realen Einsatz­ bedingungen auf ihre Anwender-, insbesondere Bedienungs­ freundlichkeit untersucht werden können, um präzise Anhalts­ punkte für eine Optimierung der Bedienoberfläche zu erhalten.This results from these disadvantages of the prior art problem initiating the invention, one way to create with the new programs with the least possible opening over a long period of time under real use conditions on your user, especially operating Friendliness can be examined to give precise clues get points for optimizing the user interface.

Die Lösung dieses Problems gelingt dadurch, dass bei einer, vorzugsweise jeder Eingabe, insbesondere vor dem Aufruf einer auszuführenden Funktion, von dem durch das zu optimierende Programm gesteuerten Computer selbsttätig Informationen zu der jüngsten Bedienungshandlung listenförmig in einen Proto­ kollspeicher eingetragen werden.The solution to this problem is achieved by preferably every entry, especially before calling one function to be performed, from which to be optimized Program controlled computer automatically information the most recent operation in list form in a proto coll storage can be entered.

Das optimierende Programm übernimmt damit zusätzlich die Auf­ gabe des Protokollierens der Bedienungshandlungen, so dass hierzu keine Laborbedingungen mehr erforderlich sind. Deshalb kann ein durch diese Funktionalität ergänztes Programm nach einer ersten Testphase bereits ausgeliefert werden und zeich­ net sodann die Benutzungshandlungen einschließlich aller da­ bei auftretender Probleme in einem Protokollspeicher auf. Durch Auslesen dieses Protokollspeichers kann der Programm­ hersteller sodann erkennen, ob von dem betreffenden Anwender die Möglichkeiten des neuen Programms ausgeschöpft werden, oder ob bspw. verschiedene Funktionalitäten nicht erkannt werden oder sonstige Probleme auftreten. Diese Informationen sind dabei weit aussagekräftiger als in einem Labor gemachte Studien und können ohne größere Schwierigkeiten über einen größeren Zeitraum von bspw. einem oder mehreren Monaten hin­ weg ohne Zusatzkosten durchgeführt werden.The optimizing program therefore also takes over of logging the operations so that no more laboratory conditions are required for this. Therefore can add a program with this functionality a first test phase are already delivered and net then the acts of use including all there if problems occur in a log memory. By reading this log memory, the program can manufacturers then recognize whether the user concerned  the possibilities of the new program are exploited, or whether, for example, different functionalities are not recognized or other problems arise. This information are far more meaningful than those made in a laboratory Studies and can be done without any major difficulties larger period of, for example, one or more months be done away at no extra cost.

Es hat sich als günstig erwiesen, dass in dem betreffenden Programm oder einem unterlagerten Programmteil eine Programm­ sequenz zum Sammeln, Aufbereiten und Eintragen von Informati­ onen in einen Protokollspeicher vorgesehen ist. Erfindungsge­ mäß wird nicht nur die einzelne Bedienungshandlung aufge­ zeichnet, bzw. ausgewertet, sondern auch Zusatzinformationen, bspw. über den betreffenden Anwender, den Zweck der Programm­ nutzung, über die verstrichene Zeit seit der vorangehenden Eingabe, über die Benutzung von Hilfefunktionen oder sonstige Kommentare. All diese Informationen werden im Anschluss an eine Eingabe von der erfindungsgemäßen Programmsequenz zusam­ mengestellt und in definierter Form in die Protokollliste eingetragen. Hierbei erforderliche Berechnungen wie bspw. die Zeitdifferenz zu der vorangehenden Eingabe kann diese Pro­ grammsequenz ebenso übernehmen wie die Zwischenspeicherung des Zeitpunktes der jeweils jüngsten Eingabe.It has proven to be beneficial in that Program or a subordinate part of a program sequence for collecting, processing and entering information is provided in a log memory. Erfindungsge it is not just the individual operating action that is performed draws or evaluates, but also additional information, For example, about the user concerned, the purpose of the program usage, over the elapsed time since the previous one Input, about the use of help functions or other Comments. All of this information is following an input from the program sequence according to the invention together placed in the protocol list in a defined form entered. Required calculations such as Time difference to the previous entry can this Pro Take over the gram sequence as well as the intermediate storage the time of the most recent entry.

Erfindungsgemäß ist weiterhin vorgesehen, dass die Protokol­ lierungs-Programmsequenz im Rahmen des Bedienungshandlungen interpretierenden Programmteils abgearbeitet wird. Jede manu­ elle Eingabe in einen Computer wird unabhängig von dem ver­ wendeten Eingabegerät wie Tastatur, Maus, drucksensitiver Bildschirm, etc. von einem derartiger Bedienungshandlungen interpretierenden Programmteil registriert und ausgewertet. Indem die erfindungsgemäße Programmsequenz in diesen Bedie­ nungshandlungen interpretierenden Programmteil eingekoppelt wird, können die einzelnen Funktionen bzw. die betreffenden Programmsequenzen völlig unverändert ablaufen. Außerdem ste­ hen zu diesem Zeitpunkt weitere Informationen, bspw. über das verwendete Eingabemedium, zur Verfügung, die bei Aufruf der betreffenden Funktion nicht mit übergeben werden und daher verloren gehen.According to the invention it is further provided that the protocol lation program sequence as part of the operating actions interpreting program part is processed. Every manu All input into a computer is independent of the ver used input device such as keyboard, mouse, pressure sensitive Screen, etc. from such operations interpreting program part registered and evaluated. By the program sequence according to the invention in this op program part interpreting action acts the individual functions or the relevant Program sequences run completely unchanged. Furthermore ste At this point, further information, e.g. about the  input medium used, available when the relevant function can not be transferred and therefore get lost.

Es liegt im Rahmen der Erfindung, dass die Protokollierungs- Programmsequenz die Struktur eines Unterprogramms hat, das von dem Bedienungshandlungen interpretierenden Programmteil aufgerufen wird. Ein derartiger Unterprogrammteil kann rela­ tiv leicht von dem Hauptprogramm abgetrennt werden, wenn die zu optimierende Software ihre endgültige Gestalt gefunden hat, wobei sodann ausschließlich in dem Hauptprogramm eine einzige Programmzeile gelöscht werden muss, nämlich der betreffende Unterprogrammaufruf.It is within the scope of the invention that the logging Program sequence has the structure of a subroutine that from the program part interpreting the operations is called. Such a subroutine part can rela tiv easily separated from the main program when the software to be optimized found its final shape has, then only in the main program only program line needs to be deleted, namely the relevant subroutine call.

Sofern der Durchlauf, insbesondere Aufruf der Protokollie­ rungs-Programmsequenz von einer Bedingung abhängig ist, die durch eine Eingabe ein- und/oder ausgeschalten werden kann, ist es dem einzelnen Anwender überlassen, ob er seine Bedie­ nungshandlungen aufzeichnen lassen will oder nicht. Somit kann das zu optimierende Programm während der Testphase in unveränderter Form an solche Anwender ausgeliefert werden, die mit einer Aufzeichnung während der Testphase einverstan­ den sind, und auch an solche Anwender, die sich hierfür nicht bereit erklärt haben.If the run, in particular calling the log program sequence depends on a condition that can be switched on and / or off by an input, it is up to the individual user to decide whether to wants to record actions or not. Consequently can the program to be optimized during the test phase in unchanged form are delivered to such users, who agree to a recording during the test phase are, and also to those users who are not have declared ready.

Die Erfindung lässt sich dahingehend weiterbilden, dass der Protokollspeicher einen Teil eines computereigenen Speichers darstellt, der durch Definition einer oder mehrere Protokoll­ dateien für entsprechende Einträge reserviert ist. Indem sol­ chermaßen auf einen bereits vorhandenen Speicherbaustein des betreffenden Computers zurückgegriffen wird, können die für die Durchführung des erfindungsgemäßen Verfahrens erforderli­ chen Änderungen auf reine Programmänderungen beschränkt wer­ den, so dass prinzipiell jeder Anwender eine derartige Test­ phase durchführen kann. The invention can be further developed in that the Log memory is part of a computer's own memory represents by defining one or more protocol files are reserved for corresponding entries. By sol to an existing memory module of the affected computer can be used for the implementation of the method according to the invention is required changes are limited to pure program changes the, so that in principle every user does such a test can perform phase.  

Weitere Vorzüge ergeben sich dadurch, dass die in den Proto­ kollspeicher einzutragenden Bedienungsschritte Informationen über die auszuführende Funktion, ggf. über die Person des ak­ tuellen Bedieners, das verwendete Eingabemedium, Zeitpunkt, Zweck, ggf. eingegebene Parameter oder sonstige Umstände wie Benutzung von Hilfestellungsfunktionen od. dgl. umfassen. Erst eine derartige Vielzahl von Informationen erlaubt es, realistische Aussagen darüber zu treffen, ob ein Anwender al­ le Möglichkeiten des neuen Programms erkannt hat oder ob ihm bestimmte Bedienungsmöglichkeiten nicht geläufig sind. U. a. gibt ein häufiger Wechsel des Eingabegerätes (wenn bspw. zwi­ schen einer Vielzahl von Tastenbetätigungen die Bedienung der Computermaus erforderlich ist) Hinweise auf notwendige Pro­ grammverbesserungen.Further advantages result from the fact that the proto Operating steps to be entered in the memory about the function to be performed, if necessary about the person of the ak current operator, the input medium used, time, Purpose, any parameters entered or other circumstances such as Use of help functions or the like. Include. Only such a large amount of information allows make realistic statements about whether a user al has recognized the possibilities of the new program or whether it certain operating options are not familiar. Among other things there is a frequent change of the input device (if, for example, between a variety of button presses to operate the Computer mouse is required) indications of necessary pro program improvements.

Ein weiteres, erfindungsgemäßes Merkmal liegt darin, dass die auszuführende Funktion durch eine zugeordnete, hierarchisch strukturierte Benennung definiert ist, die in einer Zuord­ nungsliste od. dgl. abgespeichert ist. Diese Hierarchie kann bei fensterorientierten Programmen mit in verschiedenen Fens­ tern zusammengefasst dargestellten Funktionen dadurch reali­ siert werden, dass jedem von einer hauptmenüartigen Bedien­ oberfläche aus zu öffnenden Fenster eine fortlaufende Nummer zugeordnet wird, und die in dem betreffenden Fenster aufge­ listeten Funktionen werden sodann ebenfalls durchnumeriert, wobei all diesen Funktionsnummern die durch einen Punkt abge­ setzte Nummer des betreffenden Fensters vorangestellt wird, bspw.: "2.3" bedeutet die dritte Funktion in dem zweiten Fenster, welches von dem Hauptmenü aus zu öffnen ist. Weitere Unterfunktionen einer Funktion können sodann ebenfalls durch einen Punkt abgesetzt als weitere Ziffern angehängt werden. Somit kann die hierarchische Struktur der Bedienungsoberflä­ che mit einfachsten Mitteln auf ein Zahlensystem abgebildet werden, so dass mit geringstem Speicherbedarf jede auch noch so komplexe Eingabe registriert werden kann. Another feature of the invention is that the function to be performed by an assigned, hierarchical structured naming is defined in an assignment list or the like is stored. This hierarchy can for window-oriented programs with in different windows functions summarized as a result be operated by a main menu-like operator Surface from the window to be opened is a consecutive number is assigned, and those in the window concerned listed functions are then also numbered consecutively, where all these function numbers are given by a period the number of the relevant window is prefixed, For example: "2.3" means the third function in the second Window that can be opened from the main menu. Further Sub-functions of a function can then also by one point off as additional digits. Thus, the hierarchical structure of the user interface mapped onto a number system with the simplest of means so that each with the least amount of memory so complex input can be registered.  

Es hat sich bewährt, dass die Person des aktuellen Bedieners durch Abfrage des zum Anmelden eingegebenen Kürzels oder, insbesondere bei in einem Computernetzwerk laufenden Anwen­ dungsprogrammen, anhand des zur Eingabe verwendeten Compu­ ters/Terminals ermittelt wird. Indem Eingaben von unter­ schiedlichen Bedienern voneinander unterschieden werden, kön­ nen insbesondere in komplexen Computernetzwerken die unter­ schiedlichen, gleichzeitig laufenden Aktionssequenzen ausei­ nandergehalten werden, so dass die Bedienungsprobleme bei aufeinanderfolgenden Eingaben eines Anwenders deutlich her­ vortreten.It has proven to be the person of the current operator by querying the abbreviation entered for registration or, especially for users running in a computer network programs based on the compu used for the input ters / terminals is determined. By input from below different operators can be distinguished from one another especially in complex computer networks different, simultaneously running action sequences be kept together, so that the operating problems consecutive entries by a user to step forward.

Bevorzugt wird der absolute oder relative Zeitpunkt der Be­ dienhandlung von einem computereigenen Zeitgeber abgeleitet, entweder durch die Speicherung des absoluten Zeitwertes oder durch Bestimmung der Zeitdifferenz zu dem vorangehenden und vorübergehend gespeicherten Bedienungszeitpunkt. Der Zeitbe­ zug einer Eingabe zu den vorangehenden Eingaben kann Rück­ schlüsse darüber liefern, ob ein Anwender sich möglicherweise unschlüssig war, wie er ein gegebenes Problem programmtech­ nisch lösen soll.The absolute or relative time of loading is preferred service action derived from a computer's own timer, either by storing the absolute current value or by determining the time difference from the previous and temporarily saved operating time. The Zeitbe an input to the previous entries can return provide conclusions about whether a user might was undecided how he programmtech a given problem niche should solve.

Die Erfindung bietet ferner die Möglichkeit, dass in den Pro­ tokollspeicher zu einer oder mehreren Bedienungshandlungen Kommentare in geschriebener und/oder gesprochener Form einge­ geben und abgespeichert werden können, bspw. über Zweck der aktuellen Computerbenutzung, über Vor- und Nachteile der Be­ dienungsoberfläche, etc. Hierbei ist daran zu denken, dass bspw. ein Anwender zu Beginn einer Programmnutzung die ge­ stellte Aufgabe kurz definiert, oder auch, dass bei ihm be­ sonders unpraktisch erscheinenden Programmteilen kritische Anmerkungen gespeichert werden.The invention also offers the possibility that in the Pro tokoll memory for one or more operations Comments in written and / or spoken form can be given and saved, e.g. on the purpose of the current computer use, about advantages and disadvantages of the Be service surface, etc. It should be remembered that For example, a user at the beginning of a program use the ge task briefly defined, or also that he was particularly seemingly impractical parts of the program Annotations are saved.

Mit großem Vorteil werden die protokollierten Daten statis­ tisch ausgewertet. Das erfindungsgemäße Verfahren erlaubt die Sammlung großer Datenmengen, die sodann bei einer statisti­ schen Auswertung gute Nährungswerte geben, so dass sehr exak­ te Aussagen über Vor- und Nachteile verschiedener Programmei­ genschaften möglich sind.The logged data becomes very useful evaluated table. The inventive method allows Collection of large amounts of data, which are then used in a statistical give good nutritional values so that it is very exact  statements about the advantages and disadvantages of different programs properties are possible.

Eine derartige statistische Auswertung kann von dem betref­ fenden Programm selbsttätig durchgeführt werden. Solchenfalls kann eventuell ein interessierter Anwender selbst Informatio­ nen über Bedienungsfehler erhalten und seine Programmiertech­ nik verbessern.Such a statistical evaluation can relate to the program can be carried out automatically. such Falls an interested user may be able to use Informatio received about operating errors and his programming tech nik improve.

Eine statistische Auswertung sollte im Anschluss an eine ab­ geschlossene und protokollierte Aktion vorgenommen werden. Solchenfalls lässt sich nach abgeschlossener Lösung einer ge­ stellten Aufgabe der gesamte, dabei beschrittene Lösungs- bzw. Bedienungsweg überprüfen, wobei die evtl. während der Bedienung aufgetretenen Probleme aufgrund der Vielzahl von Informationen deutlich erkennbar sind.A statistical evaluation should follow after one closed and logged action. In this case, a ge task the entire solution or check the operating path, the possibly during the Problems encountered due to the multitude of Information is clearly recognizable.

Eine weitere Optimierung lässt sich dadurch erreichen, dass im Rahmen der statistischen Auswertung einer abgeschlossenen Aktion ein Vergleich mit früheren Aktionen durchgeführt wird, um Ähnlichkeiten festzustellen. Durch das Herausfiltern von Ähnlichkeiten bei der Durchführung verschiedener Aktionen werden einzelne, auf Ungeschicklichkeiten oder sonstige Ein­ flussnahmen zurückzuführende Sonderfälle ausgeblendet und nur häufiger auftretende Bedienungsfehler erkannt.A further optimization can be achieved in that as part of the statistical evaluation of a completed Action a comparison is made with previous actions to find similarities. By filtering out Similarities in performing different actions become individual, due to awkwardness or other special cases to be attributed to flowmaps and only Operating errors that occur more frequently are recognized.

Die Erfindung erfährt eine vorteilhafte Ausgestaltung da­ durch, dass abgeschlossene Aktionen mit denselben Anfangs- und End-Interaktionspunkten in dieselbe Klasse eingestuft und gemeinsam statistisch ausgewertet werden. Es hat sich ge­ zeigt, dass eine Klassifizierung verschiedener Aktionen am besten anhand identischer Anfangs- und End-Interaktionspunkte möglich ist, da bei einem ähnlichen Ergebnis (End-Interak­ tion) auch eine ähnliche Aufgabenstellung vorausgesetzt wer­ den kann. The invention has an advantageous embodiment through that completed actions with the same initial and end interaction points classified in the same class and are statistically evaluated together. It has been shows that a classification of various actions on best based on identical starting and ending interaction points is possible because with a similar result (end interac tion) also assuming a similar task that can.  

Ein statistischen Auswertung kann bspw. derart erfolgen, dass hinsichtlich der Reihenfolge gemeinsame Bediensequenzen ge­ sucht und im Hinblick auf ihre Häufigkeit bewertet werden. Solche gemeinsamen Bediensequenzen bei abgeschlossenen Aktio­ nen derselben Klasse deuten darauf hin, dass die Anwender hierbei die vermeintlich ideale Bedienungsmöglichkeit gewählt haben. Dabei kann die zeitliche Reihenfolge derartiger Be­ diensequenzen schwanken, da bspw. verschiedene Formatierungs­ vorgänge in unterschiedlichen Reihenfolgen durchgeführt wer­ den können, etc. Stellt sich bspw. heraus, dass eine bestimm­ te Eingabereihenfolge sehr häufig auftritt, so könnte daran gedacht werden, diese Eingabeschritte zu einer Überfunktion zusammenzufassen, um dadurch den Anwender von dem häufig Wie­ derholen immer wiederkehrender Bedienungsschritte zu entlas­ ten.A statistical evaluation can take place, for example, in such a way that with regard to the sequence common operating sequences searches and be evaluated with regard to their frequency. Such common operating sequences when the action is completed same class indicate that users chosen the supposedly ideal operating option to have. The chronological order of such Be The sequences fluctuate because of different formatting, for example operations in different orders can, etc. It turns out, for example, that a certain order occurs very frequently, it could be because of this be thought of these input steps to overfunction to summarize the user of the often how repeat repeated operating steps th.

Durch Untersuchung der Zeitintervalle zwischen je zwei Inter­ aktionspunkten auf Extremwerte können bei besonders langen Zeitintervallen Hinweise auf Probleme bei der Auswahl der richtigen Eingabe gefunden werden, so dass an der betreffen­ den Stelle evtl. die Übersichtlichkeit des Programms verbes­ sert werden muss.By examining the time intervals between two inter Action points on extreme values can be particularly long Time intervals indicate problems with the selection of the correct input can be found so that at the concern maybe the clarity of the program verb needs to be set.

Im Anschluss an eine selbsttätige Statistik-Auswertung soll­ ten die ermittelten Statistik-Werte wie Bedienungssequenz- Häufungen, zeitliche Mittel- und/oder Extremwerte bei be­ stimmten Interaktionspunkten, etc. abgespeichert werden, da sie für folgende Berechnungen, insbesondere für die nächst­ folgenden Statistikauswertungen als Ausgangspunkt benötigt werden.Following an automatic statistical evaluation the determined statistical values such as operating sequence Accumulations, temporal averages and / or extreme values at be agreed interaction points, etc. can be saved because them for the following calculations, especially for the next one following statistical evaluations as a starting point become.

Die Erfindung lässt sich dadurch ergänzen, dass durch aktuell gespeicherte Statistik-Werte die betreffenden, zuletzt ge­ speicherten Statistik-Werte derselben Aktionsklasse über­ schrieben werden. Da insbesondere bei Häufungswerten eine ab­ geschlossene Aktion durch Inkrementieren des alten Häufig­ keitswertes berücksichtigt werden kann bzw. bei Extremwerten ein Vergleich mit bisher gespeichert Extremwerten anzeigt, ob der neue Wert den bisherigen überschreitet und daher fest­ gehalten werden muss, so tritt die neue und verbesserte In­ formation an die Stelle der bisher abgespeicherten Werte, die daraufhin überflüssig werden und gelöscht und/oder überspei­ chert werden können.The invention can be supplemented by the fact that current stored statistical values the relevant, last ge overstored statistics values of the same action class be written. Because especially in the case of cluster values, an ab closed action by incrementing the old frequent value can be taken into account or for extreme values  a comparison with previously stored extreme values shows whether the new value exceeds the previous one and is therefore fixed must be held, the new and improved In formation instead of the previously stored values, the thereupon become superfluous and deleted and / or copied can be saved.

Statistisch ausgewertete Aktionen können gelöscht und/oder durch die protokollierten Bedienungsinformationen einer neuen Aktion überschrieben werden, um während einer länger dauern­ den Testphase den Speicherbedarf für den Protokollspeicher niedrig zu halten. Es kann jedoch vorgesehen sein, dass bspw. eine vorgegebene Anzahl der jüngsten Aktionen vollständig ge­ speichert bleibt, um Vergleiche hinsichtlich der verschiede­ nen Bediensequenzen zuzulassen.Actions evaluated statistically can be deleted and / or through the logged operating information of a new one Action to be overwritten to last longer during a the test phase the memory requirement for the log memory to keep low. However, it can be provided that, for example. a predetermined number of recent actions completely remains to make comparisons regarding the various allow operating sequences.

Der Erfindungsgedanke erlaubt eine Weiterbildung dahingehend, dass Kommentare, Extremwerte od. dgl. in einen speziellen Speicherbereich geschrieben werden. Die Auswertung derartiger Kommentare kann nicht von dem Anwenderprogramm selbst vorge­ nommen werden, da dessen Intelligenz hierfür nicht ausreicht. Deswegen werden solche Informationen in einen hierfür reser­ vierten Speicherbereich geschrieben und dort möglichst bis zu einer manuellen Auswertung aufgehoben.The idea of the invention permits further training in that comments, extreme values or the like in a special Memory area can be written. The evaluation of such Comments cannot be pre-selected by the user program itself be taken because its intelligence is not sufficient for this. Therefore, such information is saved in a reser for this fourth memory area written and if possible up to manual evaluation canceled.

Zur Perfektionierung des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass nach einem definierten Ereignis, bspw. nach 200 durchgeführten Aktionen oder nach einem Zeitinter­ vall von bspw. 1 Monat, eine Modifikation der Bedienoberflä­ che anhand der Statistik-Ergebnisse vorgenommen wird. Im Rah­ men einer derartigen Modifikation können wie oben erläutert für besonders häufige Bediensequenzen Summenfunktionen defi­ niert werden, welche die automatische Abarbeitung der betref­ fenden Eingaben beinhalten. Hierfür können an der Bedienober­ fläche im Rahmen der jeweils ersten, auszuführenden Funktion Zusatz-Schaltflächen geschaffen werden, welche den Anwender von der umständlichen Eingabe immer wiederkehrender Bedien­ schritte entlasten. Die Schaffung derartiger Schaltflächen kann durch das erfindungsgemäße Programm automatisiert sein, so dass sich ein Programm mit einer "intelligenten" Bedien­ oberfläche ergibt, das sich nach jeweils kurzen Zeiträumen von bspw. einigen Wochen an besondere Erfordernisse des je­ weiligen Einsatzfalles oder auch an bestimmte Bedienungsge­ pflogenheiten einzelner Anwender anpasst.To perfect the method according to the invention be provided that after a defined event, e.g. after 200 actions performed or after a time interval vall of 1 month, for example, a modification of the user interface che based on the statistical results. In the frame Such a modification can be as explained above Define sum functions for particularly frequent operating sequences be niert, which the automatic processing of the concerned input. You can do this on the control panel area as part of the first function to be performed Additional buttons are created, which the user from the cumbersome input of recurring operators  relieve steps. The creation of such buttons can be automated by the program according to the invention, so that a program with an "intelligent" operator surface results after short periods of time from, for example, a few weeks to special requirements of each due to use or to certain operating areas customizations of individual users.

Schließlich entspricht es der Lehre der Erfindung, dass im Rahmen der Modifikation der Bedienoberfläche die am häufigs­ ten benutzten Funktionen jeweils an den Anfang einer hierar­ chischen Stufe gesetzt werden, etc. Eine weitere Möglichkeit zur Modifikation der Bedienoberfläche liegt darin, dass die Reihenfolge der Auflistung einzelner Funktionen in den ver­ schiedenen Fenstern der Bedienoberfläche derart geändert wird, dass die Funktionen nach ihrer Häufigkeit angeordnet werden. Dadurch kann bspw. bei einer Bedienung über ein Zei­ gerelement, das bspw. von einer Maus od. dgl. gesteuert wird, ein möglichst kurzer Bedienungszeitraum sichergestellt wer­ den, da das Zeigerelement immer in dem oberen Bereich des Bildschirms verbleiben kann.Finally, it corresponds to the teaching of the invention that in As part of the modification of the user interface the most frequently functions used at the beginning of a hierarchy level, etc. Another possibility to modify the user interface is that the Order of listing individual functions in the ver different windows of the user interface changed in this way is that the functions are arranged according to their frequency become. As a result, for example, when operating via a time device element which is controlled, for example, by a mouse or the like, the shortest possible service period ensured who because the pointer element is always in the upper area of the Screen can remain.

Weitere Merkmale, Einzelheiten, Vorteile und Wirkungen auf der Basis der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels der Er­ findung sowie anhand der Zeichnung. Hierbei zeigt:Other characteristics, details, advantages and effects on the basis of the invention result from the following Description of a preferred embodiment of the Er and the drawing. Here shows:

Fig. 1 ein Struktogramm des erfindungsgemäßen Verfahrensab­ laufs; Fig. 1 is a structure diagram of the procedure according to the invention;

Fig. 2 ein Beispiel für eine Protokollierungsdatei; sowie FIG. 2 shows an example of a log file; such as

Fig. 3 ein Beispiel für eine Statistikauswertung. Fig. 3 shows an example of a statistical evaluation.

Das in Fig. 1 wiedergegebene Struktogramm 1 zeigt einen Aus­ schnitt aus einem Anwendungsprogramm, und zwar den Bedie­ nungshandlungen interpretierenden Programmteil. Während der Abarbeitung eines Programms, das dazu ausgebildet ist, bei Eingabe bestimmter Anweisungen jeweils zugeordnete Funktionen auszuführen, befindet sich das System nach Abschluss der zu­ letzt auszuführenden Funktion in einem Warte- oder Bereit­ schaftszustand 2, wo die Formulierung der nächsten Anweisung über eines der angeschlossenen Eingabegeräte abgewartet wird. Sofern diese Eingabe 3, bspw. das Anwählen der einer Funktion zugeordneten Schaltfläche oder eine entsprechende, alphanume­ rische oder akustische Eingabe bspw. durch Drücken einer da­ für vorgesehenen Eingabe-Abschlusstaste vollendet wird, so wird, wie dies im Stand der Technik bisher auch üblich ist, die eingegebene Anweisung interpretiert, d. h. einem ausführ­ baren Funktions-Unterprogramm od. dgl. zugeordnet 4. Bei her­ kömmlichen Programmen wird nach diesem Verfahrensschritt 4 die Anfangsadresse des betreffenden Unterprogramms geladen und sodann diese Funktion ausgeführt 5. Nachdem diese beendet ist, springt ein herkömmliches System wieder in den Wartezu­ stand 2.The structure diagram 1 shown in FIG. 1 shows a section from an application program, namely the program part interpreting the operating actions. During the execution of a program which is designed to carry out assigned functions when certain instructions are entered, the system is in a waiting or ready state 2 after completion of the function to be executed last, where the formulation of the next instruction is via one of the connected ones Waiting for input devices. If this input 3 , for example the selection of a button assigned to a function or a corresponding alphanumeric or acoustic input is completed, for example, by pressing an input terminating key provided for this purpose, this will also be the case in the prior art , interprets the entered instruction, ie assigned an executable function subroutine or the like. 4. In conventional programs, the starting address of the relevant subroutine is loaded after this method step 4 and then this function is carried out. 5. After this has ended, a conventional one jumps System back in the waiting state 2 .

Diese Eingabeschleife kann zwar die Grundfunktion des Pro­ grammes sicherstellen, nach Abschluss einer Funktion sind je­ doch kaum noch Informationen verfügbar, welche Aufschluss darüber zu geben vermöchten, ob die betreffende Bedienhand­ lung bspw. auf einem anderen Weg kürzer hätte sein können. Um typische Bedienungsweisen zu erkennen und aufgrund derartiger Erkenntnisse bspw. die Bedienungsoberfläche optimieren zu können, ist in der aus dem Stand der Technik bekannten Einga­ beschleife eine Verzweigung zu einem erfindungsgemäßen Re­ gistrierungsprogramm 6 vorgesehen, und erst nach dessen Ab­ schluss findet die Funktionsausführung 5 statt.Although this input loop can ensure the basic function of the program, hardly any information is available after the completion of a function, which could provide information as to whether the operating action in question could have been shorter in another way, for example. To typical operation modes to detect and, for example, due to such findings. Optimize the user interface, is known from the prior art entranc beschleife a branch to an inventive Re gistrierungsprogramm 6 provided and closing the processing function 5 will take place only after its Ab.

Das Registrierungsprogramm sammelt Informationen über die ak­ tuelle Eingabe 3, bspw. über die hierarchische Gliederungs­ nummer der betreffenden Schaltfläche, die Bedienungsperson, das verwendete Eingabemedium, das Zeitintervall seit der vo­ rangehenden Bedienung, etc., und trägt diese Informationen als weitere Zeile in einem listenförmig organisierten Proto­ kollspeicher 7 ein 8.The registration program collects information about the current input 3 , for example about the hierarchical structure number of the button concerned, the operator, the input medium used, the time interval since the previous operation, etc., and carries this information as a further line in a list organized protocol storage 7 a 8.

In einem nächsten Schritt 9 wird abgefragt, ob durch die an­ gewählte Funktion eine Aktion abgeschlossen wird. Hierbei können Aktionen insbesondere durch bestimmte Abschlussbefehle definiert werden, beispielsweise wird eine durch Öffnen einer Datei eingeleitete Editierungssequenz durch eine Abspeiche­ rung der geänderten Datei abgeschlossen, so dass ein Speiche­ rungsbefehl als Abschluss einer Aktion angesehen werden kann. Handelt es sich bei der aktuellen Eingabe 3 um keinen derar­ tigen, eine komplexe Aktion abschließenden Befehl, so wird nach Abspeicherung der Bedienungsinformationen in die Proto­ kollliste 8 das angewählte Funktions-Unterprogramm 5 ausge­ führt, woraufhin das System wieder in den Warte- oder Bereit­ schaftszustand 2 zurückkehrt.In a next step 9 , a query is made as to whether an action is completed by the function selected. Actions can in particular be defined by certain completion commands, for example an editing sequence initiated by opening a file is completed by storing the changed file, so that a storage command can be regarded as the completion of an action. If the current input 3 is not such a command that completes a complex action, then after the operating information has been stored in the protocol list 8, the selected function subroutine 5 is executed, whereupon the system returns to the waiting or ready state 2 returns.

Ergibt sich bei der Abfrage 9, dass tatsächlich ein derarti­ ger Befehl eingegeben wurde, der den Abschluss einer komple­ xen Aktion markiert, so werden die der soeben abzuschließen­ den Aktion zugeordneten Einträge in dem Protokollspeicher 7 ausgewertet 10. Hierbei kann zunächst eine Klassifizierung der abgeschlossenen Aktion erfolgen, wobei das Öffnen, Ändern und Abspeichern einer Datei bspw. als "Editierungsaktion" eingestuft werden kann, während bspw. ein Abspeichern unter einer anderen Bezeichnung als "Duplizierungsaktion" bewertet werden kann, usf. Sodann kann ein Vergleich mit zuvor abge­ speicherten Eintragssequenzen desselben Sequenztyps vorgenom­ men werden, um bspw. gemeinsame Bedienungssequenzen herauszu­ filtern und deren Häufigkeit festzustellen. Ist eine entspre­ chende Bedienungssequenz bereits mehrmals aufgetreten, so ist bereits ein Häufigkeitswert hierfür vorhanden, und dieser kann nun inkrementiert werden. Anderenfalls wird ein neuer Häufigkeitswert angelegt. Außerdem kann für jede Schaltfläche eine mittlere Bedienungszeit errechnet werden, die bei jeder Betätigung derselben Taste oder Schaltfläche präzisiert wird. Dies ist möglich, wenn gleichzeitig mit dem alten Mittelwert auch die Häufigkeit der betreffenden Tastenbetätigung gespei­ chert wird, so dass der Einfluss der neuerlichen Tastenbetä­ tigung auf den Mittelwert exakt berücksichtigt werden kann. Weitere Auswerteschritte können sich auf die Intervallzeiten zwischen den einzelnen Bedienungsschritten beziehen, um hier besonders lange Wartezeiten zu erkennen und entsprechende Ex­ tremwerte zu notieren. Solche Extremwerte können dazu dienen, um gravierende Probleme eines Anwenders bei Anwahl einer Funktion zu erkennen, etc. Schließlich werden die aktuali­ sierten Auswertungsergebnisse abgespeichert.If the result of the query 9 that indeed a derarti ger command was entered, which marks the conclusion of a Komple xen action, which are the just complete the action associated entries evaluated in log memory 7 10. Here, first a classification of the completed action The opening, changing and saving of a file can, for example, be classified as an "editing action" while, for example, a saving under a different name can be evaluated as a "duplication action", etc. Then a comparison with previously saved entry sequences can be made Sequence types are undertaken, for example, to filter out common operating sequences and determine their frequency. If a corresponding operating sequence has already occurred several times, a frequency value is already available for this and this can now be incremented. Otherwise a new frequency value is created. In addition, an average operating time can be calculated for each button, which is specified each time the same button or button is pressed. This is possible if at the same time the frequency of the relevant key press is saved with the old mean value, so that the influence of the new key press on the mean value can be taken into account exactly. Further evaluation steps can refer to the interval times between the individual operating steps in order to recognize particularly long waiting times and to note the corresponding extreme values. Such extreme values can be used to identify serious problems for a user when a function is selected, etc. Finally, the updated evaluation results are saved.

Nach Abschluss dieser Auswertungssequenz 10 kann festgestellt werden 11, ob bei der jüngsten, abgeschlossenen Aktion Beson­ derheiten aufgetreten sind, bspw. die Inanspruchnahme einer Hilfefunktion oder das Einsprechen oder sonstige Eingeben ei­ nes Kommentars, das Beenden einer Aktion mittels Abbruch oder außergewöhnlich lange Pausen, etc. und sofern derartige Be­ sonderheiten aufgetreten sind, bleibt die betreffende Ein­ tragssequenz in der Protokollliste 8 weiterhin für eine manu­ elle Auswertung gespeichert, und anschließend wird die ange­ wählte Funktion ausgeführt 5.After completion of this evaluation sequence 10 , it can be determined 11 whether particularities have occurred in the most recent, completed action, e.g. using a help function or speaking or otherwise entering a comment, ending an action by aborting or exceptionally long pauses, etc and if such special features have occurred, the relevant entry sequence remains stored in the log list 8 for manual evaluation, and the selected function is then carried out 5.

Wurden dagegen bei der Abfrage 11 keine Besonderheiten der jüngsten Bedienungssequenz entdeckt, so sind von einer weite­ ren Speicherung von derselben keine zusätzlichen Informatio­ nen zu erwarten, und diese kann in einem folgenden Schritt 12 gelöscht werden, oder zumindest kann sodann die älteste, ge­ speicherte Aufzeichnung gelöscht werden, während bspw. die jüngsten 50 Aufzeichnungen als Referenz für den Vergleich mit späteren Bedienungssequenzen vorübergehend erhalten bleiben. Auch in diesem Fall wird anschließend die Funktion 5 ausge­ führt, und das Programm kehrt in den Wartezustand 2 zurück.On the other hand, if no particulars of the most recent operating sequence were discovered in query 11 , no additional information is to be expected from further storage thereof, and this can be deleted in a subsequent step 12 , or at least the oldest, stored record can then are deleted while, for example, the most recent 50 recordings are temporarily retained as a reference for comparison with later operating sequences. In this case too, function 5 is then executed and the program returns to waiting state 2 .

In Fig. 2 ist ein beispielhafter Auszug aus dem Protokoll­ speicher 7 wiedergegeben. Man erkennt die zeilenorientierte Abspeicherung der verschiedenen Datensätze 13, wobei jede Zeile dieselbe Struktur aufweist: Zunächst werden Bedienungs­ handlungen einzelnen Aktionen zugeordnet, die durch eine Be­ dienerspalte 14 von Aktionen anderer Bediener unterschieden werden. Von anderen Aktionen desselben Anwenders 14 wird die aktuelle Aktion durch einen individuellen Sequenznamen 15 un­ terschieden. Dieser Name kann dem Anwender überlassen werden, sofern dieser zur Eingabe zusätzlicher Informationen bereit ist. Ist dies nicht der Fall, kann der Sequenzname 15 bspw. einer automatisch generierten, fortlaufenden Nummer entspre­ chen.In Fig. 2, an exemplary extract from the log memory 7 is shown . One recognizes the line-oriented storage of the different data records 13 , each line having the same structure: First, operating actions are assigned to individual actions, which are distinguished from actions of other operators by an operator column 14 . The current action is distinguished from other actions by the same user 14 by an individual sequence name 15 . This name can be left to the user if he is ready to enter additional information. If this is not the case, the sequence name 15 can correspond, for example, to an automatically generated, consecutive number.

Im Rahmen einer solchenfalls durch identischen Bediener und identischen Sequenznamen charakterisierten Aktion werden so­ dann die einzelnen Bedienungsschritte 16 in je einer Daten­ zeile abgespeichert, und als Zusatzinformation wird die von dem erfindungsgemäßen Registrierungsprogramm berechnete In­ tervallzeit seit der letzten Eingabe im Rahmen der aktuellen Aktion abgespeichert 17. Dies kann bspw. dadurch erfolgen, dass sich das Registrierungsprogramm den absoluten Zeitpunkt einer Eingabe 3 anhand des computereigenen Zeitgebers merkt und sodann die Zeitdifferenz gegenüber diesem Wert aus dem aktuellen Stand des computerinternen Zeitgebers berechnet. Weiterhin kann das Registrierungsprogramm anhand solchenfalls gesetzter Merkerbits erkennen, ob eine Hilfefunktion des Pro­ grammes benutzt wurde, und die Information dieses Merkerbits wird in die Spalte 18 eingetragen, und ggf. zwischenzeitlich erfolgte, als Kommentar gekennzeichnete Eingaben werden in einer Spalte 19 notiert.In the event of an action characterized in this case by identical operators and identical sequence names, the individual operating steps 16 are then stored in one data line each, and the interval calculated by the registration program according to the invention since the last entry as part of the current action is stored 17 as additional information. This can be done, for example, by the registration program noting the absolute time of an input 3 on the basis of the computer's own timer and then calculating the time difference with respect to this value from the current state of the computer's internal timer. Furthermore, the registration program can recognize on the basis of flag bits set in this way whether a help function of the program has been used, and the information of this flag bit is entered in column 18 , and any entries which have been made in the meantime and marked as comments are noted in a column 19 .

Dabei muss ein Programm, das in einem Netzwerk mit mehreren Bedienern 14 gleichzeitig kommuniziert, bei der Protokollie­ rung für die Aktionen verschiedener Bediener 14 auch ver­ schiedene Speicherbereiche reservieren, so dass die zur sel­ ben Aktion desselben Anwenders zu zählenden Bedienungshand­ lungen in fortlaufenden Datenzeilen 13 eingetragen werden.A program that communicates in a network with several operators 14 at the same time must reserve various storage areas for the logging of the actions of different operators 14 , so that the operations to be counted for the same action by the same user are entered in continuous data lines 13 become.

Für eine statistische Auswertung 10 sind sodann zunächst die jeweils ersten und letzten Bedienschritte 16 interessant, da diese eine Zuordnung zu bestimmten Klassen erlauben. Bei der Auszugsweisen Darstellung nach Fig. 2 wurden solche Aktionen ausgewählt, die derselben Klasse angehören, da sie beide mit der Funktion 1.1 beginnen und (in Fig. 2 nicht dargestellt) jeweils mit der Funktion 3.1 enden. Die vollständigen Auf­ zeichnungen dieser beiden Aktionen sind in Fig. 3 wiedergege­ ben. Es handelt sich hierbei um eine rasterartige Darstel­ lung, wobei die Abszisse der mit eins beginnend gezählten Ordnungszahl des betreffenden Bedienungsschrittes innerhalb der jeweiligen Aktion entspricht, während als Ordinate alle vorhandenen Schaltflächen bzw. Funktionen in hierarchisch ge­ gliederter Form aufgetragen sind, d. h. die Zeile 1.1 ent­ spricht der ersten Funktion des ersten, vom Hauptmenü aus zu öffnenden Fensters, während die Zeile 1.2 der zweiten Funkti­ on desselben Fensters zugeordnet ist, etc.For a statistical evaluation 10 , the first and last operating steps 16 are then of interest, since they allow an assignment to certain classes. In the pull-wise representation of FIG. 2 such actions were selected which belong to the same class because they both start with the function and 1.1 (in Fig. 2 not shown) each end with the function 3.1. The complete recordings of these two actions are shown in Fig. 3 ben. This is a raster-like representation, the abscissa of the ordinal number of the relevant operating step starting with one corresponding to the respective action, while all the existing buttons or functions are plotted in hierarchical form as ordinate, ie line 1.1 ent speaks the first function of the first window to be opened from the main menu, while line 1.2 is assigned to the second function of the same window, etc.

Man erkennt aus dieser Gegenüberstellung der beiden Aktionen 20, 21, dass in beiden Fällen bestimmte Bediensequenzen iden­ tisch sind, bspw. die 9. bis 12. Bedienungshandlung, außerdem entspricht die 12. bis 16. Bedienungshandlung bei der Aktion 20 der 13. bis 17. Bedienungshandlung bei der Aktion 21, und in ähnlicher Form sind die Bedienungshandlungen 20 bis 24 der Aktion 20 identisch mit den Bedienungshandlungen 21 bis 25 der Aktion 21. Sofern diese Eingabesequenzen auch bei weite­ ren, aufgezeichneten Aktionen vorhanden sind, so könnte die Bedienungsoberfläche bspw. dadurch optimiert werden, dass ei­ nem Aufeinanderfolgen der verschiedenen Bedienungshandlungen einer solchen Sequenz eine gemeinsame Funktion mit einer ei­ genen Schaltfläche zugeordnet wird, die u. U. sogar in das Hauptmenü aufgenommen werden könnte, so dass jeweils mit nur einer einzigen Eingabe ein ganzer Satz von Programmschritten abgearbeitet werden kann.It can be seen from this comparison of the two actions 20 , 21 that in both cases certain operating sequences are identical, for example the 9th to 12th operation, and the 12th to 16th operation in action 20 corresponds to the 13th to 17th . operating action in action 21, and in similar form, the operation of acts 20 and 24 of the action 20 identical with the control actions 21 to 25 of the action 21. If these input sequences are also available for other recorded actions, the user interface could be optimized, for example, by assigning a common function with its own button to a sequence of the different operating actions of such a sequence. It could even be included in the main menu, so that an entire set of program steps can be processed with just a single entry.

Andererseits zeigen die aufgezeichneten Informationen (Fig. 2) im Rahmen der Aktion 21, dass vor Eingabe der Funktion 1.4 ein außergewöhnlich langer Zeitraum verstrichen ist und dar­ über hinaus sogar eine Hilfefunktion in Anspruch genommen wurde, und diese Extremwerte können abgespeichert werden, um bei einer Häufung derartiger Extremwerte die betreffende Funktion für den Anwender transparenter zu machen, indem die­ se bspw. in mehrere Schritte aufgeteilt wird, auf Wunsch des Anwenders umbenannt wird oder sonst wie modifiziert wird.On the other hand, the recorded information ( FIG. 2) in the context of action 21 shows that an extraordinarily long period of time had passed before the function 1.4 had been entered and, in addition, a help function was also used, and these extreme values can be stored in order to be used in a Accumulation of such extreme values to make the relevant function more transparent for the user, for example by dividing it into several steps, renaming it at the request of the user or otherwise modifying it.

All diese Modifikationen können nach Durchlauf einer genügen­ den Anzahl von Aufzeichnungen und somit bei ausreichender Si­ cherheit der Statistikdaten von dem erfindungsgemäßen Pro­ grammteil ggf. selbständig ausgeführt oder ausgelöst werden oder auf Anfrage des Anwenders vorgeschlagen werden.All of these modifications can be sufficient after one run the number of records and thus with sufficient Si security of the statistical data from the inventive Pro part of the gram may be executed or triggered independently or suggested at the user's request.

Claims (24)

1. Verfahren zur Gewinnung von Daten für die Optimierung der Struktur eines von einem Computer abgearbeiteten Pro­ gramms, insbesondere Anwendungsprogramms, das auf vordefi­ nierte Eingaben an einem mit dem Computer gekoppelten Bedie­ nungsgerät jeweils zugeordnete Funktionen ausführt, da­ durch gekennzeichnet, dass bei einer, vorzugsweise jeder Eingabe (3), insbesondere vor dem Aufruf einer auszuführenden Funktion (5) von dem durch das zu opti­ mierende Programm gesteuerten Computer selbsttätig Informati­ onen zu der jüngsten Bedienungshandlung listenförmig in einen Protokollspeicher (7) eingetragen (8) werden.1. A method for obtaining data for the optimization of the structure of a program processed by a computer, in particular an application program that performs assigned functions on predefined inputs on an operating device coupled to the computer, as characterized in that at one, preferably Each entry ( 3 ), in particular before the call of a function to be performed ( 5 ) by the computer controlled by the program to be optimized, information on the most recent operating action is entered in a list in a log memory ( 7 ) ( 8 ). 2. Verfahren nach Anspruch 1, dadurch ge­ kennzeichnet, dass in dem betreffenden Programm oder einem unterlagerten Programmteil eine Programmsequenz (6) zum Sammeln, Aufbereiten und Eintragen (8) von Informati­ onen in einen Protokollspeicher (7) vorgesehen ist.2. The method according to claim 1, characterized in that a program sequence ( 6 ) for collecting, processing and entering ( 8 ) of information is provided in a log memory ( 7 ) in the relevant program or a subordinate program part. 3. Verfahren nach Anspruch 2, dadurch ge­ kennzeichnet, dass die Protokollierungs-Pro­ grammsequenz (6) im Rahmen des Bedienungshandlungen interpre­ tierenden Programmteils (4) abgearbeitet wird.3. The method according to claim 2, characterized in that the logging program sequence ( 6 ) is processed as part of the operating actions interpreting program part ( 4 ). 4. Verfahren nach Anspruch 3, dadurch ge­ kennzeichnet, dass die Protokollierungs-Pro­ grammsequenz (6) die Struktur eines Unterprogramms hat, das von dem Bedienungshandlungen interpretierenden Programmteil (4) aufgerufen wird.4. The method according to claim 3, characterized in that the logging program sequence ( 6 ) has the structure of a subroutine which is called by the operating part interpreting program part ( 4 ). 5. Verfahren nach einem der Ansprüche 2-4, dadurch gekennzeichnet, dass der Durchlauf, insbesonde­ re Aufruf der Protokollierungs-Programmsequenz (6) von einer Bedingung abhängig ist, die durch eine Eingabe ein- und/oder ausgeschalten werden kann. 5. The method according to any one of claims 2-4, characterized in that the run, in particular re calling the logging program sequence ( 6 ) is dependent on a condition that can be switched on and / or off by an input. 6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Proto­ kollspeicher (7) einen Teil eines computereigenen Speichers darstellt, der durch Definition einer oder mehrerer Proto­ kolldateien für entsprechende Einträge (13) reserviert ist.6. The method according to any one of the preceding claims, characterized in that the protocol memory ( 7 ) is part of a computer memory which is reserved for corresponding entries ( 13 ) by defining one or more protocol files. 7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die in den Protokollspeicher (7) einzutragenden (8) Bedienungsinformati­ onen (13) Informationen über die auszuführende Funktion (16), ggf. über die Person des aktuellen Bedieners (14), das ver­ wendete Eingabemedium, Zeitpunkt (17), Zweck (15), ggf. ein­ gegebene Parameter oder sonstige Umstände wie Benutzung von Hilfestellungsfunktionen (18) od. dgl. umfassen.7. The method according to any one of the preceding claims, characterized in that the ( 8 ) operating information ( 13 ) to be entered into the log memory ( 7 ) contains information about the function to be performed ( 16 ), possibly about the person of the current operator ( 14 ), the input medium used, time ( 17 ), purpose ( 15 ), possibly a given parameter or other circumstances such as use of assistance functions ( 18 ) or the like. 8. Verfahren nach Anspruch 7, dadurch ge­ kennzeichnet, dass die auszuführende Funktion (5) durch eine zugeordnete, hierarchisch strukturierte Benennung (16) definiert ist, die in einer Zuordnungsliste od. dgl. ab­ gespeichert ist.8. The method according to claim 7, characterized in that the function to be executed ( 5 ) is defined by an assigned, hierarchically structured designation ( 16 ), which is stored in an assignment list or the like. 9. Verfahren nach einem der Ansprüche 7 oder 8, da­ durch gekennzeichnet, dass die Person des aktuellen Bedieners (14) durch Abfrage des zum Anmelden ein­ gegebenen Kürzels oder, insbesondere bei in einem Computer­ netzwerk laufenden Anwendungsprogrammen, anhand des zur Ein­ gabe (3) verwendeten Computers/Terminals ermittelt wird.9. The method according to any one of claims 7 or 8, characterized in that the person of the current operator ( 14 ) by querying the given abbreviation for logging in or, in particular in the case of application programs running in a computer network, on the basis of the input ( 3 ) computers / terminals used is determined. 10. Verfahren nach einem der Ansprüche 7 bis 9, da­ durch gekennzeichnet, dass der absolute oder relative Zeitpunkt (17) der Bedienhandlung (3) von einem computereigenen Zeitgeber abgeleitet wird, entweder durch die Speicherung des absoluten Zeitwertes oder durch Bestimmung der Zeitdifferenz zu dem vorangehenden und vorübergehend ge­ speicherten Bedienungszeitpunkt. 10. The method according to any one of claims 7 to 9, characterized in that the absolute or relative time ( 17 ) of the operating action ( 3 ) is derived from a computer's own timer, either by storing the absolute time value or by determining the time difference to that previous and temporarily saved operating time. 11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in den Protokollspeicher (7) zu einer oder mehreren Bedienungshand­ lungen (3) Kommentare (19) in geschriebener und/oder gespro­ chener Form eingegeben und abgespeichert werden können, bspw. über Zweck der aktuellen Computerbenutzung, über Vor- und Nachteile der Bedienungsoberfläche, etc.11. The method according to any one of the preceding claims, characterized in that comments ( 19 ) in written and / or spoken form can be entered and stored in the log memory ( 7 ) for one or more operating actions ( 3 ), for example by purpose current computer use, advantages and disadvantages of the user interface, etc. 12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die proto­ kollierten Daten (7, 13) statistisch ausgewertet werden (10).12. The method according to any one of the preceding claims, characterized in that the protocolled data ( 7 , 13 ) are statistically evaluated ( 10 ). 13. Verfahren nach Anspruch 12, dadurch ge­ kennzeichnet, dass eine statistische Auswertung (10) von dem betreffenden Programm selbst durchgeführt wird.13. The method according to claim 12, characterized in that a statistical evaluation ( 10 ) is carried out by the program in question itself. 14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass eine statistische Auswer­ tung (10) im Anschluss an eine abgeschlossene und protokol­ lierte Aktion (20, 21) vorgenommen wird.14. The method according to claim 12 or 13, characterized in that a statistical evaluation ( 10 ) is carried out after a completed and logged action ( 20 , 21 ). 15. Verfahren nach einem der Ansprüche 12 bis 14, da­ durch gekennzeichnet, das s im Rahmen der statistischen Auswertung (10) einer abgeschlossenen Aktion (20, 21) ein Vergleich mit früheren Aktionen durchgeführt wird, um Ähnlichkeiten festzustellen.15. The method according to any one of claims 12 to 14, characterized in that s within the statistical evaluation ( 10 ) of a completed action ( 20 , 21 ) a comparison with previous actions is carried out to determine similarities. 16. Verfahren nach einem der Ansprüche 12 bis 15, da­ durch gekennzeichnet, dass abgeschlossene Aktionen (20, 21) mit denselben Anfangs- und End-Interak­ tionspunkten (16) in dieselbe Klasse eingestuft und gemeinsam statistisch ausgewertet werden (10).16. The method according to any one of claims 12 to 15, characterized in that completed actions ( 20 , 21 ) with the same start and end interaction points ( 16 ) classified in the same class and jointly evaluated ( 10 ). 17. Verfahren nach einem der Ansprüche 12 bis 16, da­ durch gekennzeichnet, dass bei der sta­ tistischen Auswertung (10) hinsichtlich der Bedienreihenfolge gemeinsame Bediensequenzen gesucht und hinsichtlich ihrer Häufigkeit bewertet werden.17. The method according to any one of claims 12 to 16, characterized in that common operating sequences are searched for in the statistical evaluation ( 10 ) with regard to the operating sequence and their frequency is evaluated. 18. Verfahren nach einem der Ansprüche 12 bis 17, da­ durch gekennzeichnet, dass die Zeitinter­ valle (17) zwischen je zwei aufeinanderfolgenden Interakti­ onspunkten (3, 16) auf Extremwerte untersucht werden.18. The method according to any one of claims 12 to 17, characterized in that the time intervals ( 17 ) between two successive interaction points ( 3 , 16 ) are examined for extreme values. 19. Verfahren nach einem der Ansprüche 12 bis 18, da­ durch gekennzeichnet, dass im Anschluss an eine selbsttätige Statistik-Auswertung (10) die ermittel­ ten Statistik-Werte wie Bedienungssequenz-Häufungen, zeitli­ che Mittel- und/oder Extremwerte bei bestimmten Interaktions­ punkten (16), etc. abgespeichert werden.19. The method according to any one of claims 12 to 18, characterized in that following an automatic statistical evaluation ( 10 ), the determined statistical values such as clusters of operating sequences, temporal mean and / or extreme values for certain interaction points ( 16 ), etc. can be saved. 20. Verfahren nach einem der Ansprüche 12 bis 19, da­ durch gekennzeichnet, dass durch aktuell gespeicherte Statistik-Werte die entsprechenden, zuletzt ge­ speicherten Statistik-Werte derselben Aktionsklasse über­ schrieben werden.20. The method according to any one of claims 12 to 19, there characterized by that by currently stored statistics values the corresponding, last ge overstored statistics values of the same action class be written. 21. Verfahren nach einem der Ansprüche 12 bis 20, da­ durch gekennzeichnet, dass statistisch ausgewertete Aktionen (20, 21) gelöscht und/oder durch die protokollierten Bedienungsinformationen (13-19) einer neuen Aktion (20, 21) überschrieben werden.21. The method according to any one of claims 12 to 20, characterized in that statistically evaluated actions ( 20 , 21 ) are deleted and / or overwritten by the logged operating information ( 13-19 ) of a new action ( 20 , 21 ). 22. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, dass Kommentare (19), Extremwerte od. dgl. in einen speziellen Speicherbe­ reich geschrieben werden.22. The method as claimed in one of the preceding claims, characterized in that comments ( 19 ), extreme values or the like are written into a special memory area. 23. Verfahren nach einem der Ansprüche 12 bis 22, da­ durch gekennzeichnet, dass nach einem vordefinierten Ereignis, bspw. nach 200 durchgeführten Aktio­ nen (20, 21) oder einem Zeitintervall von bspw. 1 Monat, eine Modifikation der Bedienoberfläche anhand der Statistik-Ergeb­ nisse vorgenommen wird.23. The method according to any one of claims 12 to 22, characterized in that after a predefined event, for example. After 200 actions ( 20 , 21 ) or a time interval of, for example, 1 month, a modification of the user interface based on the statistics Results is made. 24. Verfahren nach Anspruch 23, dadurch ge­ kennzeichnet, dass im Rahmen der Modifikation der Bedienoberfläche die am häufigsten benutzten Funktionen (16) jeweils an den Anfang einer hierarchischen Stufe gesetzt wer­ den, etc.24. The method according to claim 23, characterized in that in the context of the modification of the user interface, the most frequently used functions ( 16 ) are each placed at the beginning of a hierarchical level, etc.
DE10124414A 2001-04-02 2001-05-18 Process for obtaining data for the optimization of program structures Withdrawn DE10124414A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10124414A DE10124414A1 (en) 2001-04-02 2001-05-18 Process for obtaining data for the optimization of program structures
EP02006485A EP1248196A3 (en) 2001-04-02 2002-03-22 Data acquisition method for program structure optimisation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10116334 2001-04-02
DE10124414A DE10124414A1 (en) 2001-04-02 2001-05-18 Process for obtaining data for the optimization of program structures

Publications (1)

Publication Number Publication Date
DE10124414A1 true DE10124414A1 (en) 2002-10-17

Family

ID=7680068

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10124414A Withdrawn DE10124414A1 (en) 2001-04-02 2001-05-18 Process for obtaining data for the optimization of program structures

Country Status (1)

Country Link
DE (1) DE10124414A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004014885A1 (en) * 2004-03-26 2005-11-03 Giesecke & Devrient Gmbh Portable data medium e.g. smart card, program optimizing method, involves acquiring statistical data related to program unit, with help of diagnostic unit, and implementing diagnostic unit as component of program unit for acquiring data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004014885A1 (en) * 2004-03-26 2005-11-03 Giesecke & Devrient Gmbh Portable data medium e.g. smart card, program optimizing method, involves acquiring statistical data related to program unit, with help of diagnostic unit, and implementing diagnostic unit as component of program unit for acquiring data
DE102004014885B4 (en) * 2004-03-26 2016-04-14 Giesecke & Devrient Gmbh Method for optimizing a program of a portable data carrier

Similar Documents

Publication Publication Date Title
EP0907912B1 (en) Synchronisation process
EP1071937B1 (en) System and method for configuring and/or parameterising a diagnostic device
DE10039538B4 (en) Apparatus and method for analyzing the performance of a computer program
WO2005076129A1 (en) Method for configuring a computer program
DE60219821T2 (en) METHOD AND DEVICE FOR RECONSTRUCTING TIME TRIATS RELATED TO AN ACTIVITY
DE4108124A1 (en) SYSTEM FOR RECORDING AND ANALYZING VEHICLE MOVEMENT DATA AND RECORDING DEVICE
EP0838054B1 (en) Graphic control process and device for controlling operations in a network management system
DE10124414A1 (en) Process for obtaining data for the optimization of program structures
DE19854754A1 (en) Method, editor, computer, control module and storage means for editing configuration data for telecommunication systems
EP3812949A1 (en) Configurable digital twin
EP1248196A2 (en) Data acquisition method for program structure optimisation
DE60132517T2 (en) Process and system for print scheduling, storage medium for a print scheduling program
DE102007057998A1 (en) Automated data processing reconstruction system and method
EP3625676B1 (en) Method for supporting a user in the creation of a software application and computer program using an implementation of the method and programming interface which can be used in such a method
EP1681798A1 (en) Facultative logging
EP0548398A1 (en) Method for management of programs and data, and a computer system for carrying out such a method
WO2001075685A1 (en) Method and system for recording and saving data from a production plant
DE4323787A1 (en) Procedure for testing an object-oriented program
DE102014211586B3 (en) Use dependency records when deploying and / or reviewing MR measurement sequences
DE10007599A1 (en) Program operating method for licensing computer software for set period - requests new utilisation code before utilisation limit is reached and determines new limit from new code
DE102009018062A1 (en) Method for controlling the image recording and / or image evaluation on an image recording device and image recording device
WO2006048346A1 (en) Method for processing data, filter computer, and computer program product
DE3130409C2 (en) Method for starting programs at variable time intervals in central control units of telephone switching systems
DE10139761B4 (en) Computer arrangement in the form of a client / server system with a file of a markup language for the parameterization of an automatic query and corresponding method
DE102004014885B4 (en) Method for optimizing a program of a portable data carrier

Legal Events

Date Code Title Description
8141 Disposal/no request for examination