CENG 316

Yazılım Mühendisliği

Kaynakça:

  • Software design: IEEE STD 1016 – Systems Design—Software Design Descriptions
  • Software test: IEEE STD 29119 – Software and Systems Engineering — Software testing

Ders amaçları:

Bu dersin sonunda öğrenciler yazılım mühendisinin rolü, yazılım ve ilkelerinin değerlendirilmesi, yazılım yaşam döngüsü modelleri, gereksinim analizi, spesifikasyon, tasarım, verifikasyon ve validasyon; ölçütlerin kullanımı, ekip oluşturma ve insan-bilgisayar arayüzü tasarımı konularında bilgi sahibi olacaklardır.

Haftalık Plan:

Hafta Ders Taslağı İçerik
1 Giriş Yazılım Geliştirme Yaşam Döngüsü
Ekip Oluşturma
Ders Hakkında Bilgilendirme
2 Yazılım Tasarımı Temel Tasarım Kavramları, Yazılım Mimarisi
3 Tasarım Standardı
4 Tasarım Taslak Tartışması
5 Tasarım Değerlendirme Toplantısı
6 Yazılım Testi Temel kavramlar, Test Tasarım Teknikleri
7 Test Standardı
8 Test Raporu Taslak Tartışması
9 Test Raporu Değerlendirme Toplantısı
10 Yazılım Gerçekleştirimi Yazılım İlk Sürüm Gösterimi
11 Güncellenmiş Tasarım & Test Raporu Tartışması
12 Güncellenmiş Tasarım & Test Raporu Tartışması
13 Yazılım Son Sürüm Gösterimi
14 Final Sınavı  

Teslimler

Bu derste, sınıfa bir proje tanımı verilir ve öğrenciler 5-8 üyeden oluşan takımlar oluşturur. Her takım, gereksinim analizi yapar, yazılım tasarımını ve test dokümanını hazırlar, yazılımın gerçekleştirimini yapar. Bu faaliyetlerin çıktıları Yazılım Tasarım Dokümanı (SDD), Test Raporu ve Uygulamanın Gerçekleştirimidir.

Teslim Notlandırma
Tasarım Raporu Taslak Teslimi Yok
Tasarım Raporu Teslimi Var
Tasarım Değerlendirme Raporu Teslimi Var
Güncellenmiş Tasarım Raporu Teslimi Var
Test Raporu Taslak Teslimi Yok
Test Raporu Teslimi Var
Test Değerlendirme Raporu Teslimi Var
Güncellenmiş Test Raporu Teslimi Var
Yazılımın İlk Sürümünün Teslimi ve Gösterimi Var
Yazılımın Son Sürümünün Teslimi ve Gösterimi Var

Notlandırma:

  • Software Design %15
    • SD Review %3
  • Test Documents %15
    • Test Review %3
  • Software System %20
  • Final %30
  • Peer assessment %14

Çıktılar:

C1. Verilen bir proje konusunda gereksinimleri belirleyebilme.

C2. Projedeki fonksiyonel ve fonksiyonel olmayan gereksinimler arasındaki farkları ayırt edebilme .

C3. Nesne-tabanlı yaklaşımla tasarım yapabilme.

C4. Proje tanımı yazabilme.

C5. Süreç modelini kullanabilme, uygulayabilme.

Tamamlayıcı dersler:

Programlama Temelleri (CENG211), Bilgi Yönetimi (CENG315) ve Proje Yönetimi (CENG323) derslerini daha önce almış olmak şarttır.

Bir analiz ve tasarım metodolojisi hakkında önceden bilgi ve deneyim sahibi olmak çok faydalı olacaktır.

Öğretim Elemanı

Lecturer Dr.
Profesör / Bölüm Başkanı