This document discusses various modeling techniques used during the analysis phase of software engineering. It covers scenario-based modeling including use cases, activity diagrams, and swimlane diagrams. It also discusses flow-oriented modeling using data flow diagrams and grammars. Additionally, it discusses class-based modeling including identifying analysis classes, class diagrams, and the class-responsibility-collaborator technique. Finally, it discusses behavioral modeling including identifying events and creating state and sequence diagrams.