CENG 431

Yazılım Sistemleri Geliştirilmesi

Nesne tabanlı analiz ve tasarım. UML kullanımı. Nesne tabanlı programlamının ileri konuları. Yazılım tekrar kullanımı, kod iyileştirme, birim sınama. Temel tasarım şablonları. Yazılım bileşenleri, kütüphaneleri ve çatıları kullanımı ve oluşturulması.

Dersin Amacı

1. Nesne tabanlı analiz ve tasarım yeteneğini kazandırmak.

2. Nesne tabanlı tasarımları kodlama konusunda tecrübe kazandırmak.

3. Tekrar kullanım, kod iyileştirme, birim sınama konularını öğretmek.

4. Temel tasarım şablonlarını orta seviyede öğretmek.

5. Yazılım bileşeni ve yazılım çatısı geliştirmek için gerekli temel bilgileri edindirmek.

Kaynakça

X. Jia, Object-Oriented Software Development Using Java. , Addison Wesley. 2nd Edition, 2003. ,C. Larman, Applying UML and Patterns , Prentice Hall, 3rd Edition, 2004. ,M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts, Refactoring: Improving the Design of Existing Code , Addison-Wesley, 1999.

Öğrenme Çıktıları

1. Spesifikasyon, tasarım, kodlama ve sınama süreçlerinin ilintili etkinliklerini bilme

2. Nesneye dayalı mimari bileşenleri kullanma

3. Farklı yazılım sistem geliştirme yaklaşımlarını bilme ve karşılaştırma

4. Problemleri analiz etme, çözüm geliştirme ve gerçekleştirme

5. Soyutlama yeteneğini yazılım sistemleri alanında kullanma

6. Yazılım mühendisliği yöntemleri ile gerçek dünya problemlerini çözmek

Konular
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 (abstraction) 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

Notlandırma

Vize 30%

Final 40%

Ödev 30%