程序设计一般包括哪四个步骤