These are a selected, updated, and organized subset of the original use cases. You can view all of the original, unaltered use cases here.

Use Case #1: Creating a Syntax Tree

Actors

Preconditions

Steps

  1. App: displays a single Node with label 'S'
  2. App: displays Node 'S' as highlighted, to indicate that it is the selected Node
  3. User: presses the down arrow key, to create a child node
  4. App: displays a new node a set distance down from the root Node 'S'
  5. App: sets focus to a text box (editor) which visually represents the new child Node
  6. User: types in the child Node’s editor, labelling it 'NP'
  7. User: presses enter to confirm the edit
  8. App: displays the child Node as just text (no text box), reading 'NP'
  9. App: displays Node 'NP' as highlighted, to show that it is selected
  10. User: presses the right arrow key, to create a sibling Node
  11. App: displays Node 'NP' as shifted to the left, and a new child Node to the right, forming an equilateral triangle with the root Node 'S'
  12. App: sets focus to a text box (editor) which visually represents the new child Node
  13. User: labels the new child Node 'VP' and presses enter
  14. App: displays Node 'VP' as highlighted, to show that it is selected
  15. User: presses the left arrow key to navigate back to Node 'NP'
  16. App: displays Node 'NP' as highlighted to show that it is selected
  17. User: presses the down arrow key to create a child Node
  18. User: draws the rest of the syntax tree, using the methods from steps 3 - 17

Use Case #2: Forcing Node Creation

Actors

Preconditions

Steps

  1. User: holds the CTRL and SHIFT keys and presses the left arrow key, to force creation of a child Node
  2. App: rather than navigating to the existing sibling Node 'VP', displays a new Node in between the Node 'NP' and the Node 'VP'
  3. App: displays all three child Nodes equidistant from one another, forming an equilateral triangle shape with the root Node 'S'
  4. App: sets focus to the new child Node’s editor
  5. User: labels the new child Node 'A' and presses enter
  6. App: displays new child Node 'A' as highlighted to show that it is selected

Use Case #3: Deleting Nodes

Actors

Preconditions

Steps

  1. User: selects a Node which has both a parent and at least one child
  2. App: displays this Node as selected
  3. User: presses either "Backspace" or "Delete" key, or clicks the small 'x' button to the top right of the Node
  4. App: removes the selected Node and all its descendants from the display

Use Case #4: Exporting a Tree

Actors

Preconditions

Steps

  1. User: clicks "Export" button in the toolbar
  2. App: displays modal dialog containing:
    • a list of radio inputs labeled with different file types
    • a text input with content "myfile .txt"
    • buttons labelled "Export" and "Cancel"
  3. User: clicks radio input for desired file type
  4. App: displays file name input as having the file type extension matching User's selection
  5. User: types in desired file name in text input
  6. User: clicks "Export" button in modal dialog
  7. App: downloads file to User's computer, via built-in browser functionality

Use Case #5: Uploading a Tree

Actors

Preconditions

Steps

  1. User: clicks "Upload" button in toolbar
  2. App: displays standard file dialog with file type defaulted to '.tree'
  3. User: selects desired '.tree' file
  4. User: clicks "Open" or equivalent in standard file dialog
  5. App: loads and displays Tree from file

Use Case #6: Creating a Movement Arrow

Actors

Preconditions

Steps

  1. App: displays Node 'A' as highlighted, to show that it is selected
  2. User: holds the CTRL key and clicks on Node 'B'
  3. App: displays a dashed arrow curving from Node 'A' to Node 'B'
  4. App: displays arrow as highlighted, to show that it is selected
  5. App: displays one red and one blue circle representing the control points of the boolean curve that is the arrow's path
  6. User: drags one of the control point markers
  7. App: updates the arrow's path to match the changing control point

Use Case #7: Toggling a Branch's Triangle Display

Actors

Preconditions

Steps

  1. User: clicks the Branch between root Node 'S' and its child Node
  2. App: displays the clicked Branch as highlighted, to show that it is selected
  3. App: displays a circular button at the Branch's midpoint, containing a small vertical line icon
  4. User: clicks the circular button
  5. App: displays the Branch as a triangle, with a single point just below the root Node 'S' and two points at each upper corner of the child Node 'The big blue cat'
  6. App: displays the circular button as containing a small triangular icon