Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Gereksinim Yönetimi YBS 606 2 3 + 0 3 6
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili Türkçe
Dersin Seviyesi Doktora
Dersin Türü Seçmeli
Dersin Koordinatörü Doç.Dr. ADEM AKBIYIK
Dersi Verenler
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

Sistem geliştirme projelerinde, yaşanan problemlerin büyük çoğunluğu, ihtiyaçların ve problemin doğru tanımlanamamasından kaynaklanır. İhtiyaçların ve problemlerin doğru tanımlanması “etkin ve gerçekçi” gereksinim yönetimi ile mümkün olabilir. Müşterinin ne istediği ile aslında neye ihtiyaç duyduğu arasındaki farkın sistem analistlerce doğru biçimde ortaya konulması adına son kullanıcı ve müşteri gereksinimlerinin doğru edinilmesi, ifade edilmesi, önceliklendirilmesi, analiz edilmesi ve yönetilmesi gerekmektedir. Gereksinim Yönetimi dersi, sistem analistlerin yazılım ürün yönetimi kapsamında sahip olmaları gereken bu alandaki nitelikleri kazandırma amacındadır. Ders sonunda öğrenciler;

Yazılım geliştirme sürecini etkin yürütmek adına gereksinimlerin net olarak açıklayabilir ve oluşturabilir.

Farklı gereksinim türlerini ve ürün gereksinimlerindeki değişime doğrudan nasıl adapte olunacağını anlar.

Wireframe ve Storyboard gibi bağlı kalma zorunluluğu düşük olan prototipleri kullanarak müşteri gereksinimlerini görselleştirebilir.

Farklı kullanıcıları ve ihtiyaçlarını tanımlar ve farklı yönlerini ortaya koyabilir.

Müşteri etkileşiminin etkinliğini artırabilir.

Kullanıcı hikayeleri (user stories), kabul testleri, ürün özellik listesi (product backlog) ve hikaye haritaları (story maps) gibi araçlar aracılığıyla gereksinimleri ifade edebilir.

Kalite ve anlaşılırlık için gereksinimlerin nasıl değerlendirilmesi gerektiğini bilir.

Dersin İçeriği

Gereksinime Giriş

Yazılım gereksinimi türleri

Kullanıcı gereksinimleri

Fonksiyonel gereksinimler

Fonksiyonel olmayan gereksinimler

Harici gereksinim türleri

Yazılım gereksinimi değişiklikleri

Kapsamın kontrolü

Kapsam kaymasının önlenmesi

Gereksinimler ve Tasarım

 

Kullanıcı Etkileşimi

Müşteri ve son kullanıcı ihtiyaçlarını belirlemek

Kullanıcı vakaları (use cases) ve ürün tasarımındaki rolü

Wireframes ve Storyboards görsel tasarım teknikleri

 

Gereksinimlerin Yazılması

Çevik (Agile) yaklaşım çerçevesinde gereksinimleri daha fonksiyonel hale çevirilmesi

Gereksinimlerin ifade edilmesi ve onaylanması için kullanıcı hikayeleri ve kabul testleri kullanımı

Gereksinimleri önceliklendirmek için ürün özellik listesi (product backlog) kullanımı

Gereksinimleri organize etmek için hikaye haritaları oluşturmak

 

Kalite Gereksinimleri

Kalite gereksinimleri için kriterler

Gereksinimleri mümkün olduğundan açık hale getirmek

Kalkınma Amaçları
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Yazılım geliştirme sürecini etkin yürütmek adına gereksinimlerin net olarak açıklayabilir ve oluşturabilir. Anlatım, Soru-Cevap, Beyin Fırtınası,
2 Farklı gereksinim türlerini ve ürün gereksinimlerindeki değişime doğrudan nasıl adapte olunacağını anlar. Beyin Fırtınası, Soru-Cevap, Anlatım,
3 Wireframe ve Storyboard gibi bağlı kalma zorunluluğu düşük olan prototipleri kullanarak müşteri gereksinimlerini görselleştirebilir. Tartışma, Beyin Fırtınası, Soru-Cevap, Anlatım,
4 Farklı kullanıcıları ve ihtiyaçlarını tanımlar ve farklı yönlerini ortaya koyabilir. Beyin Fırtınası, Soru-Cevap, Anlatım,
5 Müşteri etkileşiminin etkinliğini artırabilir. Beyin Fırtınası, Soru-Cevap, Anlatım,
6 Kullanıcı hikayeleri (user stories), kabul testleri, ürün özellik listesi (product backlog) ve hikaye haritaları (story maps) gibi araçlar aracılığıyla gereksinimleri ifade edebilir. Problem Çözme, Tartışma, Anlatım,
7 Kalite ve anlaşılırlık için gereksinimlerin nasıl değerlendirilmesi gerektiğini bilir. Beyin Fırtınası, Soru-Cevap, Anlatım,
Hafta Ders Konuları Ön Hazırlık
1 Gereksinime Giriş
2 Yazılım Gereksinimi Türleri I
3 Yazılım Gereksinimi Türleri II
4 Yazılım Gereksinimi Değişiklikleri
5 Gereksinimler ve Tasarım
6 Kullanıcı Etkileşimi I
7 Kullanıcı Etkileşimi II
8 ARA SINAV
9 Gereksinimlerin Yazılması
10 Çevik (Agile) Yaklaşım
11 Scrum Uygulamaları I
12 Scrum Uygulamaları II
13 Kalite Gereksinimleri
14 Genel Değerlendirme
Kaynaklar
Ders Notu

14 haftalık ders notu her dersten önce sisteme yüklenecektir.

Ders Kaynakları

Wiegers, K. ve Beatty J., (2013) “Software Requirements” 3rd Edt. Microsoft Press, Washington.

Leffingwell, D. (2011)“Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise” Pearson, Boston.

Withall, S. (2010) Software Requirement Patterns Microsoft Press, Washington.

Lamsweerde, A. (2009) Requirements Engineering: From System Goals to UML Models to Software Specifications, John Wiley & Sons Ltd, England.

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 En az bir yabancı dili de kullanarak kendi disiplininde derinlemesine bilgi sahibidir. X
2 Kendi disiplinindeki kavram, uygulama, model ve teoriler ile araştırma yöntem bilgisini, bilimsel çalışmalarda ele aldığı işletme ve yönetim sorunlarının çözümünde disipline orijinal katkı sunacak şekilde kullanır. X
3 Sahip olduğu bilgileri etik değerlere uygun, yasalar çerçevesinde, doğru ve güvenli şekilde kullanır. X
4 Disiplini ile ilgili sosyal konular hakkında farkındalığını gösterir. X
5 Bilimsel çalışmalarını nitelikli bilimsel mecralarda yayınlatabilir. X
6 Bilimsel çalışmalarını sözlü olarak bilimsel toplantılarda akademik teamüllere uygun bir şekilde sunabilir. X
7 Toplumsal refah oluşturmak için inovasyona dayalı girişimciliği stratejik eylemler ile ilişkilendirebilir ve tasarlayabilir. X
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7
1 Yazılım geliştirme sürecini etkin yürütmek adına gereksinimlerin net olarak açıklayabilir ve oluşturabilir.
2 Farklı gereksinim türlerini ve ürün gereksinimlerindeki değişime doğrudan nasıl adapte olunacağını anlar.
3 Wireframe ve Storyboard gibi bağlı kalma zorunluluğu düşük olan prototipleri kullanarak müşteri gereksinimlerini görselleştirebilir.
4 Farklı kullanıcıları ve ihtiyaçlarını tanımlar ve farklı yönlerini ortaya koyabilir.
5 Müşteri etkileşiminin etkinliğini artırabilir.
6 Kullanıcı hikayeleri (user stories), kabul testleri, ürün özellik listesi (product backlog) ve hikaye haritaları (story maps) gibi araçlar aracılığıyla gereksinimleri ifade edebilir.
7 Kalite ve anlaşılırlık için gereksinimlerin nasıl değerlendirilmesi gerektiğini bilir.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Proje / Tasarım 100
Toplam 100
1. Yıl İçinin Başarıya 60
1. Final 40
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 16 2 32
Ödev 1 48 48
Final 1 10 10
Toplam İş Yükü 138
Toplam İş Yükü / 25 (Saat) 5,52
Dersin AKTS Kredisi 6