حالة الاستخدام (Use Case) في هندسة البرمجيات وهندسة أنظمة هي وصف لخطوات أو اجراءات بين المستخدم ونظام البرمجيات الذي يقود المستخدم إلى شيء مفيد. يمكن أن يكون المستخدم أو الممثل شخصاً أو شيئاً أكثر تجريداً مثل نظام برمجة خارجي أو عملية يدوية.
حالات الاستخدام هي تقنية لغة النمذجة التي تساعد مطوري البرمجيات على تحديد ملامح لتنفيذ وحل الأخطاء بأمان.
في هندسة النظم، تستخدم حالات الاستخدام على مستوى أعلى من هندسة البرمجيات وهو ما يمثل في كثير من الأحيان مهام أو أهداف أصحاب المصلحة. قد يتم إنجاز المتطلبات التفصيلية في مخططات SysML المطلوبة أو ما شابه.