İçeriğe geç
parazade

Gereksinim Analizi Nedir?

İngilizce: Requirements Analysis

Yayın: · Son güncelleme:

Gereksinim Analizi Nedir? Kısaca

Gereksinim analizi, bir yazılımın ne yapması ve hangi koşulları karşılaması gerektiğinin paydaşlarla birlikte belirlenip yazılı, ölçülebilir ve onaylanmış maddelere dönüştürüldüğü yazılım geliştirme aşamasıdır.

Gereksinim Analizi nedir?
İçindekiler
  1. Gereksinim analizi nedir?
  2. Hangi türleri var?
  3. Nasıl yapılır?
  4. Sık yapılan hatalar

Gereksinim analizi nedir?

Gereksinim analizi, yazılım projesinin "ne yapılacak?" sorusuna verilen yazılı cevaptır. Kod yazılmadan önce müşteri, kullanıcı ve iş birimleriyle konuşulur, ihtiyaçlar toplanır ve açık maddeler hâline getirilir. Çıkan belgeye çoğu zaman yazılım gereksinim belirtimi (SRS) denir.

Bu aşamadaki bir eksik, projenin ilerleyen adımlarında çok daha pahalıya düzeltilir. Yanlış anlaşılan bir gereksinim, aylarca doğru biçimde yanlış bir ürünün üretilmesine yol açabilir.

Hangi türleri var?

Gereksinimler iki ana gruba ayrılır:

Tür Ne anlatır? Örnek
Fonksiyonel Sistemin ne yapacağı Kullanıcı e-posta ile şifresini sıfırlayabilmeli
Fonksiyonel olmayan Sistemin nasıl çalışacağı Sayfa 2 saniyeden kısa sürede açılmalı

Fonksiyonel olmayan gereksinimler performans, güvenlik, erişilebilirlik ve kullanılabilirlik gibi kalite özelliklerini kapsar. Sık unutulan grup budur.

Nasıl yapılır?

Bilgi toplamak için birebir görüşmeler, anketler, atölye çalışmaları ve mevcut sistemin incelenmesi kullanılır. Bir diş kliniği için randevu sistemi hazırladığınızı düşünün. Doktorla konuşmak yetmez; sekreterin telefonla randevu verirken hangi bilgileri istediğini izlemek, yazılması gereken pek çok kuralı ortaya çıkarır.

Toplanan ihtiyaçlar netleştirilir, çelişkiler giderilir ve öncelik verilir. Çevik ekipler bu ihtiyaçları çoğunlukla user story biçiminde yazar.

Sık yapılan hatalar

"Sistem hızlı olmalı" gibi ölçülemeyen ifadeler en yaygın sorundur. Her gereksinimin test edilebilir olması gerekir. Gereksinim listesini hazırladıktan sonra her madde için "bunu nasıl test ederim?" sorusunu sormak, belirsiz maddeleri hemen ortaya çıkarır.

Sıkça Sorulan Sorular

Gereksinim analizini kim yapar?

Büyük projelerde iş analisti ya da sistem analisti yapar. Küçük ekiplerde bu işi Product Owner, proje yöneticisi ya da deneyimli geliştiriciler üstlenir.

SRS belgesi nedir?

Software Requirements Specification, yazılımın tüm gereksinimlerinin toplandığı resmî belgedir. Özellikle şelale modeliyle yürütülen ve sözleşmeye bağlı projelerde kullanılır.

İlgili terimler

Yazılım Geliştirme Yaşam Döngüsü(SDLC)Yazılım geliştirme yaşam döngüsü (SDLC), bir yazılımın fikir aşamasından planlama, analiz, tasarım, kodlama, test, dağıtım ve bakım adımlarıyla kullanımdan kalkmasına kadar geçtiği süreci tanımlayan çerçevedir.User StoryUser story (kullanıcı hikâyesi), bir yazılım özelliğini kullanıcının gözünden, kim olduğu, ne istediği ve neden istediği bilgisiyle kısa ve sade bir cümlede anlatan çevik gereksinim yazma biçimidir.UMLUML (Unified Modeling Language, Birleşik Modelleme Dili), bir yazılım sisteminin yapısını ve davranışını sınıf, kullanım senaryosu ve sıralama diyagramı gibi standart çizimlerle göstermeye yarayan görsel modelleme dilidir.Kabul Testi(Acceptance Testing)Kabul testi (acceptance testing), bir yazılımın teslimden önce iş gereksinimlerini ve kullanıcı beklentilerini karşılayıp karşılamadığını doğrulamak için yapılan son test aşamasıdır. Kullanıcı kabul testi (UAT) en bilinen türüdür.Yazılım(Software)Yazılım, bir bilgisayarın ya da akıllı cihazın ne yapacağını adım adım tarif eden programların, verilerin ve talimatların bütünüdür. Donanım fiziksel parçaları, yazılım ise bu parçaları çalıştıran mantığı ifade eder.Erişilebilirlik(Accessibility)Erişilebilirlik (accessibility), web siteleri ve uygulamaların görme, işitme, hareket ya da bilişsel engeli olan kişiler dâhil herkes tarafından algılanabilir, kullanılabilir ve anlaşılabilir biçimde tasarlanmasıdır.Kullanılabilirlik(Usability)Kullanılabilirlik (usability), bir ürünün belirli kullanıcılar tarafından belirli bir amaca ulaşmak için ne kadar etkili, verimli ve memnuniyet verici biçimde kullanılabildiğini anlatan kalite ölçütüdür.