Poor requirements are a leading cause of project failure and customer dissatisfaction. This chapter provides a classification taxonomy for requirements and a detailed workflow to identify and characterize system and software requirements. This process involves the application of use cases and adopts the use of Systems Modeling Language (SysML) requirements and requirement relations. Modeling requirements – particularly executable requirements models – is heavily emphasized as a key means for improving the quality and completeness of the requirements. Exercises are provided for requirements specification for the Roadrunner Traffic Light Control System and the Coyote Unmanned Air Vehicle.