ETA User Interface Prototype and Walkthrough

Part I: Loading a Class, Creating Parameter Objects

*Note - Netscape 4.x cannot view these pages correctly.

1) initial screen - no classes loaded, everything but file menu is disabled

Empirical Test Application - by Fetter Software
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
     
     
     
Methods
 
public protected private package local
Modifiers Return Type Name Parameters
       
       
Fields
 
public protected private package local
Modifiers Type Name Value
       
       
Status
Output Messages Session Log

2) User clicks on File menu, selects 'Open Class...'

File  
Open Class.... Ctrl-O
Exit Ctrl-X

3) 'Open Class' Modal dialog appears.

User types in path of class to test and presses OK

Open Class

class path:

 

4) Program returns to main screen. The 'Methods' panel is filled out with a tabbed panel whose tabs hold information on function names and return types of all classes in the loaded class' hierarchy. The 'Fields' panel is filled out with a tabbed panel whose tabs hold information on field names and data types of all classes in the loaded class' hierarchy. The user can look through all the class tabs and visibility (public, protected, private) tabs to see the 'structure' of the loaded class, but the buttons in the Methods and Fields 'Name' Columns are still disabled. Also, the buttons in the object pool panel become enabled.

User selects Foo's 'protected' tab to look at what fields the class has that are protected

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
     
     
     
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  Foo  
  java.lang.Integer -none-  
  java.lang.Integer -none V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer  
  java.lang.Integer  
  java.lang.Integer  
Status
Output Messages Session Log

5) User decides to create some objects to pass as parameters to Foo's different methods.
User clicks on 'New Test Data Item...' button in the 'Test Data Item' Tab of the 'Object Pool' panel and the 'New Test Data Item - Select Type' modal dialog pops up.

User wants to create an int. User selects 'primitive type' radio button and presses OK

New Test Data Item - Select Type

New Test Data Item is :

   

   

 

'New Test Data Item - Select Type' dialog disappears and 'New Test Data Item - Primitive Type' dialog appears.
User selects 'int' from the 'Type' combo box, types in 5 in the 'Value' textfield, names the int 'intFive' in the 'Test Data Item Name' text field, and presses OK

New Test Data Item - Primitive Type
Type
Value

Test Data Item Name:

 

 

The user is returned to the main screen and decides to create another object to pass as a parameter. User presses 'New Test Data Item...' button again

User selects "Derived from 'Object'" from the combo box and presses OK

New Test Data Item - Select Type

New Test Data Item is :

   

 

'New Test Data Item - Select Type' dialog disappears and 'New Test Data Item - Object Type Class Path' dialog appears
User types in the class path of the new data item he wants to create and Presses OK

New Test Data Item - Object Type Class Path
Class Path

 

 

'New Test Data Item - Object Type Class Path' dialog disappears and 'New Test Data Item - Object Type Constructor' dialog appears
User selects radio button next to the constructor he wants to use to instantiate the new test data item
User sets the parameters for the constructor, names the new test data item to 'tempFoo' and presses OK

New Test Data Item - Object Type Constructor
Constructors: Parameters:
Foo ()  
Foo(java.lang.Integer, java.lang.Integer, java.lang.Integer)

Test Data Item Name:

 

6) Program returns to main screen. The Object Pool panel's 'Test Data Items' Tab is populated with the objects that the user has created.

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
java.lang.Integer
Foo
     
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  Foo  
  java.lang.Integer -none-  
  java.lang.Integer -none V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer  
  java.lang.Integer  
  java.lang.Integer  
Status
Output Messages Session Log

7) User selects 'Instantiate Main Test Class...' from test menu

Test  
Instantiate Class... Ctrl-A
New Test Data Item... Ctrl-N
Clean All Test Data Items Ctrl-E

 

'Instantiate Class' modal dialog pops up. User picks a constructor to instantiate the loaded class with, types in 'my foo' in the Test Data Item Name field, and presses OK

Instantiate Class - Foo
Constructors: Parameters:
Foo ()  
Foo(java.lang.Integer, java.lang.Integer, java.lang.Integer)

Test Data Item Name:

 

8) User is returned to the main screen. The Methods, Fields, and Output panels become live (all buttons are enabled) and a reference to the newly instantiated "my foo" is added to the Test Data Items tab of the Object Pool

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
java.lang.Integer
Foo
Foo
Methods
Foo java.lang.Object
public protected private package local
Return Type Name Parameters ^
Foo  
java.lang.Integer -none-  
java.lang.Integer -none V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

[next]


Date Author Change
3/12 Michael Hebron updated to reflect changes made during stage 3
2/12 Michael Hebron documented "Main Test Object" in I.8
2/11 Michael Hebron Updated menus and menu descriptions
11/28 Michael Hebron Added 'Package Local' to Visibility Tabbed pane
11/16 Michael Hebron Changed Output panel to Status panel
Rearranged layout of main screen and its 4 main panels
Renamed 'Delete' button to 'Remove'
11/14 Michael Hebron Revision History reformatted
Updated to reflect changes made during design phase
10/18 Michael Hebron

'Modifiers' column added to Methods and Fields tables
'View' menu added
'Class Statistics' and 'Session Log' dialogs added
Screenshots showing display of different data types added
Screenshot of array editor added
'Scalar' renamed to 'Primitive', list of Primitives updated

10/15 Michael Hebron Revision history added
10/15 Michael Hebron Page Titles added
10/15 Michael Hebron Revised after team feedback
Part III (appendix) added
Posted on web
10/13 Michael Hebron Rough draft created for internal review