Definition software design
Software design is the design process up to the planning of a software solution. As a general rule, this process is necessary to make the complexity most computer programs possess manageable for the software engineers and to reduce the risk of aberration.
Generally, client and contracting party first determine the requirements which arise from the view of the client for the software to be developed. In the course of this, the client creates the so called contract specification.
Subsequently, client and contracting party develop a concept in which it is put on record with which program structures, programming techniques and algorithms the earlier on determined requirements shall be fulfilled and programmed. The contracting party documents the results of this concept in the so called specification sheet.