Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Yazılım Bakımı ve Gelişimi SWE 304 6 3 + 0 3 5
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili Türkçe
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Prof.Dr. AHMET ÖZMEN
Dersi Verenler
Dersin Yardımcıları
Dersin Kategorisi Alanına Uygun Öğretim
Dersin Amacı

Genel öğretiler sıfırdan yeni sistemler oluşturmaya odaklanırken, endüstriyel uygulamada yazılım geliştiricileri genellikle korunması, yeniden kullanılması veya geliştirilmesi gereken mevcut yazılım sistemleriyle karşı karşıyadır. Bu, mevcut bir sistemin tasarımını ve uygulanmasını ve hangi parçaların değiştirilmesi gerektiğini anlamak, bakımı daha kolay yazılım sistemleri oluşturmak ve en baştan yeniden kullanım ve değişim düşünülerek sistemler tasarlamak için özel beceriler gerektirir. Bu nedenle bu derste, anlaşılması, bakımı, yeniden kullanımı ve gelişmesi kolay yazılım sistemlerinin oluşturulmasına yardımcı olacak çeşitli teknikler, araçlar ve metodolojiler anlatılacaktır.

Dersin İçeriği

Ders, anlaşılması, bakımı, yeniden kullanımı ve gelişmesi daha kolay yazılım sistemlerinin oluşturulmasına yardımcı olmak için çeşitli teknikler, araçlar ve metodolojilerin anlatıldığı 3 modülde düzenlenecektir: 1. Yazılım anlama: Mevcut sistemler nasıl çözümlenir, 2. Yazılım bakımı: Bakımı kolay bir yazılımın nasıl oluşturulacağı veya bakım kolaylığı için mevcut yazılımın nasıl geliştirileceği, 3. Yazılımın yeniden kullanımı ve gelişimi: Yeniden kullanılabilir yazılımların nasıl oluşturulacağı ve mevcut yazılımların nasıl yeniden kullanılacağı derste anlatılacaktır.

# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Değişim bağlamında kod geliştirmenin zorluklarını bilir Anlatım, Sınav ,
2 Bir değişiklik talebinin mevcut orta boy bir yazılım ürününe etkisini değerlendirir Anlatım, Soru-Cevap, Sınav , Ödev,
3 Sürdürülebilir tasarımların uygulanmasına yönelik teknikleri, kodlama deyimlerini ve diğer mekanizmaları tanımlar Anlatım, Alıştırma ve Uygulama, Sınav , Proje / Tasarım,
4 Tasarım desenlerinin bir yazılım sisteminin tasarımını nasıl geliştirebileceğini bilir Anlatım, Alıştırma ve Uygulama, Sınav , Ödev,
5 Tasarımının bazı yönlerini geliştirmek için mevcut bir yazılım uygulamasını yeniden düzenler Anlatım, Alıştırma ve Uygulama, Sınav , Proje / Tasarım,
6 Yazılım gelişimi ile ilgili temel sorunları tanımlar ve bunların yazılım yaşam döngüsü üzerindeki etkilerini açıklar Anlatım, Soru-Cevap, Sınav , Sözlü Sınav,
7 Yazılım yeniden kullanımlarının avantaj ve dezavantajlarını tartışır Anlatım, Tartışma, Sınav , Sözlü Sınav,
Hafta Ders Konuları Ön Hazırlık
1 Yazılım analizi ve kritik yerlerin tespiti
2 Değişim etki analizi
3 Tersine mühendislik
4 En iyi programlama uygulamaları
5 Kodlama standartları
6 Tasarım ilkeleri ve sezgisel tarama
7 Tasarım modelleri
8 Yeniden yapılandırma
9 Yazılım gelişimi kuralları
10 Yeniden kullanım teknikleri ve yeniden kullanım için tasarım
11 Kütüphaneler ve uygulama çerçeveleri (frameworks)
12 Proje çalışması
13 Yazılım ürün hatları, alan adı ve özellik modelleme
14 Proje çalışması
Kaynaklar
Ders Notu

Ders notları ve eğtim materyalleri ders sırasında paylaşılacaktır.

Ders Kaynakları
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 60
1. Kısa Sınav 5
1. Proje / Tasarım 15
2. Proje / Tasarım 15
1. Ödev 5
Toplam 100
1. Yıl İçinin Başarıya 50
1. Final 0
Toplam 50
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)