One of the most difficult problems which designers of complex mechanical assemblies face routinely is not to be aware of when they are committing mistakes. More and more dependence of designers on CAD systems further aggravates the problem of committing the mistake of not giving proper attention to the kinematic structure of the assembly. This article presents design phases for assemblies according to a top-down design process and the generic steps that constitute different design phases. A comprehensive classification of mechanical assemblies follows the outline of the steps of the design process. This classification also defines the characteristics of different types of assemblies and most importantly it identifies the possible mistakes that designers may commit. A separate classification of different procedures for meeting assembly tolerances is also presented. This article will not only talk about the classifications but it will also enlist information about various techniques that can be used to analyze different types of assemblies. Together, these sets of classifications outline a comprehensive design procedure that will help designers of assemblies in making sure that they justify their design decisions. This paper also links the steps in the design process to specific tools developed in previous papers.