Software Specification - The functionality of the software and constraints on its operation must be defined.Software Evolution - The software must evolve to meet changing customer needs.The process of understanding and defining what services are required from the system Identifying the constraints on the system's operation and development It is a very critical stage of the process as errors at this stage lead to later problems in design and implementation.2.3.4.