today, software has become an important part of our lives. software is used everywhere. software engineers are responsible for producing fault-free software which has literally become an essential part of our daily lives. changeability and conformity are two of the main properties of software design. there are also different processing models for designing software including build and fix, waterfall and agile software processing design methods.