This paper presents a review of all existing discrete methods for computing the derivatives of computational models within a unified mathematical framework. This framework hinges on a new equation, the unifying chain rule, from which all the methods can be derived. The computation of derivatives is described as a two-step process: the evaluation of the partial derivatives and the computation of the total derivatives, which are dependent on the partial derivatives. Finite differences, the complex-step method, and symbolic differentiation are discussed as options for computing the partial derivatives. It is shown that these are building blocks with which the total derivatives can be assembled using algorithmic differentiation, the direct and adjoint methods, and coupled analytic methods for multidisciplinary systems. Each of these methods is presented and applied to a common numerical example to demonstrate and compare the various approaches. The paper ends with a discussion of current challenges and possible future research directions in this field.