| 
                
             | 
            
                 
                
    | COM2010 | Software Engineering | 3+0+0 | AKTS:5 |  | Yıl / Yarıyıl | Bahar Dönemi |  | Ders Duzeyi | Lisans |  | Yazılım Şekli | Zorunlu |  | Bölümü | BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ |  | Ön Koşul | Yok |  | Eğitim Sistemi | Yüz yüze  |  | Dersin Süresi | 14 hafta - haftada 3 saat teorik |  | Öğretim Üyesi | Doç. Dr. Sedat GÖRMÜŞ |  | Diğer Öğretim Üyesi |  |  | Öğretim Dili | İngilizce |  | Staj | Yok |  |   |   | Dersin Amacı: |  | Çeşitli geliştirme faaliyetleri ve metodolojileri, yazılım süreç modelleri, analiz konuları (kullanıcı ve sistem gereksinimleri) , tasarım konuları (mimarisel, arayüz ve bileşen düzeyli tasarım) , Hata işleme konuları (doğrulama ve sağlama) , tahmin konuları (maliyet ve kaynak gereksinimleri) ve proje metrikleri başta olmak üzere yazılım planlama, yapılandırma, gerçekleme ve yönetimine ait temel kavramları ve prensipleri tanıtmaktır. |  
 | Öğrenim Kazanımları | PÖKK | ÖY |  | Bu dersi başarı ile tamamlayan öğrenciler  : |   |    |  | ÖK - 1 :  | doğrusal ve yinelemeli süreç modellerinin farkını anlayabilir. | 1.2 - 1.3 - 2.1 - 5.3 | 1,3, |  | ÖK - 2 :  | özel bir yazılım projesine hangi süreç modelinin uygulanacağını belirleyebilir. | 1.2 - 1.3 - 2.1 - 5.3 | 1,3, |  | ÖK - 3 :  | bir yazılım projesinin veri, işlev ve davranışı için analiz modelleri oluşturabilir. | 1.2 - 1.3 - 2.1 - 5.3 | 1, |  | ÖK - 4 :  | bir yazılım projesinin veri, mimari, arayüzler ve bileşenleri için tasarım modelleri oluşturabilir. | 1.2 - 1.3 - 2.1 - 5.3 | 1, |  | ÖK - 5 :  | etkili test durumları tasarlamak için siyah-kutu ve beyaz-kutu test yöntemlerini kullanabilir. | 1.2 - 1.3 - 2.1 - 5.3 | 1,3, |  | ÖK - 6 :  | bir yazılım projesini ve geliştirme sürecini yönetebilmek için yazılım araçlarını kullanabilir. | 1.2 - 1.3 - 2.1 - 5.3 | 1,3, |  | ÖK - 7 :  | dağıtık gruplar halinde ortak bir projeyi geliştirme becerisi kazanır. Ve 'git' gibi dağıtık proje geliştirme araçlarını kullanabilir. | 1.2 - 1.3 - 2.1 - 5.3 | 3, |  |  PÖKK :Program öğrenim kazanımlarına katkı, ÖY : Ölçme ve değerlendirme yöntemi (1: Yazılı Sınav, 2: Sözlü Sınav, 3: Ev Ödevi, 4: Laboratuvar Çalışması/Sınavı, 5: Seminer / Sunum, 6: Dönem Ödevi / Proje),ÖK : Öğrenim Kazanımı   |  |   |    
			 | Versiyon kontrol araçları tanıtımı ve Git versiyon kontrol aracı. Proje yönetim kavramları: Yönetim yelpazesi, yazılım takımı, yazılım kapsamı, problem ayrıştırma, süreç ayrıştırma. Proje planlama ve izleme: Temel prensipler, yazılım mühendisliği görevlerinin seçimi, zaman çizeneği, plan izleme, hata izleme. Yazılım Tipi: İş, Görev Kritik ve Yaşam Kritik Yazılım tipleri. Yazılım süreci: Süreç modelleri, lineer dizisel model, prototipleme modeli, evrimsel yazılım süreç modelleri, bileşen tabanlı gelişim, biçimsel metotlar modeli. Gereksinimler mühendisliği: Gereksinimler analizi, gereksinimlerin çıkartımı, analiz prensipleri, yazılım prototipleme, belirtim. Analiz modelleme: Analiz modelleme elemanları, veri modelleme, fonksiyonel modelleme, davranışsal modelleme, yapısal analizin mekaniği. Tasarım mühendisliği: Tasarım süreci, tasarım prensipleri, tasarım kavramları, Mimari tasarım. Yazılım mimarisi, veri tasarımı, mimarisel stiller. Bileşen seviyeli tasarım: Nesne Yönelimli Tasarım, Sınıf tasarımı, Fonksiyon Tasarımı. Yazılım metrikleri: Proje etki alanı, proje metrikleri, yazılım ölçümü, yazılım kalitesi için metrikler. Yazılım proje tahmini: Yazılım kapsamı, insani ve çevresel kaynaklar, ayrıştırma teknikleri, deneysel tahmin modelleri. Hata Ayıklama ve Gvenli Kod yazma teknikleri. |  
			 |   |   
 | Haftalık Detaylı Ders Planı |  |  Hafta | Detaylı İçerik | Önerilen Kaynak |  |  Hafta 1 | Yazılım Mühendisliğine Giriş ve Git Kontrol Sistemi |  |  |  Hafta 2 | Problem tanımlama, yazılım tipleri ve süreç modelleri |  |  |  Hafta 3 | Gereksinim analizi, Mühendislik Standartları ve Gerçekçi Koşullar, Proje gruplarının oluşturulaması.	 |  |  |  Hafta 4 | Gereksinim analizinin tasarıma etkisi ve üst seviye mimari tasarım	 |  |  |  Hafta 5 | Gereksinim analizi adımları ve ana gereksinim belirleme adımları	 |  |  |  Hafta 6 | Yazılım Mimarisi tasarımı ve UML yaklaşım	 |  |  |  Hafta 7 | Nesne yönelimli tasarım adımları: Paket, sınıf, sınıf içi tasarım yaklaşımları	 |  |  |  Hafta 8 | Sınıf Seviyesinde tasarım	 |  |  |  Hafta 9 | Arasınav	 |  |  |  Hafta 10 | Fonksiyon seviyesinde tasarım	 |  |  |  Hafta 11 | Güvenli programlama teknikleri	 |  |  |  Hafta 12 | Hata ayıklama araçları	 |  |  |  Hafta 13 | Veri tiplerinin program akışına olan etkisi	 |  |  |  Hafta 14 | Hata kontrolleri ve kontrol yapılarının sadeleştirilmesi	 |  |  |  Hafta 15 | Dönem içi projelerinin sunumu	 |  |  |  Hafta 16 | Dönem sonu sınavı	 |  |  |   |   
 | 1 | Code Complete, 2nd Edition, Steve McConnell, 2004 |  |  |   |   
 | 1 | Sommerfield, I. 2004; Software Engineering, 7th ed., Addison Wesley, 784 p. |  |  | 2 | Jalote, P. 2002; Software Project Management in Practice, Addison Wesley, 288 p. |  |  |   |   
 |  Ölçme Yöntemi   |  | Yöntem | Hafta | Tarih | Süre (Saat) | Katkı (%) |  |  Arasınav |  9 |  10/04/2013 |  2 |  25 |  |  Kısa sınav |  14 |  17/05/2013 |  15 |  25 |  |  Dönem sonu sınavı |  16 |  27/05/2013 |  2 |  50 |  |   |   
 |  Öğrenci Çalışma Yükü  |  | İşlem adı | Haftalık süre (saat) | Hafta sayısı | Dönem toplamı |  |  Yüz yüze eğitim |  3 |  14 |  42 |  |  Sınıf dışı çalışma |  2 |  14 |  28 |  |  Arasınav için hazırlık |  5 |  1 |  5 |  |  Arasınav  |  2 |  1 |  2 |  |  Ödev |  15 |  1 |  15 |  |  Dönem sonu sınavı için hazırlık |  10 |  1 |  10 |  |  Dönem sonu sınavı |  2 |  1 |  2 |  | Toplam Çalışma Yükü |  |  | 104 |  
  
                 
             |