Gereksinim belirleme: türler, teknikler, kalite
Functional ve nonfunctional gereksinim farkı, görüşme, JAD, anket, gözlem ve belge analizi, iyi gereksinimin özellikleri. Sınavda 'bu gereksinimi sınıflandır' ve 'hangi teknik' soruları gelir.
Gereksinim (requirement), sistemin yapması gereken ya da sahip olması gereken bir özelliktir. Projeler en çok burada kaybedilir: yanlış ya da eksik gereksinimle kurulan bir sistem, ne kadar iyi kodlanırsa kodlansın yanlış sistemdir. Analiz evresinin bu ilk adımı üç işten oluşur: gereksinimleri keşfet (elicitation), sınıflandır ve analiz et, yaz (requirements definition). Sınavda gereksinim cümlesi verip türünü sorarlar, bir senaryo verip “hangi toplama tekniği” diye sorarlar.
Altın kurallar:
- Functional = ne yapar. Nonfunctional = ne kadar iyi, hangi koşulda yapar.
- Nonfunctional dört türdür: operational, performance, security, cultural and political.
- Ölçülemeyen gereksinim test edilemez. “Hızlı” yerine “2 saniyede”.
- Teknik seçimi soruya bağlı: derin bilgi mi, geniş bilgi mi, ortak karar mı, gerçek davranış mı?
Gereksinim türleri
Functional requirements
Sistemin gerçekleştirmesi gereken bir işlemi ya da sunması gereken bir bilgiyi tanımlar.
- Process-oriented: “Sistem, üye kapıdan geçtiğinde üyeliğin geçerli olup olmadığını kontrol etmelidir.”
- Information-oriented: “Sistem her üyenin son 12 aylık ziyaret geçmişini tutmalıdır.”
Nonfunctional requirements
Sistemin işlevi değil, davranış özellikleri ve kısıtlarıdır.
| Tür | Kapsadığı | Örnek (yemek sipariş uygulaması) |
|---|---|---|
| Operational | Fiziksel/teknik ortam, platform, entegrasyon, taşınabilirlik | Android 10+ ve iOS 15+ üzerinde çalışmalı; ödeme sağlayıcısının API’sine bağlanmalı |
| Performance | Hız, kapasite, güvenilirlik, erişilebilirlik | Akşam 19:00-21:00 arası 2,000 eşzamanlı kullanıcı; %99.5 erişilebilirlik |
| Security | Kim neye erişebilir, şifreleme, virüs, denetim izi | Kart bilgisi uygulamada saklanmamalı; kurye sadece kendi siparişlerini görmeli |
| Cultural and political | Dil, para birimi, yasa, kurum politikası | Fiyatlar TL, KVKK’ya uygun açık rıza metni |
TUZAK · iş kuralı functional’dır. “Siparişler en az 100 TL olmalı” bir kısıt gibi görünür ama sistemin işleyişini tanımlar: functional. “Sayfa 2 saniyede açılmalı” ise nonfunctional’dır. Sorulacak soru: “Bu, sistemin yaptığı bir iş mi, yoksa işi yapma kalitesi mi?”
Requirements definition
Gereksinimler numaralı bir listede toplanır, functional ve nonfunctional ayrı başlıklarda, önceliğiyle birlikte:
1. Functional
1.1 Sistem musteri siparis verebilmeli.
1.2 Musteri siparis durumunu gorebilmeli.
2. Nonfunctional
2.1 Operational
2.1.1 Android 10+ ve iOS 15+.
2.2 Performance
2.2.1 Menu 2 sn icinde yuklenmeli.
Bu numaralar izlenebilirlik (traceability) içindir: her gereksinim daha sonra bir use case’e, bir sınıfa ve bir test case’e bağlanır.
İyi bir gereksinimin özellikleri
| Özellik | Anlamı | Kötü örnek → iyi örnek |
|---|---|---|
| Unambiguous | Tek anlamlı | “Raporu hızlıca üret” → “Raporu 5 sn içinde üret” |
| Testable | Geçti/kaldı denebilir | “Kolay kullanılsın” → “Yeni kullanıcı rezervasyonu 3 dk’da tamamlasın” |
| Complete | Eksik koşul yok | “Ceza hesapla” → “Gecikilen her gün için 2 TL, en fazla kitap bedeli” |
| Consistent | Çelişki yok | Bir yerde “30 gün”, başka yerde “4 hafta” yazmasın |
| Feasible | Bütçe ve teknolojiyle yapılabilir | “Sıfır hata” değil, ölçülebilir hedef |
| Traceable | Kaynağı ve hedefi belli | Kim istedi, hangi testle doğrulanacak |
Analiz stratejileri
Gereksinimleri toplarken analist mevcut süreci ne kadar değiştireceğine karar verir:
| Strateji | Ne yapar | Değer | Risk / maliyet | Teknikler |
|---|---|---|---|---|
| BPA (automation) | Mevcut süreci olduğu gibi bilgisayara taşır | Düşük-orta | Düşük | Problem analysis, root cause analysis |
| BPI (improvement) | Süreci orta ölçekte iyileştirir | Orta | Orta | Duration analysis, activity-based costing, informal benchmarking |
| BPR (reengineering) | Süreci sıfırdan yeniden tasarlar | Yüksek | Yüksek | Outcome analysis, technology analysis, activity elimination |
Kısa tanımlar: duration analysis sürecin toplam süresini adımların süre toplamıyla karşılaştırır (fark büyükse bekleme var). Activity-based costing her adımın maliyetini hesaplar. Informal benchmarking başka kurumların aynı işi nasıl yaptığına bakar. Outcome analysis müşterinin asıl istediği sonucu sorar. Activity elimination her adım için “bunu tamamen kaldırsak ne olur?” diye düşünür.
Gereksinim toplama teknikleri
Görüşme (interview)
En yaygın tekniktir. Beş adım: kimle görüşüleceğini seç, soruları hazırla, görüşmeye hazırlan, görüşmeyi yap, sonrasında rapor yaz (genelde 48 saat içinde).
| Soru türü | Ne işe yarar | Örnek |
|---|---|---|
| Closed-ended | Kesin bilgi | “Günde kaç iade alıyorsunuz?” |
| Open-ended | Zengin, beklenmedik bilgi | “Süreçte sizi en çok ne zorluyor?” |
| Probing | Önceki cevabı derinleştirir | “Neden öyle? Bir örnek verir misiniz?” |
Yapı: Structured (sorular önceden yazılı, sırayla) ya da unstructured (genel çerçeve, sohbet akışı). Sıra: Top-down (genelden özele) ya da bottom-up (özelden genele).
JAD (joint application development)
Kullanıcılar, yöneticiler ve analistler bir araya gelip gereksinimleri birlikte çıkarır. 10-20 kişi, bir facilitator, bir scribe. Oturumlar yapılandırılmıştır, karar oturumda alınır. Avantajı: farklı görüşler aynı anda çatışır ve uzlaşılır, süre kısalır. Zorluğu: pahalı (herkesi aynı anda toplamak), grup içinde baskın kişiler ya da sessiz kalanlar. e-JAD bu sorunu anonim elektronik katılımla azaltır.
Anket (questionnaire)
Çok sayıda kişiye aynı sorular. Ucuz ve geniş, ama derinlik yok ve dönüş oranı düşük olabilir. İpuçları: önce küçük bir grupla dene (pilot), soruları kısa ve tarafsız tut, en önemli soruları başa koy, katılımcıya sonucun nasıl kullanılacağını söyle.
Gözlem (observation)
Analist süreci yerinde izler. İnsanların söylediğiyle yaptığı farklı olabilir; gözlem gerçeği gösterir. Zayıf yanı Hawthorne etkisi: izlendiğini bilen kişi farklı davranır. Ayrıca sadece o an olanı görürsün, ay sonu kapanışı gibi seyrek olaylar kaçar.
Belge analizi (document analysis)
Formlar, raporlar, kılavuzlar, eski sistemin ekranları incelenir. Resmi sistemi (formal system) gösterir. Asıl ipucu, belgenin gerçek kullanımıdır: boş bırakılan alanlar, elle eklenen sütunlar, kenara yazılan notlar informal system’i ortaya çıkarır.
Teknik seçimi
| Ölçüt | Görüşme | JAD | Anket | Gözlem | Belge analizi |
|---|---|---|---|---|---|
| Bilgi türü | As-is, iyileştirme, to-be | As-is, iyileştirme, to-be | As-is, iyileştirme | As-is | As-is |
| Derinlik | Yüksek | Yüksek | Orta | Düşük | Düşük |
| Genişlik | Düşük | Orta | Yüksek | Düşük | Yüksek |
| Bilgiyi bütünleştirme | Düşük | Yüksek | Düşük | Düşük | Düşük |
| Kullanıcı katılımı | Orta | Yüksek | Düşük | Düşük | Düşük |
| Maliyet | Orta | Düşük-orta | Düşük | Düşük-orta | Düşük |
Gerçek projede teknikler birleştirilir: önce belge analizi ile resmi süreci öğren, sonra kilit kişilerle görüş, geniş kitleyi ankete al, şüpheli noktaları gözlemle doğrula, son kararları JAD’de ver.
Çözümlü örnek: kampüs kütüphanesi
Durum: Kütüphane yeni bir rezervasyon sistemi istiyor. 25,000 öğrenci, 12 personel, 3 şube.
Adım 1: Strateji. Müdür “aynı süreç, sadece online” diyor ama öğrenciler bekleme süresinden şikâyetçi. Duration analysis: ödünç işleminin adımları toplam 4 dakika, ama öğrenci ortalama 18 dakika bekliyor. Fark kuyrukta. Bu BPI’ya işaret eder: süreci online ön rezervasyonla iyileştir.
Adım 2: Teknikler.
| Kimden | Teknik | Neden |
|---|---|---|
| Müdür, 2 şube sorumlusu | Görüşme | Derin bilgi, politikalar |
| 25,000 öğrenci | Anket | Geniş kitle, ucuz |
| Ödünç masası | Gözlem | Gerçek bekleme süresi |
| Mevcut formlar, ceza yönetmeliği | Belge analizi | Resmi kurallar |
| Personel + öğrenci temsilcileri | JAD | Çelişkileri birlikte çöz |
Adım 3: Gereksinim yaz.
- F1. Öğrenci müsait bir kitabı en fazla 48 saat için rezerve edebilmeli. (functional)
- F2. Rezervasyon süresi dolunca kitap otomatik olarak serbest kalmalı. (functional)
- N1. Rezervasyon onayı 3 saniye içinde gösterilmeli. (performance)
- N2. Sadece personel ceza kaydını silebilmeli. (security)
- N3. Sistem üniversitenin tek oturum açma (SSO) sistemine bağlanmalı. (operational)
Sık yapılan hatalar
| Yanlış düşünce | Doğrusu |
|---|---|
| Her kısıt nonfunctional’dır | İş kuralları (min. sipariş tutarı) functional’dır |
| “Hızlı olmalı” iyi bir gereksinim | Ölçülebilir değil; eşik ver |
| Anket derin bilgi verir | Geniş ama sığdır; derinlik için görüşme |
| Gözlem her zaman doğruyu gösterir | Hawthorne etkisi ve seyrek olayları kaçırma |
| JAD’de facilitator karar verir | Facilitator tarafsızdır; karar grubundur |
| Belgeler gerçek süreci gösterir | Resmi süreci gösterir; gerçek süreç farklı olabilir |
| BPR her zaman en iyisi | En yüksek değer ama en yüksek risk ve maliyet |
| Platform şartı security’dir | Operational’dır |
Kendini test et
Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.
Classify: 'The system shall let a member freeze a gym membership for up to 30 days.'
- Functional
- Nonfunctional: performance
- Nonfunctional: security
- Nonfunctional: operational
Cevabı göster
Sistemin yapması gereken bir işlevi (üyeliği dondurma) tanımlıyor: functional. 30 gün sınırı bir iş kuralıdır, yine işlevin parçasıdır.
Classify: 'The order screen shall load in under 2 seconds for 95% of requests.'
- Functional
- Nonfunctional: performance
- Nonfunctional: cultural and political
- Nonfunctional: operational
Cevabı göster
Ne yaptığını değil, ne kadar iyi yaptığını söylüyor: hız. Performance gereksinimi; ölçülebilir olduğu için de iyi yazılmış.
Classify each into the four nonfunctional types: (a) runs on Android and iOS, (b) only librarians can delete records, (c) prices shown in TL with Turkish date format, (d) supports 500 simultaneous users.
Cevabı göster
Operational: fiziksel ve teknik ortam (platform, entegrasyon). Security: kimin neye erişebileceği. Cultural and political: dil, para birimi, yasal kurallar (KVKK gibi), kurum politikası. Performance: hız, kapasite, erişilebilirlik (availability).
Rewrite 'The system should be fast and user-friendly' as a testable requirement.
Cevabı göster
"Hızlı" ve "kullanıcı dostu" ölçülemez, test edilemez. İyi gereksinim ölçülebilir bir eşik verir: saniye, dakika, yüzde, kullanıcı sayısı. Böylece test eden kişi geçti/kaldı diyebilir.
Which question type is 'How many times a week do you renew a book online?'
- Open-ended
- Closed-ended
- Probing
- Leading
Cevabı göster
Kesin bir bilgi (sayı) isteyen soru closed-ended'dır. Open-ended: "Ödünç sürecinde seni en çok ne yoruyor?" Probing: "Biraz daha açar mısın, neden öyle?" gibi önceki cevabı derinleştiren soru.
In JAD, who is the person who leads the session, keeps it on track and is neutral about the outcome?
- Scribe
- Project sponsor
- Facilitator
- End user
Cevabı göster
Facilitator oturumu yöneten, tarafsız, grup dinamiğini kontrol eden kişidir. Scribe notları tutar. Kullanıcılar ve yöneticiler katılımcıdır. JAD 10-20 kişiyle, genelde U şeklinde masada, birkaç gün süren yapılandırılmış oturumlardır.
What is the Hawthorne effect and which technique does it threaten?
Cevabı göster
Gözlem (observation) sırasında çalışanlar izlendiklerini bildikleri için normalden daha dikkatli ya da kurallara uygun çalışabilir. Analist gerçek süreci değil "gösteri" süreci görür. Çözüm: uzun süre, birden çok kez, göze batmadan gözlemle ve diğer tekniklerle karşılaştır.
A company has 4,000 delivery couriers spread across 30 cities. The analyst needs a broad picture of their problems quickly and cheaply. Which technique fits best?
- One-on-one interviews
- JAD
- Questionnaire
- Observation
Cevabı göster
Çok sayıda ve dağınık kişiden bilgi toplamanın en ucuz ve geniş (breadth) yolu ankettir. Görüşme ve gözlem derin bilgi verir ama 4,000 kişiye uygulanamaz. JAD için insanları bir araya toplamak pahalıdır.
Which analysis strategy makes radical changes, possibly eliminating whole processes, and gives the highest potential value with the highest risk?
- Business process automation
- Business process improvement
- Business process reengineering
- Document analysis
Cevabı göster
BPA mevcut süreci olduğu gibi otomatikleştirir (düşük değer, düşük risk). BPI süreci orta ölçekte iyileştirir. BPR süreci sıfırdan yeniden düşünür: "Bu adım neden var?" (yüksek değer, yüksek risk, yüksek maliyet).
Document analysis reveals that the official form has a 'supervisor signature' field, but staff say nobody signs it. What does this difference show?
Cevabı göster
Belgeler resmi sistemi (formal system) gösterir. Kullanıcıların gerçekte yaptığı ise informal system'dir. Formlarda boş bırakılan alanlar, elle eklenen notlar, fotokopiyle çoğaltılmış eski formlar analist için ipucudur: gerçek süreç belgeden farklıdır.
List four characteristics of a good requirement.
Cevabı göster
Unambiguous: tek bir anlamı var. Testable: geçti/kaldı denebilir. Complete: eksik koşul yok. Consistent: başka gereksinimle çelişmiyor. Feasible: yapılabilir. Necessary: gerçekten ihtiyaç. Traceable: kaynağına ve tasarıma/teste izlenebilir.
Which interview structure starts with broad, general questions and moves to specific ones?
- Bottom-up
- Top-down
- Closed
- Probing
Cevabı göster
Top-down: genelden özele ("Ödünç süreci nasıl işliyor?" → "Gecikme cezası nasıl hesaplanıyor?"). Görüşülen kişi genel resmi kurduktan sonra ayrıntıya iner. Bottom-up özel sorularla başlar, görüşülen kişi ayrıntıya hâkimse ya da ısınma gerekmiyorsa kullanılır.
Doğrulama: Kavramsal sorular; sınıflandırmalar ve teknik seçimleri gereksinim türleri, BPA/BPI/BPR ve gereksinim toplama tekniklerinin standart (Dennis, Wixom ve Tegarden çerçevesi) tanımlarıyla tek tek kontrol edildi. Sayısal cevap yok.