Müşteriler
(bir yazılım projesi sipariş eden kişiler) yazılımı belli amaçlarını
gerçekleştirmek için istemişlerdir. Kullanıcılar (yazılımı kullanacak
kişiler) de yazılımı bu amaçları
gerçekleştirecek şekilde kullanacaklardır. Gereksinim analizi işte bu amaçların
anlaşılması aşamasıdır. Kullanım durumu şemalarında bu amaçları yazılı olarak
özetler ve doğru anlaşılmış olduklarından emin olmak için kullanıcılar ve
yazılım geliştiricilerle paylaşırsınız.
Kısacası, bir UML kullanım durumu şemasıyla
görselleştireceğiniz kullanım durumları kullanıcı amaçlarının yazılı özetlerini
içerirler. Dikkat edin, bunlar yazılım her türlü yetenekleri ve özelliklerinin
kuru birer listesi değildirler. Yazılımın kullanıcıya fayda sağlayan
yeteneklerine odaklanmalısınız. Bu açıdan bakarsanız, kullanıcı
gereksinimlerini bir alışveriş listesi yapar gibi yazıp geçmemeniz gerektiğini
de anlarsınız. Gereksinimler analizi aslında kullanıcının ne istediğini
kullanıcıdan daha iyi anlamanız gereken bir aşamadır. Nasıl ki bir ebeveyn
çocuğunun her istediğini yapmak yerine onun için doğru olanı yapmalıdır, bir
yazılım geliştirici de kullanıcıya fayda sağlayacak amaçları gerçekleştirmeye
odaklanmalıdır.