A methodology used in systems analysis to identify, explain, and organize system requirements. It is made up of a set of likely sequences of interactions between systems and users in a specific environment and associated with a particular goal. Use cases can be applied at various stages of software development including planning, software design, development, and testing.