Create and document the structure of software products including components, coupling and interfaces. Ensure feasibility, functionality and compatibility with existing platforms.