Yazılım Mimarisi (SE 558) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Yazılım Mimarisi SE 558 Bahar 3 0 0 3 7.5 Ön Koşul Ders(ler)i Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Yazılım Mühendisliği Seçmeli Dersleri Fen Bilimleri Yüksek Lisans Yüz Yüze Anlatım Dersin Koordinatörü Dersin Öğretmen(ler)i
Dersin Asistanı Dersin Amacı Dersin Eğitim Çıktıları Dersin İçeriği Bu dersin amacı yazılım tasarlama mimarileri, uygulaması, yazılım dilleri ve kritik sistemler konularında temel bilgiler vermektir Bu dersi başarıyla tamamlayabilen öğrenciler; Yazılım tasarlama mimarileri, uygulaması, yazılım dilleri ve kritik sistemler temellerini açıklama Farklı yazılım tekniklerini ve dökümantasyınunu uyglama Çeşitli yazılım mimari inşasını, başarısını ve güçlüklerini analiz etme Yazılım mimarisine giriş; mimari iş çevrimi; mimari yaratma; durum çalışması; kaliteyi anlama ve ulaşma; yazılım mimarisini tasarlama, dökümante etme ve tekrar inşa etme; yazılım mimarisi değerlendirme metodları; yazılım mimarisine sayısal olarak karar verme yöntemleri; yazılım üretim hattı; aracı yazılım, servis-tabanlı, anlamsal ağlar, durum tabanlı; uygulamalı mimari ve tarzlar; fonksiyonel olmayan özellikler için tasarım; güvenlik ve güven; mimari adaptasyon Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Yazılım kalite özellikleri Bölüm 3 2 Ara yazılım meimari ve teknolojileri Bölüm 4 3 Yazılım üretim hatları Bölüm 9 4 Durum tabanlı miamriler Bölüm 10 5 Model tabanlı mimariler Bölüm 11
6 Servis-tabanlı mimariler ve teknolojiler Bölüm 12 7 Anlamsal ağlar Bölüm 13 8 Yazılım aracıları Bölüm 43 9 Uygulamalı Mimari ve Tarzlar Software Architecture Foundations, Theory, and Practice by Richard N. Taylor, Nenad Medvidovic, Eric M. Dashofy -Bölüm 11 10 Fonksiyonel Olmayan Özellikler için Tasarım Bölüm 12 11 Güvenlik ve Güven Bölüm 13 12 Mimari Adaptasyon Bölüm 14 13 Alana Özel Yazılım Mühendisliği Bölüm 15 14 Standartlar Bölüm 16 15 Dönem Sonu Sınav çalışmaları Dönem için konuların tekrarı 16 Dönem Sonu Sınav çalışmaları Dönem için konuların tekrarı Review of topics Kaynaklar Ders Kitabı: Diğer Kaynaklar: 1. Essential Software Architecture by Ian Gorton, Springer, 2006 1. Software Architecture in Practice, Second Edition, by Bass, Clements and Kazman, Addison-Wesley Publishers, ISBN: 0-321-15495-9, 2007 2. Quality Software Project Management by Robert T. Futrell, Donald F. Shafer, and Linda I. Shafer, Prentice Hall, 2002 3. Evaluating Software Architecture- Methods and Case Studies, by Paul Clements, Rick Kazman, Mark Klein, ISBN: 020170482, Addison Wesley, 2007.
4. Software System Architecture by Nick Rozanski and Eoin Woods, ISBN 0-321-11229-6, Addison Wesley, 2007 5. Software Product Line in Action Frank Van der Linden, Klaus Schmid, Eelco Rommes, ISBN 978-3-540-71436-1 Springer Berlin Heidelberg New York, 2007 Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım 1 5 Laboratuar - - Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 2 15 Sunum - - Projeler 1 20 Seminer - - Ara Sınavlar/Ara Juri 1 20 Genel Sınav/Final Juri 1 40 Toplam 6 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 100 Toplam 100 Ders Kategorisi Temel Meslek Dersleri Uzmanlık/Alan Dersleri Destek Dersleri İletişim ve Yönetim Becerileri Dersleri Aktarılabilir Beceri Dersleri Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi # Program Yeterlilikleri / Çıktıları Katkı Düzeyi 1 2 3 4 5 1 İleri düzey hesaplama ve/veya bilişim bilgilerini yazılım mühendisliği problemlerini çözmede uygulama becerisi. 2 Farklı teknolojiler, yazılım mimarileri ve yaşam-döngüsü yaklaşımları kullanarak çözümler geliştirmek.
3 Bir yazılım sistemini, bileşenini, sürecini veya programını, modern teknikler ve yazılım mühendisliği uygulamalarına yönelik mühendislik araçlarını kullanarak, tasarlama, gerçekleştirme ve değerlendirme becerisi. 4 Yazılım gereksinimlerini anlamak için, veri toplama, analiz etme ve yorumlama becerisi. 5 Yazılım projeleri üzerindeki çalışmalar kapsamında ortaya çıkan problemler üzerinde etkin sözlü ve yazılı iletişim ve kritik düşünme becerileri. 6 Bilim ve teknoloji alanındaki güncel gelişmeleri izlemede bilgiye erişim becerisi ve yazılım mühendisliği alanında bilimsel araştırma yapmak ve bir projeyi gerçekleştirmek. 7 Yazılım Mühendisliği ile ilgili profesyonel, hukuksal, sosyal ve sorumluluklar konularında anlayış. 8 Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. 9 Yazılım Mühendisliği çözümlerinin, karar verme boyutunda, küresel, sosyal ve hukuki boyutları üzerindeki etkisini anlamak. 10 Yazılım Mühendisliği uygulamaları için mükemmellik standartlarının geliştirilmesi, benimsenmesi ve sürekli kullanımının desteklenmesi. ECTS/İş Yükü Tablosu Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) 16 3 48
Laboratuar Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama 16 5 80 Projeler 1 20 20 Ödevler 2 15 30 Küçük Sınavlar/Stüdyo Kritiği Ara Sınavlara/Ara Juriye Hazırlanma Süresi Genel Sınava/Genel Juriye Hazırlanma Süresi 1 20 20 1 30 30 Toplam İş Yükü 228