Requirements Specification
for CSTutor
Version 0.1
08 October, 2004





Contents

1.  Introduction
     1.1. Problem Statement
     1.2. System Personnel
     1.3. Operational Setting
     1.4. Impacts
     1.5. Related Systems
        1.5.1. ATutor
        1.5.2. Sun Java Tutorial
        1.5.3. Project Cool Programming Tutorials
        1.5.4. Web training center
        1.5.5. W3Schools
        1.5.6. Webteacher
        1.5.7. Feature Comparison Matrix

2.  Functional Requirements
     2.1. User Interface Overview
     2.2. Creating a simple Tutorial
         2.2.1. Creating A Simple Page
         2.2.2. Creating A Simple Quiz
         2.2.3. How To Add Pages To The Tutorial: Local Pages
         2.2.4. The Database Pages
         2.2.5. Adding Created Pages
         2.2.6. How Pages Appear On The Tutorial
         2.2.7. Viewing And Editing A Page In Tutorial
         2.2.8. Saving A Tutorial
     2.3. Advanced Lesson Authoring
         2.3.1. Designing Pages
             2.3.1.1. Notes about HTML
             2.3.1.2. Basic Interface
             2.3.1.3. Inserting Text
             2.3.1.4. Inserting Images
             2.3.1.5. Inserting an Internal Link
             2.3.1.6. Inserting an External Link
             2.3.1.7. Inserting a Code Segement
             2.3.1.8. Editing HTML
             2.3.1.9. Completing a Page
             2.3.1.10. Possible Errors
         2.3.2. Designing Quizzes
             2.3.2.1. HTML
             2.3.2.2. General Quiz Information
             2.3.2.3. Multiple Choice - Radio Buttons
             2.3.2.4. Multiple Choice - Checkboxes
             2.3.2.5. Short Text
             2.3.2.6. Code Segment
             2.3.2.7. Quiz Options
         2.3.3. Roadmap
             2.3.3.1. Accessing Local Pages
             2.3.3.2. Adding Local Pages
             2.3.3.3. Accessing Database Pages Part 1: Log In
             2.3.3.4. Logging In As An Instructor
             2.3.3.5. Log In Error
             2.3.3.6. Accessing Database Pages Part 2: Downloading Pages
             2.3.3.7. Accessing Database Pages Part 3: They Are Now Local Pages
             2.3.3.8. Adding Local Downloaded Pages
             2.3.3.9. Adding The Quiz
             2.3.3.10. Saving The Complex Tutorial
             2.3.3.11. Posssible Errors
         2.3.4. Posting Tutorials
             2.3.4.1. The Beginning Posting Process: Log In
             2.3.4.2. The Ending Posting Process: Post Info
             2.3.4.3. Successful Posts
             2.3.4.4. Posssible Errors
     2.4. Viewing Tutorials and Taking Quizzes
         2.4.1. Browsing by Course and Teacher
         2.4.2. Searching by Name
         2.4.3. Advanced Search
         2.4.4. History and Favorties
         2.4.5. Viewing a Tutorial
         2.4.6. Taking Quizzes
     2.5. Communications
         2.5.1. The Chat System
         2.5.2. The Remote Desktop
         2.5.3. Message Boards
             2.5.3.1. Viewing the board and posts
             2.5.3.2. Posting a reply
             2.5.3.3. Posting a new thread
     2.6. Statistics
     2.7. Administrative Details
         2.7.1. Login
         2.7.2. Lesson Server Maintenance
         2.7.3. User Account Management
     2.8. Possible Errors
         2.8.1. Posting Error
         2.8.2. Tutorial Building Errors
         2.8.3. Log In Error
         2.8.4. Designing Pages Errors
         2.8.5. Designing Quizzes Errors
         2.8.6. Administration Errors
     2.9. Details of File Commands
         2.9.1. Details of File Commands, Instructor Interface
         2.9.2. Details of File Commands, Student Interface
     2.10. Details of Edit Commands
         2.10.1. Details of Edit Commands, Instructor Interface
         2.10.2. Details of Edit Commands, Student Interface

3.  Non-Functional Requirements
     3.1. System Performance
     3.2. Qualitative System Charachteristics

4.  Developer Overview

5.  Formal Specification
     5.1. Quizzes
     5.2. Pages
     5.3. Tutorials
     5.4. Tutorial browser
     5.5. Tutorial viewer
     5.6. Communication systems
     5.7. Data definitions
     5.8. Administrative details

Appendix A


List of Figures