Software = data + algorithms
nSince every program handles data, attention must be paid to how the representation of the data can affect the algorithm. nData is the fundamental and most stable aspect of a software system. nThe design of an abstract view of the data, followed by the implementation of this abstract view by means of algorithms, is the essence of programming.