Depends if i know how to write the application, if its something which i have no idea then:
Use Case diagrams to discover the variables to pass through $_GET and $_POST, expand the Use Case scenarios and then build a prototype schema, from this you can usually create an Adapter Pattern and which would form part of the Model component of a MVC for instance.
Essentially once you get use case and the db schema done then a class diagram can be built. All these quantities are expanded as new facets of the application are discovered. Interesting point i make is unless i know a lot about how my solution will work then i don't try and write a complete interface class first as i usually make too many mistakes.
Often write code scenarios of use to justify the addition of a method to an interface first.