Software requirements are specified. Software requirements are structured and prioritized. Software requirements are analyzed for correctness and technical feasibility. The impact of software requirements on the operating environment is analyzed. Consistency and bidirectional traceability are established between software requirements and system requirements. Consistency and bidirectional traceability are established between software requirements and system architecture. The software requirements are agreed and communicated to all affected parties.