I think
this[
^] rather succinctly explains the first two topics. The third item is simply the implementation of the design in real world code. As to setting a level of importance among the parts, that's quite hard to do, as failing to accomplish any one step will bring down the rest. My personal belief is that the most critical phase of the process is the first part, as any flaw in the analysis will lead to faulty design, and thence to defective code.