Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Secure Software Development SWE 516 0 3 + 0 3 6
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili İngilizce
Dersin Seviyesi YUKSEK_LISANS
Dersin Türü Seçmeli
Dersin Koordinatörü Doç.Dr. ÜNAL ÇAVUŞOĞLU
Dersi Verenler
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

Güvenli yazılım geliştirme ile ilgili temel kavramlarını öğrenmek, güvenli yazılım geliştirme süreç ve araçları hakkında bilgi sahibi olmak.

Dersin İçeriği

Yazılımların Güvenliği temel kavramları, Yazılım Geliştirme Yaşam Döngüsü, Yazılımların derlenmesi ve şifrelenmesi, Web Tabanlı Uygulama Mimarisi, Açık kaynak kodlu yazılımlarda güvenlik, Mobil uygulamalara yönelik güvenlik önlemleri, SOLID İlkeleri, Web Servisleri, Tehdit Modelleme ve Risk ve kod Analizleri, Web Uygulamaların Güvenliği; Yazılımlara yönelik siber saldırı araçları, kötü amaçlı yazılımlar, Güvenlik Denetimleri, OWASP TOP 10 Listesi  , Web Tabanlı Uygulamaların Güvenli Hale Getirilmesi, Proje Çalışması

# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Güvenli yazılım geliştirmeye ilişkin temel kavramları, yazılım geliştirme sürecini ve ortamlarını öğrenmek. Anlatım, Mikro Öğretim,
2 Güvenli yazılım hazırlama, kullanma ve güvenlik araçlarını kullanma hakkında bilgi sahibi olmak. Anlatım,
3 Tehdit Modelleme, Risk ve kod Analizleri hakkında bilgi sahibi olmak
4 Web ve mobil tabanlı uygulamalarda güvenli yazılım geliştirme süreçlerini öğrenmek.
5 Siber saldırılar, kötü yazılımlar ve virüsler hakkında bilgi sahibi olmak.
Hafta Ders Konuları Ön Hazırlık
1 Yazılımların Güvenliği temel kavramları
2 Yazılım Geliştirme Yaşam Döngüsü
3 Yazılımların derlenmesi ve şifrelenmesi, Web Tabanlı Uygulama Mimarisi
4 Açık kaynak kodlu yazılımlarda güvenlik
5 Mobil uygulamalara yönelik güvenlik önlemleri
6 SOLID İlkeleri, Web Servisleri
7 Tehdit Modelleme
8 Risk ve kod Analizleri
9 Vize
10 Web Uygulamaların Güvenliği
11 Yazılımlara yönelik siber saldırı araçları, kötü amaçlı yazılımlar
12 Güvenlik Denetimleri,
13 OWASP TOP 10
14 Web Tabanlı Uygulamaların Güvenli Hale Getirilmesi
Kaynaklar
Ders Notu

OWASP, https://www.owasp.org/index.php/Main_Page

Software Security: Building Security In by Gary McGraw. Addison-Wesley

Demir, B. (2016). Yazılım Güvenliği, 2. Baskı, Nobel Yayınları 

Ders Kaynakları
Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Yaşadığı toplumun bilgi toplumu olmasına katkıda bulunmak, toplumsal, bilimsel, kültürel ve etik sorunlara çözüm sunmak amaçlarıyla alanındaki bilimsel, teknolojik, sosyal veya kültürel ilerlemeleri ulusal ve uluslararası bilimsel ortamlarda (toplantılarda) tanıtır.
2 Alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, alanında güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgiye sahip olup ve elde ettiği bilgiyi değerlendirir, yorumlar ve uygular.
3 Alanı ile ilgili problemleri tanımlar ve formüle eder, yeni ve/veya özgün fikir ve yöntemler geliştirir; karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler ile gelişmekte olan yenilikçi yöntemleri kullanır.
4 Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular, belirsiz, sınırlı ya da eksik verileri bilimsel yöntemlerle tamamlar; verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.
5 Alanındaki uygulamaların sosyal, çevresel, sağlık, güvenlik, hukuki boyutlarını ve iş hayatı uygulamalarını bilir ve bunların getirdiği kısıtların farkındadır. Disiplin içi ve çok disiplinli takımlarda etkin bir biçimde birlikte ve ya bağımsız çalışabilir ve sorumluluk alır.
6 Her ölçekte yazılım sistemi için proje planlaması; zaman, kaynak, bütçe ve risk yönetimi yapar, alternatif çözüm yolları belirler.
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6
1 Güvenli yazılım geliştirmeye ilişkin temel kavramları, yazılım geliştirme sürecini ve ortamlarını öğrenmek.
2 Güvenli yazılım hazırlama, kullanma ve güvenlik araçlarını kullanma hakkında bilgi sahibi olmak.
3 Tehdit Modelleme, Risk ve kod Analizleri hakkında bilgi sahibi olmak
4 Web ve mobil tabanlı uygulamalarda güvenli yazılım geliştirme süreçlerini öğrenmek.
5 Siber saldırılar, kötü yazılımlar ve virüsler hakkında bilgi sahibi olmak.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 50
1. Ödev 10
1. Proje / Tasarım 20
2. Proje / Tasarım 20
Toplam 100
1. Yıl İçinin Başarıya 50
1. Final 50
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Ödev 1 10 10
Proje / Tasarım 2 25 50
Final 1 40 40
Toplam İş Yükü 148
Toplam İş Yükü / 25 (Saat) 5,92
Dersin AKTS Kredisi 6