Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Advanced Informatıon Management Systems SWE 523 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ü Prof.Dr. AHMET ÖZMEN
Dersi Verenler Prof.Dr. AHMET ÖZMEN,
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

Dersin amacı, dağıtık verilere erişen, bunları işleyen ve bilgiye dönüştüren ileri düzey, dağıtık web sistemlerinin mimarilerini öğretmektir. Bu kapsamda mevcut web tabanlı bilgi ve yönetim sistemlerinin hem istemci hem de sunucu tarafında kullanılan teknolojilerin ve eğilimlerin incelenmesi, öğretilmesi amaçlanmaktadır.

Dersin İçeriği

Web tabanlı büyük ölçekli veri erişim ve yönetim sistemleri, istemci ve sunucu tarafında kullanılan teknolojilerin öğretilmesi. Ders süresince web tabanlı sistemlerle ilgili kavramların ve tasarım kalıplarının örnek uygulamalarla gösterilmesi planlanmaktadır.

Kalkınma Amaçları
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 HTTP protokolünü bilir Anlatım, Soru-Cevap, Bireysel Çalışma,
2 Güncel web teknolojilerini uygulamalarında kullanır Tartışma, Soru-Cevap, Anlatım,
3 Heterojen ortamda çalışan programlama dili kullanarak sistem geliştirir Eğitsel Oyun, Problem Çözme, Grupla Çalışma,
4 Güvenli yazılım stratejilerini uygular Problem Çözme, Tartışma,
5 Dağıtık sistem geliştirirken ileri düzey programlama teknolojileri kullanır Problem Çözme, Grupla Çalışma, Anlatım,
Hafta Ders Konuları Ön Hazırlık
1 N-tier bilgi yönetim sistemlerinin mimarisi
2 HTTP protokolü ve istemci-server mesaj trafiğinin analizi
3 Farklı veri biçimleri ve veri transfer/kontrol stratejilerinin tartışılması: JSON, XML, CORBA
4 HTTP web server, Java (MS .Net Core) web programlama temelleri ve MVC tasarım deseni
5 Apache-Tomcat (Microsoft Kestrel) uygulama sunucusu ve Thymeleaf (Microsoft Razor) sunucu şablon motoru,
6 ORM çerçeveleri (JPA, Hibernate, Entity Framework)
7 Web güvenliği: Authentication ve authorization
8 Monolitik mimari
9 Katmanlı mimari: Domain Driven Design (DDD) deseni (Clean Architecture)
10 Mikroservis mimarisi, konteyner teknolojileri
11 Web soket API uygulamaları
12 Bulut tabanlı ölçeklenebilir uygulama geliştirme
13 Gelişmiş dağıtık bilgi sistemlerinin analizi (Twitter, Facebook vb.)
14 Proje çalışmalarının sunulması
Kaynaklar
Ders Notu

Ders sunum yansıları.

Ders Kaynakları

1. DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN

2. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, Martin Kleppmann

3. HTML, CSS, and JavaScript All in One: Covering HTML5, CSS3, and ES6, Sams Teach Yourself, Julie Meloni

4. The Road to React: Your journey to master plain yet pragmatic React.js, Robin Wieruch

5. Effective Java, Third Edition. Addison-Wesley, Joshua Bloch, 2018. 

6. Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, Eric Freeman

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 HTTP protokolünü bilir
2 Güncel web teknolojilerini uygulamalarında kullanır
3 Heterojen ortamda çalışan programlama dili kullanarak sistem geliştirir
4 Güvenli yazılım stratejilerini uygular
5 Dağıtık sistem geliştirirken ileri düzey programlama teknolojileri kullanır
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 50
1. Proje / Tasarım 20
1. Ödev 10
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)