BİL402 · Yazılım Mühendisliği

Yazılım mühendisliği aşamaları

Fikirden teslime: gereksinim analizi, tasarım, geliştirme metodolojisi, test stratejileri ve proje yönetimi. Yaşam döngüsünün her aşaması izlenebilir ve kanıtlanabilir nitelikte yürütüldü.

01 · Proje Tanıtımı

Proje fikri ve kapsamı

Bilgisayar Mühendisliği bölümlerinin (TR/EN) MÜDEK akreditasyon süreçlerindeki veri toplama, kanıt yönetimi ve ölçme-değerlendirme faaliyetlerini dijitalleştiren bir otomasyon sistemi.

💡

Proje Fikri

Akreditasyon için gerekli verilerin dijital ortamda toplanması, analiz edilmesi ve Sürekli İyileştirme (PUKÖ) süreçlerinin sistematik yönetilmesi. Manuel (Excel tabanlı) süreçlerin hata riskini ve iş yükünü ortadan kaldırmak temel motivasyondur.

🎯

Kapsam

  • Müfredat ve Çıktı Yönetimi: PÇ ve ÖÇ tanımları ile PÇ–ÖÇ ilişki matrisinin oluşturulması.
  • Kanıt ve Arşiv Yönetimi: Ders dosyaları ve öğrenci çalışmalarının (en iyi/orta/en zayıf) dijital arşivlenmesi.
  • Ölçme, Değerlendirme ve Analiz: Anket verileri, çıktı sağlanma oranları ve grafiksel raporlar.
  • Sürekli İyileştirme (PUKÖ): Problem kaydı, aksiyon planları ve iyileştirme adımlarının takibi.

Hedef Kitle & İhtiyaç Analizi

İç Paydaş

Öğretim Üyeleri

Ders çıktılarını (ÖÇ) tanımlar, ders dosyalarını ve öğrenci çalışmalarını sisteme yükleyen birincil veri sağlayıcılar.

İç Paydaş

MÜDEK Komisyonu / Bölüm Yönetimi

PÇ–ÖÇ matrislerini onaylar, anket ve çıktı oranlarını analiz ederek sürekli iyileştirme kararları alır.

Dış Paydaş

MÜDEK Değerlendiricileri

Denetimlerde sistemdeki kanıtları, raporları ve PUKÖ döngüsü çıktılarını inceleyen dış denetçiler.

02 · Gereksinim Analizi

Sistem ne yapacak, hangi kalitede?

MÜDEK şartnamesi doğrultusunda fonksiyonel ve fonksiyonel olmayan gereksinimler netleştirildi.

Fonksiyonel Gereksinimler

1

Müfredat Yönetimi

PÇ ve ÖÇ tanımlama/güncelleme ve PÇ–ÖÇ ilişki matrisinin sistemce oluşturulması.

2

Dijital Arşivleme & Kanıt Yönetimi

Slot tabanlı ders dosyası yükleme, Yüksek/Orta/Düşük öğrenci çalışma örnekleri ve her kanıtın PÇ/ÖÇ ile zorunlu ilişkilendirilmesi.

3

Veri Analizi

Anket toplama, PÇ bazında çıktı sağlanma oranlarının hesaplanması ve grafiksel raporlama.

4

Süreç Takibi (PUKÖ)

Eksikliklerin problem olarak tanımlanması, aksiyon planı atanması ve izlenebilirlik.

Fonksiyonel Olmayan Gereksinimler

🔐

Güvenlik

JWT + SSO (EtüKimlik) ile erişim, ClamAV ile dosya tarama, yetkisiz erişimin engellenmesi.

Performans & Ölçeklenebilirlik

Yüksek hacimli yüklemelerde optimize LINQ sorgularıyla performans koruması.

🎯

Kullanılabilirlik

Akademik personel için sezgisel, veri girişini kolaylaştıran UI/UX.

🧮

Veri Bütünlüğü

PÇ–ÖÇ hesaplamaları ve istatistikte yüksek doğruluk; veritabanı tutarlılığı.

03 · Tasarım Aşaması

UML & Veritabanı Şeması

ASP.NET Core MVC tabanı; N-Layer + Clean Architecture ile harmanlanmış, .NET Aspire orkestrasyonlu ~100 entity'lik domain modeli. EF Core Code-First ile PostgreSQL üzerinde üretildi.

Nesne / varlık ilişki şeması (ERD) — yakınlaştırarak tablo ve ilişkileri inceleyebilirsiniz
🧬

BaseEntity<T> + IAuditable

Tüm varlıklar ortak soyut sınıftan türer; CreatedAt/UpdatedAt EF Core interceptor'larıyla otomatik.

🗂️

10 Domain Modülü

Audit, Core, Course, Evidence, Identity, Mudek, Outcome, Public, Student, Survey.

🔗

Foreign Key Bütünlüğü

PÇ–ÖÇ matrisleri ve başarı oranları ilişkisel kısıtlarla garanti altında.

04 · Geliştirme Metodolojisi

Agile, Scrum ve modül bazlı çalışma

Çevik metodoloji ve Scrum çatısıyla başlandı; teslim baskısı altında modül bazlı çalışmaya geçildi.

1

Agile + Scrum Çatısı

Süreç başında gereksinimler kullanıcı hikayeleri (User Stories) ile tanımlandı; değişen gereksinimlere hızlı uyum hedeflendi.

2

Modül Bazlı Çalışmaya Geçiş

Teknik karmaşıklık ve kısıtlı takvim nedeniyle user-story tek başına yetersiz kaldı; sistem fonksiyonel modüllere ayrılıp her modül uçtan uca (backend+frontend+DB) tamamlandı.

3

Haftalık Sprintler

8 sprint planlandı; 29 Mart'ta Kanban tabanlı resmi sprintlere geçildi. Vize haftası dışında 1 haftalık periyotlarla hız korundu.

4

GitHub Projects Kanban

Harici araç (Jira/Trello) yerine sürüm kontrolüyle entegre GitHub Kanban; görevler Issue ve Story Point ile ölçüldü, commit geçmişiyle tam izlenebilirlik.

Öğrenilen ders: Teslim süresi yakın projelerde modül bazlı planlama, belirsizlikleri yönetmede user-story yaklaşımına göre daha yüksek verimlilik sundu.
05 · Test Stratejileri & Sonuçları

Çok katmanlı doğrulama

TDD yaklaşımı ve sürekli entegrasyon (CI) ile her bileşen geliştirme aşamasında doğrulandı.

0

Geçen xUnit testi

%0

Hesaplama hata payı (manuelle birebir)

%40

Daha hızlı hata izolasyonu

%40

Daha az Docker kaynak tüketimi (PostgreSQL geçişi)

🧪

Birim Testler

BaseEntity zaman damgası ve iş mantığı doğrulamaları; 139 xUnit testi CI'da koşar.

🔗

Entegrasyon Testleri

.NET Aspire orkestrasyonunda Web ↔ PostgreSQL veri iletişimi sürekliliği.

🛡️

Dosya Güvenlik Testleri

FileUploadSecurity: uzantı, MIME, 25MB, magic byte ve zararlı içerik senaryoları.

📋

Kanıt Yükleme Testi

EvidenceController: geçersiz program, PÇ/ÖÇ zorunluluğu ve eksiksiz kayıt oluşturma.

🔍

Denetim Logu Testi

Yükleme/değiştirme/silme sonrası DocumentAuditLog kaydının doğruluğu.

⚙️

CI/CD Doğrulaması

Her push'ta GitHub Actions otomatik test koşumu — geçit bekçisi.

Doğrulama & Geçerleme: Sistem, tasarım dökümanlarına ve UML diyagramlarına uygun geliştirildi (Verification); bölüm yönetimi ve MÜDEK sorumlularının raporlama/kanıt ihtiyaçlarını karşıladığı kullanıcı kabul testleriyle onaylandı (Validation). PÇ–ÖÇ hesaplamaları manuel sonuçlarla birebir uyuştu.
06 · Proje Yönetimi & Zaman Planlaması

8 sprint, GitHub Kanban ile izlenebilir süreç

Harici araç olmadan, sürüm kontrolüyle entegre GitHub Projects Kanban üzerinde Issue ve Story Point tabanlı sprint yönetimi.

1
BaşlangıçHafta 1 · 23.02.2026

Grup kuruldu, görev dağılımı yapıldı, ortak teknoloji (ASP.NET MVC) seçildi, rapor taslağı oluşturuldu.

2
Altyapı TartışmalarıHafta 2 · 04.03.2026

Haftalık toplantı günü belirlendi, proje altyapısı kuruldu, sorumluluklar netleştirildi.

3
Veritabanı & KanbanHafta 3 · 15.03.2026

Veritabanı tamamlandı, sunucu temin edildi, GitHub Projects planlama sistemi devreye alındı.

4
İlk Yüz Yüze ToplantıHafta 5 · 29.03.2026

GitHub Projects, Issue ve Story Point kullanımı; Agile/Scrum ve ideal sprint planlaması beyin fırtınası.

5
Sprintlerin KısaltılmasıHafta 6 · 03.04.2026

Vize haftası için tek seferlik 2 haftalık sprint; sonrasında haftalık sprintlere geçiş kararı.

6
Modül Bazlı Stratejiye GeçişHafta 10 · 03.05.2026

Frontend/backend yerine modül modül geliştirme kararı ve net görev dağılımı.

7
İstatistiksel HesaplamaHafta 12 · 11.05.2026

PÇ hesaplamasının düz ortalama yerine standart sapma temelli (T-skoru) işleme bindirilmesi; ders bazlı başarı barajı kararı.

8
Proje TamamlanmasıTeslim · 31.05.2026

Planlanan teslim tarihi; çalışan sistem, geçen testler ve dokümantasyon.

📋

GitHub Projects Kanban

Issue + Story Point ile görev ağırlıkları; commit geçmişiyle tam izlenebilirlik.

🗓️

Haftalık Sprintler

Vize haftasındaki tek 2 haftalık sprint dışında 1 haftalık periyotlar.

🤝

Paydaş Etkileşimi

Şartnameyle başlayan süreç; kritik dönemlerde anlık, rutinde 4 haftada bir görüşme.