A Study of Preconditions and Postconditions as Design Constraints for LLM Code Generation