Tutorial for URGenT System 1 Introduction 1.1 URGent 1.1 Description URGenT (User Re-Generation Tool) is a tool which coverts a text based, system oriented user interface in legacy system, into a graphical based, task oriented user interface, for each particular task. 1.2 Differences from version 1.0 -Version 1.1: a) The confirm analysis should go directly into the GUI generation b) Design GUI button should work as long as it was done in the past. Shouldn't have to confirm analysis again. From the menu or button it doesn't work, and gives an error dialog. 1.3 Prerequisites Before we use the URGenT system, two pieces of software—CelPilot and Recorder (developed in CEL Corporation of Edmonton) -- are used for retrieving necessary information of host system and the interaction between system and the expert user. We assume the expert user is familiar with the structure, functionality and meaning of the system, as well as of each task she is to perform in the system. Recorder is used to record the user-system interaction for each task, identify the unique set of screens and actions, and save the traces for URGenT to analyze. CelPilot is used to interact with a legacy system using that information captured in the recorded sessions, so that sessions can be played back and re-run with the new GUI. 1.4 Terminology In order to use the URGenT system, you must first know the terminology it uses. First of all, TASK mentioned here is not just a single step of action, but a terminology for the objective that one user may want to achieve, while she works with the host system. Since we focus on the information system in this tutorial, the task may be accessing or retrieving some particular data in the system, or developing some report of the information from the system, etc. URGenT uses several extra terminology for the purpose of analyzing task. They will help us to classify the variables entered by the user and the information told by the system. CONSTANT : the special keystroke such as function key, or the variable with fixed value that must be entered in the host system screen, in order to achieve one task. Those variables normally appear on the same screen in every trace of the same task. RECURRENT VARIABLE : the input variable, which has two or more occurrences in the same trace of one task, and has the same multiple occurrences in all the traces for the same task, but with different value across traces. DERIVED VARIABLE : in the tutorial, we assume the input from the user is either from her own knowledge or from previous screen of the system, we call the second type of input variable as derived variable. STANDARD SCREEN: special screen for one task, which always has the fixed area of information interested (i.e. highlighted) by the user. SELECTIVE SCREEN: all the other interested screens for the task, which have different area of information highlighted across traces of the same task, we call them as SELECTIVE SCREENs. 2 General URGenT interface Information Figure 1 User Re-GENeration Tool (URGENT) Welcome screen When you run the URGenT system, a main window as above will open. It has a brief introduction of all menus and their functionality. From the figure, you can notice there are six menus in the system: Task Recording, Task Analysis, GUI Generation, GUI Demo, Clean System and Help/Exit the system. 2.1 Task Analysis Figure 2 URGENT Menus When you click on the second menu item, i.e. “Specify Task Name”, the tab with the list of task names come to the foreground. Because URGenT is a task oriented system, you must select one task from the list before using this system, and all the following analysis, GUI design and demo is according to this selected task. When you click on the third menu item, i.e. “Analyze and Confirm”, URGenT will analyze all the traces recorded for the selected task, and classify the variables and screens into several types. Then, a table will pop up with basic information of the analysis result. You can decide to save the result or abandon the analysis result. 2.2 GUI Generation When you click on the second menu item, i.e. “Design GUI”, a graph appears and shows the trace of the new GUI, which is automatically developed for this task. Left click on each node on the graph, you can see the default screen represented by this node. Right click on each node, a list will pop up with all the interaction objects in this screen, and let you change the presentation of each interaction object with your preferred graphical object. Notice: default graphical object to each interaction object is text field. 2.3 GUI Demo Figure 3 URGENT connection dialog (same as recorder's) When you click on the first menu item, i.e. “Connect with System”, one dialog pop up, and allow you connect with on-line system, or off-line system, so that you can perform the real task interaction with the real system. When you click on the third menu item, i.e. “Show Real Interaction”, the first page of the developed GUI for this task will appear. You can interact with the connected system through the new GUI, and perform the selected task. 2.4 Clean System When you click on the first menu item, i.e. “Disconnect”, the system you just connected will be disconnected. These now apply to the submenu under “Delete Records”: When you click on the first menu item, i.e. “Delete Analysis record”, a dialog will pop up, and ask if you really want to delete the analysis result for the selected task. When you click on the second menu item, i.e. “Delete Generated GUI”, a dialog will pop up, and ask if you really want to delete the GUI design for the selected task. When you click on the third menu item, i.e. “Delete All Records”, a dialog will pop up, and ask if you really want to delete all the analysis result and GUI design for the selected task. 2.5 Help/Exit These two menu items are on the submenu below “Help”: When you click on the first menu item, i.e. “About URGenT”, a dialog will pop up, and tell you the version and generated time of URGenT system. When you click on the second menu item, i.e. “To Help Page”, the text area of the main window will show the brief introduction of main menu again. When you click on the third menu item, i.e. “Exit”, a dialog will pop up, and let you decide if you really want to exit the system or not. 3 Using URGenT in an Example In order to explain concisely and clearly how to use this system, we go through one example with an off-line system. Now, we connect with off-line liberty.scr file, and try to perform a hypothetical task in the Insurance Information System, which is to generate a report for a particular customer’s accident. 3.1 Task Analysis First, select “accident report” task from the tab shown below. The first five buttons on the right of this screen are in the order that a typical user would access the functionality of URGenT. For this example we assume that you have gone through the demo for the RECORDER and you have been able to capture and identify the screens and actions of a legacy system. Figure 4 URGenT function tab The second button allows the user to incorporate calculations that occur outside the legacy system that may use data from the legacy system. Its purpose is to record when numbers from an outside calculation get pasted into the legacy system as input. A quick look at that screen is below. Figure 5 Adding outside Calculations to the Recorded trace. The next three buttons are where most discussion is required. Upon pressing “Analyze and Confirm” the automatic analysis of the recorded data takes place. The next step is optional, but is useful for visualizing the results for research purposes. A window appears which contains all the variables grouped in different variable types, and asks for confirmation or correction. We explain how to use it in the following subsection (3.2) Confirmation of Analysis Result. 3.2 Confirmation of Analysis Result 3.2.1 User Confirmation There are currently four things that currently need to be confirmed by the ‘expert user’ after the analysis of the trace information. Namely: Are the Strings guessed to be constants actually constants? Are the Input Strings, that are currently the same, always the same and therefore recurrent variables? Are the Input Strings that are the same as previous output, actually derived from that output and therefore derived variables? Does the screen data that appears on this screen always appear in the same (static) location? The analysis produces guesses that all of the above statements are true and the ‘expert user’ needs to confirm these guesses. A task must first be selected in this window. The pulldown box at the top of the screen (shown below) contains a list of all the user-defined tasks. There is a highlighted instruction (in green) that indicates the stage of confirmation the ‘expert user’ is at. Figure 6 Question AND Answer (QANDA) visualization interface The ‘expert user’ is lead through the entire question and answer process. The user is always asked (in the highlighted green area above) to either agree or disagree with the guess made by the automated analysis. The list on the left contains variables guessed to have a certain state (given in the highlighted green area above). All rejected values (those the ‘expert user’ knows were not guessed correctly) can be removed from the list by right clicking on the area below the list and making a choice from the menu (see figure 4-4 for the menu) To help with the process of deciding whether the computed guesses were right there are 4 different views on the data on the tabs to the right. There is a menu that opens on a right click within these views that gives extra options which allow the user to see more detailed information like a full size view of the legacy system’s text screen. These screens are described in more detail in the next section (3.2.2) Visualize the Information Flow. Figure 7 QANDA global variables and list menu Once all the confirmed values are left in the list box and the rejected ones have been removed, the data can be saved back to the database using the same option box as above. The lists will be updated with the new values that now need to be confirmed. After four rounds of confirmations (as indicated at the top of this discussion) this window can be closed and the analysis will continue. 3.2.2 Visualize the Information Flow. The ‘expert user’ may also wish to visualize where this data appeared on the screens and the circumstances surrounding its input: all the screens and transitions that occurred during that trace. If the user would like to see the actual screens on which the data appears or the sequence of screens that surround an input then one of the three buttons on the right can be selected after highlighting the value in the list that is of interest (NOTE: If more than one value in the list is selected then the first value encountered will be taken as the one of interest). Figure 8 Legacy system Screen sample (we've talked a lot about them and here is one) The screen above shows miniature views of the 3270 terminal screens (80x24 characters). The screens are in chronological order as they appear in the trace. The variable of interest is highlighted where it would appear on the screen. To view a readable version of the same screen double click on the screen of interest and a larger version of the same screen will be shown (see figure 4-5 for a sample full size version). Confirmation can be done at this stage by selecting or deselecting the checkbox below the variable of interest. This means of viewing is meant for confirming recurrent variables. The graphical depiction of the trace shows the screens as small rectangles and the transitions between screens as lines. The progression of a trace is from left to right and from top to bottom. There are two versions of the trace. One shows each screen separately in chronological order (Trace View) and the other combines like screens and creates a graph of the legacy interface (Compressed). The compressed view gives the user an overall picture of how different screens are related to one another (see figure 4-3). Figure 9 QANDA Trace view All options on this window are found by right clicking the mouse. This brings up a menu of choices: ‘Show Screen’ a readable version of the screen currently selected will be shown. ‘Next Source’ the next candidate for where input data was derived from will be shown. All candidates are highlighted in green and the destination screens for that data are shown in cyan. The current candidate screen has connecting lines indicating that the data was derived. ‘Previous Source’ the previous source screen will be selected ‘see Next Source’ for explanation. ‘Deselect this instance’ this removes the current screen from the possible destinations or sources depending which screen is selected. ‘Save it like this’ takes the graph and saves the current depiction of where data came from and where it went. C. GUI Design After confirming these variable types, click on Generate GUI in GUI Generation, a new GUI is generated for the selected task. First the user is prompted as to the expertise of the GUI user (expert or novice), as this changes the options during the design. A graph shows up which has nodes and lines between nodes. The circle nodes are the GUI screens, which need input from the user, and the rectangle node is the final generated report. The line represents the sequence between GUI screens. Figure 10 URGenT GUI design process You can see the interaction of the new GUI is much simpler than the text user interface. Now, left click on each node, you can see the default GUI screen for each node as follows. Figure 11 URGenT default GUI Figure 12 URGenT final output manipulator If you are not satisfied with the default screens, and want to use different graphical objects, you can right click on each node. In this example, if you click on the first node, a list as below appears. Figure 13 URGenT GUI object chooser Now, click on “input1” and “input2”, then click on password field button, and both are changed into password field objects Input items are required for the combo box. For example, such as “lanyan, eleni, bruce, roland, sorenson”, is entered when prompted. Each of the comma separated items are then separate items in the resulting combo box. D. GUI Demo Now go to next menu GUI demo, click on Connect System, and choose offline liberty.scr system in the following dialog. Figure 14 URGenT connection preferences Click OK, the splash screen of this system will appear in the text area of the main window, and it tells you that you have successfully connected with the system. Click on Show Interaction in GUI Demo, and you can interact with the system through the new GUI, which has all the changes you made with the graphical objects. About the usage of other menus, please look at the brief introduction in section (2) General URGenT Interface.