Automating Domain-Driven Design: Experience with a Prompting Framework
Organizations: Chair of Software Engineering, Technical University of Munich, Heilbronn, Germany · Engineering Team, FTAPI Software GmbH, Munich, Germany
Abstract
Domain-driven design (DDD) is a powerful design technique for architecting complex software systems. This paper introduces a prompting framework that automates core DDD activities through structured large language model (LLM) interactions. We decompose DDD into five sequential steps: (1) establishing an ubiquitous language, (2) simulating event storming, (3) identifying bounded contexts, (4) designing aggregates, and (5) mapping to technical architecture. In a case study, we validated the prompting framework against real-world requirements from FTAPI's enterprise platform. While the first steps consistently generate valuable and usable artifacts, later steps show how minor errors or inaccuracies can propagate and accumulate. Overall, the framework excels as a collaborative sparring partner for building actionable documentation, such as glossaries and context maps, but not for full automation. This allows the experts to concentrate their discussion on the critical trade-offs. In our evaluation, Steps 1 to 3 worked well, but the accumulated errors rendered the artifacts generated from Steps 4 and 5 impractical. Our findings show that LLMs can enhance, but not replace, architectural expertise, offering a practical tool to reduce the effort and overhead of DDD while preserving human-centric decision-making.
Figures & tables
| Term | Definition | Business Context | Related Terms | Questions / Clarifications Needed |
| File | A single digital document or object (e.g., PDF, image, archive) stored in a Data Room. | Uploaded, downloaded, versioned, viewed or annotated. | File Version, Upload, Download, PDF-Viewer | Are there file-type restrictions per customer? Are files immutable after upload unless versioned? |
| File Version | A saved snapshot of a File at a point in time; previous versions can be restored. | Maintained automatically when a File is changed. | File, Version History, Restore | How many versions are retained? Retention policy per Data Room? |
| Owner | A role with the highest authority over a Data Room: can delete the Data Room, manage access and view audit info. | Assigned per Data Room; visible in Admin Console. | Roles, Permissions, Admin | Can there be multiple Owners? What actions are reserved exclusively to owners vs. administrators? |
Software Engineering
Software engineering studies how to design, build, test, deploy, and maintain reliable software systems and the processes behind them.
See all 270 papers