In software design, you decide for what purpose you will create software, what you are going to make, how is going to look like and what steps or methodologies you are going to follow. Like I previously said in my post of software life cycle, software design is the second step and is like drawing the blueprints of a house.
Software design usually involves problem solving and planning a software solution. This includes both a low-level component and algorithm design and a high-level, architecture design.
Software design is really important, you can’t build something without knowing how you is going to look; remember the story of the beginning of this post, imagine that the box doesn’t have an image and it doesn’t contain the instruction manual, you are on your own to build a Lego castle with all those pieces; it will be impossible, you may build something similar but is not going to look like the one that was intended for.