Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Dağıtık Bilgi ve Yönetim Sistemleri SWE 212 4 3 + 0 3 5
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili İngilizce
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Prof.Dr. AHMET ÖZMEN
Dersi Verenler Prof.Dr. AHMET ÖZMEN,
Dersin Yardımcıları
Dersin Kategorisi Alanına Uygun Öğretim
Dersin Amacı

Dersin amacı, dağıtık mimaride geliştirilen ölçeklenebilir bilgi ve yönetim sistemlerini teorik ve uygulamalı olarak öğretmektir. Bu kapsamda çok iskeleli REST tabanlı bilgi ve yönetim sistemlerinin hem istemci hem de sunucu tarafında kullanılan teknolojilerin, protokollerin ve eğilimlerin incelenmesi, öğretilmesi amaçlanmaktadır.

Dersin İçeriği

Ders içeriği çok iskeleli mimariler ve REST tabanlı ölçeklenebilir bilgi ve yönetim sistemlerinin teorik ve uygulamalı olarak öğretilmesini kapsmaktadır.  Dönem içinde istemci ve sunucu tarafında kullanılan teknolojiler, protokoller anlatılmaktadır. Ders süresince dağıtık mimaride geliştirilen, ölçeklenebilir bilgi ve yönetim sistemleri ve ilgili kavramlar ve tasarım kalıpları örnek uygulamalarla gösterilmektedir.

# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 HTTP protokolünü, bu protokol ile kullanılan metotları bilir ve uygulamada kullanır Anlatım, Tartışma,
2 Dağıtık bilgi sistemlerinin yapısal analizini yapar, kullanılan teknolojileri belirler Soru-Cevap, Anlatım,
3 REST mimari özelliklerini bilir ve kullanarak sistem geliştirir Gözlem, Anlatım,
4 ORM (Object Relational Mapping) yöntemlerini bilir ve uygulamada kullanır Anlatım,
5 Bilgi sistemlerinde kimlik doğrulama ve yetkilendirme yöntemlerini bilir ve kullanır Soru-Cevap, Anlatım,
6 Dağıtık bilgi ve yönetim sistemlerinde istisna ve hataların uygun şekilde yönetimini bilir ve uygular Gözlem, Anlatım,
7 Bilgi sistemleri için grafik arayüz tasarlar, geliştirir ve ilgili dillerde kodlar Eğitsel Oyun,
Hafta Ders Konuları Ön Hazırlık
1 Dersin işleyişi, bilgi ve yönetim sistemlerinin mimari yapıları
2 Veritabanı sunucuları, SQL, veritabanı erişim örnekleri (JDBC, ODBC), soket bağlantısı, veritabanı tasarım prensipleri
3 Form tabanlı sistemlerin genel özellikleri, İstemci-sunucu (iki iskeleli) mimari uygulama geliştirme (JavaFx).
4 HTTP protokolü ve protokolün desteklediği metotlar. REST mimarisi ve MVC tasarım deseni
5 Nesnelerin veritabanına haritalanması: ORM (Object Relational Mapping)
6 Model-View-Controller tasarım deseni, veritabanı önce yaklaşımı
7 Kod önce yaklaşımı, Bootstrap CSS framework ile entegrasyon. REST sistemlerde dosya yükleme ve indirme, doküman sunucusu.
8 Web güvenliği: Authentication ve authorization
9 Cookie temelli güvenlik uygulamaları, token temelli güvenlik uygulamaları (JWT)
10 Swagger ile REST API dokümantasyonu ve REST sistemlerde istisna ve hata yönetimi
11 REST API sistemler için GUI geliştirme: Java (Backend) - React (Frontend) multi-module uygulama geliştirme.
12 REST tabanlı bilgi sistemlerinde PDF, Excel raporların üretilmesi (Jasper Report veya JS Report kullanımı)
13 Mikroservis mimarilerin temel özellikleri, REST API ile mikroservis uygulama geliştirme (Feing client)
14 Proje çalışmalarının sunulması
Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Mühendislik Bilgisi: Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve ilgili mühendislik disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
2 Problem Analizi: Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. X
3 Mühendislik Tasarımı: Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. X
4 Teknik ve Araçların Kullanımı: Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. X
5 Araştırma ve İnceleme: Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi. X
6 Mühendislik Uygulamalarının Küresel Etkisi: Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları* kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
7 Mühendislik Etiği: Mühendislik meslek ilkelerine* uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık.
8 Bireysel ve Takım Çalışması: Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. X
9 Sözlü ve Yazılı İletişim: Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. X
10 Proje Yönetimi: Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık.
11 Yaşam Boyu Öğrenme: Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi.
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11
1 HTTP protokolünü, bu protokol ile kullanılan metotları bilir ve uygulamada kullanır
2 Dağıtık bilgi sistemlerinin yapısal analizini yapar, kullanılan teknolojileri belirler
3 REST mimari özelliklerini bilir ve kullanarak sistem geliştirir
4 ORM (Object Relational Mapping) yöntemlerini bilir ve uygulamada kullanır
5 Bilgi sistemlerinde kimlik doğrulama ve yetkilendirme yöntemlerini bilir ve kullanır
6 Dağıtık bilgi ve yönetim sistemlerinde istisna ve hataların uygun şekilde yönetimini bilir ve uygular
7 Bilgi sistemleri için grafik arayüz tasarlar, geliştirir ve ilgili dillerde kodlar
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 50
1. Proje / Tasarım 10
2. Proje / Tasarım 20
3. 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)
Proje / Tasarım 4 10 40
Final 1 20 20
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 14 3 42
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 14 1 14
Ara Sınav 1 15 15
Toplam İş Yükü 131
Toplam İş Yükü / 25 (Saat) 5,24
dersAKTSKredisi 5