Requirements
for the CSTutor Tool
Version 0.8
22 November 2002




Contents

1.  Introduction
     1.1. Problem Statement
     1.2. System Personnel
     1.3. Operational Setting
     1.4. Impacts
     1.5. Related Systems

2.  Functional Requirements
     2.1. User Interface Overview
         2.1.1. Administrator
         2.1.2. Instructor Editor
         2.1.3. Student Lesson Viewer
             2.1.3.1. Lesson Viewer Recording Options
     2.2. Creating a Lesson
         2.2.1. Creating a Basic Lesson
         2.2.2. Additional Node Tools
             2.2.2.1. Text Tool
                 2.2.2.1.1. Font Options
             2.2.2.2. Straight Line Tool
             2.2.2.3. Freeform Line Tool
             2.2.2.4. Image Tool
             2.2.2.5. Rectangle Tool
             2.2.2.6. Oval Tool
             2.2.2.7. NavLink Tool
             2.2.2.8. Runnable CodeSegment Tool
             2.2.2.9. Color Tool
             2.2.2.10. Background Tool
             2.2.2.11. Select/Move/Resize Tool
                 2.2.2.11.1. Selecting an Item
                 2.2.2.11.2. Moving an Item
                 2.2.2.11.3. Editing an Item
                 2.2.2.11.4. Deleting an Item
                 2.2.2.11.5. Resizing an Item
                     2.2.2.11.5.1. Resizing a Text Region
                     2.2.2.11.5.2. Resizing a Runnable CodeSegment
                     2.2.2.11.5.3. Resizing Lines, Rectangles and Ovals
                     2.2.2.11.5.4. Non-Resizable Items: Images and NavLinks
         2.2.3. Node Summary Editing
         2.2.4. Lesson Properties Editing
         2.2.5. Roadmap Details
         2.2.6. Moving Created Nodes Around in the Roadmap
     2.3. Creating a Quiz
         2.3.1. Adding a Quiz Node
         2.3.2. Adding a Question
         2.3.3. Coding Questions
         2.3.4. Setting up a Scoring Table
         2.3.5. Removing a Question
     2.4. Student Viewing a Lesson
         2.4.1. Initial View
         2.4.2. Using the Roadmap
         2.4.3. Moving Forward
         2.4.4. Moving Backward
         2.4.5. Viewing Examples (not needed anymore)
         2.4.6. Detailed Examples (not needed anymore)
         2.4.7. End of Lesson
         2.4.8. Submitting a FAQ
     2.5. Student Taking a Quiz
     2.6. Using the Chat Room
         2.6.1. Entering the Chat Room
         2.6.2. Chatting Publicly to Everyone
        
2.6.3. Whispering to an Individual User
         2.6.4. Leaving the Chat Room
     2.7. Remote Access Assistance
     2.8. Using the Smart FAQ Board
     2.9. Viewing Student Data
         2.9.1. Students Record
         2.9.2. Student/Lesson Statistics
               2.9.2.1 Find a Student by Name
               2.9.2.2 Find a Student by ID
     2.10. Administrative Functions
         2.10.1. Initial Setup - Data Heirarchy
         2.10.2. Logging In
         2.10.3. Adding a Host
         2.10.4. Viewing a List of Current Hosts
         2.10.5. Removing a Host
         2.10.6. Changing the Administrator Password
         2.10.7. Logging Out
     2.11. Details of File Commands
         2.11.1. Invoking CSTutor from the OS
         2.11.2. New, Open and Close
         2.11.3. Save and Save As
         2.11.4. Preview
     2.12. Details of Edit Commands
         2.12.1. Undo and Redo
         2.12.2. Cut, Copy and Paste
         2.12.3. Delete
     2.13. Details of Errors and their Conditions
         2.13.1. Possible Error Windows
         2.13.2. Conditions that Cause Errors

3.  Non-Functional Requirements

4.  Developer Overview
     4.1. Introduction
     4.2. Potential Areas of Difficulty
     4.3. Objects and Operations Summary

5.  Formal Specification
     5.1. Lesson Database
     5.2. Authoring
     5.3. Views
     5.4. Messaging
     5.5. Administration
     5.6. File Handling
     5.7. Data Editing