historia del software