Tuesday, September 18, 2007

12 Requirements

Proposed By: Corey Forbus Requirement #1

Implemented By: -

Description: Paint will have a 'fill' tool that will allow the user to to designate the background color of the canvas.

Rationale: Instead of the user attempting to brush the whole canvas with a small stroke, they can achieve a similar result with only few clicks.

Proposed By: Corey Forbus Requirement #2

Implemented By: -

Description: Paint will have an erase tool that will allow the user to erase areas of the canvas.

Rationale: Essentialy this will act the same as a brush containing the background color but will allow the user to achieve the same results with fewer steps.

Proposed By: Corey Forbus Requirement #3

Implemented By: -

Description: Paint will allow the user to specify the size of the canvas by providing height and width pixel values.

Rationale: This will add more functionality to the paint program by allowing the user to work with files of a size they specify. Having a canvas with dimensions defined by the user is a staple in any paint program on the market.

Proposed By: Corey Forbus Requirement #4

Implemented By: -

Description: Paint will have a rectangle tool that allows user to click on a starting point, click on an ending point and create a rectangle using the two selected points as opposite corners.

Rationale: The user will be able to create clean, rectangular shapes filled with a user specified color easily as opposed to having to draw them with the brush tool and fill them in freehand.

Proposed By: Kate Allinson Requirement #5

Implemented By: -

Description: Paint will paint when the left mouse button is pressed and stop painting when the mouse button is released.

Rationale: The program must detect when the user wishes to paint.

Proposed By: Kate Allinson Requirement #6

Implemented By: -

Description: Paint will allow the user the choice of seven colors to paint with: black, red, green, blue, cyan, magenta, and yellow

Rationale: Adding color choice to paint with allows variety and gives options to the user.

Proposed By: Kate Allinson Requirement #7

Implemented By: -

Description: Paint will be opened by using a file with the .exe extension.

Rationale: Executable files are extremely easy and fast to use compared to, for example, using the command-line java tool.

Proposed By: Kate Allinson Requirement #8

Implemented By: -

Description: Paint will have a line tool detect points a and b the user designates. Paint will connect the two points with a solid, straight line.

Rationale: Drawing a straight line with a mouse or other two dimensional input device is difficult.

Proposed By: Jeremy Crockett Requirement #9

Implemented By: -

Description: Paint will be opened by double clicking the appropriate file.

Rationale: Opening a file by double clicking is easy and fast to use compared to, for example, using the command-line java tool.


Proposed By: Jeremy Crockett Requirement #10

Implemented By: -

Description: A number written in a text file will determine the witdth of the line created with the line tool.

Rationale: Allowing the user to specify the width of the line allows greater control over the final image that is created.

Proposed By: Jeremy Crockett Requirement #11

Implemented By: -

Description: A drop-down menu with the name "file" will have a "New" button and a "Quit" button. The new button will clear the canvas to white. The quit button will exit the program.

Rationale: The ability to start over in a paint program is often necesary, and selecting "new" is more intuitive and perhaps faster than selecting the white color and then using fill. The ability to quit a program easily is necessary when the user wishes to stop painting.

Proposed By: Jeremy Crockett Requirement #12

Implemented By: -

Description: A second drop-down menu with the name "help" will have "Instructions" and "About" buttons. The instruction button will give helpful information on the features of the program. The about program will give information about the program itself, incuding the creaters and release date.

Rationale: An instructions button teaches users about the program so that they can use all of its features. An about program provides the necessary information to those who wish to know more about the creation of the program.

No comments: