Software design is a process of problem-solving and planning for a
software solution. After the purpose and specifications of software is determined,
software developers will
design or employ
designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view.
See more at Wikipedia.org...