软件定义包括哪几个阶段