Table of Contents
Fetching ...

Requirements are All You Need: From Requirements to Code with LLMs

Bingyang Wei

TL;DR

The paper tackles translating detailed software requirements into executable code using a tailored large-language-model workflow. It introduces Progressive Prompting and an external knowledge base to guide a customized GPT (Software Engineer GPT) from requirements through functional specifications, object-oriented design, tests, and implementation. A case study on the SuperFrog Scheduler demonstrates end-to-end generation with intermediate artifacts that support verification and traceability, underscoring potential gains in efficiency and quality. The work highlights the continued centrality of requirements engineering, the role of human collaboration, and future directions for education, tooling, and broader evaluation in AI-assisted software engineering.

Abstract

The pervasive use of textual formats in the documentation of software requirements presents a great opportunity for applying large language models (LLMs) to software engineering tasks. High-quality software requirements not only enhance the manual software development process but also position organizations to fully harness the potential of the emerging LLMs technology. This paper introduces a tailored LLM for automating the generation of code snippets from well-structured requirements documents. This LLM is augmented with knowledge, heuristics, and instructions that are pertinent to the software development process, requirements analysis, object-oriented design, and test-driven development, effectively emulating the expertise of a seasoned software engineer. We introduce a "Progressive Prompting" method that allows software engineers to engage with this LLM in a stepwise manner. Through this approach, the LLM incrementally tackles software development tasks by interpreting the provided requirements to extract functional requirements, using these to create object-oriented models, and subsequently generating unit tests and code based on the object-oriented designs. We demonstrate the LLM's proficiency in comprehending intricate user requirements and producing robust design and code solutions through a case study focused on the development of a web project. This study underscores the potential of integrating LLMs into the software development workflow to significantly enhance both efficiency and quality. The tailored LLM is available at https://chat.openai.com/g/g-bahoiKzkB-software-engineer-gpt.

Requirements are All You Need: From Requirements to Code with LLMs

TL;DR

The paper tackles translating detailed software requirements into executable code using a tailored large-language-model workflow. It introduces Progressive Prompting and an external knowledge base to guide a customized GPT (Software Engineer GPT) from requirements through functional specifications, object-oriented design, tests, and implementation. A case study on the SuperFrog Scheduler demonstrates end-to-end generation with intermediate artifacts that support verification and traceability, underscoring potential gains in efficiency and quality. The work highlights the continued centrality of requirements engineering, the role of human collaboration, and future directions for education, tooling, and broader evaluation in AI-assisted software engineering.

Abstract

The pervasive use of textual formats in the documentation of software requirements presents a great opportunity for applying large language models (LLMs) to software engineering tasks. High-quality software requirements not only enhance the manual software development process but also position organizations to fully harness the potential of the emerging LLMs technology. This paper introduces a tailored LLM for automating the generation of code snippets from well-structured requirements documents. This LLM is augmented with knowledge, heuristics, and instructions that are pertinent to the software development process, requirements analysis, object-oriented design, and test-driven development, effectively emulating the expertise of a seasoned software engineer. We introduce a "Progressive Prompting" method that allows software engineers to engage with this LLM in a stepwise manner. Through this approach, the LLM incrementally tackles software development tasks by interpreting the provided requirements to extract functional requirements, using these to create object-oriented models, and subsequently generating unit tests and code based on the object-oriented designs. We demonstrate the LLM's proficiency in comprehending intricate user requirements and producing robust design and code solutions through a case study focused on the development of a web project. This study underscores the potential of integrating LLMs into the software development workflow to significantly enhance both efficiency and quality. The tailored LLM is available at https://chat.openai.com/g/g-bahoiKzkB-software-engineer-gpt.
Paper Structure (22 sections, 7 figures)

This paper contains 22 sections, 7 figures.

Figures (7)

  • Figure 1: A human software engineer's interaction with the tailored GPT model.
  • Figure 2: A requirement hierarchy.
  • Figure 3: The user uploads requirements documents to Software Engineer GPT.
  • Figure 4: Software Engineer GPT derives the functional requirements from use cases.
  • Figure 5: Software Engineer GPT creates an object-oriented design for one functional requirement.
  • ...and 2 more figures