This document discusses software analysis concepts including requirement analysis, elicitation, and specification. It covers key principles such as understanding user needs, developing prototypes, and creating hierarchical models. Requirement elicitation techniques include interviews, meetings, use cases and scenarios. Analysis models the information domain, functions, and system behavior through data, functional and behavioral models. The specification captures requirements but separates functionality from implementation through a behavioral model.