|
BIL3007 | Yazılım Mühendisliği | 3+0+0 | AKTS:4 | Yıl / Yarıyıl | Güz Dönemi | Ders Duzeyi | Lisans | Yazılım Şekli | Seçmeli | Bölümü | BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ | Ön Koşul | Yok | Eğitim Sistemi | Yüz yüze , Grup çalışması | Dersin Süresi | 14 hafta - haftada 3 saat teorik | Öğretim Üyesi | Doç. Dr. Sedat GÖRMÜŞ | Diğer Öğretim Üyesi | Yok | Öğretim Dili | Türkçe | 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. | 2,3,4,12 | 1,3 | ÖK - 2 : | özel bir yazılım projesine hangi süreç modelinin uygulanacağını belirleyebilir. | 2,3,4,12 | 1,3 | ÖK - 3 : | bir yazılım projesinin veri, işlev ve davranışı için analiz modelleri oluşturabilir. | 2,3,4,12 | 1 | ÖK - 4 : | bir yazılım projesinin veri, mimari, arayüzler ve bileşenleri için tasarım modelleri oluşturabilir. | 2,3,4,12 | 1 | ÖK - 5 : | etkili test durumları tasarlamak için siyah-kutu ve beyaz-kutu test yöntemlerini kullanabilir. | 2,3,4,12 | 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. | 2,3,4,12 | 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. | 2,3,4,12 | 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 Sevşyesinde 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 | Ödev | 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 |
|