Dersin Amacı: |
Bu ders, büyük yazılım sistemleri ve programlarının mühendisliğinin ilke ve kavramlarıyla ilgilidir. Yazılım mimarisi, yazılım sistemleri geliştirmenin doğal karmaşıklığını yönetmeye yardımcı olan sistem ayrıntılarının bir soyutlamasıdır. Yazılım mimarisi, kullanıcı ihtiyaçlarının erken değerlendirilmesi, gereksinimlerin ve tasarımın analizi ve sistem özelliklerinin tahmin edilmesi için öngörü sağlar. Mimari stiller, görünümler, gösterimler ve tanımlama dilleri, mühendislik kararları ve tasarım uygulamaları için sistematik çerçeveler sağlar. Dersin odak noktası, yazılım mimarisi uygulamaları, teknolojileri ve yapıları ile ilgili ileri düzey konulardır. Öğrenciler, yazılım sistemlerinin mimari temsillerini geliştirmeye ilişkin bireysel veya grup projelerine katılırlar. |
Dersin İçeriği: |
Yazılım Mimari Tasarımı, UML ile Mimari Çizimi, Tasarım Desenleri, Nesneye Yönelik Programlama, Yazılım Mimari Modelleri, Yazılım Geliştirme Modelleri, Yazılım Geliştirme Yaşam Döngüsü |
Hafta |
Konu |
Ön Hazırlık |
1) |
Giriş - Yazılım Mimarisi Kavramları
|
|
2) |
Gereksinimler ve Mimari Tasarım |
|
3) |
Kalite Nitelikleri – SOLID Prensipleri |
|
4) |
Mimari Dökümantasyonu- UML'e Giriş |
|
5) |
Bütünleşik Modelleme Dili (UML)
|
|
6) |
Mimarinin Koda Dönüşümü - Tasarım Desenlerine Giriş |
|
7) |
Yaratımsal Tasarım Desenleri
|
|
8) |
Ara sınav |
|
9) |
Yapısal Tasarım Desenleri |
|
10) |
Davranışsal Tasarım Desenleri-1 |
|
11) |
Davranışsal Tasarım Desenleri-2 |
|
12) |
Yazılım Mimari Modelleri |
|
13) |
Yazılım Geliştirme Modelleri |
|
14) |
Yazılım Geliştirme Yaşam Döngüsü |
|
15) |
Final sınavı |
|
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi |
5 |
2) |
Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi |
5 |
3) |
Karmaşık bir sistemi, süreci, cihazı veya ürünü, gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi |
5 |
4) |
Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi |
5 |
5) |
Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi |
5 |
6) |
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışabilme becerisi |
4 |
7) |
Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi |
4 |
8) |
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi |
|
9) |
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi |
|
10) |
Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi iş hayatı uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi |
|
11) |
Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri hakkında bilgi ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık |
|