The classification of design into "preliminary" and "detailed" design looks pretty much artificial and immature.
It is not clear how you place these two steps in the general states of development. The keys to development method is to make it
iterative and
incremental, which requires considerable experience, not matter how much do you know about methods described in books. All your steps may need more than one
iteration, not just "preliminary" and "detailed"; besides, different activities are involved in iterations. In such methods, the stages are usually
inception,
construction,
elaboration and
transition. All activities are iterated in all those stages albeit in different extent.
You can get some basic ideas on the processes and methods:
http://en.wikipedia.org/wiki/Iterative_and_incremental_development[
^],
http://en.wikipedia.org/wiki/Unified_Process[
^],
http://en.wikipedia.org/wiki/Rational_Unified_Process[
^].
I would advise you to get the ideas but not get them too seriously. In my strong opinion, the books on those methods are filled with some mixture of thoughts based on serious experience with good deal of science-like pseudo-science, in different proportions, depending on authors. Naturally, the authors pretend that their methods are more universal then they really are.
A really good method can use the ideas brought by other developers, but always viewed through the prism of your company's ultimate goals. There is no a silver bullet.
—SA