Fast Draw (A desktop productivity application)

Overview

Fast Draw is a desktop application that allows users (artists) to create and save drawings composed of curves and regions bounded by curves.

Requirements Model

Functional Requirements (Use Cases)

Use Case Elaborations

Save, SaveAs, Open, New

Scenarios

Edit

Scenarios

Non-Functional Requirements

Usability

Reliability

Performance

Supportability

Domain Model

The application domain of Fast Draw is the artist's studio and its contents: a canvas, a palette of colors, tools (pen, pencil, eraser,) and a collection of stencils for drawing various shapes:

Shapes include points, curves, regions bounded by curves, labels, and composite shapes (a collection of shapes that has been logically grouped together as a single shape.) We use the Composite Design Pattern to represent the Shape hierarchy:

Design Model

The design instantiates the Model-View-Controller Pattern. In this case the model is the (virtual) studio. The view is a window that shows the canvas being edited, and the controllers are control panels that allow the user to select files, colors, tools, and shapes.

A main application window contains the view and the control panels and uses a gateway to interface with the underlying file system.

Implementation Model

Deployment Model