Welcome to the Web Junkies' Group Website!

The Web Junkies are:
Chris Walker
Gulam Vayda
Cristian Boldan

The section project website can be viewed here.

Presentation

CEN3031 Group Project Time Sheet

Date Activity Estimated Time Actual Time
8/28/07 Week 1 Discussion (Created group and group website) 1 hr 1 hr
8/28/07 Linked to individual homepages and created timesheet table 30 min 15 min
9/4/07 Week 2 Discussion (Created six requirements for paint program) 1 hr 1 hr
9/7/07 Refined Six Requirements 1 hr 45 min
9/11/07 Week 3 Discussion (Defined responsibilities for Week 4) 1 hr 1 hr
9/14/07 Completed twelve requirements and storycards 1 hr 2 hr
9/18/07 Week 4 Discussion (Create general plan and finalize storycards) 1 hr 1 hr
9/24/07 Create UML diagram for design of Paint program 1 hr 30 min
9/25/07 Week 5 Discussion (Create meeting schedule and work assigned list) 1 hr 1 hr
10/1/07 Group meeting to implement first four requirements 1 hr 30 min 1 hr
10/2/07 Week 6 Discussion (Finalize Design UML) 1 hr 1 hr
10/7/07 Test Working Program 2 hr 1 hr 30 min
10/8/07 Prepare Presentation Files 2 hr 2 hr
10/9/07 Week 7 Discussion (Small Group Presentation) 1 hr 1 hr
10/9/07 Week 8 Discussion (Implementation of all requirements) 1 hr 1 hr

Assignments and Responsibilities

1. The system shall have an icon (on the desktop, for example)
that gives the user the ability to open the paint program by
double clicking on the icon. (Proposed by Cristian, implemented
by Gulam) Rationale: We want a program that is easy to open for
any user and without command prompts.

2. The system shall, when executed, open a window with a title bar.
Inside the window, the dimension shall be fixed at 800 pixels
by 600 pixels. (Proposed by Cristian and Gulam, implemented by
Gulam) Rationale: In order to accurately describe the window, we need
to first fix the dimension.

3. The system shall contain a white canvas inside the window with a
dimension of 600 pixels by 600 pixels. (Proposed by Cristian, implemented
by Chris) Rationale: We will divide the window so that the majority is
available to draw on.

4. The system shall contain a panel of buttons on the left hand side
of the window with a dimension of 200 pixels by 600 pixels. This panel
will represent all the drawing functions that the user can use as
well as all the color options available for each function. (Proposed
by Cristian, implemented by Chris) Rationale: We need a small space to
the side in order to give the user the ability to change drawing
functions quickly.

5. The system shall limit the user to the following color selection for
each drawing function: white, black, red, yellow, blue, green, orange,
and purple. (Proposed by Gulam, implemented by Chris) Rationale: We
cannot have a large selection of colors since that would require a long
list of color option buttons.

6. The system shall contain four drawing functions, the first of which
is the "Pen". The pen function will allow the user to draw a
2-pixel-wide, freeform line (with the mouse) of any available color
chosen. (Proposed by Chris, implemented by Cristian) Rationale: We need
the user to have a drawing feature that draws a fine line.

7. The system shall have a second drawing function, the "Brush". The
brush function will allow the user to draw an 8-pixel-wide, freeform
line (with the mouse) of any available color chosen. (Proposed by Chris,
implemented by Cristian) Rationale: This will provide the user a thicker
line to draw with.

8. The system shall have a third drawing function, the "Paintroller".
The paintroller function will allow the user to draw a 16-pixel-wide,
freeform line (with the mouse) of any available color chose. (Proposed
by Chris, implemented by Cristian) Rationale: This will provide the user
with a way to draw a very bold line and even use this as an eraser.

9. The system shall have a fourth and final drawing function, the
"Paintcan". The paintcan function will allow the user to change the
entire canvas to another color. (Proposed by Chris, implemented by
Cristian) Rationale: This will provide the user with a way to paint
over the entire canvas at once.

10. The system shall contain a menu bar directly below the title bar.
The menu bar will be just as wide and long as the title bar. This will
not be part of the 800 pixel by 600 pixel window that contains the
canvas and buttons. (Proposed by Gulam, implemented by Gulam)
Rationale: This will provide a space for some crucial window options.

11. The system shall have two options on the menu bar, the first of
which is "Clear Canvas". This option will make the entire canvas
white. (Proposed by Gulam, implemented by Chris) Rationale: We need
a way to start over and draw something new.

12. The system shall have a second and final option, the "Exit" option.
This option will close the window and exit the program. (Proposed by
Gulam, implemented by Gulam) Rationale: This may have a redundant quality
if the window already has a close button in the title bar, but it
ensures that the program can be closed, regardless of the window
structure inherent in the operating system that is used when opening
the paint program.


1) The Running Program Story Card

S1: The user double clicks with the left-click mouse button on the
paint icon.
S2: The window containing the paint program will open.

2) The Window Size Story Card

S1: The user will be given a window of size 800x600 pixels.
S2: The user will not be able to adjust the window size.

3) The Canvas Story Card

S1: The user will be able to draw on a 600x600 pixel canvas.
S2: The user cannot adjust the size of or move the canvas. The
canvas will be set along the right side of the window frame.

4) The Buttons Story Card

S1: The user will have access to a column of buttons placed along the
left side of the window.
S2: The user cannot adjust the location or size of the column of buttons.
The size of the column will be set at 200x600 pixels.
S3: The user will have four drawing radio buttons (pen, brush, paintroller,
paint can).
S4: The user will also have a set of radio buttons that will allow the user
to choose from a variety of colors (red, blue, green, yellow, orange, purple,
white, black).

5) The Color Selection Story Card

S1: The user will be able to select from a list of eight colors labeled
with the name of the color.
S2: The user selects a color to draw with by left-clicking with the
mouse the radio button that corresponds to the color desired. Only one
color radio button can be selected at a time.
S3: When the user draws (by holding down the left-click on the mouse over
the canvas), the line or area drawn will be in the color selected.
S4: When the user right-clicks a radio button, there is no action and
the button is not selected.

6) The Pen Function Story Card

S1: The user left-clicks the "PEN" radio button. Only one drawing radio
button can be selected at a time.
S2: When the user holds down the left-click button on the mouse over
the canvas, a free-form, 2-pixel-wide line of the color chosen is drawn
along the path of the mouse on the canvas.
S3: When the user lets go of the left-click on the mouse, there is no action
and no line is further drawn on the canvas.
S4: When the user right-clicks on the canvas, there is no action and no line
is drawn.
S5: When the user holds down the left-click on the mouse inside the canvas
and drags a path outside of the canvas, no line is drawn. If the left-click
is still held when the mouse is moved back into the canvas, a line is drawn
along the path of the mouse on the canvas.

7) The Brush Function Story Card

S1: The user left-clicks the "BRUSH" button. Only one drawing radio
button can be selected at a time.
S2: When the user holds down the left-click button on the mouse over
the canvas, a free-form, 8-pixel-wide line of the color chosen is drawn
along the path of the mouse on the canvas.
S3: When the user lets go of the left-click on the mouse, there is no action
and no line is further drawn on the canvas.
S4: When the user right-clicks on the canvas, there is no action and no line
is drawn.
S5: When the user holds down the left-click on the mouse inside the canvas
and drags a path outside of the canvas, no line is drawn. If the left-click
is still held when the mouse is moved back into the canvas, a line is drawn
along the path of the mouse on the canvas.

8) The Paint Roller Function Story Card

S1: The user left-clicks the "PAINTROLLER" button. Only one drawing radio
button can be selected at a time.
S2: When the user holds down the left-click button on the mouse over
the canvas, a free-form, 16-pixel-wide line of the color chosen is drawn
along the path of the mouse on the canvas.
S3: When the user lets go of the left-click on the mouse, there is no action
and no line is further drawn on the canvas.
S4: When the user right-clicks on the canvas, there is no action and no line
is drawn.
S5: When the user holds down the left-click on the mouse inside the canvas
and drags a path outside of the canvas, no line is drawn. If the left-click
is still held when the mouse is moved back into the canvas, a line is drawn
along the path of the mouse on the canvas.

9) The Paint Can Function Story Card

S1: The user left-clicks the "PAINTCAN" button. Only one drawing radio
button can be selected at a time.
S2: When the user left-clicks on the canvas, the pixel left-clicked and
any surrounding pixels of the same color is changed to the chosen color.
S3: When the user holds the left-click button on the mouse, there is no
further action.
S4: When the user right-clicks on the canvas, there is no action.

10) The Menu Bar Story Card

S1: The user will have a menu bar directly below the title bar of the window.
The bar will stretch across the width of the window and will not be part of
the 800x600 frame inside the window that contains the canvas and buttons.
S2: The user will have two menu options inside the menu bar: "Clear Canvas"
and "Close".

11) The Clear Canvas Function Story Card

S1: The user left-clicks the "Clear Canvas" option on the menu bar.
S2: The entire canvas turns white.
S3: When the user right-clicks the "Clear Canvas" option, there is no action.

12) The Close Function Story Card

S1: The user left-clicks the "Close" option on the menu bar.
S2: The window containing the paint program is closed and the
program is exited out.
S3: When the user right-clicks the "Close" option, there is no action.


You can access the uml diagram of our paint software here.

General Plan

Version one of the design will be completed by Chris and Gulam. All stories
will be confirmed by Cristian and Gulam.

The final design will be confirmed by Chris and Gulam. Requirements 1, 2,
3, and 10 will be implemented by Cristian and Chris.

The first presentation will be prepared and led by Chris. Requirements 4, 5,
11, and 12 will be implemented by Cristian and Gulam.

Requirements 6-9 will be implemented by Cristian, Chris, and Gulam.