System modeling techniques are used during requirements engineering and design to represent different perspectives of a system. Context models show the system and its environment, while process models illustrate system processes. Behavioral models include data flow diagrams for data processing and state machine diagrams for event-driven behavior. Semantic data models describe logical data structures. Object models represent system entities and relationships. CASE tools support creating and analyzing various system models during development. Prototyping, through evolutionary or throw-away approaches, helps validate requirements by allowing users to interact with early versions of the system. Rapid prototyping techniques include visual programming and reusing components.