Use Case Model
Use cases under development for current iteration
The user downloads and installs the application.
The application is packaged in a single jar file. The user points his/her browser to the download web page. That page instructs the user how to save the jar file. These instructions may be browser-specific.
Precondition
None.
Postcondition
The jar file is saved in the user's file system.
Test
Verify that the file exists in the user's file system.
The user launches the application.
The user launches the application from the command line:
java -jar MandelbrotOrchestrator.jar
When the system comes up, it displays a default region of the complex plane, with a default resolution, iteration limit, and color map. The navigation mode (see below) is zoom in.
Precondition
The jar file is saved in the user's file system.
Postcondition
The region model is constructed with default values, and its view, an image, is displayed.
Test
Visually verify that the displayed image matches the image in the User Guide section titled "Launch application."
The user navigates the complex plane.
The clicks on the point in the image that he/she wants to be the new center. If the application is in zoom in mode (the default), it shortens the region edge length by a factor of 1/2. If the application is in zoom out mode, it lengthens the region edge length by a factor of 1/3. If the application is in pan mode, it leaves the edge length unchanged.
Precondition
The region model is not null, and its view, an image, is displayed.
Postcondition
The region model is updated:
- The model is updated to reflect:
- new coordinates, reflecting the new center point in the region of the complex plane.
- a new edge length, reflecting the resized region of the complex plane, if the user zoomed in or out.
- The image is updated to reflect the updated model.
Test
Visually verify each operation: Pan, zoom in, zoom out.
The user saves an image.
The clicks the save buttom, which prompts the user for a name to associate with the image.
Precondition
The region model is not null, and its view, an image, is displayed.
Postcondition
A JPEG file, named by the user with a .jpeg suffix, exists in the user's file system.
Test
Save the default image (the image that is displated when the application launches). Use the use case to view a saved image to verify that the image was saved correctly.
The user views a saved image.
The user browses a directory of image files, and "opens" the image file of interest. (Use case, version 2: To aid browsing, a thumbnail image is displayed for each image file.)
Precondition
A JPEG file, named by the user (with a .jpeg suffix), exists in the user's file system.
Postcondition
The .jpeg file, named by the user, is displayed. (We should save and restore the associated model information as meta-data.)
Test
Save the default image (the image that is displated when the application launches). Visually verify that the displayed image matches the image in the User Guide section titled "Launch application."
The user creates an image model sequence file.
- The user creates an image sequence, actually a sequence of image models, indexed starting from 0, that is empty originally.
- While navigating, the user has the option to add the current image model to the sequence.
- The user saves the sequence as a sequence file (.seq suffix).
Precondition
The region model is not null, and its view, an image, is displayed.
Postcondition
A .seq file, named by the user, exists in the user's file system.
Test
Create an image sequence file with 2 image models, starting with the default image model. View this image model sequence file, ensuring that the images in the sequence file are the images that were tagged, in the proper order.
The user creates an animation from an image sequence
- The user selects a sequence ofs image models from his/her sequence library.
- When the user clicks "animate", the system produces an animation from this sequence.
Precondition
A .seq file, named by the user, exists in the user's file system.
Postcondition
A Quicktime movie is launched, displaying the animation. (The user should be able to save the movie as a file.)
Test
Create an image sequence file with 2 image models, starting with the default image model. Animate this image sequence file. View this animation, ensuring that the animation starts with the first images in the sequence, and ends with the second image in the sequence file.
Use cases for subsequent development
The user downloads and installs an older version of the application.
As development progresses to more mature versions, the availability of a small set of older versions is maintained.
The user selects the navigation mode.
There are 3 navigation modes:
- Zoom in: reduces the edge length, giving the impression that one is moving forward into the 3D image.
- Zoom out: enlarges the edge length, giving the impression that one is moving back from the 3D image.
- Pan: leaves the edge length unchanges, giving the impression that one is moving within a 2D image.
The user set the image resolution.
The user selects a resolution from a menu that has only powers of 2.
The user set the iteration limit.
The user selects a iteration limit from a menu that has only powers of 2.
The user moves backward and forward through the history of images.
There are back and forward buttons for this purpose.
The user annotates the image sequence with animation parameters
The user can associate a time with each image in the sequence. For each image index, n > 0, the time associated with imagen which indicates the amount of time that elapses in the animation from the imagen - 1 to imagen.
The default time between adjacent images is 3 seconds.
I believe that sequence annotation will develop into a very complex use case. To start, the animation will be merely a linear interpolation of points in 3D space, with each parameter (to be determined, for example, frames per second) at some default value.
The user chooses the format for saving an image.
The user chooses between a thumbnail image or a full image in any of several formats (e.g., JPEG, PNG).
The user modifies a sequence of tagged images.
- The user opens an image sequence.
- The current insertion point, defaults to the end of the sequence.
- By pointing and clicking, the user can change the current insertion point.
- The user adds tags the current image, which is added at the current insertion point.
- The user optionally can select an image for deletion from the image sequence.
- The user saves the image sequence.
Completed Use cases
None.