As its name suggests, a cognitive diagnosis model aims at “diagnosing” which skills examinees have or do not have. It has become very popular in recent years because it overcomes standard limitations of summated scale scores derived from classical test or item response theory.
There is a detailed overview of CDM by DiBello and coll. in the Handbook of Statistics, vol. 26: DiBello, L.V., Roussos, L.A., and Stout, W.F. (2007). Review of cognitively diagnostic assessment and a summary of psychometric models. In C.R. Rao & S. Sinharay (Eds.), Handbook of Statistics, Volume 26: Psychometrics (pp. 979–1030). Amsterdam, Netherlands: Elsevier. Mark J. Giel and Jacqueline P. Leighton(1) also explain how cognitive models can be used together with psychometric models to account for a hierarchical processing of information, where “problem solving is assumed to require the careful processing of complex information using a relevant sequence of operations (p. 1103).”
The definitive reference is probably the book authored by Rupp and coll.: Rupp, A.A., Templin, J., and Henson, R.A. (2010). Diagnostic Measurement: Theory, Methods, and Applications. Guilford Press.
A well-known model is the so-called DINA model for dichotomous items, which stands for deterministic-input noisy-AND model. It relies on the idea that a particular examinee need to master some skills (attributes) to endorse a given set of items. This relationship between items and attributes is operationalized into a $Q$-matrix which has binary elements $q_{jk}$ indicating whether mastery of the $k$th attribute is required by the $j$th item. We also consider a vector of indicators for subject $i$’s attribute mastery for the $k$ attributes. In the DINA model, items divide the population of examinees in two latent classes: those who have all required attributes and those who don’t.(2) Lacking one required attribute for an item is the same as lacking all the required attributes, and this model assumes equal probability of success for all attribute vectors in each latent group, a condition that is relaxed in the generalized DINA model.(3)
At first sight, it shares some of the ideas of clustering or, better, latent class models (PDF). The idea of considering “items bundle” is not new, think testlet or the linear logistic test model(9–11) which allows to take into account item properties, or its generalization, the random weights LLTM.(13) Other IRT models are listed in Table 2 (p. 997) of DiBello et al’s chapter.
The $Q$-matrix in the DINA model specifies the set of latent traits necessary for each item, and it is comparable to the weight matrix in the LLTM (or loadings in factor analysis). Importantly, it permits within-item multidimensionality (items needing more than one attribute). However, the LLTM is essentially used with unidimensional constructs; items parameters are linked linearly in this log-linear approach. Cognitive diagnosis model, like the DINA model, are sort of mixture models where several population and several dimensions are considered at once. Only the latter provide basis for individual feedback about skill mastery.
Regarding existing software, here are few links: