Description of required software behavior.

Representation of concepts in a business domain.

Sign of potentially problematic code design.

Desired or necessary system capability.

Diagram showing movement of data.

Improving code structure without changing behavior.

Requirement describing what software must do.

Diagram representing process steps.

Restructuring or rebuilding existing software.

Requirement describing qualities or constraints.