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 |