Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
Yazılım Bakımı ve Gelişimi | SWE 304 | 6 | 3 + 0 | 3 | 5 |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler | |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Prof.Dr. AHMET ÖZMEN |
Dersi Verenler | |
Dersin Yardımcıları | |
Dersin Kategorisi | Alanına Uygun Öğretim |
Dersin Amacı | Genel öğretiler sıfırdan yeni sistemler oluşturmaya odaklanırken, endüstriyel uygulamada yazılım geliştiricileri genellikle korunması, yeniden kullanılması veya geliştirilmesi gereken mevcut yazılım sistemleriyle karşı karşıyadır. Bu, mevcut bir sistemin tasarımını ve uygulanmasını ve hangi parçaların değiştirilmesi gerektiğini anlamak, bakımı daha kolay yazılım sistemleri oluşturmak ve en baştan yeniden kullanım ve değişim düşünülerek sistemler tasarlamak için özel beceriler gerektirir. Bu nedenle bu derste, anlaşılması, bakımı, yeniden kullanımı ve gelişmesi kolay yazılım sistemlerinin oluşturulmasına yardımcı olacak çeşitli teknikler, araçlar ve metodolojiler anlatılacaktır. |
Dersin İçeriği | Ders, anlaşılması, bakımı, yeniden kullanımı ve gelişmesi daha kolay yazılım sistemlerinin oluşturulmasına yardımcı olmak için çeşitli teknikler, araçlar ve metodolojilerin anlatıldığı 3 modülde düzenlenecektir: 1. Yazılım anlama: Mevcut sistemler nasıl çözümlenir, 2. Yazılım bakımı: Bakımı kolay bir yazılımın nasıl oluşturulacağı veya bakım kolaylığı için mevcut yazılımın nasıl geliştirileceği, 3. Yazılımın yeniden kullanımı ve gelişimi: Yeniden kullanılabilir yazılımların nasıl oluşturulacağı ve mevcut yazılımların nasıl yeniden kullanılacağı derste anlatılacaktır. |
# | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
---|---|---|---|
1 | Değişim bağlamında kod geliştirmenin zorluklarını bilir | Anlatım, | Sınav, |
2 | Bir değişiklik talebinin mevcut orta boy bir yazılım ürününe etkisini değerlendirir | Anlatım, Soru-Cevap, | Sınav, Ödev, |
3 | Sürdürülebilir tasarımların uygulanmasına yönelik teknikleri, kodlama deyimlerini ve diğer mekanizmaları tanımlar | Anlatım, Alıştırma ve Uygulama, | Sınav, Proje / Tasarım, |
4 | Tasarım desenlerinin bir yazılım sisteminin tasarımını nasıl geliştirebileceğini bilir | Anlatım, Alıştırma ve Uygulama, | Sınav, Ödev, |
5 | Tasarımının bazı yönlerini geliştirmek için mevcut bir yazılım uygulamasını yeniden düzenler | Anlatım, Alıştırma ve Uygulama, | Sınav, Proje / Tasarım, |
6 | Yazılım gelişimi ile ilgili temel sorunları tanımlar ve bunların yazılım yaşam döngüsü üzerindeki etkilerini açıklar | Anlatım, Soru-Cevap, | Sınav, Sözlü Sınav, |
7 | Yazılım yeniden kullanımlarının avantaj ve dezavantajlarını tartışır | Anlatım, Tartışma, | Sınav, Sözlü Sınav, |
Hafta | Ders Konuları | Ön Hazırlık |
---|---|---|
1 | Yazılım analizi ve kritik yerlerin tespiti | |
2 | Değişim etki analizi | |
3 | Tersine mühendislik | |
4 | En iyi programlama uygulamaları | |
5 | Kodlama standartları | |
6 | Tasarım ilkeleri ve sezgisel tarama | |
7 | Tasarım modelleri | |
8 | Yeniden yapılandırma | |
9 | Yazılım gelişimi kuralları | |
10 | Yeniden kullanım teknikleri ve yeniden kullanım için tasarım | |
11 | Kütüphaneler ve uygulama çerçeveleri (frameworks) | |
12 | Proje çalışması | |
13 | Yazılım ürün hatları, alan adı ve özellik modelleme | |
14 | Proje çalışması |
Kaynaklar | |
---|---|
Ders Notu | Ders notları ve eğtim materyalleri ders sırasında paylaşılacaktır. |
Ders Kaynakları |
Sıra | Program Çıktıları | Katkı Düzeyi | |||||
---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |||
1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | ||||||
2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | ||||||
3 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | ||||||
4 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | ||||||
5 | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | ||||||
6 | Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık. | ||||||
7 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | ||||||
8 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | ||||||
9 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | ||||||
10 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | ||||||
11 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | ||||||
12 | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. |
Değerlendirme Sistemi | |
---|---|
Yarıyıl Çalışmaları | Katkı Oranı |
1. Ara Sınav | 60 |
1. Kısa Sınav | 5 |
1. Proje / Tasarım | 15 |
2. Proje / Tasarım | 15 |
1. Ödev | 5 |
Toplam | 100 |
1. Yıl İçinin Başarıya | 50 |
1. Final | 0 |
Toplam | 50 |
AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) |
---|