Çevik yazılım geliştirme
Çorlu Mühendislik FakültesiBilgisayar Mühendisliği
- Kodu
- BMSB417
- Yarıyılı
- 2026-2027 Güz Yarıyılı
- Teorik
- 3
- Uyg.-Lab
- 0-0
- Kredi
- 3
- AKTS
- 5
- Dersin türü
- Seçmeli
- Düzeyi
- Lisans
- Dili
- Türkçe
- Kategorisi
- Uzmanlık / alan dersleri
- Ön koşul (tavsiye)
- Yok
- Dersi veren
- Öğr. Gör. Dr. BURCU DURMUŞ
Dersin amacı
Bu dersin amacı, yazılım geliştirmede çevik yaklaşımın genel karakteristiği, ilkeleri ve hedefleri, çevik süreçler, aşırı programlama (extreme programming), çevik pratikler, test güdümlü geliştirim, önce test yaklaşımı, birim ve bütünleşme testlerinin tanımlanması ve gerçekleştirilmesi, otomatikleştirilmiş testler, birim test araçları (JUnit), yeniden yapılandırma, sürekli bütünleşme konularında bilgi sahibi olunması.
Öğrenme çıktıları
- ÖÇ-1Çevik yöntemlerin temel ilkelerini bilir
- ÖÇ-2Farklı çevik yöntemleri karşılaştırabilir
- ÖÇ-3Çevik yöntemlerin belli bir projeye uygunluğunu belirleyebilir
- ÖÇ-4Proje ekibi ile müşteri arasındaki ilişkiyi ve her iki tarafın sorumluluklarını anlayabilir
- ÖÇ-5Çevik yazılım geliştirme teknikleri yardımıyla uygulama geliştirebilir
Dersin içeriği
Çevik Yazılım Geliştirme Metodolojisi, Aşırı Programlama, Test Güdümlü Geliştirme.
Haftalık konular
| Hafta | Konu | Ön hazırlık / yöntem |
|---|---|---|
| 1 | Çevik Süreç (Agile Process), Extreme Programming (XP) | |
| 2 | Proje Planlama | |
| 3 | İletişim & Çalışma Ortamı | |
| 4 | XP Projesi | |
| 5 | Çalışma Ortamı Kurulumu | |
| 6 | Çevik Tasarım (Agile Design) | |
| 7 | Ünite Testleri (Unit Test) (Junit) | |
| 8 | Test GüdümlüYazılım (Test Driven Development (TDD)) | |
| 9 | Ara sınav | |
| 10 | XP ile Örnek Sistem İmplementasyonu | |
| 11 | XP ile Örnek Sistem İmplementasyonu | |
| 12 | Onay/Kabul (Akseptans Testleri) | |
| 13 | Sürekli Bütünleştirme (Entegrasyon) | |
| 14 | Yazılım Metrikleri, Subversiyon & Proje Takibi | |
| 15 | Final Sınavı 1. Hafta | |
| 16 | Final Sınavı 2. Hafta |
Kaynaklar ve materyaller
- Ders notu
- - Extreme Programming, Özcan Acar
- Diğer kaynaklar
- - Agile Software Development, Alistair Cockburn- Extreme Programming Explained: Embrace Change, Kent Beck- Extreme Programming Installed, Ron Jeffries, et al.- Test Driven Development by Example, Kent Beck- Unit Testing in Java: How Tests Drive the Code ,
- Dokümanlar
- Yok
- Ödevler
- Yok
- Sınavlar
- Yok
Değerlendirme
- Ödev 1 %20
- Arasınav 1 %30
- Dönem Sonu Sınavı %50
Program çıktıları ile ilişkisi
- PÇ-1A. Matematik, fen bilimleri ve Bilgisayar Mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, Bilgisayar mühendisliği alanına özgü karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
- PÇ-2B. Bilgisayar Mühendisliği alanında karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
- PÇ-3C. 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.
- PÇ-4D. Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
- PÇ-5E. Bilgisayar Mühendisliği alanında 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.
- PÇ-6F. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
- PÇ-7G. 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.
- PÇ-8H. Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
- PÇ-9I. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
- PÇ-10J. Bilgisayar Mühendisliği alanında 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.
- PÇ-11K. Bilgisayar Mühendisliği 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; Bilgisayar mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık.
| ÖÇ-1 | ÖÇ-2 | ÖÇ-3 | ÖÇ-4 | ÖÇ-5 | |
|---|---|---|---|---|---|
| PÇ-1 | 4 | 4 | 5 | 4 | 5 |
| PÇ-2 | 4 | 4 | 4 | 4 | 4 |
| PÇ-3 | 5 | 5 | 5 | 5 | 5 |
| PÇ-4 | 5 | 5 | 5 | 5 | 5 |
| PÇ-5 | 5 | 5 | 5 | 5 | 5 |
| PÇ-6 | 5 | 5 | 5 | 5 | 5 |
| PÇ-7 | 5 | 5 | 5 | 5 | 5 |
| PÇ-8 | 5 | 5 | 5 | 5 | 5 |
| PÇ-9 | 5 | 5 | 5 | 5 | 5 |
| PÇ-10 | 5 | 5 | 5 | 5 | 5 |
| PÇ-11 | 5 | 5 | 5 | 5 | 5 |
AKTS iş yükü
| Etkinlik | Sayı | Süre | Toplam |
|---|---|---|---|
| Sınıf dışı ders çalışma süresi(ön çalışma, pekiştirme) | 14 | 2 | 28 |
| Ders süresi(sınav haftası dahildir: toplam ders saati) | 16 | 3 | 48 |
| Ödevler | 4 | 5 | 20 |
| Sunum / Seminer Hazırlama | 1 | 15 | 15 |
| Yarıyıl Sınavı | 1 | 15 | 15 |
| Ara Sınav 1 | 1 | 10 | 10 |
| Proje Hazırlama ve Sunma | 1 | 21 | 21 |
| Toplam iş yükü | 157 | ||
| Toplam iş yükü / 30 | 5 | ||
| Dersin AKTS kredisi | 5 | ||