If you want to design software then you should prepare and analyze the problem