Design Document

Team 9 - Calculus Review Website

Steve Hoelle, Tim Jasko, Chris Scribner

January 28, 2003 through April 7, 2003

This document is not yet finished. Certain design decisions must still be made before complete details can be described. The unfinished sections have the template information for our editing purposes.

If you add or change anything in this document, please note it in the Revision History near the end, along with incrementing the version number in the filename of the document.

Estimated finishing time is March, but no sooner than when we have pinned down the server details, and finalized the site functionality.


Table of Contents


Design Approach

We have chosen to design the project as a forum system, with an info thread, a help thread, and a question pool associated with each topic. No alternatives to this design have been discussed. The advantage of using this approach is the relative simplicity in developing it, using it, and maintaining it.

<toc>


Similar and Supporting Work

Forums are an incredibly common way of organizing information and providing a means for people to ask and answer questions. They are easy to understand, easy to maintain, and give a solid base for the foundation of an online community. The major drawback of a forum is moderation, because the hosts can be held liable for what users post on the system; our forum, however, leaves no anonymity to the poster, as they must log in with their RHIT username, so offensive or illegal content should be at a minimum, and the expected low traffic will mean the math faculty can keep up with scanning all new material in case moderation is still necessary.

Perhaps the most relevant similar work can be found at www.mathforum.org, a plain-text forum addressing most every math subject, from K-12, to Undergraduate and Graduate level mathematics.

<toc>


System Architecture

Software and External Interacting Entitles

Software Architecture

Supplemental data flow information:

 

  1. Username / password to be added to the UP database
  2. Username to be removed from the UP database
  3. Search expression and search results
  4. Relays requests to and from topic editor submodules
  5. Name of topic to be removed
  6. Updated topic text
  7. Name of topic to be added
  8. Relays requests to and from problem editor submodules
  9. Name of problem to be removed
  10. Updated problem text, name of problem to edit
  11. Name of problem to be added, the problem itself
  12. Username and password
  13. Relays requests to and from the post editor submodules
  14. Updated post text, name of post to edit
  15. Post text
  16. Name of post to delete

<toc>


User Interface

1000 Relationship Diagram

1100 Display Screen Formats, Menus, and Fault Handling

1100.01 Display

·        Main Page - allows user to navigate to topic and help thread threads, and select practice problems.

·        Forum Page - allows the user to view the contents of a given thread and navigate to subtopics in the thread.

·        Practice Problems Page - displays practice problems, then answers.

·        Post Comment Page - allows the user to add a comment to a topic thread.

 

Display Components

<Bulleted list of component descriptions including format of inputs and outputs.>

·        Topic Tree - displays the topics available to read.

o       Input: thread to be read

o       Output: contents of the thread

·        Display Practice Problems - displays the practice problems

o       Input: thread problems are associated with and the number of problems to display

o       Output: the practice problems

·        Practice Problems Solutions - displays answers to the practice problems

o       Input: the practice problem

o       Output: the solution

·        Post Comment - allows the user to post a comment to a thread

o       Input: the comment to be posted

o       Output: the comment is posted to the thread

·        Forum View - displays the comments attached to a thread

o       Input: the thread

o       Output: displays the comments

 

Error Handling

<Bulleted list of errors that can occur with the screen and how they are handled.  If error displays are shown, make a cross-reference to them in this document, do not show them again.>

·        Unable to post comment - error message displayed, then user redirected to forum view

·        Thread does not exist - error message displayed

·        Practice problem does not exists - error message displayed

1401 Human Interfaces

The user will interact with the system through Internet Explorer. All viable ways to communicate with that software are viable here, i.e. mouse, keyboard, etc.

1401.1 Cursor device

A mouse or something equivalent that the user can control the cursor with.

1401.2 Text input device

A keyboard or something equivalent that the user can enter text into text fields with..

<toc>


Data Storage/Format

2100 Data Structures

None.

2200 Files

None.

2300 Databases

 2301 calcreview

     2301.01 Topics

     2301.02 Comments

      2301.03 Help

      2301.04 Problems

      2301.05 Admins

<toc>


External System Interfaces

None present.


Detailed Design

Module Descriptions

4001 Comment Editor

4001.0001 Delete Comment

4001.0002 Add Comment

4001.0003 Edit Comment

4002 Problem Editor

4002.0001 Add Problem

4002.0002 Remove Problem

4002.0003 Edit Problem

4003 Topic Editor

4003.0001 Add Topic or Subtopic

4003.0002 Remove Topic or Subtopic

4003.0003 Edit Topic or Subtopic

4004 Login

4005 Topic Search

4006 Add Username

4007 Remove Username

Web Page Use Cases

Note: these use-cases are borrowed almost directly from the Use Cases deliverable. If changes are made here, please update the original.

Faculty Use Cases

Login

            Overview
This is the initial contact a person will have with the system. He/she will be required to login so as to determine the rights the person will have.

            Preconditions  - None.

            Scenario
User Action                                                     System Reaction
Person connects to site                                     System prompts user to login

Person enters username and password  System validates user

            Scenario Notes - None.

            Post Conditions
User is now logged in with the appropriate rights, either as a student or math faculty member.

            Exceptions
If the login fails due to incorrect information, the user will be prompted again.

Read About Subject

            Overview
This allows users to view a subject thread.

            Preconditions
User is logged in.

            Scenario
User Action                                                     System Reaction
User clicks the thread s/he wishes to view         Displays thread.

            Scenario Notes - None.

            Post Conditions - None.

            Exceptions - None.

Write About Subject

            Overview
This allows faculty to add a post to a subject thread.

            Preconditions
User is logged in (with faculty rights).

            Scenario
User Action                                                                 System Reaction
User clicks the thread s/he wishes to write on                Displays thread.
User clicks the Post Information button on the thread     System prompts user for the
                                                                                     information they wish to add.

            Scenario Notes - None.

            Post Conditions - None.

            Exceptions - None.

Get Practice Problems

            Overview
This allows users to view a set of practice problems.

            Preconditions
User is logged in.

            Scenario
User Action                                                     System Reaction
User clicks "Get Practice Problems" link            Displays practice problems 

            Scenario Notes - None.

            Post Conditions - None.

            Exceptions
More practice problems are requested than exist. In this case, as many problems as are available will be shown.

Add Practice Problems

            Overview
This allows faculty to add a practice problem.

            Preconditions
User is logged in (with faculty rights).

            Scenario
User Action                                                     System Reaction
User clicks "Add Practice Problems" link          Prompts user for a problem to add

            Scenario Notes - None.

            Post Conditions - None.

            Exceptions - None. 

Read Cries for Help

            Overview
This allows users to read posts on the help forum.

            Preconditions
User is logged in.

            Scenario
User Action                                                     System Reaction
User views the help forum                                 System displays the help forum.

            Scenario Notes - None.

            Post Conditions - None.

            Exceptions - None. 

Answer Cries for Help

            Overview
This allows faculty to answer cries for help on the help forum.

            Preconditions
User is logged in (with faculty rights).

            Scenario
User Action                                                     System Reaction
User clicks "Ask for Help"                                Help form is displayed.
User enters help answer and submits.                Answer is posted to forum

            Scenario Notes - None.

            Post Conditions
User post will be posted to the help forum.

            Exceptions - None.

Modify Subject Thread 

            Overview
This allows faculty to modify subject content as they see fit.

             Preconditions
User is logged in (with faculty rights).

            Scenario
User Action                                                     System Reaction
User clicks appropriate modify action               Subject thread is modified accordingly.

            Scenario Notes
Modify actions are: delete subject, move subject up, down, to top, to bottom.

            Post Conditions
The system is modified accordingly.

            Exceptions - None.

View Student Activity 

            Overview
This allows faculty to view a log of who has been using the system, and with what frequency.

            Preconditions
User is logged in (with faculty rights).

            Scenario
User Action                                                     System Reaction
User clicks View Student Activity                     A log of student use is displayed. 

            Scenario Notes - None.

            Post Conditions - None.

            Exceptions - None.

 

Student Use Cases

Login

             Overview
This is the initial contact a person will have with the system. He/she will be required to login so as to determine the rights the person will have.

             Preconditions  - None.

             Scenario
User Action                                                     System Reaction
Person connects to site                                     System prompts user to login

Person enters username and password  System validates user

             Scenario Notes - None.

             Post Conditions
User is now logged in with the appropriate rights, either as a student or math faculty member.

             Exceptions
If the login fails due to incorrect information, the user will be prompted again.

 

Email Prof

            Overview
This allows students to email professors to ask for help.

            Preconditions
User is logged in.

            Scenario
User Action                                                     System Reaction
User clicks "email" link                                      System opens email program with the appropriate email address supplied
User writes and sends email

            Scenario Notes - None.

            Post Conditions
Professor will receive an email.

            Exceptions - None.

Read About Subject

             Overview
This allows users to view a subject thread.

             Preconditions
User is logged in.

             Scenario
User Action                                                     System Reaction
User clicks the thread s/he wishes to view         Displays thread.

             Scenario Notes - None.

             Post Conditions - None.

             Exceptions - None.

Get Practice Problems

             Overview
This allows users to view a set of practice problems.

             Preconditions
User is logged in.

             Scenario
User Action                                                     System Reaction
User clicks "Get Practice Problems" link            Displays practice problems

             Scenario Notes - None.

             Post Conditions - None.

             Exceptions
More practice problems are requested than exist. In this case, as many problems as are available will be shown.

Read Cries for Help

             Overview
This allows users to read posts on the help forum.

             Preconditions - User is logged in.

             Scenario
User Action                                                     System Reaction
User views the help forum                                 System displays the help forum.

             Scenario Notes - None.

             Post Conditions - None.

             Exceptions - None.

Ask for Help

             Overview
This allows students to ask for help on the help forum.

             Preconditions
User is logged in.

             Scenario
User Action                                                     System Reaction
User clicks "Ask for Help"                                Help form is displayed.
User enters help question and submits.              Question is posted to forum

             Scenario Notes - None.

             Post Conditions
User post will be posted to the help forum.

             Exceptions - None.

<toc>


Implementation Platform

5001 Website Development Platform

5002 Database Development Platform

 

5011 Client Delivery Platform, Website Usage

5012 Client Delivery Database Server Platform

<toc>


Reference Materials

None.

<toc>


To Do List

Items

Requirements Issues List

<toc>


Requirements Issues List

Items

<List of issues that the design team has with the requirements or how the design differs from the requirements - one item per table row>

<toc>

Cross-Reference Table

Requirements ID and Heading Name

Design ID and Heading Name

 

 

<toc>


Revision History

Date

Name

Revision

02/02/2003

Steve Hoelle

Initial Draft

02/06/2003

Steve Hoelle

Second Draft

02/11/2003

Tim Jasko

Added Data Storage/Format

02/15/2003

Steve Hoelle

Cleanup, minor fixes

03/16/2003

Steve Hoelle

Fleshed out Similar and Supporting Work, fixed some hyperlinks within the document.

03/29/2003

Steve Hoelle

Added more detail to the Design Approach section. Addressed some formatting issues in various completed sections throughout the document.

04/06/2003

Steve Hoelle

Worked on adding our Use Cases in the Detailed Design section.

4/06/2003

Chris Scribner

Updated Software Architecture, System Architecture, Detailed Design, and External Interfaces. Removed Team Request Form section. Updated to-do list.

 

 

 

<toc>