transforms software reqs into descriptions of the solution.  architecture design and detail design can be iterative
transforms software reqs into descriptions of the solution.  architecture design and detail design can be iterative
finding an appropriate software structure to capture the problem. determining architecture. design objects reflect software constraints. white box