Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları Ders Adı Ders Dönemi Ders Uygulama Kodu Saati Saati Laboratuar Kredi AKTS Saati Yazılım Mühendisliğine Giriş SE 112 Bahar 3 0 0 3 5 Ön Koşul Ders(ler)i Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Zorunlu Bölüm Dersleri 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 Yazılım mühendisliği branşının temellerini, temel kavramlarını ve terminolojisini öğretmek. Soyutlama, problem çözme ve sistemik bakış açısı kazandırma. Bu dersi başarıyla tamamlayabilen öğrenciler; Yazılım geliştirme yaşam döngüsü modelleri ve ilgili süreçleri belirlemek. Yazılım proje yönetimi temellerini ve maliyet, zamanlama, kalite ve risk gibi ana konuları açıklamak. Yazılım sistemlerinin analizi, tasarımı, test ve bakım için gerekli bilgilerin kazanımı. Yazılım ürün ve süreç kalitesini açıklamak Yazılım mühendisliği ile ilgili yöntemler, teknikler ve araçların kullanımı hakkında bilgi edinmek Hesaplama prensipleri: Soyutlama, problem çözme, tekrar kullanım, sitemlerin bölümlenmesi. Yazılım mühendisliğine genel bakış: yaşam döngüsü, sistemler, müşteriler, kullanıcılar, gereksinimler, tasarım, gerçekleştirim, yazılım kalite güvencesi, test ve bakım. Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular 1 Yazılım mühendisliği ve sosyo-teknik sistemler 2 Yazılım mühendisliği ve sosyo-teknik sistemler Ön Hazırlık Ana ders kitabı Bölüm 1-2 Ana ders kitabı Bölüm 1-2
3 Yazılım süreç modelleri Ana ders kitabı Bölüm 4 & Ders Notları 4 Proje yönetimi Ana ders kitabı Bölüm 5 5 Proje yönetimi Ana ders kitabı Bölüm 5 6 Yazılım gereksinimleri Ana ders kitabı Bölüm 6 7 Gereksinim mühendisliği kavramları 8 Gereksinim mühendisliği kavramları Ana ders kitabı Bölüm 7 Ana ders kitabı Bölüm 7 9 Sistem modelleri Ana ders kitabı Bölüm 8 10 Tasarım kavramları: Mimari tasarım, Nesne-yönelimli tasarım, Kullanıcı arayüzü tasarımı Ana ders kitabı Bölüm 11, 14 ve 16 11 Test, doğrulama ve geçerlileme Ana ders kitabı Bölüm 22 12 Test, doğrulama ve geçerlileme Ana ders kitabı Bölüm 23 13 Kalite yönetimi Ana ders kitabı Bölüm 27 14 Konfigürasyon yönetimi Ana ders kitabı Bölüm 29 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ı Kaynaklar Ders Kitabı: 1. I. Sommerville, "Software Engineering", Pearson, Tenth Edition, 2015, ISBN:0133943038. Diğer Kaynaklar: 1. S.L. Pfleeger and J.M. Atlee, "Software Engineering: Theory and Practice", Pearson, Fourth Edition, 2009, ISBN: 0136061699. 2. A. Arifoğlu and A. Doğru, Yazılım Mühendisliği, SAS Bilişim Yayınları, 2001, 975-97197-2-.
3. R.S. Pressman and B.R. Maxim, Software Engineering: A Practitioner's Approach, McGraw Hill, Eighth Edition, 2014, ISBN: 0078022126. 4. Carnegie Mellon Software Engineering Institute, http://www.sei.cmu.edu. 5. World Wide Web Consortium, http://www.w3.org. Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım - - Laboratuar - - Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 6 25 Sunum - - Projeler - - Seminer - - Ara Sınavlar/Ara Juri 2 40 Genel Sınav/Final Juri 1 35 Toplam 9 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı 65
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 35 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 Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım mühendisliği problemlerinin çözümüne uygulama becerisi.
2 Alana özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisi. 3 Belirlenen gereksinimleri karşılayacak bir yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisi. 4 Yazılım mühendislik uygulamaları için modern teknik ve mühendislik araçlarını kullanma becerisi. 5 Yazılım ihtiyaçlarını anlamak için veri toplama, analiz etme ve yorumlama becerisi. 6 Disiplin içi ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli organizasyonel ve iş yeteneklerini ortaya koyabilme becerisi. 7 Türkçe ve İngilizce dillerinde etkin iletişim kurabilme becerisi. 8 Yaşam boyu öğrenmenin gerekliliği bilinci ve bilgiye erişebilme, bilim ve teknolojideki son gelişmeleri takip edebilme ve kendini sürekli yenileme becerisi. 9 Mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilinci. 10 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. 11 Yazılım mühendisliği uygulamalarının evrensel, sosyal ve hukuksal sonuçları konusunda farkındalık. 12 Yazılım alternatiflerini irdeleyerek bilgisayar tabanlı sistemlerin modellenmesi ve tasarımında, algoritma prensiplerini, matematiksel temelleri ve bilgisayar bilimleri teorisini uygulama becerisi. 13 Yazılım sistemlerinin analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesinde mühendislik yaklaşımlarını uygulama becerisi.
ECTS/İş Yükü Tablosu Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) Laboratuar Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler 16 3 48 16 2 32 Ödevler 6 4 24 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 2 15 30 1 15 15 Toplam İş Yükü 149