Software design specification