Appendix B: Sample Use Case Document
(only 2 use cases shown out of the 23 in the original)
Photo Software
Software Requirements Specification
Version 1.0
«Page Break»
Revision History
Date | Version | Description | Author |
04/05/2006 | 1.0 | Initial document | Michael Brown |
05/06/2019 | 1.0.1 | Slight modernization | Sheldon Linker |
05/10/2021 | 1.1 | Modern best practice: No path to an error case | Sheldon Linker |
«Page Break»
Table of Contents
«Table of Contents»
«Page Break»
1. Introduction
Mitropoulos, Inc. is entering the highly completive digital camera market. Although this market is saturated with cheap products, Mitropoulos Inc. has located a third-world country that has not been tainted with labor laws, human rights and social programs. With this advantage Mitropoulos, Inc. can corner the market of low-end digital cameras. To help accomplish this goal, Mitropoulos, Inc. needs photo album editing software to accompany the cameras.
Mitropoulos, Inc. has contracted with Brown LLC to create photo album editing software. Brown LLC specializes in quality software with small feature sets. They also have an excellent track record for producing software on schedule, which is important to Mitropoulos, Inc.
This document is the Software Requirement Specification (SRS) for the photo album editing software. It will outline all of the agreed upon features of the software.
1.1. Purpose
The purpose of the SRS is to provide a clear, documented model of the requirements for the system. This will be used by Brown LLC to construct the software and provide it by summer 2006.
The software will implement many Use Cases, which are shown in Section 3. The Use Case inventory is as follows:
- Create Album
- Delete Album
1.2. Scope
The software to be created is photo album editing software. It will perform basic functions that will allow the actor to create multiple photo albums. Within a photo album they will be able to insert photos. The software also supports sub-albums, which can be used like chapters within the software.
1.3. Definitions, Acronyms and Abbreviations (Glossary)
There are a variety of terms used in this SRS relating to the software being created. Most of the terms are self-explanatory and are common to physical photo albums. However, for completeness, all terms related to the software are provided.
- Album – an album is a selection of content at the highest level
- Content – content can be a photo or a sub-album
- Photo – a digital picture in JPEG or GIF format
- Slideshow – the automatic presentation of photos
- Sub-album – a collection of content within a album or sub-album
1.4. Risk Analysis
There are a variety of risks to developing this software. As mentioned before, it is important that the software be finished by the summer of 2006. This is the key window to allow Mitropoulos, Inc. to prepare for holiday shopping season. To address this risk, Brown LLC is attempting to finish the software by mid-summer. This will provide extra time if obstacles slow down the project.
A secondary risk to this software project is changing requirements. Mitropoulos, Inc. could post clarifications to the requirements that might adversely affect this project. Brown LLC will attempt to create a very flexible software design that will allow changes to the software quickly and easily.
1.5. Overview
The following SRS is organized into two major sections: Overall Description and Specific Requirements. The Overall Description describes the requirements at a high level, while the Specific Requirements describe all of the relevant requirements of the system.
2. Overall Description
The photo editing software allows the actor to create virtual photo albums. The primary features are to allow the actor to create logical photo albums in the system. Each photo album can contain content, which consists of actual photos or sub-albums. A sub-album is a logical collection of content. Sub-albums can also contain content, which is photos or other sub-albums.
A second set of features allows the actor to change the photo albums. Order of content and albums is important in the photo album editing software. A set of features allows the actor to move albums or content up or down. Additional features allow the actor to copy, cut and paste photos. There is also a search feature that will allow the actor to search for photos bases on key words. Actors can change many characteristics of the pictures like contrast and brightness.
The final set of features allows the actor to create slideshows. A slideshow is an automated process of showing the photos. The actor can select background music that can be played. There are two types of slideshows. One type shows the pictures only once. A second type will continuously show the pictures until the actor terminates the feature.
2.1. Use-Case Model Survey
There are 23 Use Cases that make up the requirements for this system. The detailed Use Cases are in section 3.
Use Case | Description |
1. Create Album | Creates an album in the photo album library. |
2. Delete Album | Deletes an album in the photo album library. |
… | … |
The screenshots in the Use Cases are there to present a visual representation of the screen will look like. Red circles are used to direct the audience’s attentions to different areas of the screen. Do not assume that the actual content on the screens corresponds to the path of the Use Case.
2.2. System Evolution
If Mitropoulos, Inc. is successful in carving out a spot in the digital camera market; enhancements to this software will be needed. Such enhancements could include having the software interact directly with the digital camera and moving photos from the software to the digital camera. This would only take place if Mitropoulos Inc. decides to compete in the high-end digital camera market.
If Mitropoulos, Inc. sees moderate success in the low-end camera market; they will maximize profits by cuttings costs. No new features will be added to the software. Only bug fixes will be performed.
3. Specific Requirements
The Specific Requirements section will provide the Use Case Reports specifying the 23 Use Cases that make up this system.
3.1. Use-Case Reports
3.1.1. Use Case Name: Create Album
Summary: The Create Album feature allows the actor of the software to create a new album in the album library.
Trigger: The actor selects the Create Album menu item.
Basic course of events (Scenario):
Actor | System | Screen |
1. The user selects Create Album. | ||
2. The system requests the name, description, and date of the new album. | ||
3. The user completes fields and selects OK. | ||
4. The system adds that album to the album area. |
Alternative paths:
- The album created is canceled.
Actor | System | Screen |
3. The user selects Cancel. | ||
4. The system removes the create album screen. |
2. Duplicate album name.
Actor | System | Screen |
4. The system determines that the new album name already exists and produces error message. | ||
5. The user acknowledges the error message. |
Post conditions:
- A new album has been created in the album area.
- The new album is selected.
3.1.2. Use Case Name: Delete Album
Summary: The Delete Album feature will remove an album from the system.
Preconditions:
- An album is selected.
- The album is empty.
Trigger: Actor selects the Delete Album menu item.
Basic course of events (Scenario):
Actor | System | Screen |
1. The user initiates deletion of an album. | ||
2. The system confirms that delete of selected album. | ||
3. The user confirms. | ||
4. The system removes the selected album. |
Alternative path: Actor does not confirm deletion.
Actor | System | Screen |
3. The user rejects the album deletion. | ||
4. The system removes the confirmation alert. |
Post Condition: After successful deletion, no album is selected.
3.2. Supplementary (Non-functional) Requirements
- The software shall run on the latest versions of the Windows operating system, including Windows 7 through 11.
- Any Menu item or button whose functionality is precluded because the preconditions to the function are not met must be disabled when the condition is not met, and re-enabled when the conditions are again met.