The following use case diagram shows the requirements for the Image Resizer:
The actor is Quartz Scheduler as this application doesn't allow user interactions. It has the following use cases:
- List Images: This use case is where images that need to be resized are identified and listed.
- Produce to Queue: This use case is where images that need resizing are produced to the message queue to be consumed.
- Consumer from Queue: This use case is where an Image Resize Request is consumed from the queue.
- Resize Image: This use case is where the actual resizing of an image is taking place. A new image with the given width and height will be created.
- Move to Done: This use case is where an original image that was used for resizing is moved to a Done location to avoid redoing the resizing on the same image.