Appendix D: IEEE 830 Sample

(only 2 functional areas shown out of the 23 in the original)

Software Requirements Specification

for

Photo Software

 Version 2.0

 Prepared by Michael Brown & Sheldon Linker

 UMGC

 31-August-2021

«Page Break»

Table of Contents

«Table of Contents»

Revision History 

Name Date Reason for Changes Version
Michael Brown 5-Apr-2021 Initial document 1.0
Sheldon Linker 6-May-2019 Slight modernization 1.0.1
Sheldon Linker 10-May-2021 Modern best practice: No path to an error case 1.1
Sheldon Linker 31-Aug-2021 Conversion to IEEE-830 format 2.0

«Page Break»

1. Introduction

1.1. Purpose  

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.2. Document Conventions  

There are no special typographical conventions. The sample images are shown in the Windows 8 user interface format. The look of the application will likely appear stylistically different on Windows 10 or other operating systems.

1.3. Intended Audience and Reading Suggestions  

This document is intended for all stakeholders in the project — Those who will authorize it, those who will develop it, and those who will test it. An of course, the real audience is the set of students who will read this appendix.

1.4. Product 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.5. References  

Normally, I’d reference the initiating document in APA v7 format here, but the eMail asking me to participate in this book was not meant for distribution.

1.6. 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

2. Overall Description

2.1. Product Perspective  

This is new photo editing software for internal use.

2.2. Product Features  

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.

  • Create Album — Creates an album in the photo album library
  • Delete Album — Deletes an album in the photo album library.

2.3. User Classes and Characteristics  

For this application, there is only one user class, and that is User. There are no privilege levels.

2.4. Operating Environment

OE-1: The software shall run on Windows, MacOS, and iOS, at least.

OE-2: The application shall present the native interface. (This document shows a Windows interface.)

2.5. Design and Implementation Constraints

DC-1: The system shall run either in native code, or in a built-in VM, such as .Net on Windows.

DC-2: The system shall support all commonly used image formats, including, at least, all the image formats which the Chrome browser can display.

2.6. User Documentation

Although the plan is that the application should be simple and straightforward enough that the user should need no documentation, there shall be a printable PDF distributed with the application explaining its features and usage.

2.7. Assumptions and Dependencies

AS-1: We assume that the user has knowledge of how standard PC features work, such as the mouse, keyboard, and standard Open and Save dialogs work.

DE-1: Since this software contains no device drivers of its own, it thus depends on image-capturing hardware having its own means of either getting the images onto the host system, or as acting as a file system connectable to the host system.

3. System Features

The basic functional areas of the system are as follow: (Note that since this is a sample, only 2 are shown.)

3.1. Create Album

An album is the top level of the storage hierarchy. This function allows the user to create a new album, which can then contain images.

3.2. Delete Album  

This function allows the deletion of an album, along with any images attached to it. Deletion of a non-empty album will involve a warning dialog.

4. External Interface Requirements

4.1. User Interfaces Overview

The various functionalities below will each have their own interface screen designs, as shown below. (Note that only the screens for the first 2 examples are shown in this sample.)

These image show the menus, plus the main lay-out area, and the lay-out area without the menu, but with contents:

   

This image shows the album creating dialog, a typical error dialog, and a confirmation dialog:

       

4.2. Hardware Interfaces

N/A — There need not be any special hardware interfaces in the program, and the program may rely solely on the host operating system’s ability to load images from cameras and the like, or to show such devices as file systems.

4.3. Software Interfaces

N/A — This software does not directly communicate with other software.

5. System Features/Modules

The following provides a more in-depth explanation of the functional areas, including full requirements. Note that only 2 areas are shown here for purposes of example.

5.1. Create Album  

5.1.1 Description and Priority

The primary focus of this product is to hold, organize, and contain imagery. Albums are the primary means on organizing the images. A user may create an album at any time, and there is no limit on the number of albums. Album names must be unique. Priority=High.

5.1.2 Stimulus/Response Sequences

Stimulus: From the Album menu, the user selects Create Album.

Response: The system displays the album creation dialog, as shown in §4. In the dialog, the Ok button starts in a disabled state.

Stimulus: The user enters, modifies, or deletes data in either of the top two text entry areas (name and date).

Response: At each operation, the fields are evaluated for validity, and the Ok button will enable or disable so as to be enabled when both fields contain valid data.

Stimulus: The user clicks Ok.

Response: If the name given is unique, then the name is added to the list of albums (and has no content). If the name is not unique, then the error alert as shown in §4 will display in a modal manner.

5.1.3 Functional Requirements

REQ-1.1: Upon the user choosing “Create Album” from the “Album” menu, the system shall display the album creation dialog as shown as “Create Album” in §4.1. The initial state of the “Ok” button shall be disabled.

REQ-1.2: As the user enters, modifies, or deletes data in the Name and/or Date fields, the validity of those two fields shall be reevaluated, and the the “Ok” button shall be enabled if and only if those two fields are valid.

REQ-1.3: Upon the user clicking “Ok”, or when using operating systems that link the “Return” or “Enter” button the the “Ok” button, pressing either of those keys, the system shall evaluate whether the album name is unique, and if so, shall add the ablum name, at the bottom, to the list of albums, in a persistent manner. If name is not unique, then the system shall display the “Duplicate Name” error alert, as depicted in §4.1.

5.2. Delete Album  

5.2.1 Description and Priority

Anything created must be deletable. This function allows for the deletion of an album created above. Priority=Low.

5.2.2 Stimulus/Response Sequences

Stimulus: The user clicks on an album in the album list.

Response: The system will enable the Delete Album menu item if the album is empty, and disable the item otherwise.

Stimulus: From the Album menu, the user chooses Delete Album.

Response: The systems posts the confirmation dialog as shown in §4.

Stimulus: The user clicks Ok.

Response: The album is deleted, and removed from the list.

5.1.3 Functional Requirements

REQ-2.1: Upon each user action that changes the state of which album is selected (including starting the program), and upon each user action that changes the number of images in an album, the system shall revaluate whether the “Album” menu’s “Delete Album” menu item should be enabled, and shall enable that item if and only if there is exactly one album selected in the album list and that album is empty.

REQ-2.2: Upon the user selecting the “Delete Album” menu item, the system shall post the “Confirm” dialog, as depicted in §4.1.

REQ-2.3: Upon the user clicking “Ok”, the system shall remove the album from the list, in a persistent manner.

6. Nonfunctional Requirements

6.1. Performance  

NF-1.1: Any operation that is expected to take 0.1s or less shall not post any sort of wait indicator.

NF-1.2: Any operation that is expected to take more than 0.1s, but less than 1s, shall post the system Wait cursor.

NF-1.3: Any operation that is expected to take 1s or more shall post a progress bar, count-down timer, or other system-appropriate wait/progress indicator.

6.2. Veracity  

NF-2.1: The original image format shall be preserved.

License

Icon for the Creative Commons Attribution-ShareAlike 4.0 International License

Requirements Engineering Copyright © 2021 by sheldonlinker is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, except where otherwise noted.

Share This Book