designing software is for making a computer function