I think it all depends how you define your phases and what goals you want to achieve from each phase. This makes your question more of a methodology issue then anything else and the answer will vary depending upon the industry standard or custom methodology you actually use.
Without the methodology, here's my two-cents...
Definition should ONLY deal with understanding the business problem from the users point of view. You are establishing the scope and domain of the problem you will solve.
Analysis should be of the current environment. This may involve systems, networks, processes, etc... They key
word however is CURRENT. Analysis is for existing state not future state.
Design can involve both business design and techincal design. This where we start looking at what will be not what is and is where most pattern work will be employed. Note: If you are working with existing systems that exhibit/employ particular patterns, then that information might apperar/be discussed in your analysis.
Construction,
Testing and Implementation/Deployment are more self-explanatory.
Different methodologies break up these steps in different ways, give them different names, and are executed differently (e.g. waterfall, iterative, etc.) but at their essence they are all fairly similar.
I hope this clarifies where patterns (in my option) are considered in the course of a software project.
Regards,
[ October 02, 2002: Message edited by: Byron Estes ]