Requirements Specification
Learning Objectives
- You know what requirements specification is and know how large language models can be used to help in generating requirements specifications.
In the previous part, we briefly discussed describing expected system functionality. We looked into use cases and user stories, which are two of the most common ways to describe expected system functionality. In requirements specification, we further document the requirements in a way that they are understandable to the customer and other stakeholders, they can be used for estimating product costs and schedules, and that they can be subsequently validated. This documentation of the requirements is created by the development team, possible with the help of technical writers.
Here, we briefly look into software requirements specification, which is a document that describes the requirements for a software system. When forming a software requirements specification, it is meaningful to start from a template, such as the prototype outline in IEEE standard 830-1998, which is as follows.
Table of Contents1. Introduction1.1 Purpose1.2 Scope1.3 Definitions, acronyms, and abbreviations1.4 References1.5 Overview2. Overall description2.1 Product perspective2.2 Product functions2.3 User characteristics2.4 Constraints2.5 Assumptions and dependencies3. Specific requirementsAppendixesIndexPerhaps unsurprisingly, as large language models can be used to generate text, they can be also used to generate requirements specifications.
Try asking the LLM to generate a software requirements specification for a simple application of your choice, such as a calculator. First, try to have the model produce the generic structure with the key points, and then try to fill in the details for a part of the specification.