This book emphasizes methods, techniques and tools that can be used by AVERAGE software engineers in AVERAGE projects. As the very popular UML language contais an assertion language (OCL), this language is presented and put into relation with other currently available assertion techniques. Currently these techniques are more widely used in late design and implementation phases. Here their role in analysis is emphasized. Assertion and scenario techniques are then combined into a single methodological framework. Finally a prototyping oriented model based on this framework is developed which helps to assure that software fulfills user requirements.