CE 612 | Ders Tanıtım Bilgileri

Dersin Adı
Yazılım Gelişimi ve Bakımı
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
CE 612
Güz/Bahar
3
0
3
7.5

Ön Koşul(lar)
Yok
Dersin Dili
İngilizce
Dersin Türü
Seçmeli
Dersin Seviyesi
Doktora
Dersin Koordinatörü -
Öğretim Eleman(lar)ı
Yardımcı(lar)ı -
Dersin Amacı Bu dersin amacı yazılım gelişimi ve bakımı konusunda doktora öğrencilerine derinlemesine bilgi vermektir. Ders yazılım gelişimi yasalarını ve bu yasaları denetleyen koşulları inceler, bakım ve gelişimi konularını modeller, yeniden mühendislik, yeniden düzenleme, yeniden kullanma teknikleri ve mevcut bilgi sistemlerinin dönüşümü ve süreçleri hakkında bilgilendirir.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • Yazılım gelişiminin doğasını tanımlayacaktır.
  • Yazılım gelişim yasalarını tarif edecektir.
  • Mevcut sistemleri ve neden önemli olduğunu açıklayabilecektir.
  • Yazılım gelişimi ve bakım modellerini tanımlayacaktır.
  • Yazılımda yeniden mühendislik kavramını açıklayabilecektir.
Tanımı Bu ders yazılım mühendisliğinde, yazılım gelişimi ve bakımı süreçlerini, yeniden mühendislik, yeniden düzenleme ve yeniden kullanma tekniklerini ilişkin kavramları tanımlar.

 



Ders Kategorisi

Temel Meslek Dersleri
Uzmanlık/Alan Dersleri
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 Giriş, IEEE Std 1219
2 Yazılım gelişimi ve bakımı Grubb and Takang, ch.1; Tripathy and Naik ch. 1
3 Yazılım bakımı çerçevesi Grubb and Takang, ch.2; Tripathy and Naik ch. 2; Pressman, ch. 29
4 Yazılımın değişimi Grubb and Takang, ch.3
5 Yazılım değişiminin ekonomik etkileri ve sınırları Grubb and Takang, ch.4
6 Bakım süreci Grubb and Takang, ch.5; ISO/IEC 14764
7 Yazılımın anlaşılması Grubb and Takang, ch.6
8 Tersine mühendislik Grubb and Takang, ch.7; Tripathy and Naik ch. 4
9 Yeniden kullanma ve kullanılabilirlik Grubb and Takang, ch.8
10 Yeniden kullanma ve kullanılabilirlik Grubb and Takang, ch.8
11 Yönetim ve organizasyonel konular Grubb and Takang, ch.10
12 Mevcut Bilgi Sistemi Tripathy and Naik ch. 5
13 Etki analizi Tripathy and Naik ch. 6
14 Etki analizi Tripathy and Naik ch. 6
15 Dönemin gözden geçirilmesi
16 Fınal

 

Dersin Kitabı
Diğer Kaynaklar Grubb P. and Takang A.A., Software Maintenance Concepts and Practice, 2e, World Scientific, 2003. Sommerville I., Software Engineering, 10e, AddisonWesley, 2016. Pressman R.S., Software Engineering: A Practitioners Approach, 7e, McGrawHill, 2010. SWEBOK V3.0, Guide to the Software Engineering Body of Knowledge: 2014, Ed: Bourque P. and Fairley R.E., IEEE, 2014. April, Abran Dumke, What do you need to know about Software Maintenance? Maintenance and assest management, 2005, vol. 20, no 2, pp. 32-37. Lanubile and Visaggio, Iterative Reengineering to compensate for QuickFix Maintenance, IEEE, 1995, International Conference on Software Maintenance, pp.140-146. Canfora and Cimitile, Software Maintenance, 2000, http://www.compaid.com/caiInternet/ezine/maintenancecanfora.pdf. Jones C., The Economics of Software Maintenance in the Twenty First Century, 2006. Tripathy P. and Naik K., Software evolution and maintenance: a practitioner’s approach, Wiley, 2015.

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl İçi Çalışmaları Sayı Katkı Payı %
Derse Katılım
Laboratuvar / Uygulama
Arazi Çalışması
Küçük Sınavlar / Stüdyo Kritiği
Ödev
2
60
Sunum / Jüri Önünde Sunum
Proje
Çalıştay
Portfolyo
Ara Sınav / Sözlü Sınav
Final Sınavı / Sözlü Sınav
1
40
Toplam

Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı
2
60
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı
1
40
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Aktiviteler Sayı Süresi (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x toplam ders saati)
16
3
48
Laboratuvar / Uygulama Ders Saati
Sınav haftası dahil değildir. 16 x uygulama/lab ders saati
16
Sınıf Dışı Ders Çalışması
15
4
Arazi Çalışması
Küçük Sınavlar / Stüdyo Kritiği
Ödev
2
30
Sunum / Jüri Önünde Sunum
Proje
Çalıştay
Portfolyo
Ara Sınavlar / Sözlü Sınavlar
Final / Sözlü Sınav
1
57
    Toplam
225

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1 Bilgisayar Mühendisliği alanında bilimsel araştırma yaparak bilgiye genişlemesine ve derinlemesine ulaşır, bilgiyi değerlendirir, yorumlar ve uygular.
2 Bilgisayar Mühendisliği alanında uygulanan güncel teknik ve yöntemler ile bunların kısıtları hakkında kapsamlı bilgi sahibidir.
3 Belirsiz, sınırlı ya da eksik verileri kullanarak, bilimsel yöntemlerle bilgiyi tamamlar ve uygular, değişik disiplinlere ait bilgileri bir arada kullanabilir.
4 Mesleğinin yeni ve gelişmekte olan uygulamalarının farkındadır, ihtiyaç duyduğunda bunları inceler ve öğrenir.
5 Bilgisayar Mühendisliği alanı ile ilgili problemleri tanımlar ve formüle eder, çözmek için yöntem geliştirir ve çözümlerde yenilikçi yöntemler uygular.
6 Yeni ve/veya özgün fikir ve yöntemler geliştirir, karmaşık sistem veya süreçleri tasarlar ve tasarımlarında yenilikçi/alternatif çözümler geliştirir.
7 Kuramsal, deneysel ve modelleme esaslı araştırmaları tasarlar ve uygular, bu süreçte karşılaşılan karmaşık problemleri irdeler ve çözümler.
8 Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilir, bu tür takımlarda liderlik yapabilir ve karmaşık durumlarda çözüm yaklaşımları geliştirebilir, bağımsız çalışabilir ve sorumluluk alır.
9 Bir yabancı dili en az Avrupa Dil Portföyü B2 Genel Düzeyinde kullanarak, sözlü ve yazılı iletişim kurar.
10 Çalışmalarının süreç ve sonuçlarını, o alandaki veya alan dışındaki ulusal ve uluslararası ortamlarda sistematik ve açık bir şekilde yazılı ya da sözlü olarak aktarır.
11 Bilgisayar Mühendisliği uygulamalarının sosyal, çevresel, sağlık, güvenlik, hukuk boyutları ile proje yönetimi ve iş hayatı uygulamalarını bilir ve bunların bilgisayar mühendisliği uygulamalarına getirdiği kısıtların farkındadır.
12 Verilerin toplanması, yorumlanması, duyurulması aşamalarında ve mesleki tüm etkinliklerde toplumsal, bilimsel ve etik değerleri gözetir.

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest