DERSİN GENEL BİLGİLERİ |
| Ders Kodu | Ders Adı | Yıl | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
| CME6439 | Software Architecture | 4 | Güz | 2 | 1 | 3 | 6 |
| Dersin Türü: | Elective Course IX |
| Dersin Düzeyi: | Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey |
| Dersin Öğretim Dili: | İngilizce |
| Dersin Ön/Yan Koşulu: | Yoktur |
| Dersin Veriliş Şekli: | Yüz yüze |
| Dersin Koordinatörü: | Profesör Dr. ENSAR GÜL |
| Dersin Öğretim Eleman(lar)ı: |
Profesör Dr. ENSAR GÜL |
| Dersin Kategorisi: | Mesleki Alan |
BÖLÜM II: DERSİN TANITIMI |
| Dersin Amacı: | Bu dersin amacı, öğrencilere etkin ve kaliteli yazılım tasarımının nasıl gerçekleştirildiğini öğretmektir. Bu ders, bir yazılım tasarım probleminin mutlak bir şekilde yalnızca bir çözümünün olmadığı, bir yazılım mühendisinin birçok alternatif arasında avantaj/dezavantaj hesabı yaptıktan sonra bir çözüm üretmek zorunda kalacağı konusunda öğrencileri duyarlı hale getirecektir. Nesneye dayalı tasarım prensiplerinin incelenmesi ve UML diyagramları dersin içerikleri arasındadır. |
| Dersin İçeriği: | Yazılım Tasarımına Giriş, Yazılım Tasarım Süreçleri ve Yönetimi, Mühendislik TasarımıAnalizi ve Çözümleme, Üst-Düzey Tasarım, Sınıf Modelleri, Ayrıntılı Tasarım, Mimari Stilleri, Nesne Yönelimli Tasarım Kalıpları. |
| uygulama saatinde öğrenciler kendi bilgisayarını getirmeli |
| Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.) | ||
|
1) Temel tasarım kavramlarını bilir |
||
|
2) Mimari Tasarım ve Ayrıntılı Tasarım kavramlarını açıklar |
||
|
3) Temel tasarım kalıpları ve tasarım prensiplerini bilir |
||
| Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.) | ||
| Yetkinlikler ("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.) | ||
|
1) Belirli bir sistem için mimari stillerini seçer |
||
|
2) Tasarım çözümlerini UML diyagramları kullanarak dokümante eder |
||
| Hafta | Konu | ||
| Ön Hazırlık | Pekiştirme | ||
| 1) | Ders Tanıtımı,Yazılım Tasarımına Giriş | ||
| 2) | Temel Kavramlar | ||
| 3) | Yazılım Mimari Tasarımı | ||
| 4) | Mimari Stilleri 1 | ||
| 5) | Mimari Stilleri 2 | ||
| 6) | Yazılım Konnektörleri | ||
| 7) | Yazılım konnektör seçimi | ||
| 8) | ara sınav | ||
| 9) | Yazılım modelleme ve UML | ||
| 10) | Tasarım Kalıpları 1 | ||
| 11) | Tasarım Kalıpları 2 | ||
| 12) | Tasarım Kalıpları 3 | ||
| 13) | Tasarım Prensipleri 1 | ||
| 14) | Tasarım Prensipleri | ||
| Ders Notları / Kitaplar: | |
| Diğer Kaynaklar: | Textbooks: 1. R. N. Taylor,N. Medvidovic, E. M. Dashofy, Software Architecture , Addison Wesley, 2009 Recommended Readings: 1. Steven C. McConnell, Code Complete: A Practical Handbook of Software Construction, 2nd Edition, Microsoft Press, 2004. 2. Ian Sommerville, Software Engineering, 7th/8th Edition, Addison-Wesley, 2004/2007. 3. Len Bass, P Clements, R. Kazman, Software Architecture in Practice, 4th Ed, Addison Wesley, 2012 |
DERS ÖĞRENME ÇIKTILARI - PROGRAM ÖĞRENME ÇIKTILARI İLİŞKİSİ |
| Ders Öğrenme Çıktıları (DÖÇ) | 1 |
2 |
4 |
3 |
5 |
|||||
|---|---|---|---|---|---|---|---|---|---|---|
| Program Öğrenme Çıktıları (PÖÇ) | ||||||||||
| 1) Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve bilgisayar mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | ||||||||||
| 2) 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. | ||||||||||
| 3) 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. | ||||||||||
| 4) 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. | ||||||||||
| 5) 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. | ||||||||||
| 6) 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 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 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. | ||||||||||
| 9) 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. | ||||||||||
| 10) 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) 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. | ||||||||||
BÖLÜM III: DERSİN PROGRAM ÖĞRENME ÇIKTILARI İLE İLİŞKİSİ |
| Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
| Program Öğrenme Çıktıları | Katkı Oranı (1-5) | |
| 1) | Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve bilgisayar mühendisliği disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | |
| 2) | 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. | |
| 3) | 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. | 5 |
| 4) | 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. | 4 |
| 5) | 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. | |
| 6) | 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 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 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. | |
| 9) | 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. | |
| 10) | 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) | 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. |
BÖLÜM IV: DERSİN ÖĞRENME VE ÖĞRETME YÖNTEMLERİ İLE ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİ |
| Ölçme ve Değerlendirme Yöntemleri | Uygulama Sayısı / Yarıyıl | Katkı Oranı |
| Ödev | 5 | % 15.00 |
| Ara Sınavlar | 1 | % 35.00 |
| Yarıyıl Sonu Sınavı | 1 | % 50.00 |
| Toplam | % 100 | |
| YARIYIL İÇİ ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİNİN BAŞARI NOTUNA KATKI ORANI | % 50 | |
| YARIYIL SONU SINAVININ BAŞARI NOTUNA KATKI ORANI | % 50 | |
| Toplam | % 100 | |
BÖLÜM V: DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
| ÖĞRENME VE ÖĞRETME ETKİNLİKLERİ İŞ YÜKÜ | |||
| Öğrenme ve Öğretme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Süresi (saat) | Toplam İş Yükü |
| Ders | 14 | 2 | 28 |
| Laboratuvar | 0 | 0 | 0 |
| Uygulama | 14 | 1 | 14 |
| Derse Özgü Staj | 0 | 0 | 0 |
| Arazi Çalışması | 0 | 0 | 0 |
| Sınıf Dışı Ders Çalışması | 14 | 4 | 56 |
| Sunum / Seminer | 0 | 0 | 0 |
| Proje | 0 | 0 | 0 |
| Ödevler | 8 | 6 | 48 |
| Öğrenme ve Öğretme Etkinlikleri Toplam İş Yükü | - | - | 146 |
| ÖLÇME VE DEĞERLENDİRME ETKİNLİKLERİ İŞ YÜKÜ | |||
| Ölçme ve Değerlendirme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Süresi (saat) | Toplam İş Yükü |
| Kısa Sınav | 0 | 0 | 0 |
| Ara Sınavlar | 1 | 2 | 2 |
| Yarıyıl Sonu Sınavı | 1 | 3 | 3 |
| Ölçme ve Değerlendirme Etkinlikleri Toplam İş Yükü | - | - | 5 |
| TOPLAM İŞ YÜKÜ (Öğrenme ve Öğretme + Ölçme ve Değerlendirme Etkinlikleri) | 151 | ||
| DERSİN AKTS KREDİSİ (Toplam İş Yükü/25.5 Saat) | 6 | ||