  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.
