SEN2022 · 5. hafta · Problem Discovery, Requirements Discovery, Requirements Analysis

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.

requirementfunctional requirementnonfunctional requirementoperational requirementperformance requirementsecurity requirementcultural and political requirementrequirements definitionbusiness process automation (BPA)business process improvement (BPI)business process reengineering (BPR)interviewopen-ended questionclosed-ended questionprobing questionjoint application development (JAD)facilitatorquestionnaireobservationdocument analysisHawthorne effecttraceability

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:

  1. Functional = ne yapar. Nonfunctional = ne kadar iyi, hangi koşulda yapar.
  2. Nonfunctional dört türdür: operational, performance, security, cultural and political.
  3. Ölçülemeyen gereksinim test edilemez. “Hızlı” yerine “2 saniyede”.
  4. 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ürKapsadığıÖrnek (yemek sipariş uygulaması)
OperationalFiziksel/teknik ortam, platform, entegrasyon, taşınabilirlikAndroid 10+ ve iOS 15+ üzerinde çalışmalı; ödeme sağlayıcısının API’sine bağlanmalı
PerformanceHız, kapasite, güvenilirlik, erişilebilirlikAkşam 19:00-21:00 arası 2,000 eşzamanlı kullanıcı; %99.5 erişilebilirlik
SecurityKim neye erişebilir, şifreleme, virüs, denetim iziKart bilgisi uygulamada saklanmamalı; kurye sadece kendi siparişlerini görmeli
Cultural and politicalDil, 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

ÖzellikAnlamıKötü örnek → iyi örnek
UnambiguousTek anlamlı“Raporu hızlıca üret” → “Raporu 5 sn içinde üret”
TestableGeçti/kaldı denebilir“Kolay kullanılsın” → “Yeni kullanıcı rezervasyonu 3 dk’da tamamlasın”
CompleteEksik koşul yok“Ceza hesapla” → “Gecikilen her gün için 2 TL, en fazla kitap bedeli”
ConsistentÇelişki yokBir yerde “30 gün”, başka yerde “4 hafta” yazmasın
FeasibleBütçe ve teknolojiyle yapılabilir“Sıfır hata” değil, ölçülebilir hedef
TraceableKaynağı ve hedefi belliKim istedi, hangi testle doğrulanacak

Analiz stratejileri

Gereksinimleri toplarken analist mevcut süreci ne kadar değiştireceğine karar verir:

StratejiNe yaparDeğerRisk / maliyetTeknikler
BPA (automation)Mevcut süreci olduğu gibi bilgisayara taşırDüşük-ortaDüşükProblem analysis, root cause analysis
BPI (improvement)Süreci orta ölçekte iyileştirirOrtaOrtaDuration analysis, activity-based costing, informal benchmarking
BPR (reengineering)Süreci sıfırdan yeniden tasarlarYüksekYüksekOutcome 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-endedKesin bilgi“Günde kaç iade alıyorsunuz?”
Open-endedZengin, 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çütGörüşmeJADAnketGözlemBelge analizi
Bilgi türüAs-is, iyileştirme, to-beAs-is, iyileştirme, to-beAs-is, iyileştirmeAs-isAs-is
DerinlikYüksekYüksekOrtaDüşükDüşük
GenişlikDüşükOrtaYüksekDüşükYüksek
Bilgiyi bütünleştirmeDüşükYüksekDüşükDüşükDüşük
Kullanıcı katılımıOrtaYüksekDüşükDüşükDüşük
MaliyetOrtaDüşük-ortaDüşükDüşük-ortaDüşü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.

KimdenTeknikNeden
Müdür, 2 şube sorumlusuGörüşmeDerin bilgi, politikalar
25,000 öğrenciAnketGeniş kitle, ucuz
Ödünç masasıGözlemGerçek bekleme süresi
Mevcut formlar, ceza yönetmeliğiBelge analiziResmi kurallar
Personel + öğrenci temsilcileriJADÇ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üşünceDoğ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 verirGeniş ama sığdır; derinlik için görüşme
Gözlem her zaman doğruyu gösterirHawthorne etkisi ve seyrek olayları kaçırma
JAD’de facilitator karar verirFacilitator tarafsızdır; karar grubundur
Belgeler gerçek süreci gösterirResmi süreci gösterir; gerçek süreç farklı olabilir
BPR her zaman en iyisiEn yüksek değer ama en yüksek risk ve maliyet
Platform şartı security’dirOperational’dır

Kendini test et

Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.

Soru 1kolay

Classify: 'The system shall let a member freeze a gym membership for up to 30 days.'

  1. Functional
  2. Nonfunctional: performance
  3. Nonfunctional: security
  4. Nonfunctional: operational
Cevabı göster
A) Functional

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.

Soru 2kolay

Classify: 'The order screen shall load in under 2 seconds for 95% of requests.'

  1. Functional
  2. Nonfunctional: performance
  3. Nonfunctional: cultural and political
  4. Nonfunctional: operational
Cevabı göster
B) Nonfunctional: performance

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ış.

Soru 3orta

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
(a) operational, (b) security, (c) cultural and political, (d) performance

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).

Soru 4orta

Rewrite 'The system should be fast and user-friendly' as a testable requirement.

Cevabı göster
e.g., 'Search results shall appear within 1 second; a new user shall complete a reservation in under 3 minutes without help.'

"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.

Soru 5kolay

Which question type is 'How many times a week do you renew a book online?'

  1. Open-ended
  2. Closed-ended
  3. Probing
  4. Leading
Cevabı göster
B) Closed-ended

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.

Soru 6kolay

In JAD, who is the person who leads the session, keeps it on track and is neutral about the outcome?

  1. Scribe
  2. Project sponsor
  3. Facilitator
  4. End user
Cevabı göster
C) Facilitator

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.

Soru 7orta

What is the Hawthorne effect and which technique does it threaten?

Cevabı göster
People change their behavior when they know they are being watched; it threatens observation.

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.

Soru 8orta

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?

  1. One-on-one interviews
  2. JAD
  3. Questionnaire
  4. Observation
Cevabı göster
C) Questionnaire

Ç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.

Soru 9orta

Which analysis strategy makes radical changes, possibly eliminating whole processes, and gives the highest potential value with the highest risk?

  1. Business process automation
  2. Business process improvement
  3. Business process reengineering
  4. Document analysis
Cevabı göster
C) Business process reengineering

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).

Soru 10zor

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
The difference between the formal system (documented) and the informal system (what actually happens).

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.

Soru 11orta

List four characteristics of a good requirement.

Cevabı göster
Unambiguous, testable (verifiable), complete, consistent (also feasible, necessary, traceable).

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.

Soru 12kolay

Which interview structure starts with broad, general questions and moves to specific ones?

  1. Bottom-up
  2. Top-down
  3. Closed
  4. Probing
Cevabı göster
B) Top-down

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.

Deftere not kartı

Functional: sistem NE yapar (işlem, bilgi) Nonfunctional: NASIL / NE KADAR İYİ yapar operational: platform, ortam, entegrasyon performance: hız, kapasite, availability security: erişim, yetki, şifreleme cultural & political: dil, para birimi, yasa, politika İyi gereksinim: unambiguous, testable, complete, consistent, feasible, traceable "shall" ile yaz, ölçülebilir eşik ver ("2 sn içinde") Strateji: BPA (otomatikleştir) < BPI (iyileştir) < BPR (yeniden kur) → değer + risk artar Görüşme: open / closed / probing; top-down / bottom-up; structured / unstructured JAD: facilitator (tarafsız lider) + scribe + kullanıcılar; hızlı, ortak karar Anket: geniş kitle, ucuz, sığ; Gözlem: gerçek davranış, Hawthorne etkisi Belge analizi: formal system vs informal system Derinlik: görüşme, JAD, gözlem; Genişlik: anket, belge analizi