Data-Driven Design is a process of designing software structure and functionality. Data-Driven Design infers functionality mainly from the information that the software is meant to maintain. The functionality of the system focuses on having to create, view, and update that information.
Data-Driven Design is useful for designing data models and designing database schemas. The definition of data and the structure of a database is solely focused on the data it models or contains.
Data-Driven Design differs in focus from Structured Design, which focuses mainly on what logic needs to be performed by defined how the logic changes program state.