A Methodology for Writing High Quality Requirement Specifications and for Evaluating Existing Ones