RequirementGPT: Use AI to Turn Raw Specifications Into Requirements
Converting natural language specifications into formal requirements can be tedious and time-consuming. To streamline this process, we’ve built a simple CustomGPT that uses AI to generate structured requirements from raw specifications.
You’ll need an account on ChatGPT to use this tool. A free account is perfectly fine. If you don’t already have an account, please carry on with the instructions below and you’ll be guided in the creation of an account when necessary.
Important Note: This GPT Is a Simple Example
It’s important to highlight that this GPT is very simple and has not been fine-tuned. It is meant to provide basic examples of how requirements should be written and structured. All results must be carefully reviewed and validated by a competent engineer. This tool is not intended for production use—it’s here to demonstrate possibilities and assist with drafting, but the final output should not be relied upon for critical decisions.
How to Use the RequirementGPT
- Access RequirementGPT on the web interface of chatGPT: click here.
- Create or Log In to a ChatGPT Account if prompted to do so. A free account is perfectly fine.
- Input Your Specifications: Simply paste your natural language technical specification into the chat interface.
- Receive a List of Requirements: RequirementGPT will generate a list of formalized requirements, each with a unique ID, a short title, and a description that is simple and testable.
For best results, ensure your input specification is clear and focuses on what the system or component must achieve. Again, the generated requirements are examples and should be checked by an engineer before being used in any real-world project.
The Prompt May Evolve
The prompt used to create this tool may evolve in the future as I make refinements and improvements. Please check back regularly to ensure your requirements benefit from the latest updates and improvements.
Prompt Used to Build RequirementGPT
Here’s the foundational prompt I used to create this tool. Feel free to reuse and adapt as per your taste:
This GPT will transform natural language specifications into a list of system requirements.
A requirement is a feature or a capability that must be met by the system, product, or service to satisfy a need or objective. Any other consideration that does not describe a capability of the system is not a requirement, but rather information.
Each requirement will focus on a single topic. If there are several ideas in the same phrase, then several corresponding requirements must be generated, even if they are related.
A requirement must be measurable, and written formally.
Requirements will be assigned a unique ID following the format 'REQ-' followed by a unique number. Requirements will be written in a structured way: the ID followed by a short title, both in bold on the same line, and the following lines will contain the requirement itself in concise language.
The system prioritizes conciseness and clarity when generating the requirements and uses a technical tone for communication.
When the specification contains section titles, they are preserved as they are, possibly with their original numbering.
The system will detect portions of text that are informational rather than formal requirements and will convert them into paragraphs of information. Paragraphs of information will be assigned a unique ID following the format 'INFO-' followed by a unique number.
The system ensures there is no redundancy or contradiction between the generated requirements.
The system splits functional, technical, and temporal constraints into distinct requirements. For example, when two constraints appear together in one phrase, they will be separated into distinct requirements even if they are related.
The system must always generate the requirements in the same language as the specification provided.
This simple structure ensures consistency and clarity in the output, which is useful for learning and refining your own requirements-writing process. It’s a demonstration tool, not a substitute for expert engineering judgment.
Example of Specification-to-Requirement Conversion
Here is an example specification text written in natural language. Don’t focus too much on the functional implications of the text, it’s just an example, not a real product. This text can be copied into the input of RequirementGPT:
- Power Management
The system must be able to operate in low-power mode when not actively in use. The low-power mode should reduce power consumption by 50% compared to the normal active state. When user action is detected, the system must exit this mode within 2 seconds.
The battery used in the system will have a capacity of 5000 mAh and must be rechargeable via a USB-C connection. A notification should be sent when the battery level drops below 20%.
Note: Low-power modes vary depending on the hardware components used, and some components may require slower reactivation.
- User Interface
The system must provide a graphical user interface (UI) accessible via a 7-inch touchscreen. The interface should allow navigation between the different system functions, including sensor configuration, access to data logs, and network settings adjustment.
Navigation buttons must have a minimum size of 1.5 cm to ensure easy use, even with gloves. The interface should include visual icons to facilitate the identification of available actions.
The interface must be designed for varying lighting conditions, but the touchscreen sensitivity may be affected by direct sunlight exposure.
- Network Connectivity
The system must be able to connect to a secure Wi-Fi network using a WPA2 encryption key. An SSL certificate authentication option must also be available for environments that require enhanced security.
The system should automatically reconnect to the network in case of signal loss, with a reconnection attempt every 10 seconds until the connection is reestablished. If reconnection fails after 10 minutes, an alert should be sent.
Network performance may vary depending on the strength of the available Wi-Fi signal, and it is recommended to test the system in different conditions before deployment.
Here is the resulting list of requirements:
1. Power Management
REQ-001: Low-power mode operation
The system must support a low-power mode that reduces power consumption by 50% compared to the normal active state.
REQ-002: Exit from low-power mode
The system must exit low-power mode within 2 seconds of detecting user action.
REQ-003: Battery capacity
The system must use a rechargeable battery with a capacity of 5000 mAh.
REQ-004: USB-C charging
The system battery must be rechargeable via a USB-C connection.
REQ-005: Low battery notification
The system must send a notification when the battery level falls below 20%.
INFO-001: Component-specific low-power mode behavior
Low-power modes may vary depending on the hardware components used, and some components may have slower reactivation times.
2. User Interface
REQ-006: Graphical user interface (UI) on touchscreen
The system must provide a graphical user interface accessible via a 7-inch touchscreen.
REQ-007: Navigation between system functions
The UI must allow navigation between system functions, including sensor configuration, data log access, and network settings adjustments.
REQ-008: Minimum size of navigation buttons
Navigation buttons in the UI must have a minimum size of 1.5 cm to ensure usability, even when wearing gloves.
REQ-009: Use of visual icons
The UI must include visual icons to facilitate the identification of available actions.
INFO-002: Touchscreen sensitivity in direct sunlight
The touchscreen sensitivity may be affected by direct sunlight exposure.
3. Network Connectivity
REQ-010: Wi-Fi connection with WPA2 encryption
The system must connect to secure Wi-Fi networks using WPA2 encryption.
REQ-011: SSL certificate authentication option
The system must support SSL certificate authentication for environments requiring enhanced security.
REQ-012: Automatic Wi-Fi reconnection
The system must attempt to automatically reconnect to the Wi-Fi network every 10 seconds after signal loss.
REQ-013: Alert after 10 minutes of reconnection failure
If the system fails to reconnect to the Wi-Fi network after 10 minutes of attempts, it must send an alert.
INFO-003: Network performance considerations
Network performance may vary based on Wi-Fi signal strength, and testing in different conditions is recommended before deployment.
Key Takeaways
RequirementGPT is a basic tool to help you draft formal requirements from natural language specifications. Always review the output carefully before using it in any practical or critical context.
Should you need professional assistance when crafting your requirements, please don’t hesitate to contact us. We also encourage you to submit your requirement documents for an independent review—having a second pair of eyes can greatly enhance the clarity and precision of your documentation, opening the way to a right-first-time design.