An investigation into computer-aided design of software. - Karel Riha (1987)