CENG 431

Yazılım Sistemleri Geliştirilmesi

Açık kaynak kod ve paylaşılan yazılım kavramları, kalite ve kullanım şartları konuları, yazılım tekrar kullanımı, program kütüphaneleri, yazılım bileşenleri, diğer kütüphane ve bileşenlerin oluşturulması, uygulama program arayüzleri, ayrı derlemenin kullanımı, yazılım bileşenleri ve kütüphanelerin kullanımı, büyük yazılım sistemleri geliştirmenin zorlukları, yazılımların metrikler ve ölçütler kullanılarak değerlendirilmesi, yazılım kriterleri, arayüz tasarım prensipleri, çoklu-ortam konuları, renk, ses, video ve çoklu-ortamlara ilişkin problemler, nesne temelli programlamının ileri konuları, moduler tasarım, saklama ortamları yönetim konuları, paralelleştirme, istemci-sunucu yaklaşımı, sunucu çeşitleri, orta katmanın rolü, istemci ve sunucu servisleri için gerekli yazılım desteği, genel kullanım gören yazılım araçlarının geliştirilmesinde kullanılan nesne temelli teknikler, applet ve servlet yapıları, basit tasarım örüntüleri, yazılım yaşam döngüsü ve aşamaları, süreç kavramı, yazılım geliştirme yaklaşımlarının farkları ve bu farkların sebepleri.

KONU
Nesne tabanlı yazılım geliştirme 1
Nesne tabanlı yazılım geliştirme 2
UML ile nesne tabanlı analiz ve tasarım 1
UML ile nesne tabanlı analiz ve tasarım 2
Bileşenler ile yazılım geliştirme
Soyutlama ile tasarım yaklaşımı
Nesne tabanlı uygulama çatıları
Tekrar kullanım
Kod iyileştirme
Birim testleri
Tasarımdan yazılıma örnek bir çalışma
Tasarım Şablonları 1
Tasarım Şablonları 2
Tasarım Şablonları 3