ACS Poll Requirements

by Mark Dalrymple

I. Introduction

The following is a requirements document for the ACS Poll module.

II. Vision Statement

People like to offer their opinions, and one of the easiest ways to do that is to vote in an opinion poll. The Poll module allows publishers to construct simple one-vote opinion polls. These polls can be used a springboard for discussion (such as Slashdot), construction of a consumer opinion database (such as Deja.com), or just for fun (such as the side bar polls on DrWeil.com).

III. System/Application Overview

The Poll module consists of:

IV. Use-cases and User-scenarios

The Poll module is intended for the following classes of users, which may or may not overlap:

Poll Creation

Paulette Publisher, manager of the Apollo Philharmonic web site, decides that an opinion poll is appropriate for their upcoming "Hear Your Favorite Baroque Composer" series. Using the admin pages, Paulette creates a poll named "Baroque Favorites" with a paragraph of HTML that describes the poll's objective in choosing a favorite composer. She also sets a starting and termination date for the poll. A starting date is used because the Baroque Favorites program hasn't been announced yet. A termination date is used because voting in the poll after the concert series content has been decided won't make any difference.

Poll Customization

Debbie Designer is responsible for the graphical look of the Apollo Philharmonic web site. She modifies the Poll module's template files so that they match the look and feel of the rest of the site. Using the Poll display API, she changes the poll's presentation from a list of choices to a fancy table.

Poll Use

Eduardo Enduser is a music enthusiast that lives in the nearby town of Vandergrift. He sees the reference to the poll on the Apollo Philharmonic home page. He views the poll, offers his choice, and sees the results. Seeing that his favorite composer is in the lead, he purchases season tickets online via the E-Commerce module.

V. Related Links

VI.A Requirements: Data Model

VI.B Requirements: Administration Interface

The user interface is a set of HTML pages that are used to control all data aspects of Polls. Visual aspects are controlled by templates and the Poll API.

VI.C Requirements: Voting

VI.D Requirements: Flexibility of Display

The presentation of available polls, polls and their choices should separated from any procedural / database logic necessary to generate them.

VII. Implementation Notes

The Poll module can easily become a highly-trafficked part of a site, especially if a controversial question is posed. The poll module should be able to quickly and efficiently handle large number of votes.

VII. Revision History

Document Revision # Action Taken, Notes When? By Whom?
0.1 Creation 08/29/2000 Mark Dalrymple


markd@arsdigita.com
Last modified: $Date: 2001/01/19 21:36:46 $
Advertisements