Yazılım İnşası ve Evrimi (SE 556) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS Yazılım İnşası ve Evrimi SE 556 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 Zorunlu Bölüm 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ı kodlama, doğrulama, birim testi, yanlış ayıklama gibi adımları içeren anlamlı yazılım inşası konularını ele alır. Bu dersi başarıyla tamamlayabilen öğrenciler; Yazılım inşası karmaşıklığını değerlendirme ve yönetme Yazılım inşasında değişiklik tahminleri için özel teknikler kullanmak Yazılım inşası doğrulaması tekniklerini açıklamak Yazılım inşası satandardlarını açıklamak İnşa modellerini ve farklarını açıklamak Yazılım inşasını planlamak Yazılım inşası sırasındaki ölçütleri toplamak Yazılım inşası dillerini kullanmak Yazılım inşası kodlamasını yönetmek Yazılım inşası testlerini yönetmek Mevcut kod ve kütüphanaleri kullanmak Yazılım inşası kalitesini garantileyen yöntemleri açıklamak Yazılım inşası temelleri; yazılım karmaşıklığı; yazılım inşası yönetimi; yazılım inşası modelleri; yazılım inşası dilleri; kodlama; yazılım inşası testi; tekrar kullanma; doğrulama ve standart inşa; yazılım inşası kalitesi; entegrasyon Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Karmaşıklığın azaltılması Bölüm 1, 2,3 (ders kitabı), Diğer kaynaklar 9
2 Değişikliğin tahmini Bölüm 1, 2,3, Diğer kaynaklar 9 3 Doğrulama için inşa Bölüm 1, 2,3, Diğer kaynaklar 9 4 Yazılım inşası standartları Diğer kaynaklar 1 5 Yazılım inşası modelleri Diğer kaynaklar 1 6 Yazılım inşası yönetimi Bölüm 12 7 Yazılım inşası planlama Bölüm 15 8 Yazılım inşası ölçümü Diğer kaynaklar 9 9 Yazılım inşasıtasarlama Bölüm 17 10 Yazılım inşası dilleri Bölüm 16 11 Kodlama Bölüm 16 12 Yazılım inşası testi Bölüm 18 13 Tekrar kullanma Diğer kaynaklar 9 14 Yazılım inşası kalitesi Diğer kaynaklar 9 15 Entegrasyon Diğer kaynaklar 9 16 Dönem Sonu Sınav çalışmaları Dönem için konuların tekrarı Kaynaklar Ders Kitabı: Diğer Kaynaklar: 1. Extreme Programming Explained: Embrace Change, K. Beck, Addison-Wesley, 1999, Chap. 10, 12, 15, 16-18, 21. 1. Sommerville, Software Engineering, seventh ed., Addison-Wesley, 2005 2. J. Bentley, Programming Pearls, second ed., Addison-Wesley, 2000, Chap. 2-4, 6-11, 13, 14, pp. 175-176 3. Hunt and D. Thomas, The Pragmatic Programmer, Addison-Wesley, 2000, Chap. 7, 8 12, 14-21, 23, 33, 34, 36-40, 42, 43
4. IEEE Std 1517-1999, IEEE Standard for Information Technology-Software Life Cycle Processes- Reuse Processes, IEEE, 1999 5. IEEE/EIA 12207.0-1996//ISO/IEC12207:1995, Industry Implementation of Int. Std. ISO/IEC 12207:95, Standard for Information Technology- Software Life Cycle Processes, IEEE, 1996. 6. B.W. Kernighan and R. Pike, The Practice of Programming, Addison-Wesley, 1999, Chap. 2, 3, 5, 6, 9 7. S. Maguire, Writing Solid Code: Microsoft s Techniques for Developing Bug-Free C Software, Microsoft Press, 1993, Chap. 2-7. 8. S. McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, second ed., 2004. 9. A Software Engineering Body of Knowledge, Thomas B. Hilburn, Iraj Hirmanpour, Soheil Khajenoori, Richard Turner, Abir Quasem; Latest Edition., 2004 10. Object-Oriented Software Construction (Book/CD-ROM), 2nd Edition, By Bertrand Meyer, Published by Prentice Hall PTR, 2000 11. An Introduction to Programming and Object Oriented Design Using Java, by Jaime Niño, Frederick A. Hosch, J. Nino, F. Hosch, 2003 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 3 15 Sunum - - Projeler - - Seminer - - Ara Sınavlar/Ara Juri 2 40 Genel Sınav/Final Juri 1 40 Toplam 7 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) 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 5 80 Ödevler 3 10 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 2 20 40 1 30 30 Toplam İş Yükü 228