1. A system for supporting data driving a software process, the system comprising: a defining attributes framework for receiving, from a user, input of a class of an object of a non-primitive data type, without receiving a pre-existing instance of the data type; and a user interface for providing to the user a description of the collection of attributes necessary to construct an instance of the object, based only on the class of the object.