Aşağıdaki özellik için use case dokümanı hazırla:
ÖZELLİK:
- Sistem: [SİSTEM ADI]
- Modül: [MODÜL]
- Use case adı: [NE YAPAR]
- Öncelik: [YÜKSEK / ORTA / DÜŞÜK]
AKTÖRLER (kimler kullanacak):
[LISTELE]
USE CASE BELGESİ YAPISI:
1. KIMLIK
- Use Case ID (UC-001, UC-002...)
- Başlık (fiil-nesne: "Kullanıcı kaydı oluştur")
- Amaç: Ne sağlar (1 cümle)
- Kapsam: Sistem sınırı
- Seviye: Üst (özet), Kullanıcı (detay), Alt (teknik)
- Öncelik: Yüksek / Orta / Düşük
2. AKTÖRLER
BİRİNCİL AKTÖR:
- Use case'i başlatan
- Ana fayda sahibi
- Örnek: "Müşteri"
İKİNCİL AKTÖRLER:
- Use case'e katkı yapan
- Bilgi sağlar / alır
- Örnekler: "Ödeme Sistemi", "E-posta Servisi"
3. ÖN KOŞULLAR
- Use case başlamadan önce ne doğru olmalı
- Kullanıcı giriş yapmış olmalı
- Yeterli hesap bakiyesi olmalı
- Sistem aktif olmalı
4. BAŞARI SONRASI KOŞULLAR
- Use case tamamlandığında durum
- Örnek: Kayıt oluşturuldu, e-posta gönderildi
5. BAŞARıSıZLıK SONRASI KOŞULLAR
- Hata durumunda sistem durumu
- Rollback mekanizması
- Örnek: Geçici kayıt silindi, işlem iptal
6. TRIGGER (Tetikleyici)
- Use case'i başlatan olay
- Örnek: Kullanıcı "Kayıt Ol" butonuna basar
7. ANA BAŞARI SENARYOSU (Main Success Scenario / Happy Path)
ADIM ADIM:
1. Müşteri "Kayıt Ol" butonuna basar
2. Sistem kayıt formunu gösterir
3. Müşteri bilgileri girer (ad, e-posta, şifre)
4. Müşteri KVKK metni onaylar
5. Müşteri "Gönder" butonuna basar
6. Sistem bilgileri doğrular
7. Sistem yeni kullanıcı kaydı oluşturur
8. Sistem e-posta doğrulama linki gönderir
9. Sistem başarı mesajı gösterir
10. Müşteri e-postasına gelen linke tıklar
11. Sistem hesabı aktifleştirir
12. Müşteri giriş sayfasına yönlendirilir
KURAL:
- Her adım numaralı
- Kim-ne yaptığı net
- "Sistem" ve "Aktör" açık
- Çok uzun olmasın (10-20 adım tipik)
8. ALTERNATİF AKIŞLAR (Extensions)
FORMAT:
[Ana akıştaki adım numarası]a: [İstisna durumu]
[Adım numarası]a.1: [Sistem aksiyonu]
[Adım numarası]a.2: [Alternatif akış]
ÖRNEKLER:
6a: E-posta zaten kayıtlı
6a.1: Sistem "Bu e-posta zaten kullanılıyor" mesajı gösterir
6a.2: "Giriş yap" veya "Parolamı unuttum" seçenekleri sunulur
6a.3: Müşteri ya giriş yapar ya da farklı e-posta ile devam eder
6b: Şifre güvenlik gereksinimini karşılamıyor
6b.1: Sistem hataları liste halinde gösterir
6b.2: Müşteri şifreyi düzeltir
6b.3: Adım 5'e döner
8a: E-posta servisi çalışmıyor
8a.1: Sistem kaydı tamamlar ama doğrulama e-postası gönderemez
8a.2: Müşteriye "Bir sorun oluştu" mesajı
8a.3: Admin ekibine bildirim
8a.4: Müşteri daha sonra linke manuel ulaşabilir
9. İSTİSNA AKIŞLARı (Exceptions)
- Sistem çökerse
- Veritabanı erişilemiyorsa
- Güvenlik ihlali (brute force)
- Zaman aşımı
10. BUSINESS RULE (İş Kuralları)
UYGULANAN KURALLAR:
- BR-001: Şifre min 8 karakter, 1 büyük harf, 1 rakam
- BR-002: E-posta format kontrolü
- BR-003: Aynı e-posta ile kayıt yok
- BR-004: Doğrulama linki 24 saat geçerli
- BR-005: KVKK onayı zorunlu
11. SPECİAL REQUIREMENTS
- Performans: Kayıt işlemi < 2 saniye
- Güvenlik: Şifre bcrypt ile hash
- Denetim: Her kayıt logla
- GDPR: Veri silme talebi 30 gün içinde
12. TEKNİK NOTLAR
- İlgili API endpoint'ler
- Veritabanı tabloları
- Üçüncü taraf servisler (e-posta)
- Karmaşık algoritmalar
13. OPEN ISSUES
- Çözülmemiş sorular
- Karara bağlanacak
- Paydaş onayı bekleyen
14. İLGILI DOSYALAR
- Wireframe link
- API dokümanı
- İş kuralları
- Diğer ilgili use case'ler
--- UML USE CASE DIYAGRAM ---
ELEMANLAR:
AKTÖR (sopa adam):
- Sistem dışı
- İnsan veya dış sistem
USE CASE (oval):
- Sistem içinde
- Bir işlev
- Fiil-nesne formatında
SISTEM SINIR (dikdörtgen):
- Use case'leri çevreler
- Sistem adı üstte
İLİŞKİLER:
1. ASSOCIATION (düz çizgi):
- Aktör ile use case arasında
2. INCLUDE (kesikli ok, <<include>>):
- Use case A, use case B'yi çağırır (zorunlu)
- Örnek: "Sipariş Ver" <<include>> "Ödeme Al"
3. EXTEND (kesikli ok, <<extend>>):
- Use case A'yı use case B genişletebilir (opsiyonel)
- Örnek: "Sipariş Ver" <<extend>> "Promosyon Kodu Uygula"
4. GENERALIZATION (kesiksiz ok, üçgen):
- Aktör veya use case miras alma
- Örnek: "Premium Müşteri" miras "Müşteri"
DİYAGRAM ÇIZIMI:
1. Kağıt yatay
2. Aktörler sol ve sağ kenar
3. Sistem dikdörtgen ortada
4. Use case'ler dikdörtgen içinde
5. İlişkiler çizgilerle
6. Adlandırma net
ÖRNEK DIYAGRAM:
```
[Müşteri] | Sistem |
| |
|---Association|---( Kayıt Ol ) |
| | |
| <<include>> |
| v |
| ( E-posta Doğrula ) |
| |
| ( Sipariş Ver )---------|---(Ödeme Servisi)
| | |
| <<extend>> |
| v |
| ( Promosyon Uygula ) |
```
BEST PRACTICE:
1. USE CASE SAYISI
- Modül başına 10-30 use case
- Çok fazla (100+) → iyi ayrıştırma
- Çok az (5-) → muhtemelen yeterli değil
2. DETAY SEVİYESİ
- Üst düzey: özet (paragraf)
- Orta: detay (adım)
- Düşük: çok teknik (gerek yok BA için)
3. ADLANDIRMA
- Fiil + Nesne ("Ödeme Al", "Rapor Oluştur")
- Sistem perspektifinden
- Pasif değil aktif
4. MULTIPLE SCENARIOS
- Happy path tek
- Alternatifler bolca
- Hata senaryoları önemli
5. PAYDAŞ ONAYI
- İlk taslak BA
- Ürün sahibi review
- Kullanıcı testi
- Dev ekip teknik onay
- İterasyon 2-3 tur
Türkçe. UML 2.x standardına uygun. IIBA BABOK'a göre use case dokümantasyonu.